diff --git a/audio/die/re_wenpin.mp3 b/audio/die/re_wenpin.mp3 new file mode 100644 index 0000000000..48b63b91d3 Binary files /dev/null and b/audio/die/re_wenpin.mp3 differ diff --git a/audio/die/re_zhongyao.mp3 b/audio/die/re_zhongyao.mp3 new file mode 100644 index 0000000000..7cdcbc05bd Binary files /dev/null and b/audio/die/re_zhongyao.mp3 differ diff --git a/audio/skill/huomo_re_zhongyao1.mp3 b/audio/skill/huomo_re_zhongyao1.mp3 new file mode 100644 index 0000000000..4baf087422 Binary files /dev/null and b/audio/skill/huomo_re_zhongyao1.mp3 differ diff --git a/audio/skill/huomo_re_zhongyao2.mp3 b/audio/skill/huomo_re_zhongyao2.mp3 new file mode 100644 index 0000000000..5bf611ec81 Binary files /dev/null and b/audio/skill/huomo_re_zhongyao2.mp3 differ diff --git a/audio/skill/zhenwei_re_wenpin1.mp3 b/audio/skill/zhenwei_re_wenpin1.mp3 new file mode 100644 index 0000000000..6999271641 Binary files /dev/null and b/audio/skill/zhenwei_re_wenpin1.mp3 differ diff --git a/audio/skill/zhenwei_re_wenpin2.mp3 b/audio/skill/zhenwei_re_wenpin2.mp3 new file mode 100644 index 0000000000..30329764b9 Binary files /dev/null and b/audio/skill/zhenwei_re_wenpin2.mp3 differ diff --git a/audio/skill/zuoding_re_zhongyao1.mp3 b/audio/skill/zuoding_re_zhongyao1.mp3 new file mode 100644 index 0000000000..75d431a2d6 Binary files /dev/null and b/audio/skill/zuoding_re_zhongyao1.mp3 differ diff --git a/audio/skill/zuoding_re_zhongyao2.mp3 b/audio/skill/zuoding_re_zhongyao2.mp3 new file mode 100644 index 0000000000..053ea7a9c2 Binary files /dev/null and b/audio/skill/zuoding_re_zhongyao2.mp3 differ diff --git a/card/extra.js b/card/extra.js index c7743a1b21..80ad182994 100644 --- a/card/extra.js +++ b/card/extra.js @@ -781,7 +781,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ if(card.name=='sha'){ var equip1=player.getEquip('zhuque'); if(equip1&&equip1.name=='zhuque') return 1.9; - if(!card.hasNature()) return 'zerotarget'; + if(!game.hasNature(card)) return 'zerotarget'; } } } @@ -810,7 +810,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ effect:{ target:function(card,player,target,current){ if(card.name=='sha'){ - if(card.hasNature('fire')) return 2; + if(game.hasNature(card,'fire')) return 2; if(player.hasSkill('zhuque_skill')) return 1.9; } if(get.tag(card,'fireDamage')&¤t<0) return 2; @@ -830,7 +830,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ target:player, card:event.card })) return false; - if(event.card.name=='sha'&&!event.card.hasNature()) return true; + if(event.card.name=='sha'&&!game.hasNature(event.card)) return true; return false; }, content:function(){ @@ -906,7 +906,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ trigger:{player:'useCard1'}, //priority:7, filter:function(event,player){ - if(event.card.name=='sha'&&!event.card.hasNature()) return true; + if(event.card.name=='sha'&&!game.hasNature(event.card)) return true; }, audio:true, check:function(event,player){ diff --git a/card/guozhan.js b/card/guozhan.js index 409bb4e95e..6f2f715bb7 100644 --- a/card/guozhan.js +++ b/card/guozhan.js @@ -1185,7 +1185,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }))+'的【诏书】上'; }, content:function(){ + 'step 0' target.addToExpansion(cards,player,'give').gaintag.add('zhaoshu_cards'); + 'step 1' + target.markSkill('zhaoshu_skill'); }, ai:{ order:1, @@ -1211,7 +1214,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }, filter:function(event,player){ if(['huoshaolianying','huogong'].contains(event.card.name)) return true; - if(event.card.name=='sha') return event.card.hasNature('fire'); + if(event.card.name=='sha') return game.hasNature(event.card,'fire'); return false; }, content:function(){ @@ -1220,7 +1223,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ ai:{ effect:{ target:function(card,player,target,current){ - if(['huoshaolianying','huogong'].contains(card.name)||(card.name=='sha'&&card.hasNature('fire'))){ + if(['huoshaolianying','huogong'].contains(card.name)||(card.name=='sha'&&game.hasNature(card,'fire'))){ return 'zeroplayertarget'; } }, diff --git a/card/standard.js b/card/standard.js index 7d1ebad6e0..31930207fd 100644 --- a/card/standard.js +++ b/card/standard.js @@ -134,7 +134,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ if(event.shanRequired>1){ next.set('prompt2','(共需使用'+event.shanRequired+'张闪)'); } - else if(event.card.hasNature('stab')){ + else if(game.hasNature(event.card,'stab')){ next.set('prompt2','(在此之后仍需弃置一张手牌)'); } next.set('ai1',function(card){ @@ -168,7 +168,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ if(event.shanRequired>0){ event.goto(1); } - else if(event.card.hasNature('stab')&&target.countCards('h')>0){ + else if(game.hasNature(event.card,'stab')&&target.countCards('h')>0){ event.responded=result; event.goto(4); } @@ -265,7 +265,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }, order:function(item,player){ if(player.hasSkillTag('presha',true,null,true)) return 10; - if(item.hasNature('linked')){ + if(game.hasNature(item,'linked')){ if(game.hasPlayer(function(current){ return current!=player&¤t.isLinked()&&player.canUse(item,current,null,true)&&get.effect(current,item,player,player)>0&&lib.card.sha.ai.canLink(player,current,item); })&&game.countPlayer(function(current){ @@ -306,20 +306,20 @@ game.import('card',function(lib,game,ui,get,ai,_status){ respond:1, respondShan:1, damage:function(card){ - if(card.hasNature('poison')) return; + if(game.hasNature(card,'poison')) return; return 1; }, natureDamage:function(card){ - if(card.hasNature()) return 1; + if(game.hasNature(card)) return 1; }, fireDamage:function(card,nature){ - if(card.hasNature('fire')) return 1; + if(game.hasNature(card,'fire')) return 1; }, thunderDamage:function(card,nature){ - if(card.hasNature('thunder')) return 1; + if(game.hasNature(card,'thunder')) return 1; }, poisonDamage:function(card,nature){ - if(card.hasNature('poison')) return 1; + if(game.hasNature(card,'poison')) return 1; } } } @@ -338,20 +338,20 @@ game.import('card',function(lib,game,ui,get,ai,_status){ respond:1, respondShan:1, damage:function(card){ - if(card.hasNature('poison')) return; + if(game.hasNature(card,'poison')) return; return 1; }, natureDamage:function(card){ - if(card.hasNature()) return 1; + if(game.hasNature(card)) return 1; }, fireDamage:function(card,nature){ - if(card.hasNature('fire')) return 1; + if(game.hasNature(card,'fire')) return 1; }, thunderDamage:function(card,nature){ - if(card.hasNature('thunder')) return 1; + if(game.hasNature(card,'thunder')) return 1; }, poisonDamage:function(card,nature){ - if(card.hasNature('poison')) return 1; + if(game.hasNature(card,'poison')) return 1; } } } @@ -399,68 +399,114 @@ game.import('card',function(lib,game,ui,get,ai,_status){ target.recover(); }, ai:{ - basic:{ - order:function(card,player){ - if(player.hasSkillTag('pretao')) return 5; + basic: { + order: function (card, player) { + if (player.hasSkillTag('pretao')) return 9; return 2; }, - useful:[6.5,4,3,2], - value:[6.5,4,3,2], - }, - result:{ - target:2, - target_use:function(player,target){ - // if(player==target&&player.hp<=0) return 2; - if(player.hasSkillTag('nokeep',true,null,true)) return 2; - var nd=player.needsToDiscard(); - var keep=false; - if(nd<=0){ - keep=true; - } - else if(nd==1&&target.hp>=2&&target.countCards('h','tao')<=1){ - keep=true; - } - var mode=get.mode(); - if(target.hp>=2&&keep&&target.hasFriend()){ - if(target.hp>2||nd==0) return 0; - if(target.hp==2){ - if(game.hasPlayer(function(current){ - if(target!=current&&get.attitude(target,current)>=3){ - if(current.hp<=1) return true; - if((mode=='identity'||mode=='versus'||mode=='chess')&¤t.identity=='zhu'&¤t.hp<=2) return true; + useful: function (card, i) { + let player = _status.event.player; + if (player.isDamaged() && !game.checkMod(card, player, 'unchanged', 'cardEnabled2', player)) return 2 / (1 + i); + let fs = game.filterPlayer(function (current) { + return get.attitude(player, current) > 0 && current.hp <= 2; + }), damaged = 0, needs = 0; + for (let f of fs) { + if (!lib.filter.cardSavable(card, player, f)) continue; + if (f.hp > 1) damaged++; + else needs++; + } + if (needs && damaged) return 5 * needs + 3 * damaged; + if (needs + damaged > 1 || player.hasSkillTag('maixie')) return 8; + if (player.hp / player.maxHp < 0.7) return 7 + Math.abs(player.hp / player.maxHp - 0.5); + if (needs) return 7; + if (damaged) return Math.max(3, 6.4 - i); + return 6.8 - Math.min(5, player.hp); + }, + value: function (card, player, i) { + let fs = game.filterPlayer(function (current) { + return get.attitude(_status.event.player, current) > 0; + }), damaged = 0, needs = 0; + for (let i of fs) { + if (!player.canUse('tao', i)) continue; + if (i.hp <= 1) needs++; + else if (i.hp == 2) damaged++; + } + if (needs > 2) return 11; + if (needs > 1) return 10; + if ((needs && damaged) || player.hasSkillTag('maixie')) return 9; + if (needs || damaged > 1) return 8; + if (damaged) return 7.5; + return Math.max(1, 9.2 - player.hp); + } + }, + result: { + target: function (player, target) { + if (target.hasSkillTag('maixie')) return 3; + return 2; + }, + target_use: function (player, target, card) { + if (player === _status.currentPhase && player.hasSkillTag('nokeep', true, {card:card,target:target}, true)) return 2; + let mode = get.mode(); + if (target.hp > 0) { + let nd = player.needsToDiscard(); + let keep = false; + if (player.isPhaseUsing()) { + if (nd <= 0 || (nd === 1 && target.hp >= 2 && player.countCards('hs', 'tao') <= 1)) keep = true; + } + if (keep) { + if (!nd || nd < 2 && game.hasPlayer(function (current) { + if (current.hp <= 2 && player !== current && get.attitude(player, current) > 2) { + if(target.hp >= 2 && current.identity === 'zhu' && (mode === 'identity' || mode === 'versus' || mode === 'chess')){ + keep=2; + return true; + } + if (player.hp > current.hp) return true; } + return false; })){ - return 0; + if(keep>1) return 0; } } } - if(target.hp<0&&target!=player&&target.identity!='zhu') return 0; - var att=get.attitude(player,target); - if(att<3&&att>=0&&player!=target) return 0; - var tri=_status.event.getTrigger(); - if(mode=='identity'&&player.identity=='fan'&&target.identity=='fan'){ - if(tri&&tri.name=='dying'&&tri.source&&tri.source.identity=='fan'&&tri.source!=target){ - var num=game.countPlayer(function(current){ - if(current.identity=='fan'){ - return current.countCards('h','tao'); + if(target.isZhu2() || target===game.boss) return 2; + if(player !== target){ + if (target.hp < 0 && player.countCards('hs', 'tao') + target.hp <= 0) return 0; + if (Math.abs(get.attitude(player, target)) < 1.2) return 0; + } + if (!player.getFriends().length) return 2; + let tri = _status.event.getTrigger(), + num = game.countPlayer(function (current) { + if (get.attitude(current, target) > 0) return current.countCards('hs', 'tao'); + }), + dis = 1, + t = _status.currentPhase; + while (t !== target) { + let att = get.attitude(player, t); + if (Math.abs(att) < 2) dis += 0.45; + else if (att < 0) dis++; + t = t.next; + } + if (mode === 'identity') { + if (tri && tri.name === 'dying') { + if (target.identity === 'fan') { + if (!tri.source && player !== target || tri.source && tri.source !== target && player.getFriends().includes(tri.source.identity)) { + if (num > dis || (player === target && player.countCards('hs', {type: 'basic'}) > 1.6 * dis)) return 2; + return 0; } - }); - if(num>1&&player==target) return 2; - return 0; + } + else if(tri.source&&tri.source.isZhu&&(target.identity==='zhong'||target.identity==='mingzhong')&& + (tri.source.countCards('he')>2||player===tri.source&&player.hasCard((i)=>i.name!='tao','he'))) return 2; + //if(player!==target&&!target.isZhu&&target.countCards('hs')1){ + next.set('prompt2','共需打出'+event.shaRequired+'张杀'); + } next.set('ai',function(card){ var evt=_status.event.getParent(); if(get.damageEffect(evt.target,evt.player,evt.target)>=0) return 0; @@ -901,10 +952,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }); next.autochoose=lib.filter.autoRespondSha; } - "step 1" + "step 2" if(result.bool==false){ target.damage(); } + else{ + event.shaRequired--; + if(event.shaRequired>0) event.goto(1); + } }, ai:{ wuxie:function(target,card,player,viewer){ @@ -960,10 +1015,15 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }, content:function(){ "step 0" + if(typeof event.shanRequired!='number'||!event.shanRequired||event.shanRequired<0) event.shanRequired=1; if(typeof event.baseDamage!='number') event.baseDamage=1; + "step 1" if(event.directHit) event._result={bool:false}; else{ var next=target.chooseToRespond({name:'shan'}); + if(event.shanRequired>1){ + next.set('prompt2','共需打出'+event.shanRequired+'张闪'); + } next.set('ai',function(card){ var evt=_status.event.getParent(); if(get.damageEffect(evt.target,evt.player,evt.target)>=0) return 0; @@ -976,10 +1036,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }); next.autochoose=lib.filter.autoRespondShan; } - "step 1" + "step 2" if(result.bool==false){ target.damage(); } + else{ + event.shanRequired--; + if(event.shanRequired>0) event.goto(1); + } }, ai:{ wuxie:function(target,card,player,viewer){ @@ -1130,38 +1194,34 @@ game.import('card',function(lib,game,ui,get,ai,_status){ } } "step 3" - if(event.target.isDead()||event.player.isDead()){ - event.finish(); - } - else{ - if(result.bool){ - event.shaRequired--; - if(event.turn==target){ - if(result.cards) event.targetCards.addArray(result.cards); - if(event.shaRequired>0) event.goto(2); - else{ - event.turn=player; - event.goto(1); - } - } + if(result.bool){ + event.shaRequired--; + if(event.turn==target){ + if(result.cards) event.targetCards.addArray(result.cards); + if(event.shaRequired>0) event.goto(2); else{ - if(result.cards) event.playerCards.addArray(result.cards); - if(event.shaRequired>0) event.goto(2); - else{ - event.turn=target; - event.goto(1); - } + event.turn=player; + event.goto(1); } } else{ - if(event.turn==target){ - target.damage(); - } + if(result.cards) event.playerCards.addArray(result.cards); + if(event.shaRequired>0) event.goto(2); else{ - player.damage(target); + event.turn=target; + event.goto(1); } } } + else{ + if(event.turn==target){ + target.damage(); + } + else{ + player.damage(target); + } + } + event._result={}; }, ai:{ wuxie:function(target,card,player,viewer){ @@ -1223,7 +1283,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }, filterTarget:function(card,player,target){ if(player==target) return false; - return target.countGainableCards(player,get.is.single()?'he':'hej')>0; + return target.hasCard(card=>lib.filter.canBeGained(card,target,player),get.is.single()?'he':'hej'); }, content:function(){ var position=get.is.single()?'he':'hej'; @@ -1244,27 +1304,47 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }, result:{ target:function(player,target){ - if(get.attitude(player,target)<=0) return (target.countCards('he',function(card){ - return get.value(card,target)>0&&card!=target.getEquip('jinhe'); - })>0)?-1.5:1.5; - return (target.countCards('ej',function(card){ - if(get.position(card)=='e') return get.value(card,target)<=0; + const hs=target.getGainableCards(player,'h'); + const es=target.getGainableCards(player,'e'); + const js=target.getGainableCards(player,'j'); + + if(get.attitude(player,target)<=0){ + if(hs.length>0) return -1.5; + return (es.some(card=>{ + return get.value(card,target)>0&&card!=target.getEquip('jinhe'); + })||js.some(card=>{ + var cardj=card.viewAs?{name:card.viewAs}:card; + return get.effect(target,cardj,target,player)<0; + }))?-1.5:1.5; + } + return (es.some(card=>{ + return get.value(card,target)<=0; + })||js.some(card=>{ var cardj=card.viewAs?{name:card.viewAs}:card; return get.effect(target,cardj,target,player)<0; - })>0)?1.5:-1.5; + }))?1.5:-1.5; }, player:function(player,target){ - if(get.attitude(player,target)<0&&!target.countCards('he',function(card){ - return get.value(card,target)>0&&card!=target.getEquip('jinhe'); - })){ - return 0; + const hs=target.getGainableCards(player,'h'); + const es=target.getGainableCards(player,'e'); + const js=target.getGainableCards(player,'j'); + + const att=get.attitude(player,target); + if(att<0){ + if(!hs.length&&!es.some(card=>{ + return get.value(card,target)>0&&card!=target.getEquip('jinhe'); + })&&!js.some(card=>{ + var cardj=card.viewAs?{name:card.viewAs}:card; + return get.effect(target,cardj,target,player)<0; + })) return 0; } - if(get.attitude(player,target)>1){ - return (target.countCards('ej',function(card){ - if(get.position(card)=='e') return get.value(card,target)<=0; + else if(att>1){ + return (es.some(card=>{ + return get.value(card,target)<=0; + })||js.some(card=>{ var cardj=card.viewAs?{name:card.viewAs}:card; return get.effect(target,cardj,target,player)<0; - })>0)?1.5:-1.5; + }))?1.5:0; } return 1; } @@ -1283,28 +1363,52 @@ game.import('card',function(lib,game,ui,get,ai,_status){ value:9 }, result:{ - target:function(player,target){ - if(get.attitude(player,target)<=0) return (target.countCards('he',function(card){ - return get.value(card,target)>0&&card!=target.getEquip('jinhe'); - })>0)?-1.5:1.5; - return (target.countCards('ej',function(card){ - if(get.position(card)=='e') return get.value(card,target)<=0; + target:function(player,target,card){ + let position='hej'; + if(card&&card.position) position=card.position; + const hs=position.includes('h')?target.getGainableCards(player,'h'):[]; + const es=position.includes('e')?target.getGainableCards(player,'e'):[]; + const js=position.includes('j')?target.getGainableCards(player,'j'):[]; + + if(get.attitude(player,target)<=0){ + if(hs.length>0) return -1.5; + return (es.some(card=>{ + return get.value(card,target)>0&&card!=target.getEquip('jinhe'); + })||js.some(card=>{ + var cardj=card.viewAs?{name:card.viewAs}:card; + return get.effect(target,cardj,target,player)<0; + }))?-1.5:1.5; + } + return (es.some(card=>{ + return get.value(card,target)<=0; + })||js.some(card=>{ var cardj=card.viewAs?{name:card.viewAs}:card; return get.effect(target,cardj,target,player)<0; - })>0)?1.5:-1.5; + }))?1.5:-1.5; }, - player:function(player,target){ - if(get.attitude(player,target)<0&&!target.countCards('he',function(card){ - return get.value(card,target)>0&&card!=target.getEquip('jinhe'); - })){ - return 0; + player:function(player,target,card){ + let position='hej'; + if(card&&card.position) position=card.position; + const hs=position.includes('h')?target.getGainableCards(player,'h'):[]; + const es=position.includes('e')?target.getGainableCards(player,'e'):[]; + const js=position.includes('j')?target.getGainableCards(player,'j'):[]; + + const att=get.attitude(player,target); + if(att<0){ + if(!hs.length&&!es.some(card=>{ + return get.value(card,target)>0&&card!=target.getEquip('jinhe'); + })&&!js.some(card=>{ + var cardj=card.viewAs?{name:card.viewAs}:card; + return get.effect(target,cardj,target,player)<0; + })) return 0; } - if(get.attitude(player,target)>1){ - return (target.countCards('ej',function(card){ - if(get.position(card)=='e') return get.value(card,target)<=0; + else if(att>1){ + return (es.some(card=>{ + return get.value(card,target)<=0; + })||js.some(card=>{ var cardj=card.viewAs?{name:card.viewAs}:card; return get.effect(target,cardj,target,player)<0; - })>0)?1.5:-1.5; + }))?1.5:0; } return 1; } @@ -1323,28 +1427,17 @@ game.import('card',function(lib,game,ui,get,ai,_status){ value:9 }, result:{ - target:function(player,target){ - if(get.attitude(player,target)<=0) return (target.countCards('he',function(card){ - return get.value(card,target)>0&&card!=target.getEquip('jinhe'); - })>0)?-1.5:1.5; - return (target.countCards('e',function(card){ - return get.value(card,target)<=0; - })>0)?1.5:-1.5; + target:function(player,target,card,isLink){ + return lib.card.shunshou_copy.ai.result.target(player,target,{ + name:'shunshou_copy', + position:'he', + },isLink) }, - player:function(player,target){ - if(get.attitude(player,target)<0&&!target.countCards('he',function(card){ - return get.value(card,target)>0&&card!=target.getEquip('jinhe'); - })){ - return 0; - } - if(get.attitude(player,target)>1){ - return (target.countCards('ej',function(card){ - if(get.position(card)=='e') return get.value(card,target)<=0; - var cardj=card.viewAs?{name:card.viewAs}:card; - return get.effect(target,cardj,target,player)<0; - })>0)?1.5:-1.5; - } - return 1; + player:function(player,target,card,isLink){ + return lib.card.shunshou_copy.ai.result.player(player,target,{ + name:'shunshou_copy', + position:'he', + },isLink) } }, tag:{ @@ -1364,7 +1457,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }, filterTarget:function(card,player,target){ if(player==target) return false; - return target.countDiscardableCards(player,get.is.single()?'he':'hej'); + return target.hasCard(card=>lib.filter.canBeDiscarded(card,target,player),get.is.single()?'he':'hej'); }, defaultYingbianEffect:'add', content:function(){ @@ -1402,30 +1495,38 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }, result:{ target:function(player,target){ - var att=get.attitude(player,target); - var nh=target.countCards('h'); + const att=get.attitude(player,target); + const hs=target.getDiscardableCards(player,'h'); + const es=target.getDiscardableCards(player,'e'); + const js=target.getDiscardableCards(player,'j'); + if(!hs.length&&!es.length&&!js.length) return 0; if(att>0){ - if(target.countCards('j',function(card){ - var cardj=card.viewAs?{name:card.viewAs}:card; + if(js.some(card=>{ + const cardj=card.viewAs?{name:card.viewAs}:card; return get.effect(target,cardj,target,player)<0; - })>0) return 3; - if(target.getEquip('baiyin')&&target.isDamaged()&& + })) return 3; + if(target.isDamaged()&&es.some(card=>card.name=='baiyin')&& get.recoverEffect(target,player,player)>0){ if(target.hp==1&&!target.hujia) return 1.6; } - if(target.countCards('e',function(card){ - if(get.position(card)=='e') return get.value(card,target)<0; - })>0) return 1; + if(es.some(card=>{ + return get.value(card,target)<0; + })) return 1; + return -1.5; + } + else{ + const noh=(hs.length==0||target.hasSkillTag('noh')); + const noe=(es.length==0||target.hasSkillTag('noe')); + const noe2=(noe||!es.some(card=>{ + return get.value(card,target)>0; + })); + const noj=(js.length==0||!js.some(card=>{ + const cardj=card.viewAs?{name:card.viewAs}:card; + return get.effect(target,cardj,target,player)<0; + })) + if(noh&&noe2&&noj) return 1.5; + return -1.5; } - var es=target.getCards('e'); - var noe=(es.length==0||target.hasSkillTag('noe')); - var noe2=(es.filter(function(esx){ - return get.value(esx,target)>0; - }).length==0); - var noh=(nh==0||target.hasSkillTag('noh')); - if(noh&&(noe||noe2)) return 0; - if(att<=0&&!target.countCards('he')) return 1.5; - return -1.5; }, }, tag:{ @@ -1442,31 +1543,41 @@ game.import('card',function(lib,game,ui,get,ai,_status){ value:5, }, result:{ - target:function(player,target){ - var att=get.attitude(player,target); - var nh=target.countCards('h'); + target:function(player,target,card){ + let position='hej'; + if(card&&card.position) position=card.position; + const att=get.attitude(player,target); + const hs=position.includes('h')?target.getDiscardableCards(player,'h'):[]; + const es=position.includes('e')?target.getDiscardableCards(player,'e'):[]; + const js=position.includes('j')?target.getDiscardableCards(player,'j'):[]; + if(!hs.length&&!es.length&&!js.length) return 0; if(att>0){ - if(target.countCards('j',function(card){ - var cardj=card.viewAs?{name:card.viewAs}:card; + if(js.some(card=>{ + const cardj=card.viewAs?{name:card.viewAs}:card; return get.effect(target,cardj,target,player)<0; - })>0) return 3; - if(target.getEquip('baiyin')&&target.isDamaged()&& + })) return 3; + if(target.isDamaged()&&es.some(card=>card.name=='baiyin')&& get.recoverEffect(target,player,player)>0){ if(target.hp==1&&!target.hujia) return 1.6; } - if(target.countCards('e',function(card){ - if(get.position(card)=='e') return get.value(card,target)<0; - })>0) return 1; + if(es.some(card=>{ + return get.value(card,target)<0; + })) return 1; + return -1.5; + } + else{ + const noh=(hs.length==0||target.hasSkillTag('noh')); + const noe=(es.length==0||target.hasSkillTag('noe')); + const noe2=(noe||!es.some(card=>{ + return get.value(card,target)>0; + })); + const noj=(js.length==0||!js.some(card=>{ + const cardj=card.viewAs?{name:card.viewAs}:card; + return get.effect(target,cardj,target,player)<0; + })) + if(noh&&noe2&&noj) return 1.5; + return -1.5; } - var es=target.getCards('e'); - var noe=(es.length==0||target.hasSkillTag('noe')); - var noe2=(es.filter(function(esx){ - return get.value(esx,target)>0; - }).length==0); - var noh=(nh==0||target.hasSkillTag('noh')); - if(noh&&(noe||noe2)) return 0; - if(att<=0&&!target.countCards('he')) return 1.5; - return -1.5; }, }, tag:{ @@ -1483,27 +1594,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){ value:5, }, result:{ - target:function(player,target){ - var att=get.attitude(player,target); - var nh=target.countCards('h'); - if(att>0){ - if(target.getEquip('baiyin')&&target.isDamaged()&& - get.recoverEffect(target,player,player)>0){ - if(target.hp==1&&!target.hujia) return 1.6; - } - if(target.countCards('e',function(card){ - if(get.position(card)=='e') return get.value(card,target)<0; - })>0) return 1; - } - var es=target.getCards('e'); - var noe=(es.length==0||target.hasSkillTag('noe')); - var noe2=(es.filter(function(esx){ - return get.value(esx,target)>0; - }).length==0); - var noh=(nh==0||target.hasSkillTag('noh')); - if(noh&&(noe||noe2)) return 0; - if(att<=0&&!target.countCards('he')) return 1.5; - return -1.5; + target:function(player,target,card,isLink){ + return lib.card.guohe_copy.ai.result.target(player,target,{ + name:'guohe_copy', + position:'he', + },isLink) }, }, tag:{ @@ -2108,8 +2203,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){ audio:true, prompt:'将两张手牌当杀使用或打出', check:function(card){ - if(card.name=='sha') return 0; - return 5-get.value(card) + let player=_status.event.player; + if(player.hasCard(function(card){ + return get.name(card)=='sha'; + })) return 0; + if(_status.event&&_status.event.name=='chooseToRespond'&&player.hp<3&&!player.countCards('hs',function(card){ + return get.name(card)!='tao'&&get.name(card)!='jiu'; + })) return (player.hp>1?10:8)-get.value(card); + return Math.max(5,8-0.7*player.hp)-get.value(card); }, ai:{ respondSha:true, @@ -2144,10 +2245,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){ next.set('ai',function(card){ var evt=_status.event.getTrigger(); if(get.attitude(evt.player,evt.target)<0){ - if(evt.baseDamage+evt.extraDamage>=Math.min(2,evt.target.hp)){ - return 8-get.value(card) - } - return 5-get.value(card) + if(player.needsToDiscard()) return 15-get.value(card); + if(evt.baseDamage+evt.extraDamage>=Math.min(2,evt.target.hp)) return 8-get.value(card); + return 5-get.value(card); } return -1; }); diff --git a/card/yingbian.js b/card/yingbian.js index 79eb641032..288f642113 100644 --- a/card/yingbian.js +++ b/card/yingbian.js @@ -307,7 +307,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ equipSkill:true, trigger:{player:'useCard1'}, filter:function(event,player){ - return (event.card.name=='sha'&&lib.linked.some(n=>n!='kami'&&event.card.hasNature(n))); + return (event.card.name=='sha'&&lib.linked.some(n=>n!='kami'&&game.hasNature(event.card,n))); }, audio:true, direct:true, diff --git a/character/clan.js b/character/clan.js index f5d1a62d1d..2ba7634ddd 100644 --- a/character/clan.js +++ b/character/clan.js @@ -1076,7 +1076,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ try{ var cards=player.getCards('hs',cardx=>{ if(get.name(cardx)!='sha') return false; - return cardx.hasNature('linked'); + return game.hasNature(cardx,'linked'); }); cards.map(i=>[i,get.effect(target,i,player,player)]); cards.sort((a,b)=>b[1]-a[1]); @@ -1096,7 +1096,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return get.name(card)=='jiu'&&player.hasUseTarget(card); })&&player.countCards('hs',card=>{ if(get.name(card)!='sha') return false; - return card.hasNature('linked'); + return game.hasNature(card,'linked'); })); 'step 1' if(result.bool){ @@ -1569,10 +1569,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var list=[],names=[]; for(var card of cards){ var name=get.name(card),nature=get.nature(card); - var namex=name+nature; - if(names.contains(namex)) continue; - if(nature.length) list.push([get.type(card),'',name,nature]); - else list.push([get.type(card),'',name]); + var namex=name; + if(nature&&nature.length){ + namex+=nature; + if(names.contains(namex)) continue; + list.push([get.type(card),'',name,nature]); + } + else{ + if(names.contains(namex)) continue; + list.push([get.type(card),'',name]); + } names.push(namex); } list.sort((a,b)=>{ @@ -2250,7 +2256,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, characterReplace:{ - wuban:['dc_wuban','clan_wuban','wuban'], + wuban:['clan_wuban','dc_wuban','wuban'], }, characterIntro:{ xunshu:'荀淑(83年~149年),字季和,为郎陵侯相,颍川颍阴人(今河南省许昌市)人。汉和帝至汉桓帝时人物,以品行高洁著称。有子八人,号八龙。年轻时有高尚的德行,学问渊博,不喜欢雕章琢句,徒在文字上用功,不注重实际的学识。因此,常常被俗儒看不起。但州里却称他有知人之明。安帝时,征召任为郎中,后来再升当涂长。离职还乡里。他的孙子荀彧是曹操部下著名的谋士。', @@ -2277,6 +2283,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, translate:{ + clan_wuxian_prefix:'族', + clan_wuban_prefix:'族', + clan_xunshu_prefix:'族', + clan_xunchen_prefix:'族', + clan_xuncai_prefix:'族', + clan_xuncan_prefix:'族', + clan_hanshao_prefix:'族', + clan_hanrong_prefix:'族', + clan_wukuang_prefix:'族', + clan_wangling_prefix:'族', + clan_zhongyan_prefix:'族', + clan_wangyun_prefix:'族', + clan_wanghun_prefix:'族', + clan_zhonghui_prefix:'族', + clan_zhongyu_prefix:'族', + clan_wuxian:'族吴苋', clanyirong:'移荣', clanyirong_info:'出牌阶段限两次。若你的手牌数:小于X,则你可以将手牌摸至X张(至多摸八张),然后X-1;大于X,则你可以将手牌弃置至X张,然后X+1。(X为你的手牌上限)', diff --git a/character/collab.js b/character/collab.js index 8ffc00fe29..c968ed6a1f 100644 --- a/character/collab.js +++ b/character/collab.js @@ -1533,25 +1533,30 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, translate:{ old_lingju:'SP灵雎', + old_lingju_prefix:'SP', fenxin_old:'焚心', fenxin_old_info:'限定技,当你杀死一名非主公角色时,你可以与其交换未翻开的身份牌。(你的身份为主公时不能发动此技能)', sp_fuwan:'SP伏完', + sp_fuwan_prefix:'SP', spfengyin:'奉印', spfengyin_info:'其他角色的回合开始时,若其体力值不少于你,你可以交给其一张【杀】,令其跳过出牌阶段和弃牌阶段。', spchizhong:'持重', spchizhong_info:'锁定技,你的手牌上限等于体力上限;其他角色死亡时,你加1点体力上限。', sp_fuhuanghou:'SP伏寿', + sp_fuhuanghou_prefix:'SP', spcangni:'藏匿', spcangni_info:'弃牌阶段开始时,你可以回复1点体力或摸两张牌,然后将你的武将牌翻面;其他角色的回合内,当你获得(每回合限一次)/失去一次牌时,若你的武将牌背面朝上,你可以令该角色摸/弃置一张牌。', spmixin:'密信', spmixin_info:'出牌阶段限一次,你可以将一张手牌交给一名其他角色,该角色须对你选择的另一名角色使用一张无距离限制的【杀】,否则你选择的角色观看其手牌并获得其中一张。', sp_jiben:'SP吉本', + sp_jiben_prefix:'SP', spduanzhi:'断指', spduanzhi_info:'当你成为其他角色使用的牌的目标后,你可以弃置其至多两张牌,然后失去1点体力。', spduyi:'毒医', spduyi2:'毒医', spduyi_info:'出牌阶段限一次,你可以亮出牌堆顶的一张牌并交给一名角色,若此牌为黑色,该角色不能使用或打出手牌,直到回到结束。', sp_mushun:'SP穆顺', + sp_mushun_prefix:'SP', libai:'李白', dclbjiuxian:'酒仙', dclbjiuxian_info:'①你可以将额定目标数大于1的锦囊牌当做【酒】使用。②你使用【酒】无次数限制。', @@ -1595,15 +1600,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dcbianzhuang:'变装', dcbianzhuang_info:'①出牌阶段限一次,你可以从系统随机选择的两个技能中获得一个,并视为使用一张【杀】(无距离次数限制),然后失去以此法获得的技能。②当你使用装备牌后,你清空此技能的发动次数记录。③当你发动〖变装①〗后,若你发动〖变装①〗的次数大于2,则你将武将牌变更为诸葛亮,并将系统选择的技能数改为三个。', dc_caocao:'经典曹操', - dc_caocao_ab:'曹操', + dc_caocao_prefix:'经典', dcjianxiong:'奸雄', dcjianxiong_info:'当你受到伤害后,你可以摸一张牌并获得对你造成伤害的牌,然后你令此技能摸牌数+1(至多为5)。', dc_liubei:'经典刘备', - dc_liubei_ab:'刘备', + dc_liubei_prefix:'经典', dcrende:'仁德', dcrende_info:'出牌阶段每名角色限一次。你可以获得一名其他角色两张手牌,然后视为使用一张基本牌。', dc_sunquan:'经典孙权', - dc_sunquan_ab:'孙权', + dc_sunquan_prefix:'经典', dczhiheng:'制衡', dczhiheng_info:'①出牌阶段限一次。你可以弃置任意张牌并摸等量的牌,若你在发动〖制衡〗时弃置了所有手牌,则你多摸一张牌。②每回合每名角色限一次。当你对其他角色造成伤害后,你令〖制衡①〗于此回合发动次数上限+1。', diff --git a/character/ddd.js b/character/ddd.js index 27af134662..53dbc276e1 100644 --- a/character/ddd.js +++ b/character/ddd.js @@ -29,7 +29,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ddd_liangxi:['male','wei',3,['dddtongyu']], ddd_wangkanglvkai:['male','shu',4,['dddbingjian']], ddd_sunliang:['male','wu',3,['ddddiedang','dddanliu','dddguiying'],['zhu']], - ddd_lie:['male','wu',3,['dddyeshen','dddqiaoduan']], + ddd_lie:['female','wu',3,['dddyeshen','dddqiaoduan']], }, characterFilter:{}, characterSort:{}, @@ -875,7 +875,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var player=_status.event.player,target=_status.event.getParent().target; if(get.attitude(player,target)<0) return false; if(!_status.event.colors.contains(get.color(card,player))) return 0; - if(card.hasNature()) return 1.2; + if(game.hasNature(card)) return 1.2; return 1; }) 'step 3' diff --git a/character/diy.js b/character/diy.js index 09d6211255..ceeba62709 100755 --- a/character/diy.js +++ b/character/diy.js @@ -178,6 +178,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ns_chengpu:['male','wu',4,['decadelihuo','decadechunlao']], ns_sundeng:['male','wu',4,['xinkuangbi']], ns_duji:['male','wei',3,['xinfu_andong','xinyingshi']], + old_majun:["male","wei",3,["xinfu_jingxie1","xinfu_qiaosi"],[]], old_jiakui:['male','wei',4,['tongqu','xinwanlan']], ol_guohuai:['male','wei',3,['rejingce']], @@ -220,7 +221,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ diy_tieba:["ns_zuoci","ns_lvzhi","ns_wangyun","ns_nanhua","ns_nanhua_left","ns_nanhua_right","ns_huamulan","ns_huangzu","ns_jinke","ns_yanliang","ns_wenchou","ns_caocao","ns_caocaosp","ns_zhugeliang","ns_wangyue","ns_yuji","ns_xinxianying","ns_guanlu","ns_simazhao","ns_sunjian","ns_duangui","ns_zhangbao","ns_masu","ns_zhangxiu","ns_lvmeng","ns_shenpei","ns_yujisp","ns_yangyi","ns_liuzhang","ns_xinnanhua","ns_luyusheng"], diy_fakenews:["diy_wenyang","ns_zhangwei","ns_caimao","ns_chengpu",'ns_sundeng','ns_duji'], diy_xushi:["diy_feishi","diy_hanlong","diy_liufu","diy_liuyan","diy_liuzan","diy_tianyu","diy_xizhenxihong","diy_yangyi","diy_zaozhirenjun"], - diy_default:["diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji"], + diy_default:["diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji","old_majun"], diy_noname:['noname'], diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa","key_masato","key_iwasawa","key_kengo","key_yoshino","key_yui","key_tsumugi","key_saya","key_harukakanata","key_inari","key_shiina","key_sunohara","key_rin","key_sasami","key_akane","key_doruji","key_yuiko","key_riki","key_hisako","key_hinata","key_noda","key_tomoya","key_nagisa","key_ayato","key_ao","key_yuzuru","sp_key_kanade","key_mio","key_midori","key_kyoko","key_shizuru","key_shiorimiyuki","key_miki","key_shiori","key_kaori","sp_key_yuri","key_akiko","key_abyusa","key_godan","key_yuu","key_ryoichi","key_kotori","key_jojiro","key_shiroha","key_shizuku","key_hiroto","key_sakuya","key_youta","key_rumi","key_chihaya","key_yukito","key_asara","key_kotomi","key_mia","key_kano","db_key_liyingxia","key_erika","key_satomi","key_iriya","key_fuuko"], diy_trashbin:['old_jiakui','ol_guohuai','junk_zhangrang','old_bulianshi','junk_sunquan','ol_maliang','junk_liubei','junk_huangyueying','junk_lidian','junk_duanwei','junk_xuyou'], @@ -13988,7 +13989,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:function(){ "step 0" player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+ - get.translation(trigger.player.judging[0])+','+get.prompt('guidao'),'he',function(card){ + get.translation(trigger.player.judging[0])+','+get.prompt('nswangfeng'),'he',function(card){ return get.color(card)=='red'; }).set('ai',function(card){ var trigger=_status.event.getTrigger(); @@ -17051,7 +17052,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } }, diy_jiaoxia:{ - audio:['jiaoxia',2], + //audio:['jiaoxia',2], trigger:{target:'useCardToBegin'}, filter:function(event,player){ return event.card&&get.color(event.card)=='red'; @@ -18049,6 +18050,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ns_nanhua_left:'幻身·左', ns_nanhua_right:'幻身·右', ns_huamulan:'SP花木兰', + ns_huamulan_prefix:'SP', ns_huangzu:'黄祖', ns_yanliang:'颜良', ns_wenchou:'文丑', @@ -18059,6 +18061,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ns_wangyue:'王越', ns_yuji:'于吉', ns_caocaosp:'SP曹操', + ns_caocaosp_prefix:'SP', ns_xinxianying:'辛宪英', ns_sunjian:'孙坚', ns_simazhao:'司马昭', @@ -18079,6 +18082,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ns_luyusheng:'陆郁生', sp_key_yuri:'SP仲村由理', + sp_key_yuri_prefix:'SP', key_lucia:'此花露西娅', key_kyousuke:'枣恭介', key_yuri:'仲村由理', @@ -18119,6 +18123,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ key_ao:'空门苍', key_yuzuru:'音无结弦', sp_key_kanade:'SP立华奏', + sp_key_kanade_prefix:'SP', key_mio:'西园美鱼', key_midori:'西园美鸟', key_kyoko:'岬镜子', @@ -18613,7 +18618,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ seira_yuanying_info:'出牌阶段限一次,你可选择两名角色。这两名角色成为“姻缘者”且获得〖姻缘〗直到你下次发动〖缘映〗。', seira_yinyuan:'姻缘', seira_yinyuan_info:'你的手牌对其他“姻缘者”可见。出牌阶段限一次,你可以获得一名其他“姻缘者”区域内的一张牌,然后其回复1点体力。', - key_kiyu:'露娜Q', + key_kiyu:'露娜Q', kiyu_yuling:'玉灵', kiyu_yuling_info:'锁定技。你不是有距离限制的锦囊牌的合法目标;你成为【杀】的目标后,使用者需弃置X张牌(X为其至你的距离)。', kiyu_xianyu:'先预', @@ -18971,8 +18976,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ nshanlang:'酣浪', nshanlang_info:'准备阶段,你可以和至多三名角色拼点。然后若这些角色中有拼点牌唯一最大的角色,则你可以令该角色从牌堆中获得一张不符合“四象天阵”的牌。', - junk_zhangrang:'四花张让', - junk_zhangrang_ab:'张让', junktaoluan:'滔乱', junktaoluan3:'滔乱', junktaoluan4:'滔乱', @@ -18992,12 +18995,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ junkquandao_info:'锁定技。当你使用【杀】或普通锦囊牌时,若你手牌中的【杀】或普通锦囊牌的数量之差X不为0,则你弃置X张数量较多的一种牌,然后你摸一张牌。', junkchigang:'持纲', junkchigang_info:'转换技,锁定技。判定阶段开始前,你取消此阶段。然后你获得一个额外的:阴,摸牌阶段;阳,出牌阶段。', - junk_liubei:'削弱刘备', - junk_liubei_ab:'刘备', junkrende:'仁德', junkrende_info:'出牌阶段限一次,你可以将任意张手牌交给其他角色。若你给出的牌多于一张,则你回复1点体力。', - junk_huangyueying:'削弱黄月英', - junk_huangyueying_ab:'黄月英', junkjizhi:'集智', junkjizhi_info:'当你使用非转化的普通锦囊牌时,你可以展示牌堆顶的一张牌A。若A不为基本牌,则你获得A。否则你选择一项:⒈将A置入弃牌堆。⒉将一张手牌置于牌堆顶,然后获得A。', junkqicai:'奇才', @@ -19009,19 +19008,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){ junklangmie_info:'其他角色的结束阶段开始时,你可以选择一项:⒈若其本回合内使用过某种类型的牌超过一张,则你弃置一张牌并摸两张牌。⒉若其本回合累计造成过的伤害大于1,则你弃置一张牌,然后对其造成1点伤害。', junkshicai:"恃才", junkshicai_info:"当你使用牌结束完毕后,若此牌与你本回合使用的牌类型均不同,则你可以将此牌置于牌堆顶,然后摸一张牌。", - ol_guohuai_ab:'郭淮', - old_jiakui:'通渠贾逵', - ol_guohuai:'三血郭淮', - old_jiakui_ab:'贾逵', - old_bulianshi_ab:'步练师', - old_bulianshi:'削弱步练师', - ol_maliang:'削弱马良', - ol_maliang_ab:'马良', - junk_lidian:'削弱李典', - junk_lidian_ab:'李典', - junk_duanwei:'削弱段煨', - junk_duanwei_ab:'段煨', + junk_zhangrang:'新杀张让', + junk_zhangrang_prefix:'新杀', + old_jiakui:'手杀贾逵', + old_jiakui_prefix:'手杀', + ol_guohuai:'OL郭淮', + ol_guohuai_prefix:'OL', + old_bulianshi:'RE步练师', + old_bulianshi_prefix:'RE', + ol_maliang:'OL马良', + ol_maliang_prefix:'OL', + junk_lidian:'OL李典', + junk_lidian_prefix:'OL', + junk_duanwei:'新杀段煨', + junk_duanwei_prefix:'新杀', junk_xuyou:'手杀许攸', + junk_xuyou_prefix:'手杀', + junk_liubei:'旧界刘备', + junk_liubei_prefix:'旧界', + junk_huangyueying:'旧界黄月英', + junk_huangyueying_prefix:'旧界', + old_majun:'骰子马钧', + old_majun_prefix:'骰子', diy_tieba:'吧友设计', diy_xushi:'玩点论杀·虚实篇', @@ -19125,7 +19133,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ 远野美凪:['Toono','Minagi'], 樱庭星罗:['Sakuraba','Seira'], 坂上智代:['Sakagami','Tomoyo'], - 冈崎汐:['Okazaki','Ushio'] + 冈崎汐:['Okazaki','Ushio'], + 神山识:['Kamiyama','Shiki'], + 佐藤雏:['Satou','Hina'], }, }; }); diff --git a/character/extra.js b/character/extra.js index b2952f99fb..e35f67d4bd 100755 --- a/character/extra.js +++ b/character/extra.js @@ -65,11 +65,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ shen_zhugeliang:'字孔明、号卧龙,汉族,琅琊阳都人,三国时期蜀汉丞相、杰出的政治家、军事家、发明家、文学家。在世时被封为武乡侯,死后追谥忠武侯,后来东晋政权推崇诸葛亮军事才能,特追封他为武兴王。诸葛亮为匡扶蜀汉政权,呕心沥血、鞠躬尽瘁、死而后已。其代表作有《前出师表》、《后出师表》、《诫子书》等。曾发明木牛流马等,并改造连弩,可一弩十矢俱发。于234年在宝鸡五丈原逝世。', }, characterReplace:{ - shen_zhangliao:['shen_zhangliao','ol_zhangliao'], + shen_zhangliao:['ol_zhangliao','shen_zhangliao'], shen_zhaoyun:['shen_zhaoyun','boss_zhaoyun'], shen_guanyu:['shen_guanyu','tw_shen_guanyu'], shen_sunquan:['shen_sunquan','junk_sunquan'], - shen_lvmeng:['tw_shen_lvmeng','shen_lvmeng'], + shen_lvmeng:['shen_lvmeng','tw_shen_lvmeng'], shen_machao:['shen_machao','ps_shen_machao'], }, characterFilter:{ @@ -266,7 +266,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ str+='、'; } str=str.slice(0,str.length-1); - str+=';' + str+=';'; + card.ai.equipValue=function(card,player){ + let val=maxHp; + if(player.hasSkill('qiexie')) val*=0.4; + else val*=0.6; + return val+=skills.length; + }; } str+='此牌离开你的装备区后,改为置入剩余武将牌牌堆。'; lib.translate['qiexie_'+name+'_info']=str; @@ -584,7 +590,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ skillAnimation:true, animationColor:'orange', filter:function(event,player){ - return player.getStorage('dctuoyu').length==3; + return true; + //return player.getStorage('dctuoyu').length==3; }, content:function(){ 'step 0' @@ -592,6 +599,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.loseMaxHp(); 'step 1' if(game.countPlayer()>2){ + if(player==trigger.player&&!trigger.skill){ + var evt=trigger.getParent(); + if(evt.name=='phaseLoop'&&evt._isStandardLoop) evt.player=player.next; + } player.chooseTarget(true,'请选择一名要更换座次的角色,将自己移动到该角色的上家位置',function(card,player,target){ return target!=player&&target!=player.next; }).set('ai',function(target){ @@ -2437,6 +2448,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, yingba:{ audio:2, + mod:{ + aiOrder:function(player,card,num){ + if(num>0&&_status.event&&_status.event.type=='phase'&&get.tag(card,'recover')){ + if(player.needsToDiscard()) return num/3; + return 0; + } + } + }, enable:'phaseUse', usable:1, filter:(event,player)=>(game.hasPlayer((current)=>(current!=player&¤t.maxHp>1))), @@ -2896,6 +2915,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ else event.finish(); 'step 2' player.chooseToDiscard('h',true).logSkill=['tspowei_use',target]; + if(get.mode()!='identity'||player.identity!='nei') player.addExpose(0.2); target.damage(); 'step 3' player.addTempSkill('tspowei_inRange'); @@ -4293,24 +4313,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return 1; }, effect:{ - target:function (card,player,target){ - if(get.tag(card,'damage')){ + target:function(card,player,target){ + if(get.tag(card,'damage')&&target.hp>(player.hasSkillTag('damageBonus',true,{ + card:card, + target:target + })?2:1)){ if(player.hasSkillTag('jueqing',false,target)) return [1,-2]; - if(target.hp==1) return 0.8; - if(target.isTurnedOver()) return [0,3]; - var num=game.countPlayer(function(current){ - if(current.countCards('he')&¤t!=player&&get.attitude(player,current)<=0){ - return true; - } - if(current.countCards('j')&¤t!=player&&get.attitude(player,current)>0){ - return true; + let gain=game.countPlayer(function(current){ + if(target==current) return 0; + if(get.attitude(target,current)>0){ + if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'new_guixin')&&get.effect(current,cardx,current,current)<0,'j')) return 1.3; + return 0; } + if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'new_guixin')&&get.effect(current,cardx,current,current)>0,'e')) return 1.1; + if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'new_guixin'),'h')) return 0.9; + return 0; }); - if(num>2) return [0,1]; - if(num==2) return [0.5,1]; + if(target.isTurnedOver()) gain+=2.3; + else gain-=2.3; + return [1,Math.max(0,gain)]; } - }, - }, + } + } }, }, ol_shenfen:{ @@ -4855,6 +4879,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, jilue_zhiheng:{ audio:1, + mod:{ + aiOrder:function(player,card,num){ + if(num<=0||get.itemtype(card)!='card'||get.type(card)!='equip') return num; + let eq=player.getEquip(get.subtype(card)); + if(eq&&get.equipValue(card)-get.equipValue(eq)get.value(i)>Math.max(6,9-player.hp),'he')) return 1; + return 10; + }, result:{ player:function(player){ var num=0; @@ -4907,6 +4941,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return 0; } }, + nokeep:true, + skillTagFilter:function(player,tag,arg){ + if(tag==='nokeep') return player.isPhaseUsing()&&!player.getStat().skill.jilue_zhiheng&&player.hasCard((card)=>get.name(card)!=='tao','h'); + }, threaten:1.5 }, }, @@ -5229,20 +5267,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, effect:{ target:function(card,player,target){ - if(get.tag(card,'damage')){ + if(get.tag(card,'damage')&&target.hp>(player.hasSkillTag('damageBonus',true,{ + card:card, + target:target + })?2:1)){ if(player.hasSkillTag('jueqing',false,target)) return [1,-2]; - if(target.hp==1) return 0.8; - if(target.isTurnedOver()) return [0,3]; - var num=game.countPlayer(function(current){ - if(current.countCards('he')&¤t!=player&&get.attitude(player,current)<=0){ - return true; - } - if(current.countCards('j')&¤t!=player&&get.attitude(player,current)>0){ - return true; + let gain=game.countPlayer(function(current){ + if(target==current) return 0; + if(get.attitude(target,current)>0){ + if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'guixin')&&get.effect(current,cardx,current,current)<0,'ej')) return 1.3; + return 0; } + if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'guixin')&&get.effect(current,cardx,current,current)>0,'ej')) return 1.1; + if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'guixin'),'h')) return 0.9; + return 0; }); - if(num>2) return [0,1]; - if(num==2) return [0.5,1]; + if(target.isTurnedOver()) gain+=2.3; + else gain-=2.3; + return [1,Math.max(0,gain)]; } } } @@ -6172,7 +6214,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(['trick','delay'].contains(lib.card[card.name].type)) return 'thunder'; }, cardUsable:function(card,player){ - if(card.name=='sha'&&card.hasNature('thunder')) return Infinity; + if(card.name=='sha'&&game.hasNature(card,'thunder')) return Infinity; }, }, ai:{ @@ -6400,6 +6442,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ bannedList:[ 'bifa','buqu','gzbuqu','songci','funan','xinfu_guhuo','reguhuo','huashen','rehuashen','old_guhuo','shouxi','xinpojun','taoluan','xintaoluan','yinbing','xinfu_yingshi','zhenwei','zhengnan','xinzhengnan','zhoufu', ], + logTarget:'player', content:function(){ 'step 0' var list=[]; @@ -7083,6 +7126,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, translate:{ "shen_luxun":"神陆逊", + shen_luxun_prefix:'神', "nzry_junlve":"军略", "nzry_junlve_info":"锁定技,当你受到或造成伤害后,你获得X个“军略”标记(X为伤害点数)", "nzry_cuike":"摧克", @@ -7090,13 +7134,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "nzry_dinghuo":"绽火", "nzry_dinghuo_info":"限定技,出牌阶段,你可以移去全部“军略”标记,令至多等量的已横置角色弃置所有装备区内的牌。然后,你对其中一名角色造成1点火焰伤害。", "shen_liubei":"神刘备", + shen_liubei_prefix:'神', "nzry_longnu":"龙怒", "nzry_longnu_info":"转换技,锁定技,阴:出牌阶段开始时,你失去1点体力并摸一张牌,然后本阶段内你的红色手牌均视为火【杀】且无距离限制。阳:出牌阶段开始时,你减1点体力上限并摸一张牌,然后本阶段内你的锦囊牌均视为雷【杀】且无使用次数限制。", "nzry_jieying":"结营", "nzry_jieying_info":"锁定技,游戏开始时或当你的武将牌重置时,你横置;所有已横置的角色手牌上限+2;结束阶段,你横置一名其他角色。", "shen_ganning":"神甘宁", + shen_ganning_prefix:'神', "shen_zhangliao":"神张辽", + shen_zhangliao_prefix:'神', "drlt_poxi":"魄袭", "drlt_poxi_info":"出牌阶段限一次,你可以观看一名其他角色的手牌,然后你可以弃置你与其手牌中的四张花色不同的牌。若如此做,根据此次弃置你的牌的数量执行以下效果:零张,扣减一点体力上限;一张,你结束出牌阶段且本回合手牌上限-1;三张,你回复一点体力;四张,你摸四张牌", @@ -7111,13 +7158,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "drlt_zhiti_info":"锁定技,你攻击范围内已受伤的其他角色手牌上限-1;当你拼点或【决斗】胜利,或受到伤害后,你恢复一个装备栏", shen_zhaoyun:'神赵云', + shen_zhaoyun_prefix:'神', shen_guanyu:'神关羽', + shen_guanyu_prefix:'神', shen_lvmeng:'神吕蒙', + shen_lvmeng_prefix:'神', shen_simayi:'神司马懿', + shen_simayi_prefix:'神', shen_caocao:'神曹操', + shen_caocao_prefix:'神', shen_zhugeliang:'神诸葛亮', + shen_zhugeliang_prefix:'神', shen_zhouyu:'神周瑜', + shen_zhouyu_prefix:'神', shen_lvbu:'神吕布', + shen_lvbu_prefix:'神', xinjuejing:'绝境', xinjuejing_info:'锁定技,你的手牌上限+2;当你进入或脱离濒死状态时,你摸一张牌。', relonghun:'龙魂', @@ -7205,12 +7260,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "new_guixin":"归心", "new_guixin_info":"当你受到1点伤害后,你可以按照你选择的区域优先度随机获得每名其他角色区域里的一张牌,然后你翻面。", ol_zhangliao:'OL神张辽', + ol_zhangliao_prefix:'OL神', olduorui:'夺锐', olduorui2:'夺锐', olduorui_info:'当你于出牌阶段内对一名角色造成伤害后,你可以选择该角色武将牌上的一个技能。若如此做,你结束出牌阶段,且你令此技能于其下个回合结束之前无效。', olzhiti:'止啼', olzhiti_info:'锁定技,你攻击范围内已受伤角色的手牌上限-1。若场上已受伤的角色数:不小于1,你的手牌上限+1;不小于3,你于摸牌阶段开始时令额定摸牌数+1;不小于5,回合结束时,你废除一名角色的一个随机装备栏。', shen_caopi:'神曹丕', + shen_caopi_prefix:'神', chuyuan:'储元', chuyuan_info:'一名角色受到伤害后,若你武将牌上「储」的数量小于体力上限,你可以令其摸一张牌。然后其将一张手牌置于你的武将牌上,称为「储」。', //chuyuan_info:'一名角色受到伤害后,你可以令其摸一张牌。然后其将一张手牌置于你的武将牌上,称为「储」。你的手牌上限+X(X为你武将牌上的「储」数)。', @@ -7219,6 +7276,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ tianxing:'天行', tianxing_info:'觉醒技,准备阶段,若你武将牌上的「储」数不小于3,则你减1点体力上限并获得所有「储」,然后失去技能〖储元〗,选择获得以下技能中的一个:〖仁德〗/〖制衡〗/〖乱击〗/〖行动〗', shen_zhenji:'神甄宓', + shen_zhenji_prefix:'神', shenfu:'神赋', shenfu_info:'回合结束时,若你的手牌数为:奇数,你可对一名其他角色造成1点雷属性伤害。若其死亡,你可重复此流程。偶数,你可选择一名角色,你令其摸一张牌或弃置一张手牌。若其手牌数等于体力值,你可重复此流程。', qixian:'七弦', @@ -7226,6 +7284,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ caopi_xingdong:'行动', caopi_xingdong_info:'出牌阶段限一次,你可以将一张【杀】或普通锦囊牌交给一名其他角色,然后该角色选择一项:对除你以外的角色使用此牌并在此牌结算完成后和你各摸一张牌;或跳过下回合的判定阶段和摸牌阶段。', shen_diaochan:'神貂蝉', + shen_diaochan_prefix:'神', meihun:'魅魂', meihun_info:'结束阶段或当你成为【杀】的目标后,你可以令一名其他角色交给你一张你声明的花色的手牌,若其没有则你观看其手牌然后弃置其中一张。', huoxin_control:'惑心', @@ -7233,12 +7292,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ huoxin_info:'出牌阶段限一次,你可以展示两张花色相同的手牌并分别交给两名其他角色,然后令这两名角色拼点,没赢的角色获得1个“魅惑”标记。拥有2个或更多“魅惑”的角色回合即将开始时,该角色移去其所有“魅惑”,此回合改为由你操控。', boss_zhaoyun:'高达一号', boss_zhaoyun_ab:'神赵云', + boss_zhaoyun_prefix:'神', boss_juejing:'绝境', boss_juejing2:'绝境', boss_juejing_info:'锁定技,摸牌阶段开始前,你跳过此阶段。当你得到牌/失去手牌后,若你的手牌数大于4/小于4,则你将手牌摸至4张/弃置至4张。', zhanjiang:'斩将', zhanjiang_info:'准备阶段开始时,如果其他角色的装备区内有【青釭剑】,你可以获得之', shen_guojia:'神郭嘉', + shen_guojia_prefix:'神', shuishi:'慧识', shuishi_info:'出牌阶段限一次,若你的体力上限小于10,则你可选择一名角色。你令其摸一张牌,若其以此法得到的牌:与该角色的其他手牌花色均不相同,则你加1点体力上限,若你的体力上限小于10,则你可以重复此流程;否则你减1点体力上限,且其展示所有手牌。', stianyi:'天翊', @@ -7249,6 +7310,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sghuishi:'辉逝', sghuishi_info:'限定技,出牌阶段,你可以选择一名其他角色:若其有未发动过的觉醒技,则你令其发动这些觉醒技时无视原有条件;否则其摸四张牌。然后你减2点体力上限。', shen_taishici:'神太史慈', + shen_taishici_prefix:'神', dulie:'笃烈', dulie_info:'锁定技。当你成为【杀】的目标时,若使用者的体力值大于你,则你进行判定。若结果为红桃,则取消此目标。', tspowei:'破围', @@ -7264,6 +7326,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ qizhengxiangsheng:'奇正相生', qizhengxiangsheng_info:'出牌阶段,对一名其他角色使用。你将目标角色标记为“奇兵”或“正兵”(对其他角色不可见)。然后目标角色可以打出一张【杀】或【闪】。若其是“奇兵”且未打出【杀】,则你对其造成1点伤害;若其是“正兵”且未打出【闪】,则你获得其一张牌。', shen_xunyu:'神荀彧', + shen_xunyu_prefix:'神', tianzuo:'天佐', tianzuo_info:'锁定技。①游戏开始时,你将8张【奇正相生】加入牌堆。②【奇正相生】对你无效。', lingce:'灵策', @@ -7271,6 +7334,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dinghan:'定汉', dinghan_info:'①当你成为未记录过的普通锦囊牌的目标时,或有未记录过的延时锦囊牌进入你的判定区时,你记录此牌名并取消之。②准备阶段,你可在〖定汉①〗的记录中添加或减少一种锦囊牌的牌名。', shen_sunce:'神孙策', + shen_sunce_prefix:'神', yingba:'英霸', yingba_info:'①出牌阶段限一次,你可令一名体力上限大于1的其他角色减少1点体力上限并获得“平定”标记,然后你减少1点体力上限。②你对拥有“平定”标记的角色使用牌没有距离限制。', scfuhai:'覆海', @@ -7278,6 +7342,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ pinghe:'冯河', pinghe_info:'锁定技。①你的手牌上限基数等于你已损失的体力值。②当你受到其他角色造成的伤害时,若你有牌且你的体力上限大于1,则你防止此伤害,减一点体力上限并将一张手牌交给一名其他角色。然后若你拥有〖英霸〗,则伤害来源获得一个“平定”标记。', shen_jiangwei:'神姜维', + shen_jiangwei_prefix:'神', jiufa:'九伐', jiufa_info:'①当你声明使用牌后或打出牌时,你记录此牌的牌名。②当你使用或打出的牌结算结束后,若你的〖九伐〗记录中包含至少⑨种不同的牌名,则你可以展示牌堆顶的⑨张牌,选择并获得其中任意张点数各不相同且{这九张牌中存在未被选择且和已选择的牌点数相同}的牌,清除所有的记录,将其余牌置入弃牌堆。', tianren:'天任', @@ -7285,6 +7350,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ pingxiang:'平襄', pingxiang_info:'限定技。出牌阶段,若你的体力上限大于⑨,则你可减⑨点体力上限,视为使用至多⑨张火【杀】,然后失去〖九伐〗,并将手牌上限基数改为体力上限直到游戏结束。', shen_sunquan:'神孙权', + shen_sunquan_prefix:'神', dili:'帝力', dili_info:'锁定技。游戏开始时,你随机获得一条东吴命运线。', yuheng:'驭衡', @@ -7316,6 +7382,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ changandajian_equip5_info:'锁定技。你的手牌上限+2。当你失去装备区内的【长安大舰】后,你销毁之。然后你选择场上的一张牌。若此牌点数为字母,则你获得之,否则弃置之。', changandajian_equip6_info:'锁定技。你至其他角色的距离-2,其他角色至你的距离+2。当你失去装备区内的【长安大舰】后,你销毁之。然后你选择场上的一张牌。若此牌点数为字母,则你获得之,否则弃置之。', shen_machao:'神马超', + shen_machao_prefix:'神', shouli:'狩骊', shouli_backup:'狩骊', shouli_info:'①游戏开始时,你令场上所有角色从你的下家起,依次使用牌堆中的一张不为赠物的坐骑牌。②你可以将场上的一张进攻坐骑牌当做【杀】(无任何次数限制),防御坐骑牌当做【闪】使用或打出。若此坐骑牌的拥有者不为你,则其非锁定技于本回合内失效。且当你或其于本回合内受到伤害时,此伤害+1且改为雷属性。', @@ -7338,16 +7405,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){ hina_xingzhi:'幸凪', hina_xingzhi_info:'键势力技。每回合限一次,你可以通过“助战”触发一张牌的全部应变效果,且响应助战的角色摸两张牌。', tw_shen_guanyu:'TW神关羽', + tw_shen_guanyu_prefix:'TW神', twwushen:'武神', twwushen_info:'锁定技。①你的♥手牌均视为普【杀】。②你于每阶段使用的第一张【杀】不可被响应。③你使用♥【杀】无距离和次数限制。④当你使用♥【杀】选择目标后,你令所有拥有“梦魇”标记的角色均成为此【杀】的目标。', twwuhun:'武魂', twwuhun_info:'锁定技。①当你受到其他角色造成的1点伤害后,你令伤害来源获得1枚“梦魇”标记。②当你对有“梦魇”标记的其他角色造成伤害后,你令其获得一枚“梦魇”标记。③当你死亡时,你可进行判定。若结果不为【桃】或【桃园结义】,则你选择至少一名拥有“梦魇”标记的角色。令这些角色各自失去X点体力(X为其“梦魇”标记数)。', shen_zhangfei:'神张飞', + shen_zhangfei_prefix:'神', shencai:'神裁', shencai_info:'出牌阶段限一次,你可以令一名其他角色进行判定。你获得此判定牌,然后若此判定牌:包含以下要素中的任意一个,则其失去已有的下列效果,并获得对应的效果:{⒈体力:当其受到伤害后,其失去等量的体力、⒉武器:其不能使用牌响应【杀】、⒊打出:当其失去手牌后,其再随机弃置一张手牌(不嵌套触发)、⒋距离:其的结束阶段开始时,其翻面};若均不包含,你获得其区域里的一张牌,其获得一枚“死”并获得如下效果:其的角色手牌上限-X、其的回合结束时,若X大于场上存活人数,则其死亡(X为其“死”标记数)。', xunshi:'巡使', xunshi_info:'锁定技。①你手牌区内所有的多目标锦囊牌均视为花色为none的普【杀】。②你使用颜色为none的牌无距离和次数限制。③当你使用无颜色的牌选择目标后,你令你的〖神裁〗的发动次数上限+1(至多为5),然后可以为此牌增加任意个目标。', shen_zhangjiao:'神张角', + shen_zhangjiao_prefix:'神', yizhao:'异兆', yizhao_info:'锁定技。当你使用或打出牌时,你获得等同于此牌点数枚“黄”标记。然后若“黄”的十位数发生变化,你获得牌堆中一张点数为你“黄”的十位数的牌。', sijun:'肆军', @@ -7356,13 +7426,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sanshou_info:'当你受到伤害时,你可以亮出牌堆顶三张牌。若其中有本回合未被使用过的牌的类型,防止此伤害。', tianjie:'天劫', tianjie_info:'一名角色的回合结束时,若本回合牌堆洗过牌,你可以选择至多三名其他角色。你依次对每名目标角色造成X点雷电伤害(X为其手牌中【闪】的数量,至少为1)。', - tw_shen_lvmeng: 'TW神吕蒙', + tw_shen_lvmeng:'TW神吕蒙', + tw_shen_lvmeng_prefix:'TW神', twshelie:'涉猎', twshelie_info:'①摸牌阶段,你可放弃摸牌并亮出牌堆顶的五张牌,然后选择获得其中每种花色的牌各一张。②每轮限一次。结束阶段,若你本回合使用的花色数不小于你的体力值,你执行一个额外的摸牌阶段或出牌阶段。', twgongxin:'攻心', twgongxin2:'攻心', twgongxin_info:'出牌阶段限一次。你可以观看一名其他角色的手牌,然后你可以展示其中一张牌并选择一项:1.弃置此牌;2.将此牌置于牌堆顶。若该角色手牌中的花色数因此减少,你选择一种颜色,其于本回合不能使用或打出该颜色的牌。', shen_dengai:'神邓艾', + shen_dengai_prefix:'神', dctuoyu:'拓域', dctuoyu_fengtian:'丰田', dctuoyu_qingqu:'清渠', @@ -7378,6 +7450,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dccuixin:'摧心', dccuixin_info:'当你不因此技能使用的基本牌或普通锦囊牌结算结束后,若此牌的目标于你使用此牌指定第一个目标时包含你的上家或下家,则你可以视为对下家或上家再使用一张牌名和元素相同的牌。', shen_dianwei:'神典韦', + shen_dianwei_prefix:'神', juanjia:'捐甲', juanjia_info:'锁定技。游戏开始时,你废除一个防具栏,然后获得一个额外的武器栏。', qiexie:'挈挟', diff --git a/character/gwent.js b/character/gwent.js index 585077e3c8..5c0dd04ef4 100644 --- a/character/gwent.js +++ b/character/gwent.js @@ -999,10 +999,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ group:'gwweitu_gain', subSkill:{ gain:{ - trigger:{player:'damageZero'}, - filter:function(event){ - return event.hujia; - }, + trigger: {player: 'changeHujiaAfter'}, + filter: (event) => event.num < 0, forced:true, content:function(){ player.storage.gwweitu++; @@ -1190,7 +1188,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ 'step 0' player.chooseTarget('覆天:弃置一名角色的一张手牌',function(card,player,target){ return target!=player&&target.countCards('h'); - }).set('ai',function(target){ + },true).set('ai',function(target){ if(target.hasSkillTag('noh')) return 0; return -get.attitude(player,target)/Math.sqrt(target.countCards('h')); }); diff --git a/character/hearth.js b/character/hearth.js index 6099402400..bbd02ebd9c 100644 --- a/character/hearth.js +++ b/character/hearth.js @@ -2023,6 +2023,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, shouwang2:{ + charlotte: true, mark:true, intro:{ content:'已发动' diff --git a/character/huicui.js b/character/huicui.js index 9ff80eb216..5cd1e4d7a2 100644 --- a/character/huicui.js +++ b/character/huicui.js @@ -6437,7 +6437,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ prompt2:function(event,player){ var str=('令'+get.translation(event.player)+'即将受到的'); str+=(''+event.num+'点'); - if(lib.linked.some(n=>event.hasNature(n))){ + if(event.hasNature('linked')){ str+=(get.translation(event.nature)+'属性'); } str+='伤害+1'; @@ -7061,7 +7061,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }).length; //var str='视为额外使用'+get.cnNumber(num)+'张' var str='额外结算'+get.cnNumber(num)+'次' - if(event.card.name=='sha'&&event.card.hasNature()) str+=get.translation(event.card.nature); + if(event.card.name=='sha'&&game.hasNature(event.card)) str+=get.translation(event.card.nature); return (str+'【'+get.translation(event.card.name)+'】'); }, check:function(event,player){ @@ -7131,6 +7131,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ huguan:{ audio:2, audioname:['wangyue'], + init:function(player){ + game.addGlobalSkill('huguan_all'); + }, + onremove:function(player){ + game.removeGlobalSkill('huguan_all'); + }, trigger:{global:'useCard'}, direct:true, filter:function(event,player){ @@ -7144,9 +7150,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:function(){ 'step 0' player.chooseControl(lib.suit,'cancel2').set('prompt',get.prompt('huguan',trigger.player)).set('prompt2','令某种花色的手牌不计入其本回合的手牌上限').set('ai',function(){ - var player=_status.event.player,target=_status.event.getTrigger().player; - if(get.attitude(player,target)<=0) return 'cancel2'; - var list=lib.suit.slice(0); + var player=_status.event.player,target=_status.event.getTrigger().player,att=get.attitude(player,target); + if(att <= 0){ + if (!player.hasSkill('yaopei') || player.hasAllHistory('useSkill',function(evt){ + return evt.skill=='huguan'&&evt.targets.includes(target); + }) || target.needsToDiscard() - target.needsToDiscard(-target.countCards('h') / 4) > (att>-2?1.6:1)) return 'cancel2'; + } + let list = lib.suit.slice(0); + if(att <= 0 && target.getStorage('huguan_add')) for(let i of target.getStorage('huguan_add')){ + if (list.includes(i)) return i; + } list.removeArray(target.getStorage('huguan_add')); if(list.length) return list.randomGet(); return 'cancel2'; @@ -7174,6 +7187,37 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, intro:{content:'本回合$花色的牌不计入手牌上限'}, }, + all:{ + mod:{ + aiValue:function(player, card, num){ + if(player && player.storage.huguan_all > 0 && get.itemtype(card) == 'card' && get.color(card, player) == 'red') return num + player.storage.huguan_all; + } + }, + trigger:{ + player:['phaseUseBegin', 'useCard'] + }, + filter:function(event, player){ + if(event.name === 'useCard') return player.storage.huguan_all; + return true; + }, + silent:true, + charlotte:true, + content:function(){ + 'step 0' + if(trigger.name === 'useCard'){ + player.storage.huguan_all = 0; + event.finish(); + } + 'step 1' + let num = -157; + game.countPlayer(function (current){ + if(current.hasSkill('huguan')) num = Math.max(num, get.attitude(_status.event.player, current)); + }); + if(num === -157) game.removeGlobalSkill('huguan_all'); + else if(num === 0) player.storage.huguan_all = 6; + else if(num > 0) player.storage.huguan_all = 9; + } + } }, }, yaopei:{ @@ -7217,15 +7261,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return target==player||target==_status.event.getTrigger().player; }, ai1:function(card){ - return 8-get.value(card); + let player = _status.event.player, source = _status.event.getTrigger().player; + if(get.attitude(player, source) > 0 && (get.recoverEffect(player, player, player) > 0 || get.recoverEffect(source, player, player) > 0)) return 12 - get.value(card); + return 8 - get.value(card); }, ai2:function(target){ - var player=_status.event.player,source=_status.event.getTrigger().player; - var recoverer=(player==target?source:player); - if(recoverer.isHealthy()) return (get.attitude(player,target)>0?1:0); - if(get.recoverEffect(recoverer,player,player)>0&&get.attitude(player,target)>0) return 2; + let player = _status.event.player, source = _status.event.getTrigger().player; + let recoverer = player === target ? source : player; + if(recoverer.isHealthy()) return get.attitude(player, target); + let att = get.attitude(player, recoverer), rec = get.recoverEffect(recoverer, player, player); + if(rec > 0) return Math.abs(att) + get.attitude(player, target); return 0; - }, + } }); 'step 1' if(result.bool){ @@ -7233,10 +7280,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.logSkill('yaopei',target); player.discard(result.cards); if(player==result.targets[0]){ + if(target.isDamaged()&&target.hptarget.hp)&&(get.mode()!='identity'||player.identity!='nei')) player.addExpose(0.15); target.draw(2); player.recover(); } @@ -7252,14 +7301,37 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, content:function(){ 'step 0' + let he = player.getCards('he'), + disval = 0, + dis = 0, + spare = 30, + use = true; + for(let i of he){ + let val = get.value(i, player); + if(val < 6 && get.position(i) == 'h'){ + dis++; + disval += val; + } + else if(val < spare) spare = val; + } + if(!dis){ + dis = 1; + disval = spare; + spare = -1; + } + let draw = Math.min(trigger.player.countCards('h'), 5 + dis - player.countCards('h')); + if(6 * draw < disval) use = false; player.chooseToDiscard('he',get.prompt('mingluan'),'弃置任意张牌,并摸等同于'+get.translation(trigger.player)+'手牌数的牌(至多摸至五张)',[1,Infinity]).set('ai',function(card){ - var player=_status.event.player; - var ph=player.countCards('h'); - if(get.position(card)=='h') ph--; - var num=Math.min(_status.event.getTrigger().player.countCards('h'),5-ph); - if(num>0) return 3.5*num+0.01-get.value(card); - return 0.01-get.value(card); - }).logSkill=['mingluan',trigger.player]; + let val = get.value(card, player); + if(val < 0 && card.name !== 'du') return 30; + if(!_status.event.use) return 0; + if(ui.selected.cards.length){ + if (get.position(card) !== 'h') return 0; + return 6 - val; + } + if(_status.event.spare < 0 || get.position(card) === 'h') return 30 - val; + return 0; + }).set('spare',spare).set('use',use).logSkill=['mingluan',trigger.player]; 'step 1' if(result.bool){ var num=trigger.player.countCards('h'),num2=5-player.countCards('h'); @@ -8235,6 +8307,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return max2; }, audio:2, + init:function(player){ + game.addGlobalSkill('fengxiang_use'); + }, + onremove:function(player){ + game.removeGlobalSkill('fengxiang_use'); + }, trigger:{player:'damageEnd'}, forced:true, filter:function(event,player){ @@ -8265,6 +8343,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.draw(); }, }, + use:{ + mod:{ + aiOrder:function(player,card,num){ + if(num>0&&get.itemtype(card)==='card'&&card.hasGaintag('fengxiang_tag')&&game.hasPlayer(current=>{ + return current.hasSkill('fengxiang')&&get.attitude(player,current)>0; + })) return num+10; + } + }, + trigger:{player:'dieAfter'}, + filter:function(event,player){ + for(let i of game.players){ + if(i.hasSkill('fengxiang')) return false; + } + return true; + }, + silent:true, + forceDie:true, + charlotte:true, + content:function(){ + game.removeGlobalSkill('fengxiang_use'); + } + } }, }, //阚泽 @@ -9955,17 +10055,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, perfectPair:{}, characterReplace:{ - dongbai:['re_dongbai','dongbai','jsrg_dongbai'], + dongbai:['dongbai','re_dongbai','jsrg_dongbai'], chunyuqiong:['chunyuqiong','re_chunyuqiong','jsrg_chunyuqiong'], - kanze:['re_kanze','kanze'], + kanze:['kanze','re_kanze'], chendeng:['ol_chendeng','re_chendeng','chendeng','jsrg_chendeng'], - miheng:['miheng','re_miheng'], + miheng:['re_miheng','miheng'], liuba:['ol_liuba','dc_liuba','liuba'], lvkuanglvxiang:['lvkuanglvxiang','dc_lvkuanglvxiang'], - dc_huangquan:['dc_huangquan','xf_huangquan'], + dc_huangquan:['xf_huangquan','dc_huangquan'], yuejiu:['dc_yuejiu','yuejiu'], jiling:['dc_jiling','tw_jiling','jiling'], - sp_jiaxu:['dc_sp_jiaxu','sp_jiaxu','yj_jiaxu'], + sp_jiaxu:['sp_jiaxu','dc_sp_jiaxu','yj_jiaxu'], qiaorui:['qiaorui','tw_qiaorui'], mamidi:['mamidi','xin_mamidi'], }, @@ -10247,7 +10347,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dcsilve_info:'游戏开始时,你选择一名其他角色(对其他角色不可见),称为“私掠”角色。然后你获得以下效果:①当“私掠”角色造成伤害后,若你本回合未因此效果得到过受伤角色的牌,你可以获得受伤角色一张牌;②当“私掠”角色受到其他角色造成的伤害后,若伤害来源存活,你须对伤害来源使用一张【杀】(无距离限制),否则你弃置一张手牌。', dcshuaijie:'衰劫', dcshuaijie_info:'限定技。出牌阶段,若你的体力值与装备区里的牌数均大于“私掠”角色,或没有角色有“私掠”,你可以减1点体力上限,然后选择一项:1.获得“私掠”角色至多三张牌;2.从牌堆随机获得三张类型各不同的牌。最后将你的“私掠”角色改为你。', - dc_sp_jiaxu:'魏贾诩', + dc_sp_jiaxu:'新杀SP贾诩', + dc_sp_jiaxu_prefix:'新杀SP', dcjianshu:'间书', dcjianshu_info:'出牌阶段限一次。你可以将一张黑色手牌交给一名其他角色,并选择另一名其他角色,你令前者与后者拼点。赢的角色随机弃置一张牌,没赢的角色失去1点体力。若有角色因此死亡,你令你〖间书〗于此阶段发动的次数上限+1。', dcyongdi:'拥嫡', @@ -10256,7 +10357,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dcjuying:'踞营', dcjuying_info:'出牌阶段结束时,若你于此阶段内使用【杀】的次数未达到上限,你可以选择任意项:1.下回合使用【杀】的次数上限+1;2.本回合手牌上限+2;3.摸三张牌。若你选择的项数超过了你的体力值,你弃置一张牌。', dc_huanghao:'新杀黄皓', - dc_huanghao_ab:'黄皓', + dc_huanghao_prefix:'新杀', dcqinqing:'寝情', dcqinqing_info:'结束阶段,你可以弃置一名攻击范围内包含一号位的其他角色一张牌。然后若其手牌数大于一号位,你摸一张牌。', dccunwei:'存畏', @@ -10296,6 +10397,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dcneifa:'内伐', dcneifa_info:'出牌阶段开始时,你可以摸三张牌,然后弃置一张牌。若你弃置的牌类型为:基本牌,本阶段你不能使用锦囊牌,且【杀】的使用次数上限+X且可以额外指定一名目标;锦囊牌,本阶段你不能使用基本牌,且使用普通锦囊牌选择目标时可以增加或减少一个目标(X为你发动〖内伐〗弃牌后手牌中因〖内伐〗而不能使用的牌的数量且最多为5。你以此法选择的额外目标均无距离限制)。', dc_sunziliufang:'新杀孙资刘放', + dc_sunziliufang_prefix:'新杀', dcqinshen:'勤慎', dcqinshen_info:'弃牌阶段结束时,你可以摸X张牌(X为本回合未进入过弃牌堆的花色数)。', dcweidang:'伪谠', @@ -10374,6 +10476,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dcgonghu:'共护', dcgonghu_info:'锁定技。①当你于回合外失去基本牌后,若你本回合内失去基本牌的数量大于1,你将〖破锐〗改为每轮限两次。②当你造成或受到伤害后,若你本回合内造成或受到的总伤害大于1,你删除〖破锐〗中的“,然后你交给其X张手牌”。③当你使用红色基本牌/红色普通锦囊牌时,若你已发动过〖共护①〗和〖共护②〗,则此牌不可被响应/可额外增加一个目标。', yue_caiwenji:'乐蔡琰', + yue_caiwenji_prefix:'乐', dcshuangjia:'霜笳', dcshuangjia_tag:'胡笳', dcshuangjia_info:'锁定技。①游戏开始,你将你的手牌标记为“胡笳”。②你的“胡笳”牌不计入手牌上限。③其他角色至你的距离+X(X为你的“胡笳”数且至多为5)。', @@ -10383,6 +10486,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dcyouzhan:'诱战', dcyouzhan_info:'锁定技。当其他角色于你的回合内失去牌后,你摸一张牌,且其获得如下效果:1.其于此回合下一次受到的伤害+1;2.结束阶段,若其于此回合未受到过伤害,其摸X张牌(X为其此回合失去过牌的次数)。', yue_zhoufei:'乐周妃', + yue_zhoufei_prefix:'乐', dclingkong:'灵箜', dclingkong_tag:'箜篌', dclingkong_info:'锁定技。①游戏开始时,你将所有手牌标记为“箜篌”。②你的“箜篌”牌不计入手牌上限。③当你于回合外获得牌后,系统随机将其中的一张牌标记为“箜篌”。', diff --git a/character/jsrg.js b/character/jsrg.js index 82f260b8a5..6c54f87aa5 100644 --- a/character/jsrg.js +++ b/character/jsrg.js @@ -4095,7 +4095,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ translate:{ //江山如故·起 jsrg_liuhong:'起刘宏', - jsrg_liuhong_ab:'刘宏', + jsrg_liuhong_prefix:'起', jsrgchaozheng:'朝争', jsrgchaozheng_info:'准备阶段,你可以令所有其他角色议事。若结果为:红色,意见为红色的角色各回复1点体力;黑色,意见为红色的角色各失去1点体力。然后若所有意见均相同,你摸X张牌(X为此次议事的角色数)。', jsrgshenchong:'甚宠', @@ -4107,7 +4107,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jsrgbahu:'跋扈', jsrgbahu_info:'锁定技。①准备阶段,你摸一张牌。②你使用【杀】的次数上限+1。', jsrg_hejin:'起何进', - jsrg_hejin_ab:'何进', + jsrg_hejin_prefix:'起', jsrgzhaobing:'诏兵', jsrgzhaobing_info:'结束阶段,你可以弃置所有手牌,然后令至多X名其他角色依次选择一项:1.正面向上交给你一张【杀】;2.失去1点体力(X为你本次弃置的牌数)。', jsrgzhuhuan:'诛宦', @@ -4115,37 +4115,37 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jsrgyanhuo:'延祸', jsrgyanhuo_info:'锁定技。当你死亡时,你增加如下全局技能:当有角色使用【杀】时,此【杀】的伤害值基数+1。', jsrg_sunjian:'起孙坚', - jsrg_sunjian_ab:'孙坚', + jsrg_sunjian_prefix:'起', jsrgpingtao:'平讨', jsrgpingtao_info:'出牌阶段限一次。你可以令一名其他角色选择一项:1.交给你一张牌,然后你于此回合使用【杀】的次数上限+1;2.令你视为对其使用一张【杀】。', jsrgjuelie:'绝烈', jsrgjuelie_info:'当你使用【杀】指定一名角色为目标后,你可以弃置任意张牌并弃置其等量的牌,然后若你的手牌数或体力值最小,此【杀】对其的伤害基数+1。', jsrg_huangfusong:'起皇甫嵩', - jsrg_huangfusong_ab:'皇甫嵩', + jsrg_huangfusong_prefix:'起', jsrgguanhuo:'观火', jsrgguanhuo_info:'①出牌阶段,你可以视为使用一张【火攻】。②当你因〖观火①〗使用的【火攻】结算结束后,若此牌未造成过伤害,且:若{你此阶段发动〖观火①〗的次数为1,则你于此阶段造成渠道为【火攻】的伤害时,此伤害+1},否则你失去〖观火〗。', jsrgjuxia:'居下', jsrgjuxia_info:'每回合限一次。当其他角色使用牌指定你为目标后,若其技能数多于你,其可以令此牌对你无效,然后令你摸两张牌。', jsrg_xushao:'起许劭', - jsrg_xushao_ab:'许劭', + jsrg_xushao_prefix:'起', jsrgyingmen:'盈门', jsrgyingmen_info:'锁定技。①游戏开始时,你将武将牌堆中随机四张武将牌置于你的武将牌上,称为“访客”。②回合开始时,若你的“访客”数小于4,你随机从武将牌堆中将“访客”补至四张。', jsrgpingjian:'评鉴', jsrgpingjian_info:'你可以于满足你“访客”上的一个无技能标签或仅有锁定技标签的技能条件的时机发动此技能,然后你选择移去一张“访客”。若移去的是本次发动技能的“访客”,你摸一张牌。', jsrg_dongbai:'起董白', - jsrg_dongbai_ab:'董白', + jsrg_dongbai_prefix:'起', jsrgshichong:'恃宠', jsrgshichong_info:'转换技。当你使用牌指定其他角色为唯一目标后,阴:你可以获得目标角色一张手牌;阳:目标角色可以交给你一张手牌。', jsrglianzhu:'连诛', jsrglianzhu_info:'出牌阶段限一次。你可以展示一张黑色手牌并交给一名其他角色,然后视为你对所有与其势力相同的其他角色依次使用一张【过河拆桥】。', jsrg_qiaoxuan:'起桥玄', - jsrg_qiaoxuan_ab:'桥玄', + jsrg_qiaoxuan_prefix:'起', jsrgjuezhi:'绝质', jsrgjuezhi_info:'①当你失去一张装备区里的装备牌后,你可以废除对应的装备栏。②你的回合每阶段限一次。当你使用牌对目标角色造成伤害时,你令此伤害+X(X为其装备区里的牌与你已废除的装备栏中相同副类别的数量)。', jsrgjizhao:'急召', jsrgjizhao_info:'准备阶段或结束阶段,你可以令一名角色选择一项:1.使用一张手牌;2.令你可以移动其区域里的一张牌。', jsrg_yangbiao:'起杨彪', - jsrg_yangbiao_ab:'杨彪', + jsrg_yangbiao_prefix:'起', jsrgzhaohan:'昭汉', jsrgzhaohan_info:'锁定技。准备阶段,若本局游戏:未洗过牌,你回复1点体力;洗过牌,你失去1点体力。', jsrgrangjie:'让节', @@ -4153,38 +4153,38 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jsrgyizheng:'义争', jsrgyizheng_info:'出牌阶段限一次。你可以与一名手牌数大于你的角色拼点。若你:赢,其跳过下一个摸牌阶段;没赢,其可以对你造成至多2点伤害。', jsrg_kongrong:'起孔融', - jsrg_kongrong_ab:'孔融', + jsrg_kongrong_prefix:'起', jsrglirang:'礼让', jsrglirang_info:'每轮限一次。其他角色的摸牌阶段开始时,你可以交给其两张牌。然后此回合的弃牌阶段结束时,你可以获得所有其于此阶段因弃置进入弃牌堆的牌。', jsrgzhengyi:'争义', jsrgzhengyi_info:'当你每回合首次受到伤害时,本轮因〖礼让〗得到过牌的其他角色可以将此伤害转移给其。', jsrg_zhujun:'起朱儁', - jsrg_zhujun_ab:'朱儁', + jsrg_zhujun_prefix:'起', jsrgfendi:'分敌', jsrgfendi_tag:'分敌', jsrgfendi_info:'每回合限一次。当你使用【杀】指定唯一目标后,你可以展示其任意张手牌,令其不能使用或打出对应实体牌不全为这些牌的牌直到此【杀】结算结束。然后当此【杀】对其造成伤害后,你于其手牌区或弃牌堆获得这些牌。', jsrgjuxiang:'拒降', jsrgjuxiang_info:'当你不于摸牌阶段得到牌后,你可以弃置之,令当前回合角色于此回合额定的出牌阶段内使用【杀】的次数上限+X(X为你以此法弃置的牌的花色数)。', jsrg_liubei:'起刘备', - jsrg_liubei_ab:'刘备', + jsrg_liubei_prefix:'起', jsrgjishan:'积善', jsrgjishan_info:'①每回合限一次。当一名角色受到伤害时,你可以失去1点体力并防止此伤害,然后你与其各摸一张牌。②每回合限一次。当你造成伤害后,你可以令一名体力值最小且你对其发动过〖积善①〗的角色回复1点体力。', jsrgzhenqiao:'振鞘', jsrgzhenqiao_info:'锁定技。①你的攻击范围+1。②当你使用【杀】指定目标后,若你的武器栏为空且未废除,你令此【杀】的效果额外结算一次。', jsrg_wangyun:'起王允', - jsrg_wangyun_ab:'王允', + jsrg_wangyun_prefix:'起', jsrgshelun:'赦论', jsrgshelun_info:'出牌阶段限一次。你可以选择一名你攻击范围内的角色,然后令除其外所有手牌数不大于你的角色议事。若结果为:红色,你弃置其一张牌;黑色,你对其造成1点伤害。', jsrgfayi:'伐异', jsrgfayi_info:'当你议事结算结束后,你可以对一名意见与你不同的角色造成1点伤害。', jsrg_liuyan:'起刘焉', - jsrg_liuyan_ab:'刘焉', + jsrg_liuyan_prefix:'起', jsrgtushe:'图射', jsrgtushe_info:'当你使用非装备牌指定目标后,你可以展示所有手牌(无牌则不展示)。若你没有基本牌,你可以摸X张牌(X为此牌指定的目标数)。', jsrgtongjue:'通绝', jsrgtongjue_info:'主公技。出牌阶段限一次。你可以将任意张牌交给等量名其他群势力角色。然后你不能使用牌指定这些角色为目标直到回合结束。', jsrg_caocao:'起曹操', - jsrg_caocao_ab:'曹操', + jsrg_caocao_prefix:'起', jsrgzhenglve:'政略', jsrgzhenglve_info:'①主公的回合结束时,你可以摸一张牌,然后令一名没有“猎”标记的角色获得“猎”(若主公本回合没有造成过伤害,则改为至多两名)。②你对有“猎”的角色使用牌无距离和次数限制。③每回合限一次。当你对有“猎”的角色造成伤害后,你可以摸一张牌并获得造成此伤害的牌。', jsrghuilie:'会猎', @@ -4192,7 +4192,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jsrgpingrong:'平戎', jsrgpingrong_info:'每轮限一次。一名角色的回合结束时,你可以移去一名角色的“猎”,然后你于此回合后执行一个额外回合。该回合结束后,若你于此回合未造成过伤害,你失去1点体力。', jsrg_nanhualaoxian:'起南华老仙', - jsrg_nanhualaoxian_ab:'南华老仙', + jsrg_nanhualaoxian_prefix:'起', jsrgshoushu:'授术', jsrgshoushu_info:'锁定技。①游戏开始时,若场上没有【太平要术】,你可以从游戏外将【太平要术】置于一名角色的装备区内。②当【太平要术】离开一名角色的装备区后,你令此牌销毁。', jsrgxundao:'寻道', @@ -4205,7 +4205,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sbpingjian_info:'你可以于满足你“访客”上的一个无技能标签或仅有锁定技标签的技能条件的时机发动此技能,然后你选择移去一张“访客”。若移去的是本次发动技能的“访客”,则你于此技能结算结束时摸一张牌。', //江山如故·承 jsrg_sunce:'承孙策', - jsrg_sunce_ab:'孙策', + jsrg_sunce_prefix:'承', jsrgduxing:'独行', jsrgduxing_info:'出牌阶段限一次。你可以视为使用一张可以指定任意名目标角色的【决斗】,且所有目标角色的手牌均视为【杀】直到此牌结算结束。', jsrgzhiheng:'猘横', @@ -4215,7 +4215,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jsrgbashi:'霸世', jsrgbashi_info:'主公技。当你需要打出【杀】或【闪】时,你可以令其他吴势力角色选择是否打出一张【杀】或【闪】。若有角色响应,则视为你打出了一张【杀】或【闪】。', jsrg_xuyou:'承许攸', - jsrg_xuyou_ab:'许攸', + jsrg_xuyou_prefix:'承', jsrglipan:'离叛', jsrglipan_info:'回合结束时,你可以变更势力,然后摸X张牌并执行一个额外的出牌阶段。此阶段结束时,所有与你势力相同的角色依次可以将一张牌当【决斗】对你使用(X为与你势力相同的其他角色数)。', jsrgqingxi:'轻袭', @@ -4223,7 +4223,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jsrgjinmie:'烬灭', jsrgjinmie_info:'魏势力技。出牌阶段限一次。你可以选择一名手牌数大于你的角色,你视为对其使用一张火【杀】。当此牌造成伤害后,你将其手牌数弃置至与你相同。', jsrg_lvbu:'承吕布', - jsrg_lvbu_ab:'吕布', + jsrg_lvbu_prefix:'承', jsrgwuchang:'无常', jsrgwuchang_info:'锁定技。①当你获得其他角色的牌后,你变更势力为与其相同。②当你使用【杀】或【决斗】对与你势力相同的目标角色造成伤害时,此伤害+1,然后变更势力为群。', jsrgqingjiao:'轻狡', @@ -4231,49 +4231,49 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jsrgchengxu:'乘虚', jsrgchengxu_info:'蜀势力技。与你势力相同的其他角色不能响应你使用的牌。', jsrg_zhanghe:'承张郃', - jsrg_zhanghe_ab:'张郃', + jsrg_zhanghe_prefix:'承', jsrgqiongtu:'穷途', jsrgqiongtu_info:'群势力技。每回合限一次。你可以将一张非基本牌置于武将牌上视为使用一张【无懈可击】。若此牌生效,你摸一张牌,否则你变更势力为魏并获得所有“穷途”牌。', jsrgxianzhu:'先著', jsrgxianzhu_info:'魏势力技。你可以将一张普通锦囊牌当无次数限制的【杀】使用。当此牌对唯一目标造成伤害后,你视为对该角色使用一张此普通锦囊牌。', jsrg_zoushi:'承邹氏', - jsrg_zoushi_ab:'邹氏', + jsrg_zoushi_prefix:'承', jsrgguyin:'孤吟', jsrgguyin_info:'准备阶段,你可以翻面,且令所有其他男性角色依次选择是否翻面。然后你和所有背面朝上的角色轮流各摸一张牌,直到你们累计以此法得到X张牌(X为场上存活角色与死亡角色中男性角色数)。', jsrgzhangdeng:'帐灯', jsrgzhangdeng_info:'①当一名武将牌背面朝上的角色需要使用【酒】时,若你的武将牌背面朝上,其可以视为使用之。②当一名角色于一回合第二次发动〖帐灯①〗时,你将武将牌翻面至正面朝上。', jsrg_guanyu:'承关羽', - jsrg_guanyu_ab:'关羽', + jsrg_guanyu_prefix:'承', jsrgguanjue:'冠绝', jsrgguanjue_info:'锁定技。当你使用或打出有花色的牌时,你令所有其他角色于此回合内不能使用或打出该花色的牌。', jsrgnianen:'念恩', jsrgnianen_info:'你可以将一张牌当任意基本牌使用或打出,然后若此牌不为红色或你以此法使用或打出的牌不为普通【杀】,则直到此回合结束,该技能失效且你视为拥有〖马术〗。', jsrg_chendeng:'承陈登', - jsrg_chendeng_ab:'陈登', + jsrg_chendeng_prefix:'承', jsrglunshi:'论势', jsrglunshi_info:'出牌阶段限一次。你可以令一名角色摸等同于其攻击范围内角色数的牌(至多摸至五张),然后其弃置等同于攻击范围内含有其的角色数的牌。', jsrgguitu:'诡图', jsrgguitu_info:'准备阶段,你可以交换场上的两张武器牌,然后攻击范围以此法减少的角色回复1点体力。', jsrg_zhenji:'承甄宓', - jsrg_zhenji_ab:'甄宓', + jsrg_zhenji_prefix:'承', jsrgjixiang:'济乡', jsrgjixiang_info:'回合内每种牌名限一次。当一名其他角色需要使用或打出一张基本牌时,你可以弃置一张牌令其视为使用或打出之,然后你摸一张牌并令〖称贤〗于此阶段可发动次数上限+1。', jsrgchengxian:'称贤', jsrgchengxian_info:'出牌阶段限两次。你可以将一张手牌当一张本回合未以此法使用过的普通锦囊牌使用(此转化牌须与以此法转化的手牌的合法目标数相同)。', jsrg_zhangliao:'承张辽', - jsrg_zhangliao_ab:'张辽', + jsrg_zhangliao_prefix:'承', jsrgzhengbing:'整兵', jsrgzhengbing_info:'群势力技。出牌阶段限三次。你可以重铸一张牌,若此牌为:【杀】,你本回合手牌上限+2;【闪】,你摸一张牌;【桃】,你变更势力为魏。', jsrgtuwei:'突围', jsrgtuwei_info:'魏势力技。出牌阶段开始时,你可以获得攻击范围内任意名角色各一张牌。然后此回合结束时,这些角色中未于本回合受到过伤害的角色依次获得你的一张牌。', jsrg_xugong:'承许贡', - jsrg_xugong_ab:'许贡', + jsrg_xugong_prefix:'承', jsrgbiaozhao:'表召', jsrgbiaozhao_info:'准备阶段,你可以选择两名其他角色A和B。直到你的下回合开始时或你死亡后,A对B使用牌无次数和距离限制,且B对你使用的牌造成的伤害+1。', jsrgyechou:'业仇', jsrgyechou_info:'当你死亡时,你可以令一名其他角色获得如下效果:当其受到伤害值不小于其体力值的伤害时,其令此伤害翻倍。', jsrg_chunyuqiong:'承淳于琼', - jsrg_chunyuqiong_ab:'淳于琼', + jsrg_chunyuqiong_prefix:'承', jsrgcangchu:'仓储', jsrgcangchu_info:'一名角色的结束阶段,你可以令至多X名角色各摸一张牌,若X大于存活角色数,则改为各摸两张牌(X为你于此回合得到的牌数)。', jsrgshishou:'失守', diff --git a/character/mobile.js b/character/mobile.js index d0ec6d061d..ea965f89eb 100644 --- a/character/mobile.js +++ b/character/mobile.js @@ -8055,7 +8055,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ },targets[0],targets[1]) }, ai:{ - order:1, + order:function(){ + return get.order({name:'tao'})+1; + }, result:{ target:function(player,target){ if(player.hasUnknown()&&target!=player.next&&target!=player.previous) return 0; @@ -9622,7 +9624,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ group:['relihuo_baigei','relihuo_damage'], trigger:{player:'useCard1'}, filter:function(event,player){ - if(event.card.name=='sha'&&!event.card.hasNature()) return true; + if(event.card.name=='sha'&&!game.hasNature(event.card)) return true; }, check:function(event,player){ return false; @@ -9648,7 +9650,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ forced:true, audio:'relihuo', filter:function(event,player){ - if(event.card.name!='sha'||!event.card.hasNature('fire')) return false; + if(event.card.name!='sha'||!game.hasNature(event.card,'fire')) return false; var num=0; player.getHistory('sourceDamage',function(evt){ if(evt.card==event.card) num+=evt.num; @@ -10723,7 +10725,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }); 'step 1' if(!result.bool) player.draw(); - else player.chooseUseTarget({name:result.links[0][2],isCard:true,nature:result.links[0][3]}); + else player.chooseUseTarget({name:result.links[0][2],isCard:true,nature:result.links[0][3]},true); }, }, zhiyi:{ @@ -14110,7 +14112,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, translate:{ liuzan:'手杀留赞', - re_sp_zhugeliang:"手杀卧龙", + liuzan_prefix:'手杀', + re_sp_zhugeliang:'手杀卧龙', + re_sp_zhugeliang_prefix:'手杀', ly_piliche:'霹雳车', ly_piliche_info:'当你对其他角色造成伤害后,你可以弃置其装备区内的所有牌。', polu:'破橹', @@ -14229,6 +14233,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "xinfu_qiaosi":"巧思", "xinfu_qiaosi_info":"出牌阶段限一次,你可以投掷一枚六面骰子,展示牌堆顶的X张牌并获得之。然后,你选择一项:1.交给一名其他角色X张牌。2.弃置X张牌。(X为骰子的点数)", xin_xiahoudun:'手杀夏侯惇', + xin_xiahoudun_prefix:'手杀', xinqingjian:'清俭', xinqingjian2:'清俭', xinqingjian_info:'每回合限一次。当你不因摸牌阶段的额定摸牌而得到牌后,你可以将任意张牌扣置于武将牌上。回合结束时,你将这些牌交给一名其他角色。若这些牌的数量大于1,你摸一张牌。', @@ -14242,16 +14247,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhongzuo_info:'一名角色的结束阶段开始时,若你于此回合内造成或受到过伤害,则你可以令一名角色摸两张牌。若该角色已受伤,则你摸一张牌。', wanlan:'挽澜', wanlan_info:'限定技,当一名角色进入濒死状态时,你可以弃置所有手牌(无牌可不弃)。其回复体力至1点,然后你对当前回合角色造成1点伤害。', - re_jikang:"手杀嵇康", - old_caochun:'旧曹纯', + re_jikang:'手杀嵇康', + re_jikang_prefix:'手杀', shenpei:'审配', re_wangyun:'手杀王允', + re_wangyun_prefix:'手杀', relianji:'连计', relianji_info:'出牌阶段限一次,你可以选择两名其他角色。第一名角色随机使用牌堆中的一张武器牌,然后这名角色视为对另一名角色随机使用一张下列的牌名的牌:【决斗】、【火攻】、【南蛮入侵】、【万箭齐发】或普【杀】。然后若此牌造成伤害,你获得X枚“连计”标记(X为此次扣减的体力值点数)。', remoucheng:'谋逞', remoucheng_info:'觉醒技,当一名角色因〖连计〗造成伤害后,若你拥有的“连计”标记数大于2,你加1点体力上限,回复1点体力,失去“连计”,获得“矜功”。', - mobile_default:'常规', - mobile_others:'其他', shouye:'守邺', shouye_info:'每回合限一次。当其他角色使用牌指定你为唯一目标时,你可以与其进行【对策】。若你赢,则你取消此牌的目标,且你于此牌结算完成后获得其对应的所有实体牌。', @@ -14272,6 +14276,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ rezhennan_info:'当你成为其他角色使用的牌的目标后,若此牌的目标数大于该角色的体力值,则你可以弃置一张牌并对其造成1点伤害。', hujinding:'手杀胡金定', + hujinding_prefix:'手杀', huaizi:'怀子', huaizi_info:'锁定技,你的手牌上限为你的体力上限。', renshi:'仁释', @@ -14280,8 +14285,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ wuyuan_info:'出牌阶段限一次,你可将一张【杀】交给一名其他角色,然后你回复1点体力,其摸一张牌。若此【杀】为:红色【杀】,其回复1点体力;属性【杀】,其改为摸两张牌。', re_weiwenzhugezhi:'手杀卫温诸葛直', + re_weiwenzhugezhi_prefix:'手杀', + gz_re_xugong:'许贡', re_xugong:'手杀许贡', + re_xugong_prefix:'手杀', re_zhanggong:'手杀张恭', + re_zhanggong_prefix:'手杀', reqianxin:'遣信', reqianxin_info:'出牌阶段限一次,你可将至多两张手牌随机交给等量的其他角色,称为「信」。这些角色的准备阶段开始时,若其手牌中有「信」,则其选择一项:令你摸两张牌,本回合手牌上限-2。', rebiaozhao:"表召", @@ -14310,6 +14319,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ //仲村 由理 yangbiao:'手杀杨彪', + yangbiao_prefix:'手杀', zhaohan:'昭汉', zhaohan_info:'锁定技,你的第1-4个准备阶段开始时,你加1点体力上限并回复1点体力,你的第5-7个准备阶段开始时,你减1点体力上限。', rangjie:'让节', @@ -14318,18 +14328,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){ yizheng2:'义争', yizheng_info:'出牌阶段限一次,你可以和一名体力值不大于你的其他角色拼点。若你赢,其跳过下个摸牌阶段。若你没赢,你减1点体力上限。', re_heqi:'手杀贺齐', + re_heqi_prefix:'手杀', reqizhou:'绮胄', reqizhou_info:'锁定技,你根据装备区里牌的花色数获得以下技能:1种或以上:〖英姿〗;2种或以上:〖奇袭〗;3种或以上:〖旋风〗。', reshanxi:'闪袭', reshanxi2:'闪袭', reshanxi_info:'出牌阶段开始时,你可以弃置一张红色基本牌并选择一名有牌的其他角色,将其的至多X张牌置于其的武将牌上(X为你的体力值)。回合结束时,该角色获得这些牌。', chendeng:'手杀陈登', + chendeng_prefix:'手杀', zhouxuan:'周旋', zhouxuan2:'周旋', zhouxuan_info:'出牌阶段限一次,你可以弃置一张牌并指定一名角色,然后选择一个基本牌的名称或非基本牌的类型。其使用或打出下一张牌时,若此牌的名称或类型和你选择的相同,则你观看牌堆顶的三张牌,然后将这些牌以任意分割方式交给任意名角色。', fengji:'丰积', fengji_info:'锁定技,回合结束时,你记录你的手牌数。准备阶段开始时,若你的手牌数不小于你记录的手牌数,则你摸两张牌且本回合手牌上限为体力上限。', re_guanqiujian:'手杀毌丘俭', + re_guanqiujian_prefix:'手杀', rezhengrong:'征荣', rehongju:'鸿举', reqingce:'清侧', @@ -14337,22 +14350,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){ rezhengrong_info:'当你于出牌阶段使用的指定了其他角色为目标的牌结算完成后,若此牌是你本局游戏内于出牌阶段使用的指定了其他角色为目标的第偶数张牌,则你可以将一名其他角色角色的随机一张牌置于你的武将牌上,称为「荣」。', rehongju_info:'觉醒技,准备阶段,若你武将牌上「荣」的数量不小于3且有角色死亡,则你摸等同于「荣」数量的牌。然后可以用任意数量的手牌交换等量的「荣」。你减1点体力上限并获得技能〖清侧〗。', reqingce_info:'出牌阶段,你可以将一张「荣」置入弃牌堆,然后弃置场上的一张牌。', - re_pangtong:"手杀庞统", + re_pangtong:'手杀庞统', + re_pangtong_prefix:'手杀', dongcheng:'手杀董承', + dongcheng_prefix:'手杀', chengzhao:'承诏', chengzhao_info:'一名角色的结束阶段,若你于本回合内获得了两张以上的牌,则你可以与一名其他角色拼点。若你赢,你视为对其使用一张无视防具的【杀】。', yangyi:'手杀杨仪', + yangyi_prefix:'手杀', duoduan:'度断', duoduan_info:'每回合限一次,当你成为【杀】的目标后,你可以重铸一张牌。若如此做,你选择一项:①令使用者摸两张牌,且此【杀】无效。②令使用弃置一张牌,且你不能响应此【杀】。', gongsun:'共损', gongsun_info:'出牌阶段开始时,你可以弃置两张牌并指定一名其他角色。你选择一个基本牌或普通锦囊牌的牌名。直到你的下回合开始或你死亡,你与其不能使用或打出或弃置此名称的牌。', gongsun_shadow:'共损', xin_chengpu:'手杀程普', + xin_chengpu_prefix:'手杀', relihuo:'疠火', relihuo_damage:'疠火', relihuo_baigei:'疠火', relihuo_info:'当你使用普【杀】时,你可以将此杀改为火属性。若如此做,当你因执行此【杀】的效果而对横置角色造成伤害时,此伤害+1;当你使用的火【杀】结算完成后,你失去X点体力(X为你因此【杀】造成的伤害总点数的一半且向下取整)', dengzhi:'手杀邓芝', + dengzhi_prefix:'手杀', jimeng:'急盟', jimeng_info:'出牌阶段开始时,你可以获得一名其他角色的一张牌,然后交给该角色X张牌(X为你当前体力值)。', shuaiyan:'率言', @@ -14364,9 +14382,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ mobile_yijiang:'将星独具', yj_zhanghe:'☆张郃', + yj_zhanghe_prefix:'☆', yj_zhangliao:'☆张辽', + yj_zhangliao_prefix:'☆', yj_xuhuang:'☆徐晃', + yj_xuhuang_prefix:'☆', yj_ganning:'☆甘宁', + yj_ganning_prefix:'☆', xhzhiyan:'治严', xhzhiyan_info:'出牌阶段,若你的手牌数不等于体力上限,则你可以将手牌摸至/弃至手牌上限,然后本回合不能对其他角色使用牌/可以将弃置的一张牌交给一名其他角色。', zhilve:'知略', @@ -14388,6 +14410,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ gnsheque:'射却', gnsheque_info:'一名其他角色的准备阶段开始时,若其装备区内有牌,则你可以对其使用一张【杀】(无距离关系的限制且无视防具)。', sp_sufei:'手杀苏飞', + sp_sufei_prefix:'手杀', zhengjian:'诤荐', zhengjian_draw:'诤荐', zhengjian_mark:'诤荐', @@ -14399,34 +14422,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xinwanlan:'挽澜', xinwanlan_info:'当一名角色受到伤害值不小于体力值的伤害时,你可以弃置装备区中的所有牌(至少一张) 防止此伤害。', re_xusheng:'手杀徐盛', + re_xusheng_prefix:'手杀', re_dongzhuo:'手杀董卓', + re_dongzhuo_prefix:'手杀', rejiuchi:'酒池', rejiuchi_info:'你可以将一张黑桃手牌当做【酒】使用。锁定技,当你于回合内使用带有【酒】效果的【杀】造成伤害时,你令你的【崩坏】失效直到回合结束。', furong:'手杀傅肜', + furong_prefix:'手杀', xuewei:'血卫', xuewei_info:'准备阶段,你可以选择一名其他角色(仅自己可见)。若如此做,直到你的下回合开始前,当其第一次受到伤害时,你防止此伤害,改为由你受到等量的伤害并对伤害来源造成等量同属性的伤害。', liechi:'烈斥', liechi_info:'锁定技,当你进入濒死状态时,伤害来源弃置一张牌。', xin_liaohua:'手杀廖化', + xin_liaohua_prefix:'手杀', redangxian:'当先', redangxian_info:'锁定技,回合开始时,你从弃牌堆中获得一张【杀】并进行一个额外的出牌阶段。', refuli:'伏枥', refuli_info:'限定技,当你处于濒死状态时,你可以将体力值回复至X点(X为势力数)。然后若你的体力值为全场唯一最多,你翻面。', xin_caozhang:'手杀曹彰', + xin_caozhang_prefix:'手杀', "rejiangchi":"将驰", "rejiangchi_info":"出牌阶段开始时,你可以选择一项:1、摸一张牌,若如此做,你本阶段内不能使用【杀】。 2、弃置一张牌,若如此做,此阶段你使用【杀】无距离限制且你可以额外使用一张【杀】。", rezhenxing:"镇行", rezhenxing_info:"结束阶段开始时或当你受到伤害后,你可以观看牌堆顶的三张牌,然后你获得其中与其余牌花色均不相同的一张牌。", xin_jianyong:'手杀简雍', + xin_jianyong_prefix:'手杀', xinqiaoshui:'巧说', xinqiaoshui_info:'出牌阶段限一次,你可以和一名其他角色拼点。若你赢,则你本阶段内使用的下一张基本牌或普通锦囊牌可以增加减少一个目标。若你没赢,你本阶段内不能使用锦囊牌。', xinjyzongshi:'纵适', xinjyzongshi_info:'当你拼点后,你可以观看牌堆顶的一张牌,然后选择一项:获得此牌,或获得两张拼点牌中点数较小的一张。', dingyuan:'手杀丁原', + dingyuan_prefix:'手杀', beizhu:'备诛', beizhu_draw:'备诛', beizhu_info:'出牌阶段限一次,你可以观看一名其他角色的手牌。若其中:没有【杀】,你弃置其一张牌,然后你可令其获得牌堆中的一张【杀】;有【杀】,其依次对你使用这些【杀】,当你因此受到1点伤害后,你摸一张牌。', xin_zhuran:'手杀朱然', + xin_zhuran_prefix:'手杀', mobiledanshou:'胆守', mobiledanshou_info:'一名其他角色的结束阶段开始时,若X:为0,你摸一张牌;不等于0,你可弃置X张牌并对其造成1点伤害(X为其本回合内使用的目标包含你的牌的数量)', yanghuiyu:'羊徽瑜', @@ -14448,16 +14479,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){ shanli:'擅立', shanli_info:'觉醒技,准备阶段,若你已发动过〖败移〗且对至少两名角色发动过〖景略〗,则你减1点体力上限并选择一名角色。系统随机选择三个不为〖忘隙(仲村由理)〗的主公技,然后你选择其中一个技能,令其获得之。其将交互表情中的【拖鞋】和【酒杯】替换为【枷锁】和【玉玺】。', re_lingtong:'手杀凌统', + re_lingtong_prefix:'手杀', re_liubiao:'手杀刘表', + re_liubiao_prefix:'手杀', hucheer:'手杀胡车儿', + hucheer_prefix:'手杀', daoji:'盗戟', daoji_info:'出牌阶段限一次,你可以弃置一张非基本牌并选择一名装备区里有牌的其他角色,你获得其装备区中的一张牌并使用之。若你以此法得到的牌是武器牌,则你使用此牌后对其造成1点伤害。', xin_hansui:'手杀韩遂', + xin_hansui_prefix:'手杀', xinniluan:'逆乱', xinniluan_info:'其他角色的结束阶段,若其本回合对除其以外的角色使用过牌,则你可以对其使用一张【杀】。若以此法使用的【杀】造成伤害,则你弃置其一张牌。', xiaoxi_hansui:'骁袭', xiaoxi_hansui_info:'你可以将一张黑色牌当做【杀】使用或打出。', xin_zhangfei:'手杀张飞', + xin_zhangfei_prefix:'手杀', liyong:'厉勇', liyong2:'厉勇', liyong3:'厉勇', @@ -14472,33 +14508,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){ taomie4:'讨灭', taomie_info:'当你受到伤害后或当你造成伤害后,你可以令伤害来源或受伤角色获得“讨灭”标记(如场上已有标记则转移给该角色);你和拥有“讨灭”标记的角色视为在彼此的攻击范围内,且当你对该角色造成伤害时,选择一项:1. 此伤害+1;2. 你获得其区域内的一张牌并可将之交给另一名角色;3. 依次执行前两项并于伤害结算后弃置其“讨灭”标记。', xin_guohuai:'手杀郭淮', + xin_guohuai_prefix:'手杀', mobilejingce:'精策', mobilejingce_info:'结束阶段,若此回合因使用或打出而置入弃牌堆的牌的数量不小于你的体力值,则你可以摸两张牌。', xin_panzhangmazhong:'手杀潘璋马忠', + xin_panzhangmazhong_prefix:'手杀', xinduodao:'夺刀', xinduodao_info:'当你受到伤害后,你可以获得伤害来源装备区里的武器牌。', xinanjian:'暗箭', xinanjian_info:'锁定技,当你使用【杀】指定目标后,若你不在目标角色攻击范围内,你选择一项:1. 令其无法响应此【杀】;2. 其受到此【杀】造成的伤害+1。', xin_fuhuanghou:'手杀伏寿', + xin_fuhuanghou_prefix:'手杀', xinzhuikong:'惴恐', xinzhuikong_info:'每轮限一次,其他角色的回合开始时,若其体力值不小于你,你可与其拼点。若你赢,其本回合无法使用牌指定除其以外的角色为目标;若你没赢,你获得其拼点的牌,然后其视为对你使用一张【杀】。', xinqiuyuan:'求援', xinqiuyuan_info:'当你成为【杀】的目标时,你可以令另一名其他角色交给你一张除【杀】以外的基本牌,否则其也成为此【杀】的目标。', xin_gongsunzan:'手杀公孙瓒', + xin_gongsunzan_prefix:'手杀', re_dengai:'手杀邓艾', + re_dengai_prefix:'手杀', flappybird:'飞鸟', flappybird_info:'出牌阶段,你可游玩一局Flappy Bird。', re_handang:'手杀韩当', + re_handang_prefix:'手杀', nanhualaoxian:'手杀南华老仙', + nanhualaoxian_prefix:'手杀', yufeng:'御风', yufeng2:'御风', yufeng_info:'出牌阶段限一次,你可以表演“御风飞行”。若表演失败,则你摸X张牌。若表演成功,则你可以选择至多X名其他角色获得“御风”效果,然后摸X-Y张牌(准备阶段开始时,你进行判定。若结果为:红色,你跳过摸牌阶段;黑色,你跳过出牌阶段和弃牌阶段。X为你的得分。Y为你选择的角色数)。', tianshu:'天书', tianshu_info:'出牌阶段开始时,若场上没有【太平要术】,则你可以弃置一张牌并选择一名角色。该角色获得并使用【太平要术】。', re_jiangwei:'手杀姜维', + re_jiangwei_prefix:'手杀', retiaoxin:'挑衅', retiaoxin_info:'出牌阶段限一次,你可以指定一名有牌的其他角色,该角色需对你使用一张【杀】,否则你弃置其一张牌。', re_zhurong:'手杀祝融', + re_zhurong_prefix:'手杀', relieren:'烈刃', relieren_info:'当你使用【杀】指定目标后,你可以和目标角色进行拼点。若你赢,你获得其一张牌。若你没赢,你获得对方的拼点牌,其获得你的拼点牌。', zhouqun:'周群', @@ -14514,35 +14559,43 @@ game.import('character',function(lib,game,ui,get,ai,_status){ tiansuan2_3:'命运签', tiansuan2_4:'命运签', ol_yujin:'手杀于禁', + ol_yujin_prefix:'手杀', rejieyue:'节钺', rejieyue_info:'结束阶段开始时,你可以将一张牌交给一名其他角色。然后其选择一项:令你摸三张牌:或其保留一张手牌和装备区的牌,然后弃置其余的牌。', xin_zhoucang:'手杀周仓', + xin_zhoucang_prefix:'手杀', mobilezhongyong:'忠勇', mobilezhongyong_info:'当你于出牌阶段内使用的【杀】结算结束后,若没有目标角色使用【闪】响应过此【杀】,则你可获得此【杀】;否则你可选择一项:①获得目标角色使用的【闪】,然后可将此【杀】交给另一名其他角色。②将目标角色使用的【闪】交给另一名其他角色,然后你本回合使用【杀】的次数上限+1且下一张【杀】的伤害值基数+1。(你不能使用本回合因执行〖忠勇〗的效果得到的牌)', xin_caifuren:'手杀蔡夫人', + xin_caifuren_prefix:'手杀', xinqieting:'窃听', xinqieting_info:'其他角色的回合结束时,若其本回合内未对其他角色造成过伤害,则你可选择一项:①摸一张牌。②观看其两张手牌并获得其中的一张。③将其装备区内的一张牌移动至你的装备区。', xinguixiu:'闺秀', xinguixiu_info:'锁定技。结束阶段,若你的体力值为:奇数,你摸一张牌;偶数,你回复1点体力。', re_zhonghui:'手杀钟会', + re_zhonghui_prefix:'手杀', requanji:'权计', requanji_info:'出牌阶段结束时,若你的手牌数大于体力值,或当你受到1点伤害后,你可以摸一张牌,然后将一张手牌置于武将牌上,称为“权”;你的手牌上限+X(X为“权”的数量)。', xin_guyong:'手杀顾雍', + xin_guyong_prefix:'手杀', xinshenxing:'慎行', xinshenxing_info:'出牌阶段限X次(X为你的体力值),你可以弃置两张牌,然后摸一张牌。若这两张牌颜色不同,则改为摸两张牌。', xinbingyi:'秉壹', xinbingyi_info:'结束阶段,你可展示所有手牌。若这些牌的颜色或类型均相同,则你可以令至多X名角色各摸一张牌(X为你的手牌数)。', qiaozhou:'手杀谯周', + qiaozhou_prefix:'手杀', zhiming:'知命', zhiming_info:'准备阶段开始时或弃牌阶段结束时,你摸一张牌,然后可以将一张牌置于牌堆顶。', xingbu:'星卜', xingbu_info:'结束阶段,你可以展示牌堆顶的三张牌,然后你可以根据X值(X为这三张牌中红色牌的数量),令一名其他角色获得对应的效果直到其下回合结束:①三张:其摸牌阶段多摸两张牌,使用【杀】的次数上限+1。②两张:其使用【杀】的次数上限-1,跳过弃牌阶段。③小于两张:其于准备阶段开始时弃置一张手牌。', xin_sunluban:'手杀孙鲁班', + xin_sunluban_prefix:'手杀', xinzenhui:'谮毁', xinzenhui_info:'出牌阶段限一次。当你使用【杀】或黑色普通锦囊牌指定目标时,你可选择另一名能成为此牌目标的其他角色并选择一项:①令其也成为此牌的目标。②获得其一张牌,然后将此牌的使用者改为该角色。', xinjiaojin:'骄矜', xinjiaojin_info:'当你受到男性角色造成的伤害时,你可以弃置一张装备牌并防止此伤害。', xin_caozhen:'手杀曹真', + xin_caozhen_prefix:'手杀', discretesidi:'司敌', discretesidi_info:'①当你使用的不为延时锦囊牌的牌结算结束后,你可选择一名R内不存在以a为第一序偶的二元序偶的其他角色a,并选择一名角色b,在关系R内建立二元序偶<a,b>(b对其他角色不可见)。②一名角色a使用不为延时锦囊牌的牌指定b为目标时,若(aRb)∧(此牌目标数为1)为真,则{你从R内移除<a,b>,且:若b为你,你摸一张牌;若b不为你,你可选择:⒈取消此牌的目标,然后若场上没有处于濒死状态的角色,则你对a造成1点伤害。⒉摸两张牌};否则{你清除R内以a为第一元素的二元序偶}。', fuqian:'傅佥', @@ -14570,6 +14623,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ bihuo:'避祸', bihuo_info:'限定技。一名角色脱离濒死状态时,你可以令其摸三张牌,然后其他角色计算至其的距离时+X直到本轮结束(X为角色数)。', sunhanhua:'手杀孙寒华', + sunhanhua_prefix:'手杀', chongxu:'冲虚', chongxu_info:'出牌阶段限一次,你可以随机演奏一首音乐,并根据完成度来获得相应的分数(至多五分)。然后你可修改〖妙剑〗或〖莲华〗(消耗3分),并使用剩余的分数进行摸牌(每张2分)。', chongxu_faq:'目前的曲库', @@ -14587,10 +14641,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ shhlianhua2:'莲华·极', shhlianhua2_info:'当你成为【杀】的目标后,你摸一张牌。然后此【杀】的使用者选择一项:①弃置一张牌。②令此【杀】对你无效。', re_yufan:'手杀虞翻', + re_yufan_prefix:'手杀', rezongxuan:'纵玄', rezongxuan_place:'纵玄', rezongxuan_info:'当你的牌因弃置而进入弃牌堆后,你可以将其以任意顺序置于牌堆顶。出牌阶段限一次,你可以摸一张牌,然后将一张牌置于牌堆顶。', yj_huangzhong:'☆黄忠', + yj_huangzhong_prefix:'☆', spshidi:'势敌', spshidi_info:'转换技,锁定技。①准备阶段/结束阶段开始时,若你发动此分支的累计次数为奇数/偶数,则你获得一个“☯”。②若你的“☯”数为偶数,则你至其他角色的距离-1,且你使用的黑色【杀】不可被响应。③若你的“☯”数为奇数,则其他角色至你的距离+1,且你不可响应红色【杀】。', spyishi:'义释', @@ -14603,22 +14659,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){ yingfeng:'迎奉', yingfeng_info:'准备阶段,你可以令一名角色获得“奉”标记并移除场上所有其他的“奉”标记。有“奉”标记的角色使用牌没有距离限制。', xin_sunxiu:'手杀孙休', + xin_sunxiu_prefix:'手杀', mobileyanzhu:'宴诛', mobileyanzhu_info:'出牌阶段限一次,你可以令一名有牌的其他角色选择一项:①你获得其装备区里所有的牌,然后你失去技能〖宴诛〗。②你获得其一张牌。', mobilexingxue:'兴学', mobilexingxue_info:'结束阶段开始时,你可以令至多X名角色依次摸一张牌并将一张牌置于牌堆顶(X为你的体力值,若你未拥有〖宴诛〗,则将X改为你的体力上限,且其可以改为将一张牌交给一名其他目标角色)。', re_wuguotai:'手杀吴国太', + re_wuguotai_prefix:'手杀', reganlu:'甘露', reganlu_info:'出牌阶段限一次,你可以选择装备区牌数之差的绝对值不大于X的两名角色或包含你在内的两名角色,然后交换这两名角色装备区内的牌。(X为你已损失的体力值)', taoqian:'手杀陶谦', + taoqian_prefix:'手杀', miheng:'手杀祢衡', + miheng_prefix:'手杀', re_gaoshun:'手杀高顺', + re_gaoshun_prefix:'手杀', peixiu:'裴秀', xingtu:'行图', xingtu_info:'锁定技。①当你使用有点数的牌结算结束后,你将此牌点数记录为X。②当你使用牌时,若X÷Y的余数为0,则你摸一张牌(Y为此牌的点数)。③你使用Y÷X的余数为0的牌无次数限制(Y为此牌的点数)。', juezhi:'爵制', juezhi_info:'出牌阶段,你可以弃置至少两张牌,然后从牌堆中获得一张点数为X的牌(X为这些牌的点数和除以13后的余数,且当余数为0时X为13)。', sp_jianggan:'手杀蒋干', + sp_jianggan_prefix:'手杀', spdaoshu:'盗书', spdaoshu_info:'每轮限一次。一名敌方角色的出牌阶段开始时,若其有手牌,则你可以令其视为使用一张【酒】。其须声明一个基本牌的牌名,然后你判断其手牌区内是否有该牌名的牌。若你判断正确,则你获得其两张手牌。', spdaoshu_info_identity:'每轮限一次。一名其他角色的出牌阶段开始时,若其有手牌,则你可以令其视为使用一张【酒】。其须声明一个基本牌的牌名,然后你判断其手牌区内是否有该牌名的牌。若你判断正确,则你获得其两张手牌。', @@ -14627,16 +14689,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){ spdaizui2:'戴罪', spdaizui_info:'限定技。当你受到伤害值不小于体力值的伤害时,你可防止此伤害并将此伤害渠道对应的所有实体牌置于伤害来源的武将牌上,称为“释”。本回合结束时,其获得所有“释”。', re_caiwenji:'手杀蔡琰', + re_caiwenji_prefix:'手杀', re_bulianshi:'手杀步练师', + re_bulianshi_prefix:'手杀', reanxu:'安恤', reanxu_info:'出牌阶段限一次,你可以选择两名其他角色,令其中一名角色获得另一名角色的一张牌。若以此法移动的牌不来自装备区,则你摸一张牌。然后你可以令二者中手牌数较少的一名角色摸一张牌。', xin_jushou:'手杀沮授', + xin_jushou_prefix:'手杀', xinjianying:'渐营', xinjianying_info:'①当你于出牌阶段内使用与此阶段你使用的上一张牌点数或花色相同的牌时,你可以摸一张牌。②出牌阶段限一次,你可以将一张牌当做任意基本牌使用(不计入次数限制)。若你于此阶段内使用的上一张牌有花色,则此牌的花色视为上一张牌的花色。', - re_xunyu:"手杀荀彧", + re_xunyu:'手杀荀彧', + re_xunyu_prefix:'手杀', rejieming:"节命", rejieming_info:"当你受到1点伤害后,你可以令一名角色摸两张牌。然后若其手牌数小于体力上限,则你摸一张牌。", xin_quancong:'手杀全琮', + xin_quancong_prefix:'手杀', sbyaoming:'邀名', sbyaoming_info:'蓄力技(2/4)。①当你受到1点伤害后,你可以获得1点蓄力值。②出牌阶段或当你受到伤害后,你可消耗1点蓄力值并选择一项:⒈弃置一名手牌数不小于你的角色的一张牌。⒉令一名手牌数不大于你的角色摸一张牌。若你上次发动〖邀名②〗时未获得过蓄力值且你选择的选项和上次不同,则你获得1点蓄力值。', ruanhui:'阮慧', @@ -14645,15 +14712,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jingzhong:'敬重', jingzhong_info:'弃牌阶段结束时,若你于本阶段内弃置过至少两张黑色牌,则你可以选择一名其他角色并获得如下效果直到其回合结束:每阶段限三次,其于出牌阶段内使用的牌结算结束后,你获得此牌对应的实体牌。', xin_mamidi:'手杀马日磾', + xin_mamidi_prefix:'手杀', chengye:'承业', chengye_info:'锁定技。①其他角色使用的非转化牌结算结束后,或其他角色的装备牌和延时锦囊牌进入弃牌堆后,或有延时锦囊牌因其他角色执行判定阶段的流程而进入弃牌堆后,若你的“六经”有空缺的位置可以置入此牌,则你将此牌置于你武将牌上,填补“六经”的对应位置。②出牌阶段开始时,若你的“六经”没有空缺的位置,则你获得所有“六经”。', chengye_append:'
  • 《诗经》:伤害类锦囊牌
  • 《尚书》:基本牌
  • 《仪礼》:无懈可击
  • 《易经》:无中生有
  • 《乐经》:乐不思蜀
  • 《春秋》:装备牌', buxu:'补叙', buxu_backup:'补叙', buxu_info:'出牌阶段,若你的“六经”中有空缺的位置,则你可以弃置X+1张牌并选择一种空缺的“六经”(X为你本阶段内发动过〖补叙〗的次数)。系统从牌堆或弃牌堆中检索一张对应的牌,然后你将此牌置于你武将牌上,填补“六经”的对应位置。', - re_dianwei:"手杀典韦", + re_dianwei:'手杀典韦', + re_dianwei_prefix:'手杀', liuye:'手杀刘晔', + liuye_prefix:'手杀', sp_caosong:'手杀曹嵩', + sp_caosong_prefix:'手杀', yijin:'亿金', yijin_info:'锁定技。①游戏开始时,你获得“膴仕”、“金迷”、“贾凶”、“通神”、“拥蔽”、“厚任”各1枚(均称为“金”)。②出牌阶段开始时,你选择一名没有“金”的其他角色。你交给其1枚“金”,且令其获得对应效果。③一名角色的回合结束后,若其有你交给其的“金”,其移去此“金”。④当你死亡时,移去场上所有你交出的“金”。⑤回合开始时,若你没有“金”,你死亡。', yijin_wushi:'膴仕', @@ -14676,35 +14747,45 @@ game.import('character',function(lib,game,ui,get,ai,_status){ hannan:'扞难', hannan_info:'出牌阶段限一次。你可以与一名角色拼点,赢的角色对没赢的角色造成2点伤害。', xin_wuyi:'手杀吴懿', + xin_wuyi_prefix:'手杀', sbbenxi:'奔袭', sbbenxi_info:'出牌阶段开始时,你可以弃置至少一张牌,然后你于此阶段获得如下效果:①你至其他角色距离-X;②当你使用的下一张基本牌或普通锦囊牌A选择目标后,你可以额外指定X名距离为1的角色为目标;③牌A结算结束后,若此牌造成过伤害,你摸五张牌(X为你以此法弃置的牌数)。', xin_zhuzhi:'手杀朱治', + xin_zhuzhi_prefix:'手杀', sbanguo:'安国', sbanguo_info:'①游戏开始时,你令一名其他角色获得1枚“安国”标记(有“安国”的角色手牌上限基数等于体力上限)。②出牌阶段开始时,你可以将一名有“安国”的角色的所有“安国”移动给一名本局游戏未获得过“安国”的其他角色。③当你受到伤害时,若有有“安国”的角色且伤害值不小于你的体力值且此伤害没有来源或来源没有“安国”,防止此伤害。④一名角色进入濒死状态时,若其有你因〖安国①〗获得的“安国”,你移去其该“安国”,令其将体力回复至1点。然后你选择一项:1.若你的体力值大于1,你失去体力至1点;2.若你的体力上限大于1,你将体力上限减至1。最后你令其获得X点护甲(X为你以此法失去的体力值或减少的体力上限)。', wangjun:'手杀王濬', + wangjun_prefix:'手杀', zhujian:'筑舰', zhujian_info:'出牌阶段限一次。你可以令至少两名装备区里有牌的角色各摸一张牌。', duansuo:'断索', duansuo_info:'出牌阶段限一次。你可以重置任意名处于连环状态的角色,然后对这些角色各造成1点火焰伤害。', sp_pengyang:'手杀彭羕', + sp_pengyang_prefix:'手杀', spdaming:'达命', spdaming_info:'①游戏开始时,你获得1点“达命”值。②其他角色A的出牌阶段限一次。其可以交给你一张牌,然后你选择另一名其他角色B。若B有与此牌相同类型的牌,其将一张该类型的牌交给A,你获得1点“达命”值;否则你将此牌交给A。', spxiaoni:'嚣逆', spxiaoni_info:'①出牌阶段限一次。若你的“达命”值大于0,你可以将一张牌当任意一种【杀】或伤害类锦囊牌使用。然后你减少等同于此牌指定目标数的“达命”值。②你的手牌上限基数为X(X为“达命”值,且至多为你的体力值,至少为0)。', xin_zhuhuan:'手杀朱桓', + xin_zhuhuan_prefix:'手杀', xinpingkou:'平寇', xinpingkou_info:'回合结束时,你可以对至多X名其他角色各造成1点伤害(X为你本回合跳过的阶段数)。然后你从牌堆中获得一张装备牌。', xin_caoxiu:'手杀曹休', + xin_caoxiu_prefix:'手杀', xinqingxi:'倾袭', xinqingxi_info:'每回合限一次。当你对其他角色造成伤害时,你可以令其选择一项:1.弃置X张手牌(X为4减去你至其的距离,至少为1);2.令此伤害+1。', yj_weiyan:'☆魏延', + yj_weiyan_prefix:'☆', mbguli:'孤厉', mbguli_info:'出牌阶段限一次。你可以将所有手牌当做一张无视防具的【杀】使用。此牌结算结束后,若此牌造成过伤害,你可以失去1点体力并将手牌摸至X张(X为你的体力上限)。', mbaosi:'骜肆', mbaosi_info:'锁定技。当你于出牌阶段对一名攻击范围内的角色造成伤害后,你于此阶段对其使用牌无次数限制。', xin_zhoutai:'手杀周泰', - re_yanwen:"手杀颜良文丑", + xin_zhoutai_prefix:'手杀', + re_yanwen:'手杀颜良文丑', + re_yanwen_prefix:'手杀', qianzhao:'手杀牵招', + qianzhao_prefix:'手杀', mbshihe:'势吓', mbshihe_info_identity:'出牌阶段限一次。你可以与一名角色拼点。若你:赢,当其于其下回合结束前对你造成伤害时,取消之;没赢,你随机弃置一张牌。', mbshihe_info:'出牌阶段限一次。你可以与一名角色拼点。若你:赢,当其于其下回合结束前对你和你的友方角色造成伤害时,取消之;没赢,你随机弃置一张牌。', @@ -14754,7 +14835,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ scsmiaoyu:'妙语', scsmiaoyu_info:'你可以将至多两张相同花色的牌按照以下规则使用或打出:♦牌当作火【杀】,♥牌当作【桃】,♣牌当作【闪】,♠牌当作【无懈可击】。若你以此法使用了两张红色牌,则此牌回复值或伤害值+1。若你以此法使用了两张黑色牌,则你弃置当前回合角色一张牌。', re_xiaoqiao:'手杀小乔', + re_xiaoqiao_prefix:'手杀', xin_sunliang:'手杀孙亮', + xin_sunliang_prefix:'手杀', xinkuizhu:'溃诛', xinkuizhu_info:'弃牌阶段结束后,你可以选择一项:1.令至多X名角色各摸一张牌。2.对任意名体力值之和为X的角色造成1点伤害,若你以此法选择的角色数不小于2,你失去1点体力。(X为你此阶段弃置的牌数)', xinzhizheng:'掣政', @@ -14762,18 +14845,47 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xinlijun:'立军', xinlijun_info:'主公技,其他吴势力角色于其回合内使用【杀】结算完毕后,其可以将此【杀】对应的实体牌交给你,然后你可以令其摸一张牌。', xin_zhangyi:'手杀张嶷', + xin_zhangyi_prefix:'手杀', xinwurong:'怃戎', xinwurong_info:'出牌阶段限一次,你可以与一名其他角色进行谋弈:
  • 若你选择“镇压”且其选择“反抗”,你对其造成1点伤害,然后你摸一张牌。
  • 若你选择“安抚”且其选择“归顺”,其须交给你两张牌(若其手牌数不足两张,则改为令其跳过其下个摸牌阶段)。
  • 若你选择“镇压”且其选择“归顺”,你获得其一张牌,然后你交给其两张牌。
  • 若你选择“安抚”且其选择“反抗”,你受到1点伤害,然后你摸两张牌。', xin_guozhao:'手杀郭照', + xin_guozhao_prefix:'手杀', yichong:'易宠', yichong_info:'①准备阶段,你可以选择一名其他角色并选择一个花色,然后你获得其所有此花色的牌,移除场上的所有“雀”标记,令其获得“雀”标记直到你的下个回合开始。②拥有“雀”标记的角色获得你最后一次发动〖易宠①〗选择的花色的牌后,你获得这些牌(你至多通过每个“雀”得到五张牌)。', wufei:'诬诽', wufei_info:'若场上存在拥有“雀”标记的角色A,则:①当你使用【杀】或伤害类锦囊牌指定第一个目标后,你令A成为此牌伤害来源。②当你受到伤害后,若A的体力值大于1且A的体力值大于你,则你可以对A造成1点伤害。', yj_zhoubuyi:'☆周不疑', + yj_zhoubuyi_prefix:'☆', mbhuiyao:'慧夭', mbhuiyao_info:'出牌阶段限一次。你可以受到1点无来源伤害,视为对一名其他角色造成过1点伤害。', mbquesong:'雀颂', mbquesong_info:'一名角色的结束阶段,若你于本回合受到过伤害,你可以令一名角色选择一项:1.摸等同于其装备区中空栏的数量的牌并复原武将牌;2.弃置等同于其体力值的手牌并回复1点体力。', + xin_yuanshao:'手杀袁绍', + xin_yuanshao_prefix:'手杀', + re_baosanniang:'手杀鲍三娘', + re_baosanniang_prefix:'手杀', + re_liushan:'手杀刘禅', + re_liushan_prefix:'手杀', + re_sunben:'界孙笨', + re_sunben_prefix:'界', + re_zhangzhang:'手杀张昭张纮', + re_zhangzhang_prefix:'手杀', + re_caozhi:'手杀曹植', + re_caozhi_prefix:'手杀', + re_sunjian:'手杀孙坚', + re_sunjian_prefix:'手杀', + sunru:'手杀孙茹', + sunru_prefix:'手杀', + pangdegong:"手杀庞德公", + pangdegong_prefix:'手杀', + zhaotongzhaoguang:"手杀赵统赵广", + zhaotongzhaoguang_prefix:'手杀', + re_liru:'手杀李儒', + re_liru_prefix:'李儒', + re_chenqun:'手杀陈群', + re_chenqun_prefix:'手杀', + old_yuanshu:'手杀袁术', + old_yuanshu_prefix:'手杀', mobile_standard:'手杀异构·标准包', mobile_shenhua_feng:'手杀异构·其疾如风', @@ -14789,6 +14901,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ mobile_yijiang5:'手杀异构·将5', mobile_yijiang67:'手杀异构·原创设计', mobile_sp:'手杀异构·SP', + mobile_default:'袖里乾坤', + mobile_others:'其他', mobile_changshi:'十常侍单体', } }; diff --git a/character/offline.js b/character/offline.js index fd6ca74afc..c9005b9ac2 100644 --- a/character/offline.js +++ b/character/offline.js @@ -3,10 +3,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return { name:'offline', connect:true, + connectBanned:['zhangliang'], characterSort:{ offline:{ - offline_star:["sp_xiahoushi","jsp_zhaoyun","huangjinleishi","sp_pangtong","sp_daqiao","sp_ganning","sp_xiahoudun","sp_lvmeng","sp_zhangfei","sp_liubei"], + offline_star:["sp_xiahoushi","jsp_zhaoyun","huangjinleishi","sp_pangtong","sp_daqiao","sp_ganning","sp_xiahoudun","sp_lvmeng","sp_zhangfei","sp_liubei","old_machao","zhangliang","jsp_caoren"], offline_sticker:['sp_gongsunzan','sp_simazhao','sp_wangyuanji','sp_xinxianying','sp_liuxie'], + offline_yijiang:['ol_xinxianying'], offline_luanwu:["ns_lijue","ns_zhangji","ns_fanchou"], offline_yongjian:["ns_chendao","yj_caoang","yj_caocao",'yj_liru','yj_caohong','yj_zhangfei','yongjian_ganning','yj_dongzhuo','yj_xuyou','yj_jiaxu','yj_zhenji'], offline_piracyE:['shen_jiaxu','pe_wangyun','pe_zhonghui','pe_sunchen','pe_mengda','pe_wenqin','ns_caoanmin','jiangfei','chendong','jiangqing','kongrong','jiling','tianfeng','mateng'], @@ -17,6 +19,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, character:{ + ol_xinxianying:['female','wei',3,['xincaishi','xinzhongjian']], + zhangliang:["male","qun",4,["old_jijun","old_fangtong"]], + jsp_caoren:['male','wei',4,['kuiwei','yanzheng']], + old_machao:['male','qun',4,['zhuiji','oldcihuai']], vtb_xiaosha:['female','qun',4,['vtbguisha','vtbshuli']], vtb_xiaoshan:['female','qun',4,['vtbshanwu','vtbxianli']], vtb_xiaotao:['female','qun',4,['vtbtaoyan','vtbyanli']], @@ -934,7 +940,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ filter:function(event,player){ if(!player.hasEmptySlot(2)) return false; if(event.card.name!='sha') return false; - return event.card.hasNature(); + return game.hasNature(event.card); }, content:function(){ trigger.cancel(); @@ -2027,7 +2033,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, prompt:function(event){ var player=_status.event.player; - return '将一张'+get.translation(player.storage.pshuxiao_use.suit)+'牌或点数为'+get.strNumber(player.storage.pshuxiao_use.number)+'的牌当作'+(player.storage.pshuxiao_use.card)+'使用'; + return '将一张'+get.translation(player.storage.pshuxiao_use.suit)+'牌或点数为'+get.strNumber(player.storage.pshuxiao_use.number)+'的牌当作'+get.translation(player.storage.pshuxiao_use.card)+'使用'; } } } @@ -2317,7 +2323,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ game.updateRoundNumber(); } }, - //官盗S1066☆贾诩 + //官盗S1066★贾诩 psqupo:{ audio:2, trigger:{global:'phaseBegin'}, @@ -6228,7 +6234,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ fulu:{ trigger:{player:'useCard1'}, filter:function(event,player){ - if(event.card.name=='sha'&&!event.card.hasNature()) return true; + if(event.card.name=='sha'&&!game.hasNature(event.card)) return true; }, audio:true, check:function(event,player){ @@ -6287,10 +6293,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, translate:{ sp_gongsunzan:'SP公孙瓒', + sp_gongsunzan_prefix:'SP', sp_simazhao:'SP司马昭', + sp_simazhao_prefix:'SP', sp_wangyuanji:'SP王元姬', + sp_wangyuanji_prefix:'SP', sp_xinxianying:'SP辛宪英', + sp_xinxianying_prefix:'SP', sp_liuxie:'SP刘协', + sp_liuxie_prefix:'SP', spyicong_info:'弃牌阶段结束时,你可以将任意张牌置于你的武将牌上,称为「扈」。每有一张「扈」,其他角色与你计算距离时便+1。', spyicong:'义从', sptuji:'突骑', @@ -6313,17 +6324,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){ spmingjian_info:'一名角色的回合开始时,你可以选择一项:①弃置一张牌,然后其跳过本回合的判定阶段。②将一张手牌置于其武将牌上,然后其本回合内进行判定时不触发「判定结果生效前」的时机,且其回合结束时将此牌置入弃牌堆。', spyinzhi:'隐智', spyinzhi_info:'当你受到1点伤害后,你可以展示牌堆顶的两张牌。若其中有黑桃牌,则你可以进行至多X次「令一名角色获得伤害来源的一张手牌」的步骤。然后获得其余的牌。(X为其中黑桃牌的数量)', - yj_caoang:'SP曹昂', + yj_caoang:'用间曹昂', + yj_caoang_prefix:'用间', yjxuepin:'血拼', yjxuepin_info:'出牌阶段限一次,你可以选择攻击范围内的一名角色并失去1点体力。你弃置其两张牌。若这两张牌类型相同,你回复1点体力。', - ns_chendao:'SP陈到', + ns_chendao:'用间陈到', + ns_chendao_prefix:'用间', nsjianglie:'将烈', nsjianglie_info:'当你使用【杀】指定目标后,你可以令其展示所有手牌,然后弃置其中一种颜色的牌。', - ns_jiaxu:'☆贾诩', + ns_jiaxu:'★贾诩', + ns_jiaxu_prefix:'★', nsyice:'遗策', nsyice_info:'锁定技,当你使用/打出/弃置的牌进入弃牌堆后,你将这些牌以任意顺序置于你的武将牌上,称为“策”。若这些“策”中有点数相同的牌,则你获得这两张牌中的所有牌,将这两张牌置于牌堆两端。若场上没有处于濒死状态的角色,则你对一名角色造成1点伤害。', ns_lijue:'SP李傕', + ns_lijue_prefix:'SP', ns_zhangji:'SP张济', + ns_zhangji_prefix:'SP', nsfeixiong:'飞熊', nsfeixiong_info:'出牌阶段开始时,你可以和一名其他角色拼点。赢的角色对没赢的角色造成1点伤害。', nscesuan:'策算', @@ -6331,22 +6347,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){ nslulve:'掳掠', nslulve_info:'出牌阶段限一次,你可以弃置X张牌并选择一名装备区内有牌的其他角色,然后对其造成1点伤害(X为其装备区内的牌数)。', ns_fanchou:'SP樊稠', + ns_fanchou_prefix:'SP', nsyangwu:'扬武', nsyangwu_info:'出牌阶段限一次,你可以弃置一张♥手牌并选择一名手牌数大于你的其他角色。你观看其手牌并获得其中的X张牌(X为其与你手牌数之差的一半且向上取整)。', - jsp_liubei:'群刘备', - jsp_liubei_ab:'刘备', + jsp_liubei:'★刘备', + jsp_liubei_prefix:'★', jsprende:'仁德', jsprende_info:'出牌阶段,你可以将至少一张手牌交给其他角色;若你于此阶段内给出的牌首次达到两张,你可以视为使用一张基本牌。', - ns_caoanmin:'曹安民', + ns_caoanmin:'战役篇曹安民', + ns_caoanmin_prefix:'战役篇', nskuishe:'窥舍', nskuishe_info:'出牌阶段限一次,你可以选择一名其他角色A的一张牌,并将此牌交给不为A的一名角色。然后A可以对你使用一张【杀】。', sp_xiahoushi:"SP夏侯氏", + sp_xiahoushi_prefix:'SP', xinfu_yanyu:"燕语", xinfu_yanyu_info:"一名角色的出牌阶段开始时,你可以弃置一张牌。若如此做,则该出牌阶段内限三次,当一张与你弃置的牌类别相同的其他牌进入弃牌堆后,你可令任意一名角色获得此牌。", xinfu_yanyu2:"燕语", xinfu_xiaode:"孝德", xinfu_xiaode_info:"其他角色死亡后,你可以声明该角色武将牌上的一个技能(主公技、觉醒技、隐匿技、使命技除外)。若如此做,你获得此技能且不能再发动〖孝德〗直到你的回合结束。", - jsp_zhaoyun:'☆SP赵云', + jsp_zhaoyun:'★SP赵云', + jsp_zhaoyun_prefix:'★SP', chixin:'赤心', chixin1:'赤心', chixin2:'赤心', @@ -6359,6 +6379,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ fuji:'助祭', fuji_info:'当一名角色造成雷属性伤害时,你可以令其进行判定,若结果为黑色,此伤害+1;若结果为红色,该角色获得判定牌。', sp_pangtong:'SP庞统', + sp_pangtong_prefix:'SP', manjuan:'漫卷', manjuan_info:'其他角色的牌因弃置而进入弃牌堆后,你可以弃置一张花色与之不同的牌,然后获得此牌。', xinmanjuan:'漫卷', @@ -6366,40 +6387,46 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zuixiang:'醉乡', zuixiang2:'醉乡', zuixiang_info:'限定技,准备阶段开始时,你可以展示牌堆顶的3张牌并置于你的武将牌上。你不能使用或打出与该些牌同类的牌,所有同类牌对你无效。之后的每个准备阶段,你须重复展示一次,直到这些牌中任意两张点数相同。然后,你获得这些牌。', - sp_daqiao:'☆SP大乔', + sp_daqiao:'★SP大乔', + sp_daqiao_prefix:'★SP', yanxiao:'言笑', yanxiao_info:'出牌阶段,你可以将一张♦牌置于一名角色的判定区内。判定区内有〖言笑〗牌的角色下个判定阶段开始时,其获得判定区里的所有牌。', anxian:'安娴', anxian_info:'当你使用【杀】对目标角色造成伤害时,你可以防止此伤害,令其弃置一张手牌,然后你摸一张牌;当你成为【杀】的目标后,你可以弃置一张手牌,令此【杀】对你无效,然后此【杀】的使用者摸一张牌。', - sp_ganning:'☆SP甘宁', + sp_ganning:'★SP甘宁', + sp_ganning_prefix:'★SP', yinling:'银铃', yinling_bg:'锦', yinling_info:'出牌阶段,若你的“锦”小于四张,你可以弃置一张黑色牌并指定一名其他角色。若如此做,你将其的一张牌置于你的武将牌上,称为“锦”。', junwei:'军威', junwei2:'军威', junwei_info:'结束阶段开始时,你可以移去三张“锦”。若如此做,你须指定一名角色并令其选择一项:1.展示一张【闪】,然后你将此【闪】交给一名其他角色。2.该角色失去1点体力,然后你将其装备区内的一张牌移出游戏。该角色的回合结束后,将以此法移出游戏的装备牌移回原处。', - sp_xiahoudun:'☆SP夏侯惇', + sp_xiahoudun:'★SP夏侯惇', + sp_xiahoudun_prefix:'★SP', fenyong:'愤勇', fenyong2:'愤勇', fenyong2_bg:'勇', fenyong_info:'每当你受到一次伤害后,你可以获得一枚「愤勇」标记;当你拥有「愤勇」标记时,防止你受到的所有伤害。', xuehen:'雪恨', xuehen_info:'每个角色的结束阶段开始时,若你有愤勇标记,你弃置之,然后选择一项:1.弃置当前回合角色X张牌(X为你已损失的体力值);2.视为对一名任意角色使用一张【杀】。', - sp_lvmeng:'☆SP吕蒙', + sp_lvmeng:'★SP吕蒙', + sp_lvmeng_prefix:'★SP', tanhu:'探虎', tanhu2:'探虎', tanhu3:'探虎', tanhu_info:'出牌阶段限一次,你可以与一名其他角色拼点。若你赢,你获得以下效果直到回合结束:你与该角色的距离为1,你对该角色使用的普通锦囊牌不能被【无懈可击】响应。', mouduan:'谋断', mouduan_info:'游戏开始时,你获得标记“武”并获得技能〖激昂〗和〖谦逊〗。当你失去手牌后,若手牌数不大于2,你须将你的标记变为“文”,将这两项技能改为〖英姿〗和〖克己〗。一名角色的回合开始前,你可弃一张牌将标记翻回。', - sp_zhangfei:'☆SP张飞', + sp_zhangfei:'★SP张飞', + sp_zhangfei_prefix:'★SP', jie:'嫉恶', jie_info:'锁定技,当你使用红色【杀】造成伤害时,此伤害+1。', dahe:'大喝', dahe2:'大喝', dahe2_bg:'喝', dahe_info:'出牌阶段限一次,你可以与一名其他角色拼点。若你赢,该角色不能使用或打出不为♥花色的【闪】直到回合结束,且你可将该角色拼点的牌交给场上一名体力不多于你的角色。若你没赢,你须展示手牌并弃置其中的一张。', - sp_liubei:'☆SP刘备', + sp_liubei:'★SP刘备', + sp_liubei_prefix:'★SP', zhaolie:'昭烈', zhaolie_info:'摸牌阶段摸牌时,你可以少摸一张牌并指定攻击范围内的一名角色。你展示牌堆顶的三张牌,将其中的非基本牌和【桃】置于弃牌堆,然后该角色选择一项:1.你对其造成X点伤害,然后其获得这些基本牌;2.其弃置X张牌,然后你获得这些基本牌。(X为其中非基本牌的数量)', shichou:'誓仇', @@ -6411,7 +6438,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhenjue:'阵绝', zhenjue_info:'一名角色的结束阶段开始时,若你没有手牌,则你可以令其选择一项:①弃置一张牌。②令你摸一张牌。', //用间 - yj_caocao:'SP曹操', + yj_caocao:'用间曹操', + yj_caocao_prefix:'用间', yjxiandao:'献刀', yjxiandao_info:'每回合限一次。当你赠予其他角色一张牌后,你令其不能使用或打出与本次赠予移动的牌A花色相同的牌直到回合结束。然后若牌A:为锦囊牌,你摸两张牌。为装备牌,你获得其一张不为A的牌。为武器牌,你对其造成1点伤害。', yjsancai:'散财', @@ -6419,20 +6447,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){ yjyibing:'义兵', yjyibing_info:'当你不因赠予且不因〖义兵〗的嵌套结算而于摸牌阶段外得到牌时,你可以将此次得到的所有牌当做【杀】使用(无距离限制且不计入使用次数)。', yj_caohong:'用间曹洪', - yj_caohong_ab:'曹洪', + yj_caohong_prefix:'用间', yjlifeng:'厉锋', yjlifeng_info:'①出牌阶段限一次。你可以获得弃牌堆里的一张装备牌。②你发动〖赠予〗可以选择手牌区里的装备牌或装备区里的牌。', yj_zhangfei:'用间张飞', - yj_zhangfei_ab:'张飞', + yj_zhangfei_prefix:'用间', yjmangji:'莽击', yjmangji_info:'锁定技。当你装备区里的牌数或体力值变化后,若你的体力值不小于1,你弃置一张手牌并视为使用一张【杀】。', yongjian_ganning:'用间甘宁', - yongjian_ganning_ab:'甘宁', + yongjian_ganning_prefix:'用间', yjjielve:'劫掠', yjjielve_info:'你可以将两张颜色相同的牌当【趁火打劫】使用,若你以此法造成伤害,此技能于本回合失效。', //什么?孙鲁班?谁会做这种离谱的东西 yj_dongzhuo:'用间董卓', - yj_dongzhuo_ab:'董卓', + yj_dongzhuo_prefix:'用间', yjtuicheng:'推诚', yjtuicheng_info:'你可以失去1点体力并视为使用一张【推心置腹】。', yjyaoling:'耀令', @@ -6442,7 +6470,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ yjyongquan:'拥权', yjyongquan_info:'主公技。结束阶段,其他群势力角色依次可以交给你一张牌。', yj_liru:'用间李儒', - yj_liru_ab:'李儒', + yj_liru_prefix:'用间', yjdumou:'毒谋', yjdumou_info:'锁定技。你的回合内,其他角色的黑色手牌均视为【毒】,你的【毒】均视为【过河拆桥】。', yjweiquan:'威权', @@ -6450,7 +6478,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ yjrenwang:'人望', yjrenwang_info:'出牌阶段限一次。你可以选择弃牌堆中的一张黑色基本牌,令一名角色获得之。', yj_xuyou:'用间许攸', - yj_xuyou_ab:'许攸', + yj_xuyou_prefix:'用间', yjshicai:'恃才', yjshicai_info:'①回合内,牌堆顶的一张牌对你可见。②出牌阶段限一次。你可以弃置一张牌,展示并获得牌堆顶的一张牌。当此牌离开你的手牌区后,重置〖恃才②〗。', yjchenggong:'逞功', @@ -6458,7 +6486,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ yjzezhu:'择主', yjzezhu_info:'出牌阶段限一次。你可以获得主公区域内的一张牌,然后交给其一张牌。', yj_jiaxu:'用间贾诩', - yj_jiaxu_ab:'贾诩', + yj_jiaxu_prefix:'用间', yjzhenlve:'缜略', yjzhenlve_info:'锁定技。①你使用的普通锦囊牌不能被响应。②你不能成为延时锦囊牌的目标。', yjjianshu:'间书', @@ -6466,45 +6494,46 @@ game.import('character',function(lib,game,ui,get,ai,_status){ yjyongdi:'拥嫡', yjyongdi_info:'限定技。准备阶段,你可以令一名男性角色加1点体力上限并回复1点体力,然后若其武将牌上有主公技且其不为主公,其获得此主公技。', yj_zhugedan:'用间诸葛诞', - yj_zhugedan_ab:'诸葛诞', + yj_zhugedan_prefix:'用间', yj_zhenji:'用间甄宓', - yj_zhenji_ab:'甄宓', + yj_zhenji_prefix:'用间', yjluoshen:'洛神', yjluoshen_info:'准备阶段,你可以判定并获得判定牌,且可重复此流程直到结果的颜色不同。', //线下E系列 一战成名 战役篇官盗 shen_jiaxu:'神贾诩', + shen_jiaxu_prefix:'神', zybishi:'避世', zybishi_info:'当你成为【杀】的目标后,你可以令使用者摸一张牌,然后令此【杀】无效。', zyjianbing:'谏兵', zyjianbing_info:'当一名其他角色受到执行【杀】的效果而受到伤害时,你可以获得其一张牌。若此牌花色为♥,其回复1点体力。', pe_wangyun:'战役篇王允', - pe_wangyun_ab:'王允', + pe_wangyun_prefix:'战役篇', zylianji:'连计', zylianji_info:'出牌阶段结束时,若你于此阶段使用牌的类别数达到:1,你可以令一名角色摸一张牌;2,你可以回复1点体力;3,你可以跳过本回合剩余阶段,然后令一名其他角色执行一个仅有你于此回合未执行过的阶段的回合。', zymoucheng:'谋逞', zymoucheng_info:'每回合限一次。你可以将一张黑色牌当【借刀杀人】使用。', pe_zhonghui:'战役篇钟会', - pe_zhonghui_ab:'钟会', + pe_zhonghui_prefix:'战役篇', zyquanji:'权计', zyquanji_info:'①当你受到伤害后或使用牌对唯一目标造成伤害后,你可以摸一张牌并将一张牌置于武将上,称为“权”。②你的手牌上限+X(X为“权”数)。', zypaiyi:'排异', zypaiyi_backup:'排异', zypaiyi_info:'出牌阶段限一次。你可以移去一张“权”并令一名角色摸X张牌(X为“权”数,且至多为7),然后若其手牌数大于你,你对其造成1点伤害。', pe_mengda:'战役篇孟达', - pe_mengda_ab:'孟达', + pe_mengda_prefix:'战役篇', qiuan:'求安', qiuan_info:'当你受到伤害后,若此伤害的渠道有对应的实体牌且你的武将牌上没有“函”,则你可以防止此伤害并将这些牌置于你的武将牌上,称为“函”。', liangfan:'量反', liangfan2:'量反', liangfan_info:'锁定技,准备阶段开始时,若你的武将牌上有“函”,则你获得这些牌,然后失去1点体力。当你于此回合内因使用实体牌中包含“函”的牌且执行这些牌的效果而造成伤害后,你可以获得目标角色的一张牌。', pe_sunchen:'战役篇孙綝', - pe_sunchen_ab:'孙綝', + pe_sunchen_prefix:'战役篇', zyshilu:'嗜戮', zyshilu_info:'①一名角色死亡后,你可以将其武将牌置于你的武将牌上,称为“戮”,若杀死其的角色是你,你将一张武将牌堆里的牌置为“戮”。②回合开始时,你可以弃置至多X张牌,然后摸等量的牌(X为“戮”数)。', zyxiongnve:'凶虐', zyxiongnve_info:'①出牌阶段开始时,你可以将一张“戮”置入武将牌堆并选择一项直到回合结束:1.当你造成伤害时,此伤害+1;2.当你对其他角色造成伤害时,获得其一张牌;3.你使用牌无次数限制。②出牌阶段结束时,你可以将两张“戮”置入武将牌堆,然后当你于下回合开始前受到其他角色造成的伤害时,此伤害-1。', pe_wenqin:'战役篇文钦', - pe_wenqin_ab:'文钦', + pe_wenqin_prefix:'战役篇', gzjinfa:'矜伐', gzjinfa_info:'出牌阶段限一次。你可以弃置一张牌,令一名其他角色选择一项:1.令你获得其一张牌;2.交给你一张装备牌,若此牌花色为♠,其视为对你使用一张【杀】。', zyshangyi:'尚义', @@ -6515,87 +6544,102 @@ game.import('character',function(lib,game,ui,get,ai,_status){ gzsuishi2:'随势', gzsuishi_info:'锁定技,其他角色进入濒死状态时,若伤害来源与你势力相同,你摸一张牌;其他角色死亡时,若其与你势力相同,你失去1点体力。', //线下S系列 - ps_guanyu:'☆关羽', + ps_guanyu:'★关羽', + ps_guanyu_prefix:'★', pszhonghun:'忠魂', pszhonghun_info:'当你使用或打出红色牌时,你可以亮出牌堆顶的一张牌。若此牌为红色,你获得之。', - ps2070_guojia:'☆郭嘉', + ps2070_guojia:'★郭嘉', + ps2070_guojia_prefix:'★', psquanmou:'全谋', psquanmou_info:'当其他角色使用锦囊牌结算结束后,若你是此牌目标,你可以弃置一张与此牌颜色相同的手牌并获得之。', - ps1059_guojia:'☆郭嘉', + ps1059_guojia:'★郭嘉', + ps1059_guojia_prefix:'★', psqizuo:'奇佐', psqizuo_info:'当你攻击范围内的角色造成或受到伤害时,你可以弃置一张牌并判定,若此牌颜色与结果相同,你可以令此伤害+1或-1。', - ps2063_zhaoyun:'☆赵云', + ps2063_zhaoyun:'★赵云', + ps2063_zhaoyun_prefix:'★', psqijin:'七进', psqijin_info:'摸牌阶段,你可以改为亮出牌堆顶的七张牌,并获得其中一种颜色的所有牌。', psqichu:'七出', psqichu_info:'每回合限一次。当你于回合外需要使用或打出一张基本牌时,你可以观看牌堆顶的两张牌。若其中有此牌,你可以使用或打出之。', pslongxin:'龙心', pslongxin_info:'判定阶段开始时,你可以弃置一张装备牌,然后弃置你判定区里的一张牌。', - ps2080_zhouyu:'☆周瑜', + ps2080_zhouyu:'★周瑜', + ps2080_zhouyu_prefix:'★', psshiyin:'识音', psshiyin_info:'①游戏开始时,你可以将一张手牌置于武将牌上,称为“杂音”牌。②出牌阶段开始时,你可以用一张手牌替换“杂音”牌。', psquwu:'曲误', psquwu_info:'锁定技。你不能使用或打出与“杂音”牌花色相同的牌,且这些牌对你无效。', psliaozou:'聊奏', psliaozou_info:'出牌阶段,你可以展示所有手牌,若其中没有与“杂音”牌花色相同的牌,你摸一张牌。', - ps1062_zhouyu:'☆周瑜', + ps1062_zhouyu:'★周瑜', + ps1062_zhouyu_prefix:'★', psoldshiyin:'识音', psoldshiyin_info:'当你于回合内得到牌后,你可以展示之,然后根据你展示的牌包含的花色数令你本回合使用的下一张牌获得对应效果:不小于1,不能被响应;不小于2,造成的伤害+1;不小于3,使用时摸一张牌。', - ps_caozhi:'☆曹植', + ps_caozhi:'★曹植', + ps_caozhi_prefix:'★', psliushang:'流殇', psliushang_info:'锁定技。①摸牌阶段,你改为摸X+1张牌,然后依次将一张手牌置于所有其他角色的武将牌上,称为“流殇”牌(X为场上角色数且至少为3)。②其他角色的准备阶段,其选择一项:1.获得其“流殇”牌,且当其于本回合对你造成伤害时,防止此伤害;2.将其“流殇”牌置入弃牌堆。', psqibu:'七步', psqibu_info:'限定技。当你进入濒死状态时,你可以亮出牌堆顶的七张牌,回复等同于其中♥牌数的体力,并获得所有♣牌。', - ps_jin_simayi:'☆司马懿', + ps_jin_simayi:'★司马懿', + ps_jin_simayi_prefix:'★', psquanyi:'权奕', psquanyi_info:'①出牌阶段限一次。你可以与一名角色拼点,赢的角色根据所有拼点牌的花色执行以下效果:♥,其获得没赢的角色区域里的一张牌;♦其对没赢的角色造成1点伤害;♠,其失去1点体力;♣,其弃置两张牌。②当你拼点时,你可以选择牌堆顶的牌作为拼点牌。', ps2067_zhaoyun:'武将传赵云', - ps2067_zhaoyun_ab:'赵云', + ps2067_zhaoyun_prefix:'武将传', pshuiqiang:'回枪', pshuiqiang_info:'当你使用的【杀】被【闪】抵消后,你可以对其使用一张【杀】。', pshuntu:'魂突', pshuntu_info:'出牌阶段限一次。当你使用【杀】对目标角色造成伤害后,你可以对其使用一张【杀】。', - ps_caopi:'☆曹丕', + ps_caopi:'★曹丕', + ps_caopi_prefix:'★', psjianwei:'僭位', psjianwei_info:'限定技。回合开始时,你可以失去1点体力,然后与一名其他角色交换区域里的所有牌。', - ps2068_simayi:'☆司马懿', + ps2068_simayi:'★司马懿', + ps2068_simayi_prefix:'★', pszhonghu:'冢虎', pszhonghu_info:'当一名角色于你的回合外死亡后,你可以结束此回合,然后令所有角色于其回合开始前跳过此回合直到你的回合开始前。', - ps_simayi:'☆司马懿', + ps_simayi:'★司马懿', + ps_simayi_prefix:'★', pshuxiao:'虎啸', pshuxiao_info:'回合开始时,你可以判定。若结果为基本牌或普通锦囊牌,你于本回合内获得如下效果:你可以将与结果点数或花色相同的手牌当与判定牌牌名和属性相同的牌使用。', - ps_zhugeliang:'☆诸葛亮', + ps_zhugeliang:'★诸葛亮', + ps_zhugeliang_prefix:'★', psguanxing:'观星', psguanxing_info:'准备阶段,你可以观看牌堆顶的五张牌,并将其以任意顺序置于牌堆项或牌堆底。', pslongyin:'龙吟', pslongyin_info:'每回合限一次。你可以将任意张点数和为13的牌当做任意一张基本牌或普通锦囊牌使用或打出。', ps2066_zhugeliang:'武将传诸葛亮', - ps2066_zhugeliang_ab:'诸葛亮', + ps2066_zhugeliang_prefix:'武将传', pszhiji:'智激', pszhiji_info:'出牌阶段限一次。你可以弃置两张手牌并选择两名势力不同的角色,视为这两名角色依次视为对对方使用一张【杀】。', psjiefeng:'借风', psjiefeng_info:'出牌阶段,你可以弃置两张手牌,然后亮出牌堆顶五张牌。若其中有至少两张红色牌,你视为使用一张【万箭齐发】。', - ps_machao:'☆马超', + ps_machao:'★马超', + ps_machao_prefix:'★', psweihou:'威侯', psweihou_info:'当你判定前,你可以展示牌堆顶的两张牌,选择其中一张作为你的本次判定结果,然后将另一张置入弃牌堆。', - ps_lvbu:'☆吕布', + ps_lvbu:'★吕布', + ps_lvbu_prefix:'★', pssheji:'射戟', pssheji_info:'出牌阶段限一次。你可以将所有手牌当一张无距离限制的【杀】使用,然后当此【杀】对目标角色造成伤害后,你获得其装备区里的所有武器牌和坐骑牌。', - ps_jiaxu:'☆贾诩', + ps_jiaxu:'★贾诩', + ps_jiaxu_prefix:'★', psqupo:'驱魄', psqupo_info:'一名角色A的回合开始时,你可以将一张牌交给另一名其他角色B。若此牌为:黑色,当A使用【杀】指定不为B的角色为目标时,A失去1点体力;红色,当B于本回合下一次受到伤害时,B失去1点体力。', psbaoquan:'保全', psbaoquan_info:'当你受到伤害时,你可以弃置一张锦囊牌并防止此伤害。', //S特 ps_shen_machao:'S特神马超', - ps_shen_machao_ab:'神马超', + ps_shen_machao_prefix:'S特神', psshouli:'狩骊', psshouli_info:'锁定技。①游戏开始时,所有角色依次选择一项:1.使用一张坐骑牌,然后摸一张牌;2.随机从游戏外的八张坐骑牌指示物中使用一张。②你可以将场上一张进攻坐骑当【杀】,防御坐骑当【闪】使用或打出,若此坐骑牌的拥有者不为你,则其非锁定技于本回合内失效。且当你或其于本回合内受到伤害时,此伤害+1且改为雷属性。', pshengwu:'横骛', pshengwu_info:'当你使用或打出牌时,若场上有该花色的装备牌,你可以弃置任意张该花色的手牌,然后摸X张牌(X为你弃置的牌数与场上与此牌花色相同的装备牌数之和)。', //线下K系列木盒 pk_sp_duyu:'K系列杜预', - pk_sp_duyu_ab:'杜预', + pk_sp_duyu_prefix:'K系列', pkwuku:'武库', pkwuku_info:'锁定技。当有角色使用装备牌时,若你的“武库”数小于3,则你获得1枚“武库”。', pksanchen:'三陈', @@ -6629,11 +6673,35 @@ game.import('character',function(lib,game,ui,get,ai,_status){ vtbmeiniang_info:'其他角色的出牌阶段开始时,你可以令其视为使用一张无次数限制且不计入次数的【酒】。', vtbyaoli:'媱丽', vtbyaoli_info:'其他角色于其出牌阶段内使用【酒】后,你可以令其于本回合内使用的下一张【杀】不能被响应且可以额外指定一个目标。', + old_machao:'★SP马超', + old_machao_prefix:'★SP', + jsp_caoren:'★SP曹仁', + jsp_caoren_prefix:'★SP', + zhangliang:'SP张梁', + zhangliang_prefix:'SP', + ol_xinxianying:'将辛宪英', + ol_xinxianying_prefix:'将', + chendong:'战役篇陈武董袭', + chendong_prefix:'战役篇', + jiangfei:'战役篇蒋琬费祎', + jiangfei_prefix:'战役篇', + jiangqing:'战役篇蒋钦', + jiangqing_prefix:'战役篇', + tianfeng:'战役篇田丰', + tianfeng_prefix:'战役篇', + jiling:'战役篇纪灵', + jiling_prefix:'战役篇', + kongrong:'战役篇孔融', + kongrong_prefix:'战役篇', + mateng:'战役篇马腾', + mateng_prefix:'战役篇', offline_star:'桌游志·SP', offline_sticker:'桌游志·贴纸', + offline_yijiang:'一将成名', offline_luanwu:'文和乱武', offline_yongjian:'用间篇', + offline_yongjian_prefix:'用间', offline_feihongyingxue:'飞鸿映雪', offline_piracyE:'官盗E系列·战役篇', offline_piracyS:'官盗S系列', diff --git a/character/old.js b/character/old.js index a53f4454d3..ce1b929f0f 100755 --- a/character/old.js +++ b/character/old.js @@ -3,7 +3,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return { name:'old', connect:true, - connectBanned:['zhangliang'], characterSort:{ old:{ old_standard:['ol_yuanshu'], @@ -15,9 +14,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ old_yijiang4:["old_caozhen","old_chenqun","old_zhuhuan",'old_caorui'], old_yijiang5:["old_caoxiu","old_zhuzhi"], old_yijiang67:["ol_zhangrang",'old_huanghao','old_liyan'], - old_sp:["old_wanglang","old_maliang","old_machao","zhangliang","jsp_caoren","old_zhangxingcai","old_wangyun",'old_dingfeng'], + old_sp:["old_wanglang","old_maliang","old_zhangxingcai","old_wangyun",'old_dingfeng'], old_yingbian:['junk_simayi','old_yangyan','old_yangzhi'], - old_mobile:["old_caochun",'old_majun'], + old_mobile:["old_caochun"], }, }, character:{ @@ -49,7 +48,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ old_xiaoqiao:['female','wu',3,['tianxiang','hongyan']], weiyan:['male','shu',4,['kuanggu']], xiahouyuan:['male','wei',4,['shensu']], - old_majun:["male","wei",3,["xinfu_jingxie1","xinfu_qiaosi"],[]], old_zhangxingcai:['female','shu',3,['oldshenxian','qiangwu']], old_fuhuanghou:['female','qun',3,['oldzhuikong','oldqiuyuan']], old_caochong:['male','wei',3,['oldrenxin','oldchengxiang']], @@ -58,7 +56,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ old_zhangfei:['male','shu',4,['new_repaoxiao','new_tishen']], old_zhaoyun:['male','shu',4,['longdan','new_yajiao']], old_huatuo:['male','qun',3,['jijiu','chulao']], - jsp_caoren:['male','wei',4,['kuiwei','yanzheng']], old_caochun:['male','wei',4,['shanjia']], masu:['male','shu',3,['xinzhan','huilei']], xushu:['male','shu',3,['xswuyan','jujian'],['border:wei']], @@ -77,9 +74,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ old_zhuhuan:['male','wu',4,['youdi']], old_zhuzhi:['male','wu',4,['anguo']], - old_machao:['male','qun',4,['zhuiji','oldcihuai']], old_zhugezhan:["male","shu",3,["old_zuilun","old_fuyin"]], - zhangliang:["male","qun",4,["old_jijun","old_fangtong"]], ol_zhangrang:['male','qun',3,['xintaoluan'],['sex:male_castrated']], //ol_manchong:['male','wei',3,['yuce','junxing']], old_guanqiujian:["male","wei",4,["drlt_zhenrong","drlt_hongju"],[]], @@ -1015,41 +1010,63 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, translate:{ old_zhangxingcai:'旧张星彩', - old_majun:'骰子马钧', - old_yuanshu:'手杀袁术', + old_zhangxingcai_prefix:'旧', old_xusheng:'旧徐盛', + old_xusheng_prefix:'旧', old_lingtong:'旧凌统', + old_lingtong_prefix:'旧', old_zhuran:'旧朱然', + old_zhuran_prefix:'旧', old_caoxiu:'旧曹休', + old_caoxiu_prefix:'旧', old_caozhen:'旧曹真', + old_caozhen_prefix:'旧', old_maliang:'旧马良', + old_maliang_prefix:'旧', old_chenqun:'旧陈群', + old_chenqun_prefix:'旧', old_zhuhuan:'旧朱桓', + old_zhuhuan_prefix:'旧', old_zhuzhi:'旧朱治', - old_machao:'☆SP马超', - old_zhugezhan:"旧诸葛瞻", - zhangliang:'SP张梁', + old_zhuzhi_prefix:'旧', + old_zhugezhan:'旧诸葛瞻', + old_zhugezhan_prefix:'旧', yuji:'旧于吉', + yuji_prefix:'旧', old_zhangfei:'新杀张飞', - old_zhangfei_ab:'张飞', + old_zhangfei_prefix:'新杀', old_huatuo:'OL华佗', - jsp_caoren:'☆SP曹仁', + old_huatuo_prefix:'OL', ol_zhangrang:'旧张让', + ol_zhangrang_prefix:'旧', ol_liaohua:'OL廖化', + ol_liaohua_prefix:'OL', ol_zhuran:'OL朱然', + ol_zhuran_prefix:'OL', ol_manchong:'OL满宠', + ol_manchong_prefix:'OL', old_fuhuanghou:'旧伏寿', + old_fuhuanghou_prefix:'旧', old_caochong:'旧曹冲', + old_caochong_prefix:'旧', old_guanqiujian:'旧毌丘俭', + old_guanqiujian_prefix:'旧', old_wangyun:'旧王允', + old_wangyun_prefix:'旧', old_zhaoyun:'新杀赵云', - old_zhaoyun_ab:'赵云', + old_zhaoyun_prefix:'新杀', ol_huaxiong:'旧华雄', + ol_huaxiong_prefix:'旧', old_xiaoqiao:'旧小乔', + old_xiaoqiao_prefix:'旧', old_wanglang:'旧王朗', + old_wanglang_prefix:'旧', old_wangyi:'旧王异', + old_wangyi_prefix:'旧', xin_yujin:'节钺于禁', + xin_yujin_prefix:'节钺', re_yujin:'毅重于禁', + re_yujin_prefix:'毅重', old_guhuo:"蛊惑", old_guhuo_info:"你可以扣置一张手牌当做一张基本牌或普通锦囊牌使用或打出,体力值不为0的其他角色依次选择是否质疑。然后,若有质疑的角色,你展示此牌:若为假,此牌作废,这些角色摸一张牌;若为真,这些角色失去1点体力,且若此牌不为♥,此牌作废。", @@ -1069,43 +1086,59 @@ game.import('character',function(lib,game,ui,get,ai,_status){ oldxuanfeng:'旋风', oldxuanfeng_info:'当你失去装备区里的牌后,你可以选择一项:1.视为对一名其他角色使用一张【杀】;2.对一名距离为1的角色造成1点伤害。', ol_yuanshu:'旧袁术', + ol_yuanshu_prefix:'旧', fazheng:'旧法正', + fazheng_prefix:'旧', junk_simayi:'旧晋司马懿', - junk_simayi_ab:'司马懿', + junk_simayi_prefix:'旧晋', madai:'旧马岱', + madai_prefix:'旧', old_yangzhi:'旧杨芷', + old_yangzhi_prefix:'旧', old_yangyan:'旧杨艳', + old_yangyan_prefix:'旧', old_caorui:'旧曹叡', + old_caorui_prefix:'旧', oldmingjian:'明鉴', oldmingjian_info:'出牌阶段开始前,你可以跳过此阶段并将所有手牌交给一名其他角色。若如此做,你结束当前回合,然后其获得一个额外的回合(仅包含出牌阶段)。', old_handang:'旧韩当', + old_handang_prefix:'旧', oldgongji:'弓骑', oldgongji_info:'你可以将一张装备牌当做无距离限制的【杀】使用或打出。', oldjiefan:'解烦', oldjiefan_info:'当一名角色A于你的回合外处于濒死状态时,你可以对当前回合角色使用一张【杀】。当此【杀】造成伤害时,你防止此伤害,视为对A使用一张【桃】。', old_gaoshun:'旧高顺', + old_gaoshun_prefix:'旧', old_liubiao:'旧刘表', + old_liubiao_prefix:'旧', oldre_liubiao:'RE刘表', - oldre_liubiao_ab:'刘表', + oldre_liubiao_prefix:'RE', oldzishou:'自守', oldzishou_info:'摸牌阶段,若你已受伤,你可令额定摸牌数+X(X为你已损失的体力值),然后跳过下一个出牌阶段。', old_huanghao:'旧黄皓', + old_huanghao_prefix:'旧', oldqinqing:'寝情', oldqinqing_info:'结束阶段,你可以选择一名攻击范围内含有主公的其他角色,然后你弃置该角色的一张牌(无牌则不弃),并令其摸一张牌。若该角色的手牌数大于主公,你摸一张牌。', oldhuisheng:'贿生', oldhuisheng_info:'每名角色限一次。当你受到其他角色对你造成的伤害时,你可以令其观看你任意数量的牌并令其选择一项:1.获得这些牌中的一张并防止此伤害;2.弃置等量的牌', old_dingfeng:'旧丁奉', - junk_sunquan:'改版神孙权', - junk_sunquan_ab:'神孙权', + old_dingfeng_prefix:'旧', + junk_sunquan:'旧神孙权', + junk_sunquan_prefix:'旧神', new_caoren:'旧曹仁', - new_caoren_ab:'旧曹仁', + new_caoren_prefix:'旧', old_re_lidian:'旧李典', + old_re_lidian_prefix:'旧', old_liyan:'旧李严', + old_liyan_prefix:'旧', old_chendao:'旧陈到', - old_caocao:'神曹操', - old_caocao_ab:'魏武帝', + old_chendao_prefix:'旧', + old_caocao:'旧神曹操', + old_caocao_prefix:'旧神', junkguixin:'归心', junkguixin_info:'回合结束时,你可以选择一项:①获得剩余武将牌堆的所有主公技的其中一个技能;②更改一名其他角色的势力。', + old_caochun:'旧曹纯', + old_caochun_prefix:'旧', old_standard:'标准包', old_shenhua:'神话再临', diff --git a/character/refresh.js b/character/refresh.js index dbfd8365f9..2b6570733b 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -349,7 +349,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var player=_status.event.player; if(!game.hasPlayer(target=>target!=player&&get.damageEffect(target,player,player,'thunder')>0)) return 0; if(player.getExpansions('rejijun').reduce(function(num,card){ - return num=card.number; + return num+get.number(card,false); },0)>36) return 1/(get.value(card)||0.5); else{ if(lib.skill.refangtong.thunderEffect(card,player)) return 10-get.value(card); @@ -367,17 +367,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var player=_status.event.player; var cards=player.getExpansions('rejijun'); if(cards.reduce(function(num,card){ - return num=card.number; + return num+get.number(card,false); },0)<=36){ - if(!ui.selected.buttons.length) return 1/button.link.number; + if(!ui.selected.buttons.length) return 1/get.number(button.link,false); return 0; } else{ var num=0,list=[]; - cards.sort((a,b)=>b.number-a.number); + cards.sort((a,b)=>get.number(b,false)-get.number(a,false)); for(var i=0;i36) break; } return list.contains(button.link)?1:0; @@ -386,7 +386,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ 'step 3' if(result.bool){ var bool=(result.links.reduce(function(num,card){ - return num=card.number; + return num+get.number(card,false); },0)>36); event.bool=bool; player.loseToDiscardpile(result.links); @@ -404,13 +404,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var cards=player.getExpansions('rejijun'),num=0; cards.push(card); if(cards.reduce(function(num,card){ - return num=card.number; + return num+get.number(card,false); },0)<=36) return false; - cards.sort((a,b)=>b.number-a.number); + cards.sort((a,b)=>get.number(b,false)-get.number(a,false)); var bool=false; for(var i=0;i36) break; } return bool; @@ -440,6 +440,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ 'step 0' var target=trigger.player; event.player=player; + event.target=target; target.chooseBool(target==player?get.prompt('rejunbing'):'是否响应'+get.translation(player)+'的【郡兵】?','摸一张牌'+(target==player?'':',将所有手牌交给'+get.translation(player)+',然后其可以交给你等量张牌')).set('choice',get.attitude(target,player)>0); 'step 1' if(result.bool){ @@ -1462,6 +1463,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, //界文聘 rezhenwei:{ + audio:'zhenwei', inherit:'zhenwei', filter:function(event,player){ if(player==event.target) return false; @@ -6111,7 +6113,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, trigger:{player:'useCard1'}, filter:function(event,player){ - if(event.card.name=='sha'&&!event.card.hasNature()) return true; + if(event.card.name=='sha'&&!game.hasNature(event.card)) return true; return false; }, audio:'lihuo', @@ -6139,7 +6141,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ollihuo2:{ trigger:{player:'useCard2'}, filter:function(event,player){ - if(event.card.name!='sha'||!event.card.hasNature('fire')) return false; + if(event.card.name!='sha'||!game.hasNature(event.card,'fire')) return false; return game.hasPlayer(function(current){ return !event.targets.contains(current)&&lib.filter.targetEnabled(event.card,player,current)&&lib.filter.targetInRange(event.card,player,current); }); @@ -7604,7 +7606,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ decadelihuo:{ trigger:{player:'useCard1'}, filter:function(event,player){ - if(event.card.name=='sha'&&!event.card.hasNature()) return true; + if(event.card.name=='sha'&&!game.hasNature(event.card)) return true; return false; }, audio:'lihuo', @@ -7630,7 +7632,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ decadelihuo2:{ trigger:{player:'useCard2'}, filter:function(event,player){ - if(event.card.name!='sha'||!event.card.hasNature('fire')) return false; + if(event.card.name!='sha'||!game.hasNature(event.card,'fire')) return false; return game.hasPlayer(function(current){ return !event.targets.contains(current)&&player.canUse(event.card,current); }); @@ -7660,7 +7662,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ decadelihuo3:{ trigger:{player:'useCardAfter'}, filter:function(event,player){ - return event.card.name=='sha'&&event.card.hasNature('fire')&&event.targets.length>1&&player.getHistory('sourceDamage',function(evt){ + return event.card.name=='sha'&&game.hasNature(event.card,'fire')&&event.targets.length>1&&player.getHistory('sourceDamage',function(evt){ return evt.card==event.card; }).length>0; }, @@ -10330,21 +10332,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return player.storage.rehuashen&&player.storage.rehuashen.character.length>0; }, banned:['lisu','sp_xiahoudun','xushao','zhoutai','old_zhoutai','shixie'], + bannedType:['Charlotte','主公技','觉醒技','限定技','隐匿技','使命技'], addHuashen:function(player){ if(!player.storage.rehuashen) return; if(!_status.characterlist){ lib.skill.pingjian.initList(); } _status.characterlist.randomSort(); - var bool=false; - for(var i=0;i<_status.characterlist.length;i++){ - var name=_status.characterlist[i]; - if(name.indexOf('zuoci')!=-1||name.indexOf('key')==0||lib.skill.rehuashen.banned.contains(name)||player.storage.rehuashen.character.contains(name)) continue; - var skills=lib.character[name][3]; - for(var j=0;j{ + const categories=get.skillCategoriesOf(skill); + return !categories.some(type=>lib.skill.rehuashen.bannedType.includes(type)); + }) if(skills.length){ player.storage.rehuashen.character.push(name); player.storage.rehuashen.map[name]=skills; @@ -14425,40 +14426,69 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, translate:{ re_zhangliao:'界张辽', - re_huangyueying:'新黄月英', + re_zhangliao_prefix:'界', re_simayi:'界司马懿', + re_simayi_prefix:'界', re_xuzhu:'界许褚', + re_xuzhu_prefix:'界', re_xiahoudun:'界夏侯惇', + re_xiahoudun_prefix:'界', re_lvmeng:'界吕蒙', + re_lvmeng_prefix:'界', re_zhouyu:'界周瑜', + re_zhouyu_prefix:'界', re_luxun:'界陆逊', + re_luxun_prefix:'界', re_zhaoyun:'界赵云', + re_zhaoyun_prefix:'界', re_guanyu:'界关羽', + re_guanyu_prefix:'界', re_zhangfei:'界张飞', + re_zhangfei_prefix:'界', re_machao:'界马超', + re_machao_prefix:'界', re_caocao:'界曹操', + re_caocao_prefix:'界', re_guojia:'界郭嘉', + re_guojia_prefix:'界', re_lvbu:'界吕布', + re_lvbu_prefix:'界', re_huanggai:'界黄盖', + re_huanggai_prefix:'界', re_daqiao:'界大乔', + re_daqiao_prefix:'界', re_ganning:'界甘宁', + re_ganning_prefix:'界', re_huatuo:'界华佗', + re_huatuo_prefix:'界', re_liubei:'界刘备', + re_liubei_prefix:'界', re_diaochan:'界貂蝉', + re_diaochan_prefix:'界', re_huangyueying:'界黄月英', + re_huangyueying_prefix:'界', re_sunquan:'界孙权', + re_sunquan_prefix:'界', re_sunshangxiang:'界孙尚香', + re_sunshangxiang_prefix:'界', re_zhugeliang:'界诸葛亮', + re_zhugeliang_prefix:'界', re_zhenji:'界甄宓', + re_zhenji_prefix:'界', re_huaxiong:"界华雄", + re_huaxiong_prefix:'界', - "ol_sp_zhugeliang":"界卧龙", - xin_yuanshao:"手杀袁绍", + ol_sp_zhugeliang:"界卧龙", + ol_sp_zhugeliang_prefix:'界', re_zhangjiao:'界张角', + re_zhangjiao_prefix:'界', re_sunce:'界孙策', + re_sunce_prefix:'界', ol_yuanshao:'界袁绍', + ol_yuanshao_prefix:'界', ol_liushan:'界刘禅', + ol_liushan_prefix:'界', olfangquan:'放权', olfangquan_info:'出牌阶段开始前,你可以跳过此阶段。若如此做,弃牌阶段开始时,你可以弃置一张手牌,令一名其他角色进行一个额外回合。', @@ -14635,7 +14665,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ rebotu_info:'每轮限X次。回合结束时,若本回合内置入弃牌堆的牌中包含至少四种花色,则你可获得一个额外的回合。(X为存活角色数且至多为3)', xin_yuji:'界于吉', + xin_yuji_prefix:'界', re_zuoci:'界左慈', + re_zuoci_prefix:'界', reguhuo:"蛊惑", reguhuo_info:"每名角色的回合限一次,你可以扣置一张手牌当作一张基本牌或普通锦囊牌使用或打出。其他角色同时选择是否质疑。然后,你展示此牌。若有质疑的角色:若此牌为假,则此牌作废,且所有质疑者各摸一张牌;为真,则所有质疑角色于此牌结算完成后依次弃置一张牌或失去1点体力,并获得技能〖缠怨〗。", reguhuo_guess:"蛊惑", @@ -14654,8 +14686,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ rexinsheng:'新生', rexinsheng_info:'当你受到1点伤害后,你可以获得一张新的化身牌。', re_menghuo:'界孟获', - re_sunjian:'手杀孙坚', + re_menghuo_prefix:'界', re_caopi:'界曹丕', + re_caopi_prefix:'界', oljiuchi:'酒池', oljiuchi_info:'你可以将一张黑桃手牌当做【酒】使用。锁定技,你使用【酒】无次数限制,且当你于回合内使用带有【酒】效果的【杀】造成伤害后,你令你的【崩坏】失效直到回合结束。', repolu:'破虏', @@ -14667,15 +14700,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ rezaiqi:'再起', rezaiqi_info:'结束阶段开始时,你可以令至多X名角色选择一项:1.摸一张牌,2.令你回复1点体力(X为本回合进入弃牌堆的红色牌数)', ol_jiangwei:'界姜维', + ol_jiangwei_prefix:'界', ol_caiwenji:'界蔡琰', - re_baosanniang:'手杀鲍三娘', + ol_caiwenji_prefix:'界', retuntian:'屯田', rebeige:'悲歌', retuntian_info:'①当你于回合外失去牌后,你可以判定。若判定结果为♥,你获得此判定牌。否则你将此牌置于你的武将牌上,称为“田”。②你计算与其他角色的距离时-X(X为你武将牌上“田”的数目)。', rebeige_info:'当有角色受到【杀】造成的伤害后,你可以弃一张牌,并令其进行一次判定,若判定结果为:♥该角色回复X点体力(X为伤害点数);♦︎该角色摸三张牌;♣伤害来源弃两张牌;♠伤害来源将其武将牌翻面', - re_liushan:'手杀刘禅', - re_sunben:'界孙笨', - re_zhangzhang:'手杀张昭张纮', rehunzi:'魂姿', rehunzi_info:'觉醒技,准备阶段,若你的体力值不大于2,你减1点体力上限,并获得技能〖英姿〗和〖英魂〗。', rezhijian:'直谏', @@ -14683,6 +14714,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ refangquan:'放权', refangquan_info:'你可跳过你的出牌阶段,若如此做,你本回合的手牌上限为你的体力上限,且回合结束时,你可以弃置一张手牌并令一名其他角色进行一个额外的回合。', xin_gaoshun:'界高顺', + xin_gaoshun_prefix:'界', repojun:'破军', repojun2:'破军', repojun3:'破军', @@ -14694,23 +14726,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){ rejinjiu2:'禁酒', rejinjiu3:'禁酒', ol_xiahouyuan:'界夏侯渊', + ol_xiahouyuan_prefix:'界', shebian:'设变', shebian_info:'当你的武将牌翻面后,你可以移动场上的一张装备牌。', cangzhuo:'藏拙', cangzhuo_info:'弃牌阶段开始时,若你本回合内没有使用过锦囊牌,则你的锦囊牌不计入手牌上限。', re_zhangyi:'界张嶷', + re_zhangyi_prefix:'界', rewurong:'怃戎', rewurong_info:'出牌阶段限一次,你可以令一名其他角色与你同时展示一张手牌:若你展示的是【杀】且该角色展示的不是【闪】,则你对其造成1点伤害;若你展示的不是【杀】且该角色展示的是【闪】,则你获得其一张牌', ol_pangtong:'界庞统', + ol_pangtong_prefix:'界', olniepan:'涅槃', olniepan_info:'限定技,当你处于濒死状态时,你可以弃置你区域内的所有牌并复原你的武将牌,然后摸三张牌并将体力回复至3点。然后你选择获得以下技能中的一个:〖八阵〗/〖火计〗/〖看破〗', ol_weiyan:'界魏延', + ol_weiyan_prefix:'界', reqimou:'奇谋', reqimou_info:'限定技,出牌阶段,你可以失去任意点体力并摸等量的牌,然后直到回合结束,你计算与其他角色的距离时-X,且你可以多使用X张【杀】(X为你失去的体力值)', ol_xiaoqiao:'界小乔', + ol_xiaoqiao_prefix:'界', rehongyan:'红颜', rehongyan_info:'锁定技,你区域内的黑桃牌和黑桃判定牌均视为红桃。当你于回合外正面朝上失去红桃牌后,若你的手牌数小于体力值,你摸一张牌。', - re_caozhi:'手杀曹植', reluoying:'落英', reluoying_discard:'落英', reluoying_judge:'落英', @@ -14724,16 +14760,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){ chengzhang:'成章', chengzhang_info:'觉醒技,准备阶段开始时,若你造成伤害与受到伤害值之和累计7点或以上,则你回复1点体力并摸1张牌,然后改写〖酒诗〗。', re_wuyi:'界吴懿', + re_wuyi_prefix:'界', re_zhuran:'界朱然', + re_zhuran_prefix:'界', re_quancong:'界全琮', + re_quancong_prefix:'界', re_liaohua:'界廖化', + re_liaohua_prefix:'界', re_guohuai:'界郭淮', + re_guohuai_prefix:'界', re_chengpu:'界程普', + re_chengpu_prefix:'界', rechunlao:'醇醪', rechunlao2:'醇醪', rechunlao_info:'出牌阶段结束时,若你没有“醇”,你可以将至少一张【杀】置于你的武将牌上,称为“醇”。当一名角色处于濒死状态时,你可以移去一张“醇”,视为该角色使用一张【酒】,然后若此“醇”的属性为:火,你回复1点体力、雷,你摸两张牌。', re_caozhang:'界曹彰', + re_caozhang_prefix:'界', yujin_yujin:'界于禁', + yujin_yujin_prefix:'界', rexuanfeng:'旋风', rexuanfeng_info:'当你失去装备区内的牌时,或于弃牌阶段弃置了两张或更多的手牌后,你可以依次弃置一至两名其他角色的共计两张牌,或将一名其他角色装备区内的一张牌移动到另一名其他角色的装备区内。', olpaoxiao:'咆哮', @@ -14748,24 +14792,32 @@ game.import('character',function(lib,game,ui,get,ai,_status){ regongji:'弓骑', regongji_info:'出牌阶段限一次,你可以弃置一张非基本牌,然后弃置一名其他角色的一张牌。锁定技,当你的装备区内有坐骑牌时,你的攻击范围无限。', ol_sunjian:'界孙坚', + ol_sunjian_prefix:'界', wulie:'武烈', wulie2:'武烈', wulie_info:'限定技,结束阶段,你可以失去任意点体力并指定等量的其他角色。这些角色各获得一枚「烈」。有「烈」的角色受到伤害时,其移去一枚「烈」,然后防止此伤害。', re_sunluban:'界孙鲁班', + re_sunluban_prefix:'界', re_masu:'界马谡', + re_masu_prefix:'界', ol_pangde:'界庞德', + ol_pangde_prefix:'界', rejianchu:'鞬出', rejianchu_info:'当你使用【杀】指定一名角色为目标后,你可以弃置其一张牌,若以此法弃置的牌不为基本牌,此【杀】不可被【闪】响应且你本回合使用【杀】的次数上限+1,为基本牌,该角色获得此【杀】', re_taishici:'界太史慈', + re_taishici_prefix:'界', hanzhan:'酣战', hanzhan_gain:'酣战', hanzhan_info:'①当你发起拼点时,或成为拼点的目标时,你可以令对方选择拼点牌的方式改为随机选择一张手牌。②当你拼点结束后,你可以获得本次拼点的拼点牌中点数最大的【杀】。', re_jianyong:'界简雍', + re_jianyong_prefix:'界', xin_xusheng:'界徐盛', + xin_xusheng_prefix:'界', decadepojun:'破军', decadepojun2:'破军', decadepojun_info:'当你使用【杀】指定目标后,你可以将其的至多X张牌置于其武将牌上(X为其体力值)。若这些牌中:有装备牌,你将这些装备牌中的一张置于弃牌堆;有锦囊牌,你摸一张牌。其于回合结束时获得其武将牌上的这些牌。', re_wangyi:'界王异', + re_wangyi_prefix:'界', guanzhang:'关兴张苞', rezishou:'自守', rezishou2:'自守', @@ -14773,10 +14825,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ rezongshi:'宗室', rezongshi_info:'锁定技,你的手牌上限+X(X为存活势力数)。准备阶段,若你的手牌数大于体力值,则你本回合内使用【杀】无次数限制。', ol_dongzhuo:'界董卓', + ol_dongzhuo_prefix:'界', olbaonue:'暴虐', olbaonue_info:'主公技,其他群雄角色造成1点伤害后,你可进行判定,若为♠,你回复1点体力并获得判定牌。', re_panzhangmazhong:'界潘璋马忠', + re_panzhangmazhong_prefix:'界', re_hanhaoshihuan:'界韩浩史涣', + re_hanhaoshihuan_prefix:'界', xinyicong:'义从', xinyicong_info:'锁定技,你计算与其他角色的距离时-X,其他角色计算与你的距离时+Y。(X为你的体力值-1,Y为你的已损失体力值-1)', oltianxiang:'天香', @@ -14792,36 +14847,43 @@ game.import('character',function(lib,game,ui,get,ai,_status){ decadechunlao:'醇醪', decadechunlao2:'醇醪', decadechunlao_info:'你可以对其他角色使用【酒(使用方法②)】。当你需要使用【酒】时,若你的武将牌未横置,则你可以将武将牌横置,然后视为使用【酒】。当你受到或造成伤害后,若伤害值大于1且你的武将牌横置,则你可以重置武将牌。', - re_liru:'手杀李儒', rejuece:'绝策', rejuece_info:'结束阶段,你可以对一名本回合内失去过牌的角色造成1点伤害。', remieji:'灭计', remieji_info:'出牌阶段限一次,你可以将一张黑色锦囊牌置于牌堆顶,然后令一名有牌的其他角色选择一项:交给你一张锦囊牌,或依次弃置两张非锦囊牌。', re_manchong:'界满宠', + re_manchong_prefix:'界', rejunxing:'峻刑', rejunxing_info:'出牌阶段限一次,你可以弃置任意张手牌并选择一名其他角色。该角色选择一项:1.弃置X张牌并失去1点体力。2.翻面并摸X张牌。(X为你弃置的牌数)', - re_gongsunzan:'OL公孙瓒', + re_gongsunzan:'界公孙瓒', + re_gongsunzan_prefix:'界', reqiaomeng:'趫猛', reqiaomeng_info:'当你使用【杀】对一名角色造成伤害后,你可以弃置该角色区域内的一张牌。若此牌为坐骑牌,则你于此弃置事件结算结束后获得此牌。', ol_dengai:'界邓艾', + ol_dengai_prefix:'界', oltuntian:'屯田', olzaoxian:'凿险', oltuntian_info:'①当你于回合外失去牌后,或于回合内因弃置而失去【杀】后,你可以判定。若判定结果不为♥,则你将此牌置于你的武将牌上,称为“田”。②你计算与其他角色的距离时-X(X为你武将牌上“田”的数目)。', olzaoxian_info:'觉醒技,准备阶段,若你武将牌上“田”的数量达到3张或更多,则你减1点体力上限,并获得技能〖急袭〗。你于当前回合结束后进行一个额外的回合。', re_sunxiu:'界孙休', + re_sunxiu_prefix:'界', re_caoxiu:'界曹休', + re_caoxiu_prefix:'界', xin_lingtong:'界凌统', + xin_lingtong_prefix:'界', decadexuanfeng:'旋风', decadexuanfeng_info:'当你于弃牌阶段弃置过至少两张牌,或当你失去装备区里的牌后,若场上没有处于濒死状态的角色,则你可以弃置至多两名其他角色的共计两张牌。若此时处于你的回合内,你可以对其中一名目标角色造成1点伤害。', yongjin:'勇进', yongjin_info:'限定技,出牌阶段,你可以依次移动场上的至多三张不同的装备牌。', xin_liubiao:'界刘表', + xin_liubiao_prefix:'界', decadezishou:'自守', decadezishou_zhiheng:'自守', decadezishou_info:'摸牌阶段,你可以多摸X张牌(X为存活势力数);然后本回合你对其他角色造成伤害时,防止此伤害。结束阶段,若你本回合没有使用牌指定其他角色为目标,你可以弃置任意张花色不同的手牌,然后摸等量的牌。', decadezongshi:'宗室', decadezongshi_info:'锁定技,你的手牌上限+X(X为存活势力数)。你的回合外,若你的手牌数大于等于手牌上限,则当你成为延时类锦囊牌或无颜色的牌的目标后,你令此牌对你无效。', re_fazheng:'界法正', + re_fazheng_prefix:'界', reenyuan:'恩怨', reenyuan1:'恩怨', reenyuan2:'恩怨', @@ -14829,14 +14891,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){ rexuanhuo:'眩惑', rexuanhuo_info:'摸牌阶段结束时,你可以交给一名其他角色两张手牌,然后该角色选择一项:1. 视为对你选择的另一名角色使用任意一种【杀】或【决斗】,2. 交给你所有手牌。', re_fuhuanghou:'界伏寿', + re_fuhuanghou_prefix:'界', reqiuyuan:'求援', reqiuyuan_info:'当你成为【杀】的目标时,你可选择另一名其他角色。除非该角色交给你一张除【杀】以外的基本牌,否则其也成为此【杀】的目标且该角色不能响应此【杀】。', rezhuikong:'惴恐', rezhuikong_info:'其他角色的回合开始时,若你已受伤,你可与其拼点:若你赢,本回合该角色只能对自己使用牌;若你没赢,你获得其拼点的牌,然后其视为对你使用一张【杀】。', re_gongsunyuan:'界公孙渊', + re_gongsunyuan_prefix:'界', rehuaiyi:'怀异', rehuaiyi_info:'出牌阶段限一次,你可以展示所有手牌,若这些牌的颜色:全部相同,你摸一张牌,并将此技能于本阶段内改为“限两次”,然后终止此技能的结算流程;不全部相同,则你选择一种颜色并弃置该颜色的所有手牌,然后你可以获得至多X名角色的各一张牌(X为你以此法弃置的手牌数)。若你以此法得到的牌不少于两张,则你失去1点体力。', re_caozhen:'界曹真', + re_caozhen_prefix:'界', residi:'司敌', residi_push:'司敌', residi2:'司敌', @@ -14844,7 +14909,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ residi_info:'结束阶段,你可以将一张非基本牌置于武将牌上,称为“司”。其他角色的出牌阶段开始时,你可以移去一张“司”。若如此做,其本阶段内不能使用或打出与“司”颜色相同的牌。此阶段结束时,若其于此阶段内未使用过:【杀】,你视为对其使用一张【杀】。锦囊牌,你摸两张牌。', gz_re_xushu:'徐庶', re_zhangchunhua:'界张春华', + re_zhangchunhua_prefix:'界', xin_handang:'界韩当', + xin_handang_prefix:'界', xingongji:'弓骑', xingongji2:'弓骑', xingongji_info:'出牌阶段限一次,你可以弃置一张牌,然后你的攻击范围视为无限且使用与此牌花色相同的【杀】无次数限制直到回合结束。若你以此法弃置的牌为装备牌,则你可以弃置一名其他角色的一张牌。', @@ -14856,9 +14923,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ gzpaiyi_backup:'排异', gzpaiyi_info:'出牌阶段限一次。你可以移去一张“权”并选择一名角色。令其摸X张牌(X为你的“权”数且至多为7)。然后若其手牌数大于你,则你对其造成1点伤害。', ol_zhurong:'界祝融', + ol_zhurong_prefix:'界', changbiao:'长标', changbiao_info:'出牌阶段限一次,你可以将任意张手牌当做【杀】使用(无距离限制)。若你因此【杀】对目标角色造成过伤害,则你于出牌阶段结束时摸X张牌(X为此【杀】对应的实体牌数量)。', re_zhoucang:'界周仓', + re_zhoucang_prefix:'界', rezhongyong:'忠勇', rezhongyong_info:'当你使用【杀】后,你可以将此【杀】以及目标角色使用的【闪】交给一名其他角色,若其获得的牌中有红色,则其可以对你攻击范围内的角色使用一张【杀】。若其获得的牌中有黑色,其摸一张牌。', ollihuo:'疠火', @@ -14868,7 +14937,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ollihuo_info:'你使用普通的【杀】可以改为火【杀】,若此【杀】造成过伤害,你失去1点体力;你使用火【杀】可以多选择一个目标。你每回合使用的第一张牌如果是【杀】,则此【杀】结算完毕后可置于你的武将牌上。', xinjiangchi:'将驰', xinjiangchi_info:'出牌阶段开始时,你可选择:①摸一张牌。②摸两张牌,然后本回合内不能使用或打出【杀】。③弃置一张牌,然后本回合内可以多使用一张【杀】,且使用【杀】无距离限制。', - re_chenqun:'手杀陈群', redingpin:'定品', redingpin_info:'出牌阶段,你可以弃置一张本回合未使用过/弃置过的类型的牌并选择一名角色。其进行判定,若结果为:黑色,其摸X张牌(X为其体力值且至多为3)且本回合内不能再成为〖定品〗的目标;红桃,你令此次弃置的牌不计入〖定品〗弃置牌合法性的检测;方片,你将武将牌翻面。', refaen:'法恩', @@ -14878,10 +14946,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ reshizhi:'矢志', reshizhi_info:'锁定技,若你的体力值为1,则你的【闪】视为【杀】,且当你使用对应的实体牌为一张【闪】的非转化普通杀造成伤害后,你回复1点体力。', re_guotufengji:'界郭图逢纪', + re_guotufengji_prefix:'界', rejigong:'急攻', rejigong2:'急攻', rejigong_info:'出牌阶段开始时,你可以摸至多三张牌。若如此做,你本回合的手牌上限基数改为X,且弃牌阶段结束时,若X不小于Y,则你回复1点体力。(X为你本回合内造成的伤害值之和,Y为你本回合内因〖急攻〗摸牌而得到的牌的数量总和)', ol_jiangwei:'界姜维', + ol_jiangwei_prefix:'界', oltiaoxin:'挑衅', oltiaoxin_info:'出牌阶段限一次,你可以选择一名攻击范围内包含你的角色。然后除非该角色对你使用一张【杀】且此【杀】对你造成伤害,否则你弃置其一张牌,然后将此技能于此出牌阶段内修改为出牌阶段限两次。 ', olzhiji:'志继', @@ -14891,16 +14961,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){ decadejingce:'精策', decadejingce_info:'结束阶段,若你本回合使用过的牌数不小于你的体力值,则你可执行一个摸牌阶段或出牌阶段;若这些牌包含的花色数也不小于你的体力值,则你将“或”改为“并”。', re_guanping:'界关平', + re_guanping_prefix:'界', relongyin:'龙吟', relongyin_info:'当一名角色于其出牌阶段内使用【杀】时,你可弃置一张牌令此【杀】不计入出牌阶段使用次数。若此【杀】为红色,则你摸一张牌;若你以此法弃置的牌与此【杀】点数相同,则你重置“竭忠”。', jiezhong:'竭忠', jiezhong_info:'限定技,出牌阶段开始时,你可以将手牌补至体力上限(至多摸五张)。', re_caifuren:'界蔡夫人', + re_caifuren_prefix:'界', reqieting:'窃听', reqieting_info:'其他角色的回合结束时,若其本回合内未造成过伤害,则你可将其装备区内的一张牌置于你的装备区内;若其本回合内未对其他角色使用过牌,则你可摸一张牌。', rexianzhou:'献州', rexianzhou_info:'限定技。出牌阶段,你可将装备区内的所有牌交给一名其他角色。你回复X点体力,然后对其攻击范围内的至多X名角色各造成1点伤害(X为你以此法给出的牌数)。', xin_zhonghui:'界钟会', + xin_zhonghui_prefix:'界', xinquanji:'权计', xinquanji_info:'①当你受到1点伤害后,或其他角色不因你的赠予或交给而得到你的牌后,你可以摸一张牌,然后将一张手牌置于武将牌上,称为“权”。②你的手牌上限+X(X为“权”的数量)。', xinzili:'自立', @@ -14909,11 +14982,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xinpaiyi_backup:'排异', xinpaiyi_info:'出牌阶段每项各限一次,你可移去一张“权”并选择一项:①令一名角色摸X张牌。②对至多X名角色各造成1点伤害。(X为“权”数)', re_guyong:'界顾雍', + re_guyong_prefix:'界', reshenxing:'慎行', reshenxing_info:'出牌阶段,你可以弃置X张牌(X为你本阶段内发动过〖慎行〗的次数且至少为0,至多为2),然后摸一张牌。', rebingyi:'秉壹', rebingyi_info:'结束阶段,你可展示所有手牌。若这些牌:颜色均相同,则你可以令至多X名角色各摸一张牌(X为你的手牌数);点数均相同,则你摸一张牌。', re_jiaxu:'界贾诩', + re_jiaxu_prefix:'界', rewansha:'完杀', rewansha_info:'锁定技。①你的回合内,不处于濒死状态的其他角色不能使用【桃】。②当有角色于你的回合内进入濒死状态时,你令其以外的所有其他角色的非锁定技失效直到此濒死状态结算结束。', reluanwu:'乱武', @@ -14921,6 +14996,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ reweimu:'帷幕', reweimu_info:'锁定技。①你不能成为黑色锦囊牌的目标。②当你于回合内受到伤害时,你防止此伤害并摸2X张牌(X为伤害值)。', ol_lusu:'界鲁肃', + ol_lusu_prefix:'界', olhaoshi:'好施', olhaoshi_info:'摸牌阶段开始时,你可以多摸两张牌。然后摸牌阶段结束时,若你的手牌数大于5,则你将手牌数的一半(向下取整)交给一名手牌最少其他角色并获得如下效果直到你下回合开始:当你成为【杀】或普通锦囊牌的目标后,其可以交给你一张手牌。', oldimeng:'缔盟', @@ -14931,11 +15007,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ rejijiang2:'激将', rejijiang_info:'主公技。①当你需要使用或打出【杀】时,你可以令其他蜀势力角色依次选择是否打出一张【杀】。若有角色响应,则你视为使用或打出了此【杀】。②每回合限一次。当有蜀势力角色于回合外使用或打出【杀】时,其可以令你摸一张牌。', xin_yufan:'界虞翻', + xin_yufan_prefix:'界', xinzongxuan:'纵玄', xinzongxuan_info:'当你的牌因弃置而进入弃牌堆后,你可将其中的任意张牌置于牌堆顶。若剩余的牌中有锦囊牌,则你可以令一名其他角色获得其中的一张。', xinzhiyan:'直言', xinzhiyan_info:'结束阶段开始时,你可令一名角色摸一张牌(正面朝上移动)。若此牌为基本牌,则你摸一张牌。若此牌为装备牌,则其回复1点体力并使用此装备牌。', re_xiahoushi:'界夏侯氏', + re_xiahoushi_prefix:'界', reqiaoshi:'樵拾', reqiaoshi_info:'其他角色的结束阶段开始时,若你的手牌数与其相等,则你可以与其各摸一张牌。若这两张牌花色相同,则你可以重复此步骤。', reyanyu:'燕语', @@ -14944,14 +15022,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){ rehujia:'护驾', rehujia_info:'主公技。①当你需要使用或打出一张【闪】时,你可以令其他魏势力角色选择是否打出一张【闪】。若有角色响应,则你视为使用或打出了一张【闪】。②每回合限一次。当有魏势力角色于回合外使用或打出【闪】时,其可以令你摸一张牌。', ol_xuhuang:'界徐晃', + ol_xuhuang_prefix:'界', olduanliang:'断粮', olduanliang_info:'你可以将一张黑色非锦囊牌当做【兵粮寸断】使用。若你于当前回合内未造成过伤害,则你使用【兵粮寸断】无距离限制。', oljiezi:'截辎', oljiezi_info:'①当有角色跳过摸牌阶段后,你可选择一名角色。若该角色:手牌数为全场最少且没有“辎”,则其获得一枚“辎”。否则其摸一张牌。②一名角色的摸牌阶段结束时,若其有“辎”,则你移去其“辎”,然后令其获得一个额外的摸牌阶段。', re_madai:'界马岱', + re_madai_prefix:'界', reqianxi:'潜袭', reqianxi_info:'准备阶段开始时,你可摸一张牌,然后弃置一张牌并选择一名距离为1的其他角色。该角色于本回合内:{不能使用或打出与此牌颜色相同的牌,且其装备区内与此牌颜色相同的防具牌无效,且当其回复体力时,你摸两张牌。}', re_guohuanghou:'界郭皇后', + re_guohuanghou_prefix:'界', rejiaozhao:'矫诏', rejiaozhao_info:'出牌阶段限一次。你可以展示一张手牌,并令一名距离你最近的角色选择一种基本牌或普通锦囊牌的牌名。你可将此牌当做其声明的牌使用直到此阶段结束(你不是此牌的合法目标)。', rejiaozhao_lv2:'矫诏·升级 Lv.1', @@ -14961,6 +15042,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ redanxin:'殚心', redanxin_info:'当你受到伤害后,你可以摸一张牌并升级〖矫诏〗。', xin_wuguotai:'界吴国太', + xin_wuguotai_prefix:'界', xinganlu:'甘露', xinganlu_info:'出牌阶段限一次。你可以令两名角色交换装备区内的牌,然后若这两名角色装备区内牌数差的绝对值大于你已损失的体力值,则你弃置两张手牌。', xinbuyi:'补益', @@ -14971,6 +15053,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ decadejinjiu:'禁酒', decadejinjiu_info:'锁定技。你的【酒】的牌名均视为【杀】且点数视为K;你的回合内,其他角色不能使用【酒】。', dc_xushu:'界徐庶', + dc_xushu_prefix:'界', rezhuhai:'诛害', rezhuhai_info:'其他角色的回合结束时,若其本回合内造成过伤害,则你可以选择一项:⒈将一张手牌当做【杀】对其使用。⒉视为对其使用一张【过河拆桥】。', xsqianxin:'潜心', @@ -14978,29 +15061,35 @@ game.import('character',function(lib,game,ui,get,ai,_status){ rejianyan:'荐言', rejianyan_info:'出牌阶段每项各限一次。你可选择一种颜色或一种牌的类别,然后系统从牌堆中检索出一张满足该条件的牌并展示之。然后你将此牌交给一名男性角色或Key势力角色。', re_zhanghe:'界张郃', + re_zhanghe_prefix:'界', reqiaobian:'巧变', reqiaobian_info:'①游戏开始时,你获得两枚“变”。②判定阶段开始时,你可弃置一张牌或一枚“变”并跳过此阶段。③摸牌阶段开始时,你可弃置一张牌或一枚“变”并跳过此阶段,然后可以获得至多两名其他角色的各一张手牌。④出牌阶段开始时,你可弃置一张牌或一枚“变”并跳过此阶段,然后你可以移动场上的一张牌。⑤弃牌阶段开始时,你可弃置一张牌或一枚“变”并跳过此阶段。⑥结束阶段,若你的〖巧变⑥〗记录中不包含你的手牌数,则你获得一枚“变”并记录你的手牌数。', olbeige:'悲歌', olbeige_info:'当有角色受到渠道为【杀】的伤害后,若你有牌,你可令其进行判定。然后你可弃置一张牌,根据判定结果执行以下的一个选项:♥,其回复1点体力;♦,其摸两张牌;♣,伤害来源弃置两张牌️;♠,伤害来源将武将牌翻面。若你弃置的牌与判定结果:点数相同,则你获得你弃置的牌;花色相同,则你获得判定牌。', dc_bulianshi:'界步练师', + dc_bulianshi_prefix:'界', dcanxu:'安恤', dcanxu_info:'出牌阶段限一次,你可以选择两名手牌数不同的其他角色,令其中手牌少的角色获得手牌多的角色的一张手牌并展示之。然后若此牌不为黑桃,则你摸一张牌;若这两名角色手牌数相等,则你回复1点体力。', dczhuiyi:'追忆', dczhuiyi_info:'当你死亡时,你可以令一名不为击杀者的其他角色摸X张牌(X为存活角色数),然后其回复1点体力。', re_jushou:'界沮授', + re_jushou_prefix:'界', dcshibei:'矢北', dcshibei_info:'锁定技,当你于一回合内第一次受到伤害后,你回复1点体力;当你于一回合内第二次受到伤害后,你失去1点体力。', dcjianying:'渐营', dcjianying_info:'当你使用与你使用的上一张牌点数或花色相同的牌时,你可以摸一张牌。', re_duji:'界杜畿', + re_duji_prefix:'界', reandong:'安东', reandong_info:'当你受到其他角色造成的伤害时,你可以令伤害来源选择一项:⒈防止此伤害。然后其♥牌不计入本回合的手牌上限;⒉你观看其手牌并获得其中的所有♥牌,若其没有手牌,则你下次发动〖安东〗时改为自行选择。', reyingshi:'应势', reyingshi_info:'出牌阶段开始时,你可以展示一张手牌,选择一名角色A和一名其他角色B。A可以对B使用一张【杀】,然后获得你展示的牌。若A因此【杀】造成过伤害,则A获得牌堆中与展示牌花色点数相同的其他牌。', dcqiaomeng:'趫猛', dcqiaomeng_info:'当你使用黑色牌指定第一个目标后,你可以弃置目标角色中一名其他角色的一张牌。若你以此法弃置的牌为:装备牌,你获得此牌;锦囊牌,你令此牌不可被响应。', - dc_gongsunzan:'界公孙瓒', + dc_gongsunzan:'新杀公孙瓒', + dc_gongsunzan_prefix:'新杀', re_liuchen:'界刘谌', + re_liuchen_prefix:'界', rezhanjue:'战绝', rezhanjue_effect:'战绝', rezhanjue_info:'出牌阶段,若你本阶段内因〖战绝〗得到过的牌数小于3,则你可以将所有不具有“勤王”标记的手牌当做【决斗】使用。此【决斗】使用结算结束后,你摸一张牌。然后所有因此【决斗】受到过伤害的角色也各摸一张牌。', @@ -15009,28 +15098,33 @@ game.import('character',function(lib,game,ui,get,ai,_status){ shizhan:'势斩', shizhan_info:'出牌阶段限两次,你可以选择一名其他角色。该角色视为对你使用一张【决斗】。', ol_xunyu:'界荀彧', + ol_xunyu_prefix:'界', oljieming:'节命', oljieming_info:'当你受到1点伤害后或死亡时,你可令一名角色摸X张牌。然后若其手牌数大于X,则其将手牌弃置至X张(X为其体力上限且至多为5)。', re_liufeng:'界刘封', + re_liufeng_prefix:'界', rexiansi:'陷嗣', rexiansi2:'陷嗣', rexiansi_info:'①准备阶段开始时,你可以将一至两名角色的各一张牌置于你的武将牌上,称为“逆”。②当一名角色需要对你使用【杀】时,其可以移去两张“逆”,然后视为对你使用一张【杀】。③若你的“逆”数大于体力值,则你可以移去一张“逆”并视为使用一张【杀】。', re_sp_taishici:'界SP太史慈', - re_sp_taishici_ab:'太史慈', + re_sp_taishici_prefix:'界SP', rejixu:"击虚", rejixu_info:"出牌阶段限一次。若你有手牌,则你可以选择至多X名角色,令这些角色猜测你的手牌区中是否有【杀】。若你:有【杀】,则你本阶段使用【杀】的次数上限+Y,且当你于本阶段内使用【杀】指定目标后,你可以令这Y名角色也成为此【杀】的目标;没有【杀】,则你弃置这Y名角色的各一张牌。然后你摸Y张牌(X为你的体力值,Y为这些角色中猜错的角色数)。", ol_dianwei:'界典韦', + ol_dianwei_prefix:'界', olqiangxi:'强袭', olqiangxi_info:'出牌阶段限两次。你可以弃置一张武器牌或受到1点无来源伤害,然后对一名本回合内未成为过〖强袭〗目标的其他角色造成1点伤害。', olningwu:'狞恶', olningwu_info:'锁定技。当一名角色A于一回合内第二次受到伤害后,若A或伤害来源为你,则你摸一张牌,然后弃置其装备区或判定区内的一张牌。', re_zhuhuan:'界朱桓', + re_zhuhuan_prefix:'界', refenli:'奋励', refenli_info:'若你的手牌数为全场最多,你可以跳过判定阶段和摸牌阶段;若你的体力值为全场最多,你可以跳过出牌阶段;若你的装备区里有牌且数量为全场最多,你可以跳过弃牌阶段。', //破界石不值钱了 就逮着免费突破硬削是吧 repingkou:'平寇', repingkou_info:'回合结束时,你可以对至多X名其他角色各造成1点伤害(X为你本回合跳过的阶段数)。若你选择的角色数小于X,则你可以弃置其中一名角色装备区内的一张牌', dc_liru:'界李儒', + dc_liru_prefix:'界', dcmieji:'灭计', dcmieji_info:'出牌阶段限一次,你可以展示一张武器牌或黑色锦囊牌。你将此牌置于牌堆顶,然后令一名有手牌的其他角色选择一项:⒈弃置一张锦囊牌;⒉依次弃置两张非锦囊牌。', dcfencheng:'焚城', @@ -15038,38 +15132,48 @@ game.import('character',function(lib,game,ui,get,ai,_status){ oljiang:'激昂', oljiang_info:'①当你使用【决斗】或红色【杀】指定第一个目标后,或成为【决斗】或红色【杀】的目标后,你可以摸一张牌。②当有【决斗】或红色【杀】于每回合内首次因弃置而进入弃牌堆后,你可以失去1点体力并获得这些牌。', re_xunyou:'界荀攸', + re_xunyou_prefix:'界', reqice:'奇策', reqice_info:'出牌阶段限X次(X为你的“奇策”数+1),你可以将所有手牌当做任意一张普通锦囊牌使用。', rezhiyu:'智愚', rezhiyu_info:'当你受到伤害后,你可以摸一张牌,然后展示所有手牌,令伤害来源弃置一张手牌。若你展示的牌颜色均相同,你获得1枚“奇策”直到下回合结束且获得来源弃置的牌。', re_caiyong:'界蔡邕', + re_caiyong_prefix:'界', rebizhuan:'辟撰', rebizhuan_bg:'书', rebizhuan_info:'①当你使用♠牌时,或成为其他角色使用♠牌的目标后,你可以将牌堆顶的一张牌置于武将牌上,称为“书”(你至多拥有四张“书”)。②你的手牌上限+X(X为“书”数)。', retongbo:'通博', retongbo_info:'摸牌阶段结束时,你可以用任意手牌交换等量“书”。然后若“书”数至少为4,你可以将四张“书”任意交给其他角色。若你交出的牌花色各不相同,你回复1点体力且“书”的上限+1(至多增加等同存活角色数的上限)。', re_chengong:'界陈宫', + re_chengong_prefix:'界', remingce:'明策', remingce_info:'出牌阶段限一次。你可以将一张【杀】或装备牌交给一名其他角色,其选择一项:1.视为对你选择的另一名角色使用一张【杀】,且若此牌造成伤害,则执行选项2;2.你与其各摸一张牌。', re_sundeng:'界孙登', + re_sundeng_prefix:'界', rekuangbi:'匡弼', rekuangbi_info:'出牌阶段开始时,你可以令一名其他角色将至多三张牌置于你的武将牌上直到此阶段结束。然后当你使用牌时,若你:有与此牌花色相同的“匡弼”牌,你移去其中一张并与其各摸一张牌;没有与此牌花色相同的“匡弼”牌,你随机移去一张“匡弼”牌并摸一张牌。', dc_chenqun:'界陈群', + dc_chenqun_prefix:'界', repindi:'品第', repindi_info:'出牌阶段每名角色限一次。你可以弃置一张本阶段未以此法弃置过的类型的牌并选择一名角色,你选择一项:1.其摸X张牌;2.其弃置X张牌(X为你本回合发动〖品第〗的次数)。然后若其已受伤,你横置或重置。', re_mazhong:'界马忠', + re_mazhong_prefix:'界', refuman:'抚蛮', refuman_info:'出牌阶段每名角色限一次。你可以弃置一张牌,令一名其他角色从弃牌堆中获得一张【杀】。然后其于其下个回合结束前使用或打出此牌时,你与其各摸一张牌。', re_guanzhang:'界关兴张苞', + re_guanzhang_prefix:'界', retongxin:'同心', retongxin_info:'锁定技。你的攻击范围+2。', re_wenpin:'界文聘', + re_wenpin_prefix:'界', rezhenwei:'镇卫', rezhenwei_info:'当一名其他角色成为【杀】或黑色锦囊牌的目标时,若该角色的体力值不大于你且此牌的目标角色数为1,你可以弃置一张牌并选择一项:1.摸一张牌,然后将此【杀】或黑色锦囊牌的目标转移给你;2.令此【杀】或黑色锦囊牌无效且将此【杀】或黑色锦囊牌置于使用者的武将牌上,然后当前回合结束后,使用者获得这些牌。', ol_huangzhong:'界黄忠', + ol_huangzhong_prefix:'界', remoshi:'没矢', remoshi_info:'锁定技。①当你使用【杀】对目标角色造成伤害后,若其装备区里有防具牌或坐骑牌,你将此【杀】对应的实体牌置于其武将牌上。②当有“没矢”牌的角色失去防具牌或坐骑牌后,你获得其“没矢”牌。', dc_caozhi:'界曹植', + dc_caozhi_prefix:'界', dcjiushi:'酒诗', dcjiushi_info:'①当你需要使用【酒】时,若你的武将牌正面向上,你可以翻面,视为使用一张【酒】。②当你受到伤害后,若你的武将牌于受到伤害时背面向上,你可以翻面。③当你使用【酒】后,你使用【杀】的次数上限+1直到你的下个回合结束。', olhuoji:'火计', @@ -15079,44 +15183,53 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xinwangxi:'忘隙', xinwangxi_info:'当你对其他角色造成1点伤害后,或受到其他角色造成的1点伤害后,你可以摸两张牌,然后交给其一张牌。', ol_yanwen:'界颜良文丑', + ol_yanwen_prefix:'界', olshuangxiong:'双雄', olshuangxiong_info:'①摸牌阶段结束时,你可以弃置一张牌。若如此做,你本回合内可以将一张与此牌颜色不同的牌当做【决斗】使用。②结束阶段,你从弃牌堆中获得本回合内对你造成伤害的所有牌。', re_zhuzhi:'界朱治', + re_zhuzhi_prefix:'界', reanguo:'安国', reanguo_info:'出牌阶段限一次。你可以选择一名其他角色,若其:手牌数为全场最少,其摸一张牌;体力值为全场最低,其回复1点体力;装备区内牌数为全场最少,其随机使用一张装备牌。然后若该角色有未执行的效果且你满足条件,你执行之。若你与其执行了全部分支,你可以重铸任意张牌。', dcyicong:'义从', dcyicong_info:'锁定技。①你至其他角色的距离-1。②若你已损失的体力值不小于2,则其他角色至你的距离+1。', re_zhangsong:'界张松', + re_zhangsong_prefix:'界', rexiantu:'献图', rexiantu_info:'其他角色的出牌阶段开始时,你可以摸两张牌,然后将两张牌交给该角色。然后此阶段结束时,若其于此阶段没有造成过伤害,你失去1点体力。', re_jsp_huangyueying:'界SP黄月英', - re_jsp_huangyueying_ab:'黄月英', + re_jsp_huangyueying_prefix:'界SP', rejiqiao:'机巧', rejiqiao_info:'出牌阶段开始时,你可以弃置任意张牌,然后亮出牌堆顶X张牌(X为你以此法弃置的牌数与其中装备牌数之和),你获得其中所有非装备牌。', relinglong:'玲珑', relinglong_info:'锁定技。若你的装备区:有空置的防具栏,你视为拥有〖八卦阵〗;有空置的两种坐骑栏,你的手牌上限+2;有空置的宝物栏,你视为拥有〖奇才〗;以上均满足:你使用的【杀】或普通锦囊牌不可被响应。', ol_zhangzhang:'界张昭张纮', + ol_zhangzhang_prefix:'界', olzhijian:'直谏', olzhijian_info:'出牌阶段,你可以将一张装备牌置于其他角色的装备区(可替换原装备),然后摸一张牌。', olguzheng:'固政', olguzheng_info:'每阶段限一次。当其他角色的至少两张牌因弃置而进入弃牌堆后,你可以令其获得其中一张牌,然后你可以获得剩余的牌。', re_caochong:'界曹冲', + re_caochong_prefix:'界', rechengxiang:'称象', rechengxiang_info:'当你受到伤害后,你可以亮出牌堆顶的四张牌。然后获得其中任意数量点数之和不大于13的牌。若你得到的牌点数之和为13,你复原武将牌。', re_caorui:'界曹叡', + re_caorui_prefix:'界', rexingshuai:'兴衰', rexingshuai_info:'主公技,限定技。当你进入濒死状态时,你可令其他魏势力角色依次选择是否令你回复1点体力。然后这些角色依次受到1点伤害。有〖明鉴〗效果的角色于其回合内杀死角色后,你重置〖兴衰〗。', xin_zhangliang:'界张梁', + xin_zhangliang_prefix:'界', rejijun:'集军', rejijun_info:'当你使用目标角色含有自己的牌结算完毕后,你可以进行一次判定并将判定牌置于武将牌上,称为“方”。', refangtong:'方统', refangtong_info:'结束阶段,你可以将一张手牌置于武将牌上,称为“方”。若如此做,你可以移去任意张“方”并对一名其他角色造成1点雷属性伤害(若你移去的“方”的点数和大于36,则改为造成3点雷属性伤害)。', re_simalang:'界司马朗', + re_simalang_prefix:'界', requji:'去疾', requji_info:'出牌阶段限一次,你可以弃置至多X张牌并令等量名角色回复1点体力,然后仍处于受伤状态的目标角色摸一张牌,若你以此法弃置了黑色牌,你失去1点体力。', rejunbing:'郡兵', rejunbing_info:'一名角色的结束阶段,若其手牌数小于其体力值,其可以摸一张牌并将所有手牌交给你,然后你可以交给其等量的牌。', re_zhugedan:'界诸葛诞', + re_zhugedan_prefix:'界', regongao:'功獒', regongao_info:'锁定技。一名其他角色首次进入濒死状态时,你增加1点体力上限,然后回复1点体力。', rejuyi:'举义', @@ -15124,8 +15237,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ reweizhong:'威重', reweizhong_info:'锁定技。当你的体力上限增加或减少时,你摸两张牌。', re_zhongyao:'界钟繇', + re_zhongyao_prefix:'界', rehuomo:'活墨', rehuomo_info:'每种牌名每回合限一次。当你需要使用一张基本牌时,你可以将一张黑色非基本牌置于牌堆顶,视为使用此基本牌。', + zhoutai:'界周泰', + zhoutai_prefix:'界', + caoren:'界曹仁', + caoren_prefix:'界', refresh_standard:'界限突破·标', refresh_feng:'界限突破·风', diff --git a/character/sb.js b/character/sb.js index 92075ecaab..f11ea3c0b4 100644 --- a/character/sb.js +++ b/character/sb.js @@ -42,7 +42,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ characterSort:{ sb:{ sb_zhi:['sb_sunquan','sb_zhouyu','sb_zhangjiao','sb_caocao','sb_zhenji','sb_liubei','sb_daqiao','sb_liubiao'], - sb_shi:['sb_xuhuang','sb_machao','sb_fazheng','sb_chengong','sb_diaochan','sb_pangtong'], + sb_shi:['sb_xuhuang','sb_machao','sb_fazheng','sb_chengong','sb_diaochan','sb_pangtong','sb_zhanghe'], sb_tong:['liucheng','sp_yangwan','sb_xiahoushi','sb_zhangfei','sb_zhaoyun','sb_sunce','sb_zhurong'], sb_yu:['sb_yujin','sb_lvmeng','sb_huangzhong','sb_huanggai','sb_zhouyu','sb_caoren','sb_ganning'], sb_neng:['sb_huaxiong','sb_sunshangxiang','sb_jiangwei','sb_yuanshao','sb_menghuo'], @@ -768,9 +768,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sblijian:{ audio:2, enable:'phaseUse', - usable:1, filter:function(event,player){ - return game.countPlayer(current=>{ + return !player.getStat('skill').sblijian&&game.countPlayer(current=>{ return current!=player; })>1; }, @@ -784,6 +783,69 @@ game.import('character',function(lib,game,ui,get,ai,_status){ filterOk:function(){ return ui.selected.targets.length==ui.selected.cards.length+1; }, + check:function(card){ + let player=get.owner(card),targets=lib.skill.sblijian.selectTargetAi(_status.event,player); + if(ui.selected.cards.lengthcurrent!==player),temp; + for(let i of players){ + temp=get.attitude(event.player,i); + if(temp1){ + let list=[game.createCard('sha'),game.createCard('shan')]; + vp=ui.create.player().init('sunce'); + vp.hp=2; + vp.skills=[]; + game.players.push(vp); + if(typeof id==='string'){ + if(id.endsWith('zhu')||id.endsWith('Zhu')) id=id.slice(0,-1)+'ong'; + vp.identity=id; + vp.showIdentity(); + } + else vp.side=id[0].side; + vp.directgain(list,false); + for(let i of players){ + temp=get.effect(i,{name:'juedou',isCard:true},vp,event.player)+get.effect(vp,{name:'juedou',isCard:true},i,event.player); + if(temp>=0) targets.push([i,temp]); + } + game.cardsGotoSpecial(list); + game.players.remove(vp); + } + else{ + vp=vp[0]; + for(let i of players){ + temp=get.effect(i,{name:'juedou',isCard:true},vp,event.player)+get.effect(vp,{name:'juedou',isCard:true},i,event.player); + if(temp>=0) targets.push([i,temp]); + } + } + for(let i=0;i0&&targets[i][1]<2.5*temp&&targets.length>2) targets.splice(i--,1); + else targets[i].push(temp); + } + targets.sort((a,b)=>{ + let att1=get.sgn(get.attitude(event.player,a[0])),att2=get.sgn(get.attitude(event.player,b[0])); + if(att1!==att2) return att1-att2; + return b[1]-a[1]; + }); + targets=targets.slice(0,player.countCards('he')+1); + event.putTempCache('sblijian','targets',targets); + return targets.length; + }, multiline:true, content:function(){ var targetx=targets.slice().sortBySeat(target)[1]; @@ -793,7 +855,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ai:{ threaten:3, order:7, - result:{target:-1} + result:{ + player:function(player,target){ + let targets=_status.event.getTempCache('sblijian','targets'); + if(!Array.isArray(targets)) return 0; + if(targets.length>2&&!player.hasSkill('sbbiyue')) return 0; + for(let i=0;i0) return targets[i][1]/5; + return -targets[i][1]; + } + } + return 0; + } + if(ui.selected.targets.length){ + let tars=ui.selected.targets.concat([target]).sortBySeat(); + for(let i=0;ii!==card&&(!card.cards||!card.cards.contains(i))),num=player.getCardUsable('sha'); + if(card.name!=='sha'&&card.name!=='juedou'||hs.length0; + })) return 1; + if(card.name==='sha') num--; + hs=hs.filter(i=>{ + if(i.name==='juedou') return true; + if(num&&i.name==='sha'){ + num--; + return true; + } + return false; + }); + if(!hs.length) return 'zeroplayertarget'; + num=1-2/3/hs.length; + return [num,0,num,0]; + } + } + } }, "drlt_qianjie":{ group:["drlt_qianjie_1","drlt_qianjie_2","drlt_qianjie_3"], @@ -3312,19 +3337,23 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, ai:{ effect:{ - target:function(card,player,target,current){ + target_use:function(card,player,target,current){ if(card.name=='sha'&&get.attitude(player,target)<0){ if(_status.event.name=='xiangle') return; + if(get.attitude(player,target)>0&¤t<0) return 'zerotarget'; var bs=player.getCards('h',{type:'basic'}); - if(bs.length<2) return 0; + bs.remove(card); + if(card.cards) bs.removeArray(card.cards); + else bs.removeArray(ui.selected.cards); + if(!bs.length) return 'zerotarget'; if(player.hasSkill('jiu')||player.hasSkill('tianxianjiu')) return; - if(bs.length<=3&&player.countCards('h','sha')<=1){ + if(bs.length<=2){ for(var i=0;i{ + const categories=get.skillCategoriesOf(skill); + return !categories.some(type=>lib.skill.rehuashen.bannedType.includes(type)); + }) if(skills.length){ player.storage.huashen.owned[name]=skills; _status.characterlist.remove(name); @@ -7681,45 +7708,45 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, characterReplace:{ - caoren:['caoren','new_caoren','old_caoren'], + caoren:['caoren','old_caoren','sb_caoren','new_caoren'], sp_caoren:['sp_caoren','jsp_caoren'], - xiahouyuan:['ol_xiahouyuan','re_xiahouyuan','xiahouyuan'], - huangzhong:['ol_huangzhong','re_huangzhong','huangzhong'], - weiyan:['ol_weiyan','re_weiyan','weiyan'], + xiahouyuan:['re_xiahouyuan','ol_xiahouyuan','xiahouyuan'], + huangzhong:['re_huangzhong','ol_huangzhong','sb_huangzhong','huangzhong'], + weiyan:['re_weiyan','ol_weiyan','weiyan'], zhoutai:['zhoutai','xin_zhoutai','old_zhoutai'], - xiaoqiao:['ol_xiaoqiao','re_xiaoqiao','xiaoqiao','old_xiaoqiao'], + xiaoqiao:['xiaoqiao','ol_xiaoqiao','re_xiaoqiao','old_xiaoqiao'], yuji:['xin_yuji','re_yuji','yuji'], - zhangjiao:['re_zhangjiao','sp_zhangjiao','zhangjiao'], - dianwei:['ol_dianwei','re_dianwei','dianwei'], - xunyu:['ol_xunyu','re_xunyu','xunyu'], - sp_zhugeliang:['ol_sp_zhugeliang','re_sp_zhugeliang','sp_zhugeliang'], - pangtong:['ol_pangtong','re_pangtong','pangtong'], + zhangjiao:['sp_zhangjiao','re_zhangjiao','sb_zhangjiao','zhangjiao'], + dianwei:['dianwei','ol_dianwei','re_dianwei'], + xunyu:['xunyu','ol_xunyu','re_xunyu'], + sp_zhugeliang:['sp_zhugeliang','ol_sp_zhugeliang','re_sp_zhugeliang'], + pangtong:['pangtong','ol_pangtong','re_pangtong','sb_pangtong'], re_jsp_pangtong:['re_jsp_pangtong','sp_pangtong'], - taishici:['re_taishici','taishici'], - re_yuanshao:['ol_yuanshao','re_yuanshao','xin_yuanshao'], - pangde:['ol_pangde','re_pangde','pangde'], - yanwen:['ol_yanwen','re_yanwen','yanwen'], + taishici:['taishici','re_taishici'], + re_yuanshao:['re_yuanshao','ol_yuanshao','xin_yuanshao','sb_yuanshao'], + pangde:['re_pangde','ol_pangde','pangde'], + yanwen:['yanwen','ol_yanwen','re_yanwen'], caopi:['caopi','re_caopi','ps_caopi'], - xuhuang:['ol_xuhuang','re_xuhuang','xuhuang'], - menghuo:['re_menghuo','menghuo'], - zhurong:['re_zhurong','ol_zhurong','zhurong'], - sunjian:['ol_sunjian','re_sunjian','sunjian'], - jiaxu:['re_jiaxu','jiaxu','ns_jiaxu','ps_jiaxu'], - dongzhuo:['ol_dongzhuo','sp_dongzhuo','re_dongzhuo','dongzhuo','yj_dongzhuo'], - dengai:['re_dengai','ol_dengai','dengai'], + xuhuang:['re_xuhuang','ol_xuhuang','sb_xuhuang','xuhuang'], + menghuo:['menghuo','re_menghuo','sb_menghuo'], + zhurong:['zhurong','ol_zhurong','re_zhurong','sb_zhurong'], + sunjian:['sunjian','ol_sunjian','re_sunjian'], + jiaxu:['jiaxu','re_jiaxu','ns_jiaxu','ps_jiaxu'], + dongzhuo:['dongzhuo','ol_dongzhuo','re_dongzhuo','sp_dongzhuo','yj_dongzhuo'], + dengai:['dengai','ol_dengai','re_dengai'], sp_ol_zhanghe:['sp_ol_zhanghe','yj_zhanghe','sp_zhanghe','jsrg_zhanghe'], - jiangwei:['ol_jiangwei','re_jiangwei','jiangwei'], - liushan:['ol_liushan','re_liushan','liushan'], - sunce:['re_sunben','re_sunce','sunce'], - zhangzhang:['ol_zhangzhang','re_zhangzhang','zhangzhang'], - zuoci:['re_zuoci','zuoci'], - caiwenji:['ol_caiwenji','re_caiwenji','caiwenji'], - xuyou:['sp_xuyou','xuyou','jsrg_xuyou','yj_xuyou','junk_xuyou'], - guanqiujian:['guanqiujian','tw_guanqiujian','re_guanqiujian','old_guanqiujian'], - chendao:['chendao','old_chendao','ns_chendao'], + jiangwei:['jiangwei','ol_jiangwei','re_jiangwei','sb_jiangwei'], + liushan:['liushan','ol_liushan','re_liushan'], + sunce:['sunce','re_sunce','re_sunben','sb_sunce'], + zhangzhang:['zhangzhang','ol_zhangzhang','re_zhangzhang'], + zuoci:['zuoci','re_zuoci'], + caiwenji:['caiwenji','ol_caiwenji','re_caiwenji'], + xuyou:['xuyou','sp_xuyou','jsrg_xuyou','yj_xuyou','junk_xuyou'], + guanqiujian:['guanqiujian','re_guanqiujian','tw_guanqiujian','old_guanqiujian'], + chendao:['chendao','ns_chendao','old_chendao'], zhugezhan:['zhugezhan','old_zhugezhan'], - ol_lusu:['ol_lusu','re_lusu'], - zhanghe:['re_zhanghe','zhanghe'], + ol_lusu:['re_lusu','ol_lusu'], + zhanghe:['zhanghe','re_zhanghe','sb_zhanghe'], yl_luzhi:['yl_luzhi','tw_yl_luzhi'], sunliang:['sunliang','xin_sunliang'], }, @@ -7739,8 +7766,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "zhugezhan":"诸葛瞻", "lukang":"陆抗", "haozhao":"郝昭", - "yl_yuanshu":"雷袁术", - yl_yuanshu_ab:"袁术", + yl_yuanshu:"新杀袁术", + yl_yuanshu_prefix:"新杀", "zhangxiu":"张绣", "chendao":"陈到", "guanqiujian":"毌丘俭", @@ -7921,6 +7948,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ caopi:'曹丕', re_xuhuang:'徐晃', lusu:'旧鲁肃', + lusu_prefix:'旧', sunjian:'孙坚', dongzhuo:'董卓', jiaxu:'贾诩', @@ -7980,6 +8008,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ taishici:'太史慈', yanwen:'颜良文丑', yuanshao:'旧袁绍', + yuanshao_prefix:'旧', re_pangde:'庞德', huoji:'火计', bazhen:'八阵', @@ -8037,15 +8066,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){ old_zhoutai:'周泰', old_caoren:'曹仁', xuhuang:'旧徐晃', + xuhuang_prefix:'旧', pangde:'旧庞德', + pangde_prefix:'旧', xiahouyuan:'旧夏侯渊', - caoren:'界曹仁', + xiahouyuan_prefix:'旧', huangzhong:'旧黄忠', + huangzhong_prefix:'旧', sp_zhangjiao:'张角', weiyan:'旧魏延', + weiyan_prefix:'旧', xiaoqiao:'小乔', - zhoutai:'界周泰', zhangjiao:'旧张角', + zhangjiao_prefix:'旧', //yuji:'于吉', shensu:'神速', shensu1:'神速', diff --git a/character/shiji.js b/character/shiji.js index a4024ff045..fabf6e632b 100644 --- a/character/shiji.js +++ b/character/shiji.js @@ -1399,7 +1399,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ order:9, result:{player:1}, }, - group:'shanxie_exclude', + group:['shanxie_exclude','shanxie_shan'], subSkill:{ exclude:{ trigger:{global:'useCard'}, @@ -1414,6 +1414,48 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:function(){ trigger.all_excluded=true; }, + sub:true + }, + shan:{ + trigger:{player:'useCardToPlayered'}, + filter:function(event,player){ + return event.target.isAlive()&&event.card.name=='sha'; + }, + silent:true, + content:function(){ + trigger.target.addTempSkill('shanxie_banned'); + trigger.target.storage.shanxie_banned={ + card:trigger.card, + num:player.getAttackRange()*2 + }; + }, + sub:true + }, + banned:{ + init:function(player){ + player.storage.shanxie_banned={}; + }, + onremove:function(player){ + delete player.storage.shanxie_banned; + }, + trigger:{global:'useCardEnd'}, + filter:function(event,player){ + return event.card==player.storage.shanxie_banned.card; + }, + silent:true, + content:function(){ + player.removeSkill('shanxie_banned'); + }, + ai:{ + effect:{ + player:function(card,player,target){ + if(get.name(card)=='shan'){ + let num=get.number(card); + if(!num||num<=player.storage.shanxie_banned.num) return 'zeroplayertarget'; + } + } + } + } }, }, }, @@ -2236,7 +2278,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ 'step 1' //特殊处理 if(player.isDead()){ - player.useResult(event.result,event.getParent()) + player.useResult(event.result,event.getParent()).forceDie=true; } }, ai:{ @@ -5808,6 +5850,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, spshanxi:{ audio:2, + init:function(player){ + game.addGlobalSkill('spshanxi_bj'); + }, + onremove:function(player){ + game.removeGlobalSkill('spshanxi_bj'); + }, trigger:{player:'phaseUseBegin'}, direct:true, filter:function(event,player){ @@ -5867,6 +5915,32 @@ game.import('character',function(lib,game,ui,get,ai,_status){ else trigger.player.give(result.cards,player); }, }, + spshanxi_bj:{ + trigger:{player:'dieAfter'}, + filter:function(event,player){ + for(let i of game.players){ + if(i.hasSkill('spshanxi_suoming')) return false; + } + return true; + }, + silent:true, + forceDie:true, + charlotte:true, + content:function(){ + game.removeGlobalSkill('spshanxi_bj'); + }, + ai:{ + effect:{ + target:function(card,player,target){ + let suoming=game.findPlayer(current=>current.hasSkill('spshanxi_suoming')); + if(suoming&&_status.event&&target===_status.event.dying&&target.hasMark('spshanxi')){ + if(target.countCards('he')<2) return 'zerotarget'; + return [1,get.attitude(target,suoming)>0?0:-1.2]; + } + } + } + } + }, shameng:{ audio:2, enable:'phaseUse', @@ -6300,30 +6374,55 @@ game.import('character',function(lib,game,ui,get,ai,_status){ wujing:['sunce','sunben','wuguotai'], }, characterReplace:{ - wangcan:['tw_wangcan','wangcan','sp_wangcan'], - sunshao:['sp_sunshao','sunshao'], - xunchen:['re_xunchen','xunchen','tw_xunchen','sp_xunchen'], + wangcan:['wangcan','sp_wangcan','tw_wangcan'], + sunshao:['sunshao','sp_sunshao'], + xunchen:['xunchen','re_xunchen','sp_xunchen','tw_xunchen'], xinpi:['xinpi','sp_xinpi'], duyu:['duyu','dc_duyu','sp_duyu','pk_sp_duyu'], - zhangwen:['sp_zhangwen','zhangwen'], - ol_bianfuren:['ol_bianfuren','tw_bianfuren','sp_bianfuren'], + zhangwen:['zhangwen','sp_zhangwen'], + ol_bianfuren:['ol_bianfuren','sp_bianfuren','tw_bianfuren'], wangshuang:['wangshuang','sp_wangshuang'], huaman:['huaman','sp_huaman'], - gaolan:['dc_gaolan','gaolan','sp_gaolan'], - cuiyan:['sp_cuiyan','cuiyan'], - wujing:['tw_wujing','wujing'], + gaolan:['gaolan','dc_gaolan','sp_gaolan'], + cuiyan:['cuiyan','sp_cuiyan'], + wujing:['wujing','tw_wujing'], zhouchu:['jin_zhouchu','zhouchu','tw_zhouchu'], liuzhang:['liuzhang','tw_liuzhang'], - chenzhen:['tw_chenzhen','sp_chenzhen'], - feiyi:['tw_feiyi','feiyi'], - wangling:['tw_wangling','wangling'], - qiaogong:['tw_qiaogong','qiaogong'], - sp_chendong:['tw_chendong','sp_chendong','chendong'], - sp_jiangqing:['tw_jiangqing','sp_jiangqing','jiangqing'], + chenzhen:['sp_chenzhen','tw_chenzhen'], + feiyi:['feiyi','tw_feiyi'], + wangling:['wangling','tw_wangling'], + qiaogong:['qiaogong','tw_qiaogong'], + sp_chendong:['sp_chendong','tw_chendong','chendong'], + sp_jiangqing:['sp_jiangqing','tw_jiangqing','jiangqing'], kongrong:['sp_kongrong','jsrg_kongrong','kongrong'], - mifuren:['dc_mifuren','sp_mifuren'], + dc_mifuren:['dc_mifuren','sp_mifuren'], }, translate:{ + liuba_prefix:'手杀', + sp_zhujun_prefix:'手杀', + sp_huangfusong_prefix:'手杀', + sp_zhangchangpu_prefix:'手杀', + sp_cuiyan_prefix:'手杀', + sp_huaman_prefix:'手杀', + sp_gaolan_prefix:'手杀', + sunyi_prefix:'手杀', + sp_wangshuang_prefix:'手杀', + sp_zongyu_prefix:'手杀', + db_wenyang_prefix:'手杀', + sp_yanghu_prefix:'手杀', + sp_zhangwen_prefix:'手杀', + sp_xujing_prefix:'手杀', + sp_huaxin_prefix:'手杀', + zhouchu_prefix:'手杀', + sp_mifuren_prefix:'手杀', + sp_xinpi_prefix:'手杀', + sp_bianfuren_prefix:'手杀', + sp_duyu_prefix:'手杀', + luotong_prefix:'手杀', + sp_wangcan_prefix:'手杀', + sp_sunshao_prefix:'手杀', + sp_xunchen_prefix:'手杀', + sp_wangcan:'手杀王粲', spqiai:'七哀', spqiai_info:'出牌阶段限一次,你可以将一张非基本牌交给一名其他角色。然后其选择一项:①你回复1点体力。②你摸两张牌。', @@ -6525,7 +6624,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dbquedi:'却敌', dbquedi_info:'每回合限一次。当你使用【杀】或【决斗】指定唯一目标后,你可选择:①获得目标角色的一张手牌。②弃置一张基本牌,并令此牌的伤害值基数+1。③背水:减1点体力上限,然后依次执行上述所有选项。', dbzhuifeng:'椎锋', - dbzhuifeng_info:'魏势力技。每回合限两次,你可以失去1点体力并视为使用一张【决斗】。当你因此【决斗】而受到伤害时,你防止此伤害并令此技能失效直到出牌阶段结束。', + dbzhuifeng_info:'魏势力技。每回合限两次,你可以失去1点体力并视为使用一张【决斗】(你死亡后仍然结算)。当你因此【决斗】而受到伤害时,你防止此伤害并令此技能失效直到出牌阶段结束。', dbchongjian:'冲坚', dbchongjian_backup:'冲坚', dbchongjian_info:'吴势力技。你可以将一张装备牌当做一种【杀】(无距离限制且无视防具)或【酒】使用。当你以此法使用【杀】造成伤害后,你获得目标角色装备区内的X张牌(X为伤害值)。', diff --git a/character/sp.js b/character/sp.js index 8a4ac67178..061f6739f9 100755 --- a/character/sp.js +++ b/character/sp.js @@ -8,7 +8,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sp_tianji:["sunhao","liuxie","caoang","hetaihou","sunluyu",'ol_wangrong',"zuofen","ganfuren","ol_bianfuren","qinghegongzhu","tengfanglan","ruiji",'caoxiancaohua'], sp_sibi:["yangxiu","chenlin","chengyu","shixie","fuwan","wangyun","zhugejin","simalang","maliang","buzhi","dongyun","kanze","sunqian","xizhicai","sunshao",'duxi',"jianggan",'ol_dengzhi','ol_yangyi','ol_dongzhao','ol_chendeng','jin_yanghu','wangyan','xiahouxuan','quhuang','zhanghua','wangguan','sunhong','caoxi'], sp_tianzhu:['niujin','hejin','hansui',"wutugu","yanbaihu","shamoke","panfeng","zhugedan",'huangzu','gaogan',"tadun","fanjiangzhangda","ahuinan","dongtuna",'ol_wenqin'], - sp_nvshi:["lingju","guanyinping","zhangxingcai","mayunlu","dongbai","zhaoxiang",'ol_zhangchangpu','ol_xinxianying',"daxiaoqiao","jin_guohuai"], + sp_nvshi:["lingju","guanyinping","zhangxingcai","mayunlu","dongbai","zhaoxiang",'ol_zhangchangpu',"daxiaoqiao","jin_guohuai"], sp_shaowei:["simahui","zhangbao","zhanglu","zhugeguo","xujing","zhangling",'huangchengyan','zhangzhi','lushi'], sp_huben:['duanjiong','ol_mengda',"caohong","xiahouba","zhugeke","zumao","wenpin","litong","mazhong","heqi","quyi","luzhi","zangba","yuejin","dingfeng","wuyan","ol_zhuling","tianyu","huojun",'zhaoyǎn','dengzhong','ol_furong','macheng','ol_zhangyì','ol_zhujun','maxiumatie','luoxian','ol_huban','haopu','ol_qianzhao'], sp_liesi:['mizhu','weizi','ol_liuba','zhangshiping'], @@ -100,7 +100,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ huangchengyan:['male','qun',3,['guanxu','yashi']], huangzu:['male','qun',4,['wangong']], panshu:['female','wu',3,['weiyi','jinzhi']], - ol_xinxianying:['female','wei',3,['xincaishi','xinzhongjian']], wolongfengchu:['male','shu',4,['youlong','luanfeng']], sp_zhangliao:['male','qun',4,['mubing','ziqu','diaoling']], caoshuang:['male','wei',4,['retuogu','shanzhuan']], @@ -946,7 +945,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ event.finish(); } else player.draw(3); - 'step 2' + 'step 1' player.chooseToDiscard('h','技能:弃置至少一半手牌',[Math.floor(player.countCards('h')/2),Infinity],true).set('ai',card=>{ var player=_status.event.player; if(player.hasSkill('skill_feiyi_B')&&player.countCards('h')-ui.selected.cards.length>1) return 1/(get.value(card)||0.5); @@ -4168,7 +4167,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return player.countCards('hes')>1; }, check:function(card){ - return 0; + var player = _status.event.player; + if(game.countPlayer(function (current) { + return current != player && player.canUse('sha', current) && get.effect(current, {name: 'sha'}, player, player) > 0; + }) <= ui.selected.cards.length) return 0; + if(_status.event.player.countCards('hes') >= 3) return 8 - ui.selected.cards.length - get.value(card); + return 6 - ui.selected.cards.length - get.value(card); }, position:'hes', viewAs:{ @@ -4179,7 +4183,33 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.addTempSkill('rekenshang_effect'); }, ai:{ - order:1, + order:function(item,player){ + if(player.countCards('hes') >= 3) return 6; + return 4; + }, + result:{ + target:function(player,target,card,isLink){ + var eff = function () { + if(!isLink && player.hasSkill('jiu')) { + if(!target.hasSkillTag('filterDamage', null, { + player: player, + card: card, + jiu: true + })){ + if(get.attitude(player, target) > 0) return -7; + return -4; + } + return -0.5; + } + return -1.5; + }(); + if(!isLink && target.mayHaveShan() && !player.hasSkillTag('directHit_ai', true, { + target: target, + card: card + }, true)) return eff / 1.2; + return eff; + } + }, respondSha:true, skillTagFilter:player=>player.countCards('hes')>1, }, @@ -6944,44 +6974,34 @@ game.import('character',function(lib,game,ui,get,ai,_status){ init:function(player,name){ player.storage[name]=[1,2,3,4]; }, - trigger:{player:'phaseBegin'}, + trigger:{player:'damageEnd'}, + filter:(event,player)=>player!=_status.currentPhase, forced:true, - popup:false, + locked:false, content:function(){ - trigger._shanduan=(player.storage.shanduan||[1,2,3,4]).slice(0); - player.storage.shanduan=[1,2,3,4] + if(!player.storage.shanduan) player.storage.shanduan=[1,2,3,4]; + var list=player.storage.shanduan; + for(var i=0;iplayer!=_status.currentPhase, - content:function(){ - if(!player.storage.shanduan) player.storage.shanduan=[1,2,3,4]; - var list=player.storage.shanduan; - for(var i=0;i0; + return !list||list.length>0; }, content:function(){ 'step 0' var list=trigger.getParent()._shanduan; + if(!list){ + trigger.getParent()._shanduan=(player.storage.shanduan||[1,2,3,4]).slice(0); + player.storage.shanduan=[1,2,3,4]; + } + 'step 1' + var list=trigger.getParent()._shanduan; if(list.length==1) event._result={index:0}; else player.chooseControl(list).set('prompt','善断:为摸牌阶段的摸牌数分配一个数值').set('choice',list.indexOf(Math.max.apply(Math,list))).set('ai',()=>_status.event.choice); - 'step 1' + 'step 2' var list=trigger.getParent()._shanduan; var num=list[result.index]; trigger.num=num; @@ -7011,11 +7037,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){ locked:false, filter:function(event,player){ var list=event.getParent()._shanduan; - return list&&list.length>0; + return !list||list.length>0; }, content:function(){ 'step 0' var list=trigger.getParent()._shanduan; + if(!list){ + trigger.getParent()._shanduan=(player.storage.shanduan||[1,2,3,4]).slice(0); + player.storage.shanduan=[1,2,3,4]; + } + 'step 1' + var list=trigger.getParent()._shanduan; if(list.length==1) event._result={index:0}; else player.chooseControl(list).set('prompt','善断:为攻击范围基数分配一个数值').set('list',list).set('ai',function(){ var player=_status.event.player,list=_status.event.list,card={name:'sha'}; @@ -7041,7 +7073,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } return list.indexOf(Math.min.apply(Math,list)); }); - 'step 1' + 'step 2' var list=trigger.getParent()._shanduan; var num=list[result.index]; if(!player.storage.shanduan_effect) player.storage.shanduan_effect={}; @@ -7066,7 +7098,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } return list.indexOf(Math.min.apply(Math,list)); }); - 'step 2' + 'step 3' var list=trigger.getParent()._shanduan; var num=list[result.index]; if(!player.storage.shanduan_effect) player.storage.shanduan_effect={}; @@ -7082,14 +7114,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){ locked:false, filter:function(event,player){ var list=event.getParent()._shanduan; - return list&&list.length>0; + return !list||list.length>0; }, content:function(){ 'step 0' var list=trigger.getParent()._shanduan; + if(!list){ + trigger.getParent()._shanduan=(player.storage.shanduan||[1,2,3,4]).slice(0); + player.storage.shanduan=[1,2,3,4]; + } + 'step 1' + var list=trigger.getParent()._shanduan; if(list.length==1) event._result={index:0}; else player.chooseControl(list).set('prompt','善断:为手牌上限基数分配一个数值').set('choice',list.indexOf(Math.max.apply(Math,list))).set('ai',()=>_status.event.choice); - 'step 1' + 'step 2' var list=trigger.getParent()._shanduan; var num=list[result.index]; if(!player.storage.shanduan_effect) player.storage.shanduan_effect={}; @@ -10084,6 +10122,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return true; }, prompt2:'令其交给你一张手牌,并根据类型获得对应的标记', + check:function(event,player){ + return get.attitude(_status.event.player,event.player)>0; + }, content:function(){ 'step 0' event.target=trigger.player; @@ -13362,31 +13403,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){ threaten:1.8, effect:{ target:function(card,player,target,current){ - if(player!=target||!player.isPhaseUsing()) return; + let used=(target.getHistory('useCard').length+target.getHistory('respond').length); if(get.subtype(card)=='equip1'&&!get.cardtag(card,'gifts')){ - var range0=player.getAttackRange(); - var range=0; - var info=get.info(card); + if(player!=target||!player.isPhaseUsing()) return; + let range0=player.getAttackRange(); + let range=0; + let info=get.info(card); if(info&&info.distance&&info.distance.attackFrom){ range-=info.distance.attackFrom; } if(player.getEquip(1)){ - var num=0; - var info=get.info(player.getEquip(1)); + let num=0; + let info=get.info(player.getEquip(1)); if(info&&info.distance&&info.distance.attackFrom){ num-=info.distance.attackFrom; } range0-=num; } range0+=range; - var delta=range0-(player.getHistory('useCard').length+player.getHistory('respond').length); + let delta=range0-used; if(delta<0) return; - var num=player.countCards('h',function(card){ + let num=player.countCards('h',function(card){ return (get.cardtag(card,'gifts')||get.subtype(card)!='equip1')&&player.getUseValue(card)>0; }); if(delta==2&&num>0) return [1,3]; if(num>=delta) return 'zeroplayertarget'; } + else if(get.tag(card,'respondShan')>0){ + if(current<0&&used==target.getAttackRange()-1&&target.mayHaveShan()){ + return 0.6; + } + } + else if(get.tag(card,'respondSha')>0){ + if(current<0&&used==target.getAttackRange()-1&&target.mayHaveSha()){ + return 0.6; + } + } }, }, } @@ -19348,7 +19400,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ effect:{ target:function(card,player,target,current){ if(card.name=='sha'){ - if(card.hasNature('fire')||player.hasSkill('zhuque_skill')) return 2; + if(game.hasNature(card,'fire')||player.hasSkill('zhuque_skill')) return 2; } if(get.tag(card,'fireDamage')&¤t<0) return 2; } @@ -19374,7 +19426,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ hanyong:{ trigger:{player:'useCard'}, filter:function(event,player){ - return event.card&&(event.card.name=='nanman'||event.card.name=='wanjian'||(event.card.name=='sha'&&!event.card.hasNature()&&get.suit(event.card)=='spade'))&&player.isDamaged(); + return event.card&&(event.card.name=='nanman'||event.card.name=='wanjian'||(event.card.name=='sha'&&!game.hasNature(event.card)&&get.suit(event.card)=='spade'))&&player.isDamaged(); }, content:function(){ trigger.baseDamage++; @@ -24354,53 +24406,53 @@ game.import('character',function(lib,game,ui,get,ai,_status){ shixie:['shixie','dc_shixie'], caoshuang:['caoshuang','ns_caoshuang'], caoang:['caoang','yj_caoang','tw_caoang'], - caohong:['tw_re_caohong','caohong','tw_caohong','yj_caohong'], - xiahouba:['xiahouba','tw_xiahouba','dc_xiahouba'], + caohong:['caohong','tw_re_caohong','tw_caohong','yj_caohong'], + xiahouba:['xiahouba','dc_xiahouba','tw_xiahouba'], maliang:['maliang','re_maliang','tw_maliang','ol_maliang','old_maliang'], dingfeng:['dingfeng','tw_dingfeng','old_dingfeng'], zumao:['zumao','tw_zumao'], - beimihu:['tw_beimihu','beimihu'], - panfeng:['re_panfeng','panfeng','std_panfeng'], + tw_beimihu:['beimihu','tw_beimihu'], + panfeng:['panfeng','re_panfeng','std_panfeng'], sunluyu:['sunluyu','re_sunluyu'], jin_simazhao:['jin_simazhao','simazhao','sp_simazhao'], jin_wangyuanji:['jin_wangyuanji','wangyuanji','sp_wangyuanji'], - wangyun:['re_wangyun','wangyun','dc_wangyun','jsrg_wangyun','old_wangyun','pe_wangyun'], + wangyun:['wangyun','dc_wangyun','re_wangyun','jsrg_wangyun','old_wangyun','pe_wangyun'], zhangliang:['re_zhangliang','zhangliang'], lingju:['lingju','old_lingju'], guansuo:['guansuo','ol_guansuo'], zhangxingcai:['zhangxingcai','old_zhangxingcai'], lisu:['ol_lisu','lisu'], - fuwan:['fuwan','sp_fuwan','tw_fuwan'], + fuwan:['fuwan','tw_fuwan','sp_fuwan'], huaxin:['ol_huaxin','huaxin','sp_huaxin'], - xujing:['dc_xujing','xujing','tw_xujing','sp_xujing'], - zhaoxiang:['zhaoxiang','tw_zhaoxiang','dc_zhaoxiang'], - dengzhi:['ol_dengzhi','re_dengzhi','tw_dengzhi','dengzhi'], - wangrong:['wangrong','ol_wangrong'], - zongyu:['tw_zongyu','sp_zongyu','zongyu'], + xujing:['xujing','dc_xujing','sp_xujing','tw_xujing'], + zhaoxiang:['zhaoxiang','dc_zhaoxiang','tw_zhaoxiang'], + dengzhi:['ol_dengzhi','re_dengzhi','dengzhi','tw_dengzhi'], + wangrong:['ol_wangrong','wangrong'], + zongyu:['zongyu','sp_zongyu','tw_zongyu'], ol_dongzhao:['ol_dongzhao','tw_dongzhao'], - mayunlu:['tw_mayunlu','mayunlu'], + mayunlu:['mayunlu','tw_mayunlu'], zhuling:['ol_zhuling','dc_zhuling','zhuling'], - zangba:['tw_zangba','zangba'], + zangba:['zangba','tw_zangba'], zhangbao:['zhangbao','re_zhangbao'], jianggan:['jianggan','sp_jianggan'], dc_jiben:['dc_jiben','sp_jiben'], - yangyi:['ol_yangyi','tw_yangyi','yangyi'], - tianyu:['tw_tianyu','tianyu'], + yangyi:['ol_yangyi','yangyi','tw_yangyi'], + tianyu:['tianyu','tw_tianyu'], huangchengyan:['huangchengyan','dc_huangchengyan'], - puyuan:['puyuan','ol_puyuan'], - huangzu:['dc_huangzu','huangzu'], - huojun:['dc_huojun','huojun','tw_huojun'], - zhaoyǎn:['dc_zhaoyǎn','zhaoyǎn'], - furong:['ol_furong','tw_furong','furong'], - daxiaoqiao:['tw_daxiaoqiao','daxiaoqiao','dc_daxiaoqiao'], - zhugeguo:['tw_zhugeguo','zhugeguo'], - wanglang:['wanglang','ol_wanglang','old_wanglang'], - tengfanglan:['dc_tengfanglan','tengfanglan'], + puyuan:['ol_puyuan','puyuan'], + huangzu:['huangzu','dc_huangzu'], + huojun:['huojun','dc_huojun','tw_huojun'], + zhaoyǎn:['zhaoyǎn','dc_zhaoyǎn'], + furong:['ol_furong','furong','tw_furong'], + daxiaoqiao:['daxiaoqiao','dc_daxiaoqiao','tw_daxiaoqiao'], + zhugeguo:['zhugeguo','tw_zhugeguo'], + wanglang:['ol_wanglang','wanglang','old_wanglang'], + tengfanglan:['tengfanglan','dc_tengfanglan'], zhangyì:['ol_zhangyì','zhangyì'], yuantanyuanshang:['yuantanyuanshang','yuantanyuanxiyuanshang'], - ruiji:['dc_ruiji','ruiji'], + ruiji:['ruiji','dc_ruiji'], jsp_huangyueying:['jsp_huangyueying','re_jsp_huangyueying'], - ganfuren:['dc_ganfuren','ganfuren'], + ganfuren:['ganfuren','dc_ganfuren'], wenqin:['wenqin','pe_wenqin'], zhouqun:['ol_zhouqun','zhouqun'], qianzhao:['ol_qianzhao','qianzhao'], @@ -24469,7 +24521,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhangren:'张任', zoushi:'邹氏', zangba:'臧霸', - jiling:'纪灵', + gz_jiling:'纪灵', gz_sp_dongzhuo:'董卓', gz_zhangjiao:'张角', litong:'李通', @@ -24477,74 +24529,92 @@ game.import('character',function(lib,game,ui,get,ai,_status){ buzhi:'步骘', chenlin:'陈琳', yuanshu:'SP袁术', + yuanshu_prefix:'SP', gongsunzan:'公孙瓒', sp_diaochan:'SP貂蝉', + sp_diaochan_prefix:'SP', yangxiu:'杨修', sp_zhaoyun:'SP赵云', + sp_zhaoyun_prefix:'SP', caohong:'曹洪', liuxie:'刘协', xiahouba:'夏侯霸', zhugejin:'诸葛瑾', zhugeke:'诸葛恪', guanyinping:'关银屏', + gz_ganfuren:'甘夫人', ganfuren:'SP甘夫人', + ganfuren_prefix:'SP', sunhao:'孙皓', chengyu:'程昱', simalang:'司马朗', - tianfeng:'田丰', + gz_tianfeng:'田丰', sp_jiaxu:'SP贾诩', + sp_jiaxu_prefix:'SP', maliang:'马良', sp_caoren:'SP曹仁', + sp_caoren_prefix:'SP', yuejin:'乐进', mifuren:'糜夫人', sp_dongzhuo:'SP董卓', - chendong:'陈武董袭', - jiangfei:'蒋琬费祎', - jiangqing:'蒋钦', + sp_dongzhuo_prefix:'SP', + gz_chendong:'陈武董袭', + gz_jiangfei:'蒋琬费祎', + gz_jiangqing:'蒋钦', hetaihou:'何太后', dingfeng:'丁奉', zhangxingcai:'张星彩', caoang:'曹昂', - kongrong:'孔融', + gz_kongrong:'孔融', fuwan:'伏完', sp_pangde:'SP庞德', + sp_pangde_prefix:'SP', sp_sunshangxiang:'SP孙尚香', + sp_sunshangxiang_prefix:'SP', zhugedan:'诸葛诞', sp_machao:'SP马超', + sp_machao_prefix:'SP', sp_jiangwei:'SP姜维', - zhangbao:'OL张宝', + sp_jiangwei_prefix:'SP', + zhangbao:'张宝', yangxiou:'杨修', shixie:'士燮', mayunlu:'马云騄', zhanglu:'张鲁', wutugu:'兀突骨', - mateng:'马腾', + gz_mateng:'马腾', sp_caiwenji:'SP蔡琰', + sp_caiwenji_prefix:'SP', zhugeguo:'诸葛果', lingcao:'凌操', - sunru:'手杀孙茹', lingju:'灵雎', lifeng:'李丰', jsp_guanyu:'SP关羽', + jsp_guanyu_prefix:'SP', zhuling:'朱灵', sunluyu:'OL孙鲁育', + sunluyu_prefix:'OL', hanba:'旱魃', panfeng:'OL潘凤', + panfeng_prefix:'OL', gz_panfeng:'潘凤', zumao:'祖茂', daxiaoqiao:'大乔小乔', cuiyan:'崔琰', wenpin:'文聘', jsp_huangyueying:'SP黄月英', + jsp_huangyueying_prefix:'SP', guansuo:'关索', tadun:'蹋顿', yanbaihu:'严虎', wanglang:'王朗', caochun:'曹纯', dongbai:'OL董白', + dongbai_prefix:'OL', zhaoxiang:'赵襄', heqi:'贺齐', kanze:'OL阚泽', + kanze_prefix:'OL', dongyun:'董允', mazhong:'马忠', huangfusong:'皇甫嵩', @@ -24564,8 +24634,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ caoying:"曹婴", simahui:"司马徽", baosanniang:"鲍三娘", - pangdegong:"手杀庞德公", - zhaotongzhaoguang:"手杀赵统赵广", majun:"马钧", simazhao:"司马昭", wangyuanji:"王元姬", @@ -24575,6 +24643,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ hansui:'韩遂', niujin:'牛金', xujing:'OL许靖', + xujing_prefix:'OL', yuantanyuanshang:'袁谭袁尚', xinfenyue:'奋钺', @@ -25128,6 +25197,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zlshoufu2:'授符', zlshoufu_info:'出牌阶段限一次,你可摸一张牌,然后将一张手牌置于一名没有【箓】的角色的武将牌上,称为【箓】;其不能使用和打出与【箓】同类型的牌。该角色受到伤害后,或于弃牌阶段弃置至少两张与【箓】同类型的牌后,将【箓】置入弃牌堆。', ol_zhangchangpu:'OL张昌蒲', + ol_zhangchangpu_prefix:'OL', olxingshen:'省身', olxingshen_info:'当你受到伤害后,你可以随机摸至多两张牌。若如此做,你获得X个“省”,且下一次发动〖严教〗展示牌时移去所有“省”并多展示等量的牌。(X为你已损失的体力值,且你至多拥有6个“省”)', caoshuang:'曹爽', @@ -25155,7 +25225,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ luanfeng:'鸾凤', //luanfeng_info_fullinfo:'限定技,一名角色进入濒死状态时,若其体力上限不小于你,你可令其回复至3点体力,恢复其被废除的装备栏,令其手牌补至6-X张(X为以此法恢复的装备栏数量),重置其因“改写”使用过的牌名。若该角色是你,重置你因“游龙”使用过的牌名。', luanfeng_info:'限定技,一名角色进入濒死状态时,若其体力上限不小于你,你可令其回复至3点体力,恢复其被废除的装备栏,令其手牌补至6-X张(X为以此法恢复的装备栏数量)。若该角色是你,重置你因“游龙”使用过的牌名。', - ol_xinxianying:'辛宪英', reluanzhan:'乱战', reluanzhan_add:'乱战', reluanzhan_remove:'乱战', @@ -25175,6 +25244,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ chengshang_info:'当你于出牌阶段内使用的牌结算完成后,若此牌未造成过伤害且此牌的目标包含其他角色且你本阶段内未因〖承赏〗得到过牌,则你可以从牌堆中获得所有与此牌花色点数相同的牌。', chengshang_info_guozhan:'当你于出牌阶段内使用的牌结算完成后,若此牌未造成过伤害且此牌的目标包含其他角色且你本阶段内未因〖承赏〗得到过牌,则你可以从牌堆中获得所有与此牌花色点数相同的牌。', panshu:'OL潘淑', + panshu_prefix:'OL', weiyi:'威仪', weiyi_info:'每名角色限一次。当有角色受到伤害后,你可选择:①若其体力值不小于你,则其失去1点体力。②若其体力值不大于你且其已受伤,则其回复1点体力。', jinzhi:'锦织', @@ -25183,11 +25253,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ yanxiao_card:'言笑', yanxiao_global:'言笑', yanxiao_card_info:'判定阶段开始时,你获得判定区内的所有牌。', + gz_huangzu:'黄祖', huangzu:'OL黄祖', + huangzu_prefix:'OL', wangong:'挽弓', wangong2:'挽弓', wangong_info:'锁定技,当你使用基本牌时,你获得如下效果:当你使用下一张牌时,若此牌为【杀】,则此牌无次数和距离限制且伤害+1。', huangchengyan:'OL黄承彦', + huangchengyan_prefix:'OL', guanxu:'观虚', guanxu_info:'出牌阶段限一次,你可以观看一名其他角色的手牌,然后你可将其中一张手牌与牌堆顶5张牌中的一张交换。若如此做,你弃置其手牌中3张花色相同的牌。', yashi:'雅士', @@ -25214,12 +25287,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ yuejian:'约俭', yuejian_info:'每回合限两次。当其他角色对你使用的牌A结算结束后,你可展示所有手牌。若牌A有花色且你的手牌中没有同花色的牌,则你获得牌A对应的所有实体牌。', ol_dengzhi:'OL邓芝', + ol_dengzhi_prefix:'OL', olxiuhao:'修好', olxiuhao_info:'每回合限一次。当你受到其他角色造成的伤害时,或对其他角色造成伤害时,你可防止此伤害,然后令伤害来源摸两张牌。', olsujian:'素俭', olsujian_given:'已分配', olsujian_info:'锁定技。弃牌阶段开始前,你将此阶段的规则改为:{你选择一项:①将所有不为本回合得到的手牌分配给其他角色。②弃置这些手牌,然后弃置一名其他角色等量的牌}。', ol_wangrong:'OL王荣', + ol_wangrong_prefix:'OL', olfengzi:'丰姿', olfengzi_info:'出牌阶段限一次。当你使用有目标的基本牌或普通锦囊牌时,你可弃置一张与此牌类型相同的牌,然后令此牌结算两次。', oljizhan:'吉占', @@ -25237,6 +25312,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ oldingcuo:'定措', oldingcuo_info:'每回合限一次。当你受到或造成伤害后,你可摸两张牌。若这两张牌颜色不同,则你弃置一张手牌。', fengfangnv:'OL冯妤', + fengfangnv_prefix:'OL', zhuangshu:'妆梳', zhuangshu_info:'①游戏开始时,你可将{【琼梳】,【犀梳】,【金梳】}中的一张牌置于装备区。②一名角色的回合开始时,若其宝物区为空,则你可以弃置一张牌,并根据此牌的类型,按如下关系将一张宝物牌置入该角色的装备区:{<基本牌,【琼梳】>,<锦囊牌,【犀梳】>,<装备牌,【金梳】>}。', chuiti:'垂涕', @@ -25257,15 +25333,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){ olzaowang2:'造王', olzaowang_info:'限定技。出牌阶段,你可以令一名角色加1点体力上限,回复1点体力并摸三张牌,且获得如下效果:主公死亡时,若其身份为忠臣,则其和主公交换身份牌;其死亡时,若其身份为反贼且伤害来源的身份为主公或忠臣,则以主忠胜利结束本局游戏。', sp_ol_zhanghe:'SP张郃', + sp_ol_zhanghe_prefix:'SP', spolzhouxuan:'周旋', spolzhouxuan_info:'①弃牌阶段开始时,你可将任意张置于武将牌上,称为“旋”(你至多拥有五张“旋”)。②当你使用牌时,你随机将一张“旋”置入弃牌堆,然后摸一张牌(若你的手牌数不为全场唯一最多则额外摸X张牌,X为“旋”数)。③出牌阶段结束时,你将所有“旋”置入弃牌堆。', wuyan:'吾彦', lanjiang:'澜疆', lanjiang_info:'结束阶段,你可以选择所有手牌数不小于你的角色。这些角色依次选择是否令你摸一张牌。然后你可以对其中一名手牌数等于你的角色造成1点伤害,随后可以对其中一名手牌数小于你的角色摸一张牌。', ol_zhuling:'OL朱灵', + ol_zhuling_prefix:'OL', jixian:'急陷', jixian_info:'摸牌阶段结束时,你可以选择一名满足以下至少一项条件的角色:⒈装备区内有防具牌;⒉拥有的普通技能数大于你;⒊体力值等于体力上限。你视为对其使用一张【杀】,然后摸X张牌(X为其于此【杀】结算前满足的条件数);若此【杀】未造成伤害,则你失去1点体力。', ol_chendeng:'OL陈登', + ol_chendeng_prefix:'OL', olfengji:'丰积', olfengji_info:'摸牌阶段开始时,你选择:⒈本回合摸牌阶段的额定摸牌数-1,且令一名其他角色下回合摸牌阶段的额定摸牌数+2;⒉本回合摸牌阶段的额定摸牌数+1。然后你选择:⒈本回合使用【杀】的次数上限-1,且令一名其他角色下回合使用【杀】的次数上限+2;⒉本回合使用【杀】的次数上限+1。', tianyu:'田豫', @@ -25285,11 +25364,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ qhzhangji:'长姬', qhzhangji_info:'一名角色的回合结束时,若你本回合内:造成过伤害,则你可以令其摸两张牌;受到过伤害,则你可以令其弃置两张牌。', sp_menghuo:'SP孟获', + sp_menghuo_prefix:'SP', spmanwang:'蛮王', spmanwang_info:'出牌阶段,你可以弃置任意张牌。然后你依次执行以下选项中的前X项:⒈获得〖叛侵〗。⒉摸一张牌。⒊回复1点体力。⒋摸两张牌并失去〖叛侵〗。', sppanqin:'叛侵', sppanqin_info:'出牌阶段或弃牌阶段结束时,你可将你于本阶段内弃置且位于弃牌堆的所有牌当做【南蛮入侵】使用。然后若此牌被使用时对应的实体牌数不大于此牌的目标数,则你执行并移除〖蛮王〗中的最后一个选项。', tengfanglan:'OL滕芳兰', + tengfanglan_prefix:'OL', luochong:'落宠', luochong_info:'准备阶段开始时/当你于一回合内首次受到伤害后,你可选择本轮内未选择过的一项(每名角色每轮限选一次):⒈令一名角色回复1点体力。⒉令一名角色失去1点体力。⒊令一名角色弃置两张牌。⒋令一名角色摸两张牌。', aichen:'哀尘', @@ -25300,6 +25381,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ liejie:'烈节', liejie_info:'当你受到伤害后,你可以弃置至多三张牌,摸等量的牌,然后可弃置伤害来源的至多X张牌(X为你以此法弃置的红色牌的数量)。', ruiji:'OL芮姬', + ruiji_prefix:'OL', qiaoli:'巧力', qiaoli_info:'出牌阶段各限一次,你可以将一张武器牌/非武器装备牌当作【决斗】使用。若此【决斗】对应的实体牌为武器牌,当你以此【决斗】对目标角色造成伤害后,你摸X张牌(X为此牌的攻击范围),且可以将其中任意张牌分配给其他角色;若此【决斗】对应的实体牌不为武器牌,此牌不可被响应,且你于结束阶段从牌堆中获得一张装备牌。', qiaoli_given:'已分配', @@ -25338,6 +25420,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xuwangzhimian:'虚妄之冕', xuwangzhimian_info:'锁定技,摸牌阶段,你令额定摸牌数+2;你的手牌上限-1。', ol_puyuan:'OL蒲元', + ol_puyuan_prefix:'OL', olshengong:'神工', olshengong_info:'出牌阶段每项限一次。你可以弃置一张武器牌/防具牌/其他装备牌,并发起一次“锻造”。然后你从锻造结果中选择一张牌,置于一名角色的装备区内(可替换原装备)。当有因你发动〖神工〗而加入游戏的牌进入弃牌堆后,你将此牌移出游戏,然后你于当前回合结束后摸一张牌。', olqisi:'奇思', @@ -25345,11 +25428,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ olzhuiji:'追击', olzhuiji_info:'锁定技。①你至体力值不大于你的角色的距离为1。②当你使用【杀】指定距离为1的角色为目标后,你令其选择一项:⒈弃置一张牌。⒉重铸装备区内的所有牌。', zhaoyǎn:'OL赵俨', + zhaoyǎn_prefix:'OL', tongxie:'同协', tongxie_info:'出牌阶段开始时,你可以选择包括你在内的至多三名角色(你与这些角色均称为“同协角色”)。这些角色中手牌数唯一最少的角色摸一张牌,且你获得如下效果直到你下回合开始:①当有“同协角色”对唯一目标角色使用的【杀】结算结束后,其他“同协角色”可以依次对目标角色使用一张【杀】(无距离和次数限制,且不能再触发此效果)。②当有“同协角色”受到伤害时,其他“同协角色”(本回合内失去过体力的角色除外)可以防止此伤害,失去1点体力。', jin_zhouchu:'周处', shanduan:'善断', - shanduan_info:'锁定技。①回合开始时,你生成数组R=[1,2,3,4]。②摸牌阶段开始时,你从数组R中选择并移除一个数字A。你本阶段的额定摸牌数改为A。③出牌阶段开始时,你从数组R中选择并移除两个数字B和C。你将你本阶段内的攻击范围基数最小值和使用【杀】的次数上限基础值改为B和C。④弃牌阶段开始时,你从数组R中选择并移除一个数字D。你令你本回合的手牌上限基数改为D。⑤当你于回合外受到伤害后,你令下回合生成的R中最小的一个数字+1。', + shanduan_info:'锁定技。①摸牌/出牌/弃牌阶段开始时,你为本回合摸牌阶段摸牌数/攻击范围和使用【杀】的限制次数/手牌上限的默认值从数组R=[1,2,3,4]中分配数值。②当你于回合外受到伤害后,你令下回合〖善断①〗以此法分配的数值集合R中的最小值+1。', yilie:'义烈', yilie_info:'每轮每种牌名限一次。你可以将两张颜色相同的手牌当做任意一种基本牌使用。', caoxiancaohua:'曹宪曹华', @@ -25362,6 +25446,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jisi:'羁肆', jisi_info:'限定技。准备阶段,你可以令一名其他角色获得你武将牌上的一个已发动过的其他技能。然后你弃置所有手牌,并视为对其使用一张【杀】(无距离关系的限制)。', huojun:'OL霍峻', + huojun_prefix:'OL', qiongshou:'穷守', qiongshou_info:'锁定技。①游戏开始时,你废除所有装备栏并摸四张牌。②你的手牌上限+4。', fenrui:'奋锐', @@ -25397,6 +25482,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jueman:'蟨蛮', jueman_info:'锁定技。一名角色的回合结束时,若本回合被使用过的基本牌数不小于2,且前两张基本牌的使用者:均不为你,你视为使用本回合被使用的第三张基本牌;有且仅有其中之一为你,你摸一张牌。', ol_liuba:'OL刘巴', + ol_liuba_prefix:'OL', oltongduo:'统度', oltongduo_info:'准备阶段,你可以令一名角色交给你一张手牌,然后出牌阶段结束时,你将此牌置于牌堆顶。', olzhubi:'铸币', @@ -25440,9 +25526,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ rekenshang:'垦伤', rekenshang_info:'你可以将至少两张牌当【杀】使用,然后你可以将此牌目标改为等量名角色。此牌结算结束后,若此牌对应的实体牌数大于此牌造成过的伤害值,你摸一张牌。', ol_zhujun:'OL朱儁', + ol_zhujun_prefix:'OL', olcuipo:'摧破', olcuipo_info:'锁定技。当你使用牌时,若此牌是你本回合使用的第X张牌(X为此牌牌名的字数),则:{若此牌为【杀】或伤害类锦囊牌,则此牌的伤害值基数+1,否则你摸一张牌}。', ol_zhangyì:'OL张翼', + ol_zhangyì_prefix:'OL', oldianjun:'殿军', oldianjun_info:'锁定技。回合结束时,你受到1点无来源伤害,然后执行一个额外的出牌阶段。', olkangrui:'亢锐', @@ -25454,6 +25542,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ olshilu:'失路', olshilu_info:'锁定技。当你受到伤害后,你摸X张牌(X为你的体力值且至多为5)。然后你展示攻击范围内一名角色的一张手牌,令此牌的牌名视为【杀】。', ol_huban:'OL胡班', + ol_huban_prefix:'OL', olhuiyun:'晖云', olhuiyun_tag:'invisible', olhuiyun_info:'每轮每项各限一次。你可以将一张牌当【火攻】使用。此牌结算结束后,你选择一项,令目标角色选择是否执行:1.使用展示的牌,然后重铸所有手牌;2.使用一张手牌,然后重铸展示牌;3.摸一张牌。', @@ -25477,6 +25566,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ olleijie:'雷劫', olleijie_info:'准备阶段,你可以令一名角色判定,若结果为♠2~9,其受到2点雷电伤害,否则其摸两张牌。', ol_liuyan:'OL刘焉', + ol_liuyan_prefix:'OL', olpianan:'偏安', olpianan_info:'锁定技。游戏开始或弃牌阶段结束时,你弃置所有不为【闪】的手牌(没有则不弃)。若你的手牌数小于体力值,你获得牌堆或弃牌堆中的前X张【闪】(X为你的体力值与手牌数的差)。', olyinji:'殷积', @@ -25484,9 +25574,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ olkuisi:'窥伺', olkuisi_info:'锁定技。摸牌阶段开始时,你跳过此阶段,然后观看牌堆顶的四张牌并可以使用其中任意张。若你以此法使用的牌数不为2或3,你减1点体力上限。', ol_wanglang:'OL王朗', + ol_wanglang_prefix:'OL', oljici:'激词', oljici_info:'当你的拼点牌亮出后,若点数不大于X,你可令点数+X并令〖鼓舌〗视为未发动过(X为你的“饶舌”标记数)。', ol_mengda:'OL孟达', + ol_mengda_prefix:'OL', olgoude:'苟得', olgoude_info:'一名角色的回合结束时,若有与你势力相同的角色执行过以下项,则你可以执行这些角色未执行过的一项:1.摸一张牌;2.弃置一名角色的一张手牌;3.使用一张无对应实体牌的【杀】;4.变更势力。', haopu:'郝普', @@ -25532,6 +25624,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ olkuansai:'款塞', olkuansai_info:'当一张牌指定第一个目标后,若目标数大于你的体力值,你可以令其中一个目标选择一项:1.交给你一张牌;2.令你回复1点体力。', ol_luyusheng:'OL陆郁生', + ol_luyusheng_prefix:'OL', olcangxin:'藏心', olcangxin_info:'锁定技。①当你受到伤害时,你观看牌堆底的三张牌并弃置其中任意张牌,若你以此法弃置了红桃牌,则防止此伤害。②摸牌阶段开始时,你展示牌堆底的三张牌,然后摸X张牌(X为其中红桃牌的数量)。', olrunwei:'润微', @@ -25542,6 +25635,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ oljianxuan:'谏旋', oljianxuan_info:'当你受到伤害后,你可以令一名角色摸一张牌,然后若其手牌数等于你〖刚述①〗中的任意一项对应的数值,其重复此流程。', ol_pengyang:'OL彭羕', + ol_pengyang_prefix:'OL', olqifan:'器翻', olqifan_info:'当你需要使用不为【无懈可击】的牌时,你可以观看牌堆底的X+1张牌并使用其中的一张。此牌结算结束时,你依次弃置以下前X个区域中的所有牌:⒈判定区、⒉装备区、⒊手牌区(X为你因此技能使用过的牌中包含的类型数)。', oltuishi:'侻失', diff --git a/character/sp2.js b/character/sp2.js index 52e13dfc7a..cf89bfea11 100644 --- a/character/sp2.js +++ b/character/sp2.js @@ -3169,6 +3169,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ 'step 1' if(result.bool){ trigger.num--; + if(get.mode()!='identity'||player.identity!='nei') player.addExpose(0.15); target.addMark('jieliang_less',1,false); target.addTempSkill('jieliang_less'); player.addTempSkill('jieliang_gain'); @@ -3299,7 +3300,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return 8-get.value(card); }).set('goon',get.damageEffect(trigger.player,player,player)>0).logSkill=['tianze',trigger.player]; 'step 1' - if(result.bool) trigger.player.damage(); + if(result.bool){ + if(get.mode()!='identity'||player.identity!='nei') player.addExpose(0.2); + trigger.player.damage(); + } else event.finish(); 'step 2' game.delayx(); @@ -3394,12 +3398,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } var next=player.chooseToDiscard('he',get.prompt('chaofeng',trigger.player),str); next.set('ai',function(card){ - var player=_status.event.player,suit=_status.event.color,number=_status.event.type,att=_status.event.att; - var val=4-get.value(card); - if(get.color(card)==suit) val+=3; - if(get.type2(card)==number){ - if(att<=0) val+=4; - else val-=3; + var player=_status.event.player,att=_status.event.att; + var val=4.2-get.value(card); + if(get.color(card)==_status.event.color) val+=3; + if(get.type2(card)==_status.event.type){ + if(att<0) val+=4; + else if(att===0) val+=2; + else val=0; } return val; }); @@ -6559,7 +6564,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } else{ var vcard=[get.type(trigger.card),'',trigger.card.name]; - if(trigger.card.hasNature()) vcard.push(get.nature(trigger.card)); + if(game.hasNature(trigger.card)) vcard.push(get.nature(trigger.card)); player.storage.juanhui3.push(vcard); player.markSkill('juanhui2'); } @@ -7360,7 +7365,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ target:function(card,player,target,current){ if(target.hasMark('cangchu')){ if(card.name=='sha'){ - if(lib.skill.global.contains('huoshaowuchao')||card.hasNature('fire')||player.hasSkill('zhuque_skill')) return 2; + if(lib.skill.global.contains('huoshaowuchao')||game.hasNature(card,'fire')||player.hasSkill('zhuque_skill')) return 2; } if(get.tag(card,'fireDamage')&¤t<0) return 2; } @@ -8452,6 +8457,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, ai:{ result:{ + order:10, player:function(player,target){ if(player.countCards('hs',function(card){ return get.tag(card,'damage')&&player.canUse(card,target); @@ -8499,7 +8505,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player:function(card,player,target){ if(target!=player.storage.yinju2) return; if(card.name=='lebu') return; - return [0,0.5,0,0.5]; + if(card.name!=='huogong'&&get.tag(card,'damage')&&target.isDamaged()) [1,0.6,0,2.4]; + return [1,0.6,1,0.6]; }, }, }, @@ -10090,21 +10097,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){ lijue:['lijue','ns_lijue'], fanchou:['fanchou','tw_fanchou','ns_fanchou'], zhangji:['zhangji','ns_zhangji'], - zhangchangpu:['zhangchangpu','sp_zhangchangpu','ol_zhangchangpu'], + zhangchangpu:['ol_zhangchangpu','zhangchangpu','sp_zhangchangpu'], huangfusong:['huangfusong','sp_huangfusong','jsrg_huangfusong','old_huangfusong'], dingyuan:['ol_dingyuan','dingyuan'], quyi:['quyi','re_quyi'], - hansui:['hansui','xin_hansui','re_hansui'], + hansui:['hansui','re_hansui','xin_hansui'], jin_simashi:['jin_simashi','simashi'], jin_yanghuiyu:['jin_yanghuiyu','yanghuiyu'], - taoqian:['taoqian','re_taoqian'], + taoqian:['re_taoqian','taoqian'], sp_liubei:['jsrg_liubei','sp_liubei'], dongcheng:['re_dongcheng','dongcheng'], - hucheer:['tw_hucheer','re_hucheer','hucheer'], + hucheer:['re_hucheer','hucheer','tw_hucheer'], nanhualaoxian:['re_nanhualaoxian','nanhualaoxian','jsrg_nanhualaoxian'], pangdegong:['re_pangdegong','pangdegong'], - zhujun:['sp_zhujun','ol_zhujun','zhujun','jsrg_zhujun'], - tw_liuhong:['tw_liuhong','liuhong','jsrg_liuhong'], + zhujun:['ol_zhujun','zhujun','sp_zhujun','jsrg_zhujun'], + tw_liuhong:['liuhong','tw_liuhong','jsrg_liuhong'], re_hejin:['hejin','re_hejin','tw_hejin','jsrg_hejin'], hujinding:['dc_hujinding','hujinding'], caosong:['caosong','sp_caosong'], @@ -10114,9 +10121,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ caoanmin:['caoanmin','ns_caoanmin'], duanwei:['duanwei','junk_duanwei'], xushao:['xushao','jsrg_xushao'], - huban:['dc_huban','ol_huban'], - mengda:['dc_mengda','ol_mengda','pe_mengda'], - jsp_guanyu:['jsrg_guanyu','dc_jsp_guanyu','jsp_guanyu'], + huban:['ol_huban','dc_huban'], + mengda:['ol_mengda','dc_mengda','pe_mengda'], + jsp_guanyu:['jsp_guanyu','dc_jsp_guanyu','jsrg_guanyu'], mushun:['mushun','sp_mushun'], wangjun:['dc_wangjun','wangjun'], zoushi:['re_zoushi','jsrg_zoushi'], @@ -10133,8 +10140,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhangqiying:"张琪瑛", sp_liuqi:'刘琦', xf_tangzi:"唐咨", + gz_xf_huangquan:"黄权", xf_huangquan:"OL黄权", + xf_huangquan_prefix:"OL", + gz_xf_sufei:"苏飞", xf_sufei:"OL苏飞", + xf_sufei_prefix:"OL", "xinfu_langxi":"狼袭", "xinfu_langxi_info":"准备阶段,你可以对一名体力小于或等于你的其他角色造成0~2点随机伤害。", "xinfu_yisuan":"亦算", @@ -10252,9 +10263,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "xingshen_info":"当你受到伤害后,你可以摸一张牌且下一次发动〖严教〗亮出的牌数+1。若你的手牌数为全场最少,则改为摸两张牌;若你的体力值为全场最少,则〖严教〗亮出的牌数改为+2(加值总数不能超过4)。", sp_zhanghe:'SP张郃', + sp_zhanghe_prefix:'SP', yuanlve:'远略', yuanlve_info:'出牌阶段限一次,你可以将一张非装备牌交给一名角色,然后该角色可以使用该牌并令你摸一张牌。', xunchen:'OL荀谌', + xunchen_prefix:'OL', fenglve:'锋略', fenglve2:'锋略', fenglve_info:'出牌阶段开始时,你可以与一名角色拼点,若你赢,该角色将其区域内的各一张牌交给你;若你没赢,你交给其一张牌。当你的单人拼点结算后,你可以令对方获得你拼点的牌。', @@ -10262,16 +10275,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){ mouzhi2:'谋识', mouzhi_info:'出牌阶段限一次,你可以将一张手牌交给一名角色,若如此做,当其于其下回合的出牌阶段内对一名角色造成伤害后,若是此阶段其第一次对该角色造成伤害,你摸一张牌。', sp_shenpei:'SP审配', + sp_shenpei_prefix:'SP', gangzhi:'刚直', gangzhi_info:'锁定技,当你即将受到其他角色造成的伤害时,或即将对其他角色造成伤害时,你防止此伤害,改为受到伤害的角色失去等量的体力。', beizhan:'备战', beizhan2:'备战', beizhan_info:'结束阶段,你可以令一名角色将手牌摸至体力上限(至多为5)。其下个回合开始时,若其手牌数为全场最多,则其此回合内使用的牌不能指定其他角色为目标。', gaolan:'OL高览', + gaolan_prefix:'OL', xiying:'袭营', xiying2:'袭营', xiying_info:'出牌阶段开始时,你可以弃置一张非基本手牌,然后令所有其他角色依次选择一项:弃置一张牌,或本回合内不能使用或打出牌;且你本回合内获得如下效果:结束阶段,若你于本回合的出牌阶段内造成过伤害,则你从牌堆中获得一张伤害性基本牌或普通锦囊牌。', lvkuanglvxiang:'OL吕旷吕翔', + lvkuanglvxiang_prefix:'OL', liehou:'列侯', liehou_info:'出牌阶段限一次,你可以令一名攻击范围内的角色交给你一张手牌,然后你将一张手牌交给攻击范围内的另一名角色。', qigong:'齐攻', @@ -10284,6 +10300,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ liangying:'粮营', liangying_info:'锁定技,若你有“粮”标记,则友方角色摸牌阶段摸牌数+1;当你失去所有“粮”标记后,你减1点体力上限,然后令敌方角色各摸两张牌。', sp_xuyou:'SP许攸', + sp_xuyou_prefix:'SP', spshicai:'恃才', spshicai2:'恃才', spshicai_info:'出牌阶段,牌堆顶的一张牌对你可见。你可以弃置一张牌,然后获得牌堆顶的一张牌,且不能再发动〖恃才〗直到此牌离开你的手牌区。', @@ -10294,6 +10311,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ chenggong:'逞功', chenggong_info:'当有角色使用牌指定目标后,若此牌对目标数大于1,则你可令使用者摸一张牌。', sp_zhangliao:'SP张辽', + sp_zhangliao_prefix:'SP', //这仨技能给SP仲村由理毫无违和感好吗!!! mubing:'募兵', mubing_info:'出牌阶段开始时,你可以展示牌堆顶的三张牌。你可弃置任意张手牌,并可获得任意张点数之和不大于你弃置的牌点数之和的牌。', @@ -10311,6 +10329,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ juanhui2_backup:'绢绘', juanhui_info:'结束阶段,你可以选择一名其他角色。记录该角色下回合的出牌阶段里使用的基本牌和普通锦囊牌(每种牌名限记一次),你的下回合出牌阶段,可将一张手牌当这些牌里的任意一张牌使用(每张限使用一次,且【杀】不计次数)。当"绢绘"的牌全部用完时,你回复1点体力并将手牌摸至三张。', re_maliang:'新杀马良', + re_maliang_prefix:'新杀', rexiemu:'协穆', rexiemu_info:'结束阶段,若全场没有“协穆”标记,你可以选择一名角色获得“协穆”标记直到你的下回合开始。你或该角色在各自的回合外使用或打出手牌时,你与其各摸一张牌(每回合限一次)。', heli:'贺励', @@ -10331,7 +10350,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ tuxing2:'图兴', tuxing_info:'锁定技,当你废除一个装备栏时,你加1点体力上限并回复1点体力。然后若你所有的装备栏均已被废除,则你减4点体力上限,且本局游戏内造成的伤害+1。', re_hejin:'新杀何进', + re_hejin_prefix:'新杀', xin_baosanniang:'新杀鲍三娘', + xin_baosanniang_prefix:'新杀', decadexushen:"许身", decadexushen2:'许身', decadexushen_info:"限定技,当你进入濒死状态后,你可以回复1点体力并获得技能“镇南”,然后如果你脱离濒死状态且“关索”不在场,你可令一名其他角色选择是否用“关索”代替其武将并令其摸三张牌。", @@ -10373,7 +10394,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ quanbian2:'权变', quanbian_info:'当你于出牌阶段内使用/打出手牌时,若此牌有花色且你本回合内未使用/打出过该花色的其他手牌,则你可以选择一项:①摸一张牌。②将牌堆顶X张牌中的一张置于牌堆底(X为你的体力上限)。若你发动此技能,则你本回合内不能再使用与此牌花色相同的手牌。', re_hansui:'新杀韩遂', + re_hansui_prefix:'新杀', re_quyi:'新杀麴义', + re_quyi_prefix:'新杀', refuqi:'伏骑', refuqi_info:'锁定技,当你使用牌时,你令所有距离为1的其他角色不能使用或打出牌响应此牌。', hanfu:'韩馥', @@ -10383,11 +10406,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ hfjieying_info:'结束阶段,你可以选择一名其他角色,该角色下回合使用【杀】或普通锦囊牌无距离限制且可多指定一个目标,且当其造成伤害后,其无法再使用牌直到回合结束。 ', weipo:'危迫', weipo_info:'锁定技,其他角色使用【杀】或普通锦囊牌指定你为目标后,若你的手牌数小于X,则你将手牌摸至X张,并记录摸牌事件结算后的手牌数Y。此牌结算结束后,若你的手牌数小于Y,则你将一张手牌交给此牌的使用者,且此技能失效直到你的下回合开始。(X为你的体力上限且至多为5) ', - ol_lisu:'OL李肃', - qiaoyan:'巧言', - qiaoyan_info:'锁定技,当你于回合外受到其他角色造成的伤害时,若你:有“珠”,则你令伤害来源获得“珠”;没有“珠”,则你防止此伤害,然后摸一张牌,并将一张牌正面朝上置于武将牌上,称为“珠”。', - xianzhu:'献珠', - xianzhu_info:'锁定技,出牌阶段开始时,你令一名角色A获得“珠”。若A不为你自己,则你选择A攻击范围内的一名角色B,视为A对B使用一张【杀】。', zhaozhong:'赵忠', yangzhong:'殃众', yangzhong_info:'当你造成或受到伤害后,若受伤角色和伤害来源均存活,则伤害来源可弃置两张牌,然后令受伤角色失去1点体力。', @@ -10417,6 +10435,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhangu:'战孤', zhangu_info:'锁定技,准备阶段,若你的体力上限大于1且没有手牌/装备区内没有牌,则你减1点体力上限,然后从牌堆中获得三张类型不同的牌。', re_niujin:'新杀牛金', + re_niujin_prefix:'新杀', recuorui:'摧锐', recuorui_info:'限定技,出牌阶段,你可以依次获得至多X名角色的各一张手牌(X为你的体力值)。', reliewei:'裂围', @@ -10600,6 +10619,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dcniji:'逆击', dcniji_info:'①当你成为非装备牌的目标后,你可以摸一张牌,称为“逆击”。②一名角色的结束阶段,若你于本回合获得的“逆击”数不小于你的体力值,你可以使用一张“逆击”。你弃置所有“逆击”。', //dc_fuwan:'新杀伏完', + //dc_fuwan_prefix:'新杀', //dc_fuwan_ab:'伏完', dcmoukui:'谋溃', dcmoukui_info:'当你使用【杀】指定第一个目标后,你可以选择任意项:1.摸一张牌;2.弃置其中一个目标角色一张牌。若你均选择,当此【杀】被无效后或被抵消后,该角色弃置你一张牌。', @@ -10620,12 +10640,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dclibang_info:'出牌阶段限一次。你可以弃置一张牌,正面向上获得两名其他角色的各一张牌。然后你判定,若结果与这两张牌的颜色均不同,你交给其中一名角色两张牌或失去1点体力,否则你获得判定牌并视为对其中一名角色使用一张【杀】。', dcwujie:'无节', dcwujie_info:'锁定技。①你使用无色牌无任何次数限制且无距离限制。②当其他角色执行杀死你的奖惩而摸牌或弃牌时,取消之。', - dc_jsp_guanyu:'魏关羽', + dc_jsp_guanyu:'新杀SP关羽', + dc_jsp_guanyu_prefix:'新杀SP', dcdanji:'单骑', dcdanji_info:'觉醒技。准备阶段,若你的手牌数大于体力值,你减1点体力上限,将体力回复至体力上限,然后获得〖马术〗和〖怒嗔〗。', dcnuchen:'怒嗔', dcnuchen_info:'出牌阶段限一次。你可以展示一名其他角色的一张手牌,然后选择一项:1.弃置任意张该花色的牌,对其造成等量伤害;2.获得该角色手牌中所有此花色的牌。', dc_jikang:'新杀嵇康', + dc_jikang_prefix:'新杀', dcjuexiang:'绝响', dcjuexiang_info:'当你死亡时,杀死你的角色弃置其装备区内的所有牌并失去1点体力,然后你可以令一名其他角色获得〖残韵〗。', dccanyun:'残韵', diff --git a/character/standard.js b/character/standard.js index 29bdb6a3c6..aa9d2f484f 100755 --- a/character/standard.js +++ b/character/standard.js @@ -2477,39 +2477,39 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, characterReplace:{ - caocao:['re_caocao','caocao','dc_caocao'], - guojia:['re_guojia','guojia','ps1059_guojia','ps2070_guojia'], - simayi:['re_simayi','simayi','ps_simayi','ps2068_simayi'], + caocao:['caocao','re_caocao','sb_caocao','dc_caocao'], + guojia:['guojia','re_guojia','ps1059_guojia','ps2070_guojia'], + simayi:['simayi','re_simayi','ps_simayi','ps2068_simayi'], jin_simayi:['jin_simayi','junk_simayi','ps_jin_simayi'], - zhenji:['re_zhenji','yj_zhenji','zhenji'], - xuzhu:['re_xuzhu','xuzhu'], - zhangliao:['re_zhangliao','zhangliao'], + zhenji:['zhenji','re_zhenji','sb_zhenji','yj_zhenji'], + xuzhu:['xuzhu','re_xuzhu'], + zhangliao:['zhangliao','re_zhangliao'], sp_zhangliao:['sp_zhangliao','yj_zhangliao','jsrg_zhangliao'], - xiahoudun:['re_xiahoudun','xin_xiahoudun','xiahoudun'], - liubei:['re_liubei','liubei','dc_liubei','junk_liubei'], - guanyu:['re_guanyu','guanyu','ps_guanyu'], - zhangfei:['re_zhangfei','tw_zhangfei','xin_zhangfei','old_zhangfei','zhangfei','yj_zhangfei'], - zhaoyun:['re_zhaoyun','old_zhaoyun','zhaoyun','ps2063_zhaoyun','ps2067_zhaoyun'], + xiahoudun:['xiahoudun','re_xiahoudun','xin_xiahoudun'], + liubei:['liubei','re_liubei','sb_liubei','dc_liubei','junk_liubei'], + guanyu:['guanyu','re_guanyu','ps_guanyu'], + zhangfei:['zhangfei','re_zhangfei','old_zhangfei','xin_zhangfei','sb_zhangfei','tw_zhangfei','yj_zhangfei'], + zhaoyun:['zhaoyun','re_zhaoyun','old_zhaoyun','sb_zhaoyun','ps2063_zhaoyun','ps2067_zhaoyun'], sp_zhaoyun:['sp_zhaoyun','jsp_zhaoyun'], - machao:['re_machao','machao','ps_machao'], - sp_machao:['sp_machao','old_machao','dc_sp_machao'], - zhugeliang:['re_zhugeliang','zhugeliang','ps2066_zhugeliang','ps_zhugeliang'], - huangyueying:['re_huangyueying','huangyueying','junk_huangyueying'], - sunquan:['re_sunquan','sunquan','dc_sunquan'], - zhouyu:['re_zhouyu','zhouyu','ps1062_zhouyu','ps2080_zhouyu'], - luxun:['re_luxun','luxun'], - lvmeng:['re_lvmeng','lvmeng'], - huanggai:['re_huanggai','huanggai'], - daqiao:['re_daqiao','daqiao'], - sunshangxiang:['re_sunshangxiang','sunshangxiang'], - ganning:['re_ganning','ganning','yongjian_ganning'], + machao:['machao','re_machao','sb_machao','ps_machao'], + sp_machao:['sp_machao','dc_sp_machao','old_machao'], + zhugeliang:['zhugeliang','re_zhugeliang','ps2066_zhugeliang','ps_zhugeliang'], + huangyueying:['huangyueying','re_huangyueying','junk_huangyueying'], + sunquan:['sunquan','re_sunquan','sb_sunquan','dc_sunquan'], + zhouyu:['zhouyu','re_zhouyu','sb_zhouyu','ps1062_zhouyu','ps2080_zhouyu'], + luxun:['luxun','re_luxun'], + lvmeng:['lvmeng','re_lvmeng','sb_lvmeng'], + huanggai:['huanggai','re_huanggai','sb_huanggai'], + daqiao:['daqiao','re_daqiao','sb_daqiao'], + sunshangxiang:['sunshangxiang','re_sunshangxiang','sb_sunshangxiang'], + ganning:['ganning','re_ganning','sb_ganning','yongjian_ganning'], yj_ganning:['yj_ganning','sp_ganning'], - lvbu:['re_lvbu','lvbu','jsrg_lvbu','ps_lvbu'], - diaochan:['re_diaochan','diaochan'], - huatuo:['re_huatuo','old_huatuo','huatuo'], - huaxiong:['re_huaxiong','old_huaxiong','huaxiong','ol_huaxiong'], - yuanshu:['yl_yuanshu','yuanshu','re_yuanshu','old_yuanshu','ol_yuanshu'], - gongsunzan:['dc_gongsunzan','re_gongsunzan','xin_gongsunzan','gongsunzan'], + lvbu:['lvbu','re_lvbu','jsrg_lvbu','ps_lvbu'], + diaochan:['diaochan','re_diaochan','sb_diaochan'], + huatuo:['huatuo','re_huatuo','old_huatuo'], + huaxiong:['huaxiong','re_huaxiong','old_huaxiong','sb_huaxiong','ol_huaxiong'], + yuanshu:['yuanshu','re_yuanshu','yl_yuanshu','old_yuanshu','ol_yuanshu'], + gongsunzan:['gongsunzan','re_gongsunzan','dc_gongsunzan','xin_gongsunzan'], re_lidian:['re_lidian','old_re_lidian','junk_lidian'], }, translate:{ diff --git a/character/tw.js b/character/tw.js index 513987f74c..3634b39edc 100644 --- a/character/tw.js +++ b/character/tw.js @@ -323,7 +323,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var target=_status.event.target; if(target.countCards('h')-player.countCards('h')>target.countCards('h')/4||get.attitude(player,target)>0) return 0; return 1; - }); + }).set('target',target); } 'step 3' if(result.index==0){ @@ -728,30 +728,35 @@ game.import('character',function(lib,game,ui,get,ai,_status){ global:'twzhuiting_global', subSkill:{ global:{ - hiddenCard:function(player,name){ - if(name!='wuxie'||!lib.inpile.contains('wuxie')) return false; - if(!['wei','qun'].contains(player.group)) return false; - return game.hasPlayer(target=>target!=player&&target.hasZhuSkill('twzhuiting')); + hiddenWuxie:function(player,info){ + if(player.group!='wei'&&player.group!='qun') return false; + const target=info.target,card=info.card; + if(!target||target==player||!target.hasZhuSkill('twzhuiting')) return false; + if(_status.connectMode&&player.countCards('hs')>0) return true; + const color=get.color(card,false); + if(color=='none') return false; + return player.hasCard(card=>get.color(card)==color,'hes'); }, audio:'twzhuiting', forceaudio:true, enable:'chooseToUse', filter:function(event,player){ - if(!['wei','qun'].contains(player.group)) return false; - if(!event.filterCard({name:'wuxie'},player,event)||!lib.inpile.contains('wuxie')) return false; - var target=event.getParent(4)[event.getParent(4).name=='phaseJudge'?'player':'target']; - var cardx=event.getParent(4).card; - return target&&cardx&&target!=player&&target.hasZhuSkill('twzhuiting')&&player.countCards('hes',card=>get.color(card,player)==get.color(cardx)); + if(event.type!='wuxie'||player.group!='wei'&&player.group!='qun') return false; + const info=event.info_map,target=info.target,card=info.card; + if(!target||target==player||!target.hasZhuSkill('twzhuiting')) return false; + const color=get.color(card,false); + if(color=='none') return false; + return player.hasCard(card=>get.color(card)==color,'hes'); }, - filterCard:function(card,player){ - var event=_status.event; - return get.color(card,player)==get.color(event.getParent(4).card); + filterCard:function(card){ + const info=_status.event.info_map; + return info&&get.color(card)==get.color(info.card,false); }, viewAs:{name:'wuxie'}, position:'hes', prompt:function(){ - var event=_status.event; - return '将一张'+get.translation(get.color(event.getParent(4).card))+'牌当作【无懈可击】对'+get.translation(event.getParent(4)[event.getParent(4).name=='phaseJudge'?'player':'target'])+'使用'; + const info=_status.event.info_map; + return '将一张'+get.translation(get.color(info.card))+'牌当作【无懈可击】对'+get.translation(info.target)+'使用'; }, check:function(card){ return 8-get.value(card); @@ -6034,7 +6039,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var list=[]; player.getHistory('useCard',function(evt){ if(get.type(evt.card)!='basic') return; - var name=evt.card.name,nature=evt.card.hasNature()?get.nature(evt.card):''; + var name=evt.card.name,nature=game.hasNature(evt.card)?get.nature(evt.card):''; if(!list.contains(name+nature)) list.push(name+nature); }); event.addDamage=list.length>1; @@ -8202,17 +8207,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, enable:['chooseToUse','chooseToRespond'], hiddenCard:function(player,name){ - if(!['sha','shan'].contains(name)) return false; + if(!['sha','shan'].includes(name)) return false; return player.hasCard(function(card){ - return card.name=='sha'||card.name=='shan'; + const name2=get.name(card); + return (name2=='sha'||name2=='shan')&&name!=name2; },'hs'); }, filter:function(event,player){ - if(event.filterCard({name:'sha'},player,event)||event.filterCard({name:'shan'},player,event)){ - return player.hasCard(function(card){ - return card.name=='sha'||card.name=='shan'; - },'hs'); - } + const names=[]; + if(event.filterCard({name:'sha'},player,event)) names.push('shan'); + if(event.filterCard({name:'shan'},player,event)) names.push('sha'); + return names.length>0&&player.hasCard(function(card){ + return names.includes(get.name(card)); + },'hs'); return false; }, group:'twchaofeng_compare', @@ -8251,8 +8258,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:'twchaofeng', name:links[0][2], filterCard:function(card,player,target){ - if(lib.skill.twchaofeng_backup.name=='sha') return card.name=='shan'; - else return card.name=='sha'; + if(lib.skill.twchaofeng_backup.name=='sha') return get.name(card)=='shan'; + else return get.name(card)=='sha'; }, selectCard:1, check:function(card,player,target){ @@ -8350,7 +8357,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger:{player:'phaseZhunbeiBegin'}, limited:true, skillAnimation:true, - animationColor:'legend', + animationColor:'qun', direct:true, content:function(){ 'step 0' @@ -10445,7 +10452,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twlihuo:{ trigger:{player:'useCard1'}, filter:function(event,player){ - if(event.card.name=='sha'&&!event.card.hasNature()) return true; + if(event.card.name=='sha'&&!game.hasNature(event.card)) return true; return false; }, audio:'lihuo', @@ -10470,7 +10477,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twlihuo2:{ trigger:{player:'useCard2'}, filter:function(event,player){ - if(event.card.name!='sha'||!event.card.hasNature('fire')) return false; + if(event.card.name!='sha'||!game.hasNature(event.card,'fire')) return false; return game.hasPlayer(function(current){ return !event.targets.contains(current)&&player.canUse(event.card,current); }); @@ -14037,13 +14044,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, translate:{ tw_beimihu:'TW卑弥呼', + tw_beimihu_prefix:'TW', nashime:'难升米', tw_xiahouba:'TW夏侯霸', + tw_xiahouba_prefix:'TW', tw_zumao:'TW祖茂', + tw_zumao_prefix:'TW', tw_caoang:'TW曹昂', + tw_caoang_prefix:'TW', tw_dingfeng:'TW丁奉', - tw_caohong:'TW曹洪', + tw_dingfeng_prefix:'TW', + tw_caohong:'TW将曹洪', + tw_caohong_prefix:'TW将', tw_maliang:'TW马良', + tw_maliang_prefix:'TW', twyanqin:'姻亲', twyanqin_info:'准备阶段,你可以将势力变更为魏或蜀。', @@ -14073,6 +14087,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ renshe:'忍涉', renshe_info:'当你受到伤害后,你可以选择一项:将势力改为现存的另一个势力;或可以额外发动一次“外使”直到你的下个出牌阶段结束;或与另一名其他角色各摸一张牌。', tw_gexuan:'TW葛玄', + tw_gexuan_prefix:'TW', twdanfa:'丹法', twdanfa_info:'准备阶段或结束阶段开始时,你可将一张牌置于武将牌上,称为“丹”。每回合每种花色限一次,当你使用牌时,若“丹”中有与此牌花色相同的牌,则你摸一张牌。', twlingbao:'灵宝', @@ -14086,6 +14101,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ gx_chongyingshenfu:'冲应神符', gx_chongyingshenfu_info:'锁定技。①当你受到牌造成的伤害后,你记录此牌的名称。②当你受到〖冲应神符①〗记录过的牌造成的伤害时,你令此牌伤害-1。', tw_dongzhao:'TW董昭', + tw_dongzhao_prefix:'TW', twmiaolve:'妙略', twmiaolve_info:'游戏开始时,你获得两张【瞒天过海】。当你受到1点伤害后,你可选择:①获得一张【瞒天过海】并摸一张牌。②获得一张智囊。', twyingjia:'迎驾', @@ -14093,6 +14109,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dz_mantianguohai:'瞒天过海', dz_mantianguohai_info:'此牌不计入拥有者的手牌上限。出牌阶段,对一至两名区域内有牌的其他角色使用。你获得目标角色一张牌,然后依次交给每名目标角色各一张牌。', jiachong:'TW贾充', + jiachong_prefix:'TW', beini:'悖逆', beini_info:'出牌阶段限一次,你可以选择一名体力值不小于你的角色,令你或其摸两张牌,然后未摸牌的角色视为对摸牌的角色使用一张【杀】。', dingfa:'定法', @@ -14106,9 +14123,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jintao:'进讨', jintao_info:'锁定技,你使用【杀】无距离限制且次数上限+1。你于出牌阶段内使用的第一张【杀】伤害+1,第二张【杀】不可被响应。', yuejiu:'TW乐就', + yuejiu_prefix:'TW', cuijin:'催进', cuijin_info:'当你或你攻击范围内的角色使用【杀】时,你可以弃置一张牌并获得如下效果:此【杀】的伤害值基数+1,且当此【杀】结算结束后,若未造成过伤害,则你对使用者造成1点伤害。', tw_zhaoxiang:'TW赵襄', + tw_zhaoxiang_prefix:'TW', twfuhan:'扶汉', twfuhan_info:'限定技。准备阶段开始时时,你可以移去所有"梅影"标记,然后从五张未登场的蜀势力武将牌中选择一名获得其所有技能,将体力上限数调整为以此技能移去所有“梅影”标记的数量(最少为2,最多为8)并回复1点体力,然后从牌堆/弃牌堆/场上获得【梅影枪】。', twqueshi:'鹊拾', @@ -14116,41 +14135,49 @@ game.import('character',function(lib,game,ui,get,ai,_status){ meiyingqiang:'梅影枪', meiyingqiang_info:'当你于其他角色的回合内第一次失去牌时,你可以使用一张【杀】。', tw_fuwan:'TW伏完', + tw_fuwan_prefix:'TW', twmoukui:'谋溃', twmoukui_info:'当你使用【杀】指定目标后,你可以选择一项:①摸一张牌;②弃置该角色的一张牌;③背水:若此【杀】未因造成伤害而令该角色进入过濒死状态,则该角色弃置你的一张牌。', tw_yujin:'SP于禁', + tw_yujin_prefix:'SP', xinzhenjun:'镇军', xinzhenjun_info:'出牌阶段开始时,你可以将一张牌交给一名其他角色,令其选择是否使用一张不为黑色的【杀】。若其选择是,则你于此【杀】结算完成后摸1+X张牌(X为此【杀】造成的伤害总点数)。若其选择否,则你对其或其攻击范围内的一名其他角色造成1点伤害。', tw_hucheer:'TW胡车儿', + tw_hucheer_prefix:'TW', twshenxing:'神行', twshenxing_info:'锁定技。若你的装备区内没有坐骑牌,则你至其他角色的距离-1且手牌上限+1。', twdaoji:'盗戟', twdaoji_info:'出牌阶段限一次,你可以弃置一张非基本牌并选择一名攻击范围内的角色,获得其一张牌。若你以此法得到的牌为:基本牌,你摸一张牌;装备牌,你使用此牌并对其造成1点伤害。', tw_hejin:'TW何进', + tw_hejin_prefix:'TW', twmouzhu:'谋诛', twmouzhu_info:'出牌阶段限一次,你可以选择一名其他角色A。你令除A外所有体力值小于等于你的其他角色依次选择是否交给你一张牌。若你以此法得到的牌数X:等于0,你和所有进行选择的角色依次失去1点体力。大于0,你令A选择由你视为对其使用一张伤害值基数为X的【杀】或【决斗】。', twyanhuo:'延祸', twyanhuo_info:'当你死亡时,你可以选择一项:①令一名其他角色弃置X张牌。②令X名其他角色依次弃置一张牌。(X为你的牌数)', tw_mayunlu:'TW马云禄', + tw_mayunlu_prefix:'TW', twfengpo:'凤魄', twfengpo_info:'①当你使用【杀】或【决斗】指定唯一目标后,你可观看目标角色的手牌并选择一项:⒈摸X张牌。⒉令此牌的伤害值基数+X(X为其手牌中的♦数)。②当你杀死一名角色后,你将〖凤魄①〗中的“♦数”改为“红色牌数”。', - tw_re_caohong:'TW手杀曹洪', - tw_re_caohong_ab:'曹洪', + tw_re_caohong:'TW曹洪', + tw_re_caohong_prefix:'TW', twyuanhu:'援护', twyuanhu_info:'出牌阶段限一次。你可将一张装备牌置入一名角色的装备区内。若此牌为:武器牌,你弃置与其距离为1的另一名角色区域的一张牌;防具牌,其摸一张牌;坐骑牌或宝物牌,其回复1点体力。然后若其体力值或手牌数不大于你,则你摸一张牌,且你可以于本回合的结束阶段发动一次〖援护〗。', twjuezhu:'决助', twjuezhu_info:'限定技。准备阶段,你可废除一个坐骑栏,令一名角色获得〖飞影〗并废除判定区。该角色死亡后,你恢复以此法废除的装备栏。', tw_zangba:'TW臧霸', + tw_zangba_prefix:'TW', twhanyu:'捍御', twhanyu_info:'锁定技。游戏开始时,你获得牌堆中的基本牌,锦囊牌,装备牌各一张。', twhengjiang:'横江', twhengjiang_info:'出牌阶段限一次,当你使用基本牌或普通锦囊牌指定唯一目标后,你可将此牌的目标改为攻击范围内的所有合法目标,然后你于此牌结算结束后摸X张牌(X为因响应此牌而使用或打出过牌的角色数)。', tw_huojun:'TW霍峻', + tw_huojun_prefix:'TW', twsidai:'伺怠', twsidai_info:'限定技。出牌阶段,你可以将手牌区内的所有基本牌当做【杀】使用(无距离和次数限制)。若此牌对应的实体牌中:包含【闪】,则目标角色成为此牌的目标后,需弃置一张基本牌,否则不可响应此牌;包含【桃】,则当目标角色受到此牌的伤害后,其减1点体力上限;包含【酒】,则当目标角色受到此牌的伤害时,此伤害×2。', twjieyu:'竭御', twjieyu_info:'每轮限一次。结束阶段开始时,或当你于一轮内第一次受到伤害后,你可以弃置所有手牌,然后从弃牌堆中获得不同牌名的基本牌各一张。', tw_liuhong:'TW刘宏', + tw_liuhong_prefix:'TW', twyujue:'鬻爵', twyujue_give:'鬻爵', twyujue_info:'①其他角色的出牌阶段内,可以交给你任意张牌(每阶段上限为两张)。②当你于回合外获得其他角色的一张牌后,你可令其选择本回合内未选择过的一项:⒈弃置攻击范围内一名角色的一张牌。⒉下一次使用牌时,从牌堆中获得一张同类别的牌。', @@ -14159,6 +14186,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twfengqi:'烽起', twfengqi_info:'主公技,锁定技。①其他群势力角色发动〖鬻爵①〗时,将每阶段上限改为四张。②以其他角色为目标的〖革制②〗结算结束后,目标角色可以获得其武将牌上的主公技。', tw_caocao:'TW曹操', + tw_caocao_prefix:'TW', twlingfa:'令法', twlingfa_info:'①第一轮游戏开始时,你可选择获得如下效果直到本轮结束:其他角色使用【杀】时,若其有牌,则其需弃置一张牌,否则受到你造成的1点伤害。②第二轮游戏开始时,你可选择获得如下效果直到本轮结束:其他角色使用【桃】结算结束后,若其有牌,则其需交给你一张牌,否则受到你造成的1点伤害。③第三轮游戏开始时,你失去〖令法〗并获得〖治暗〗。', twzhian:'治暗', @@ -14185,6 +14213,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twdidao:'地道', twdidao_info:'一名角色的判定牌生效前,你可以打出一张牌作为判定牌并获得原判定牌。若你以此法打出的牌与原判定牌颜色相同,你摸一张牌。', tw_chengpu:'TW程普', + tw_chengpu_prefix:'TW', twlihuo:'疠火', twlihuo2:'疠火', twlihuo3:'疠火', @@ -14192,6 +14221,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twchunlao:'醇醪', twchunlao_info:'①准备阶段,若场上没有“醇”,则你可将一名角色区域内的一张牌置于其武将牌上,称为“醇”。②一名角色使用【杀】时,若其有“醇”,则其可以交给你一张牌,令此【杀】的伤害值基数+1。③一名角色进入濒死状态时,若其有“醇”,则你可以移去“醇”并摸一张牌,然后令其回复1点体力。', tw_guohuai:'TW郭淮', + tw_guohuai_prefix:'TW', twjingce:"精策", twjingce_info:"当你于出牌阶段使用第X张牌时,你可以摸两张牌(X为你的体力值)。若此阶段你此前摸过牌或本回合造成过伤害,你获得一枚“策”标记。", yuzhang:"御嶂", @@ -14204,11 +14234,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twfeifu:'非服', twfeifu_info:'锁定技,转换技。阴:当你成为【杀】的唯一目标后;阳:当你使用【杀】指定唯一目标后;目标角色须交给使用者一张牌。若此牌为装备牌,则使用者可使用此牌。', tw_wangchang:'TW王昶', + tw_wangchang_prefix:'TW', twkaiji:'开济', twkaiji_info:'准备阶段,你可令至多X名角色各摸一张牌(X为本局游戏内进入过濒死状态的角色数+1)。若有角色以此法获得了非基本牌,则你摸一张牌。', twshepan:'慑叛', twshepan_info:'每回合限一次。当你成为其他角色使用牌的目标后,你可选择一项:⒈摸一张牌。⒉将其区域内的一张牌置于牌堆顶。然后若你的手牌数与其相等,则你将此技能的发动次数归零,且可以令此牌对你无效。', tw_wangcan:'TW王粲', + tw_wangcan_prefix:'TW', twdianyi:'典仪', twdianyi_info:'锁定技。你的回合结束时,若你本回合内:造成过伤害,你弃置所有手牌;未造成过伤害,你将手牌数调整至四张。', twyingji:'应机', @@ -14217,14 +14249,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twshanghe:'觞贺', twshanghe_info:'限定技。当你进入濒死状态时,你可令所有其他角色依次交给你一张牌;若这些牌中没有【酒】,则你将体力回复至1点。', tw_wujing:'TW吴景', + tw_wujing_prefix:'TW', twfenghan:'锋捍', twfenghan_info:'每回合限一次。当你使用【杀】或伤害类锦囊牌指定第一个目标后,你可令至多X名角色各摸一张牌(X为此牌的目标数)。', twcongji:'从击', twcongji_info:'当你的红色牌于回合外因弃置而进入弃牌堆后,你可令一名其他角色获得这些牌。', old_quancong:'TW全琮', + old_quancong_prefix:'TW', zhenshan:'振赡', zhenshan_info:'每回合限一次,当你需要使用或打出一张基本牌时,你可以与一名手牌数少于你的角色交换手牌,视为使用或打出此牌。', tw_tianyu:'TW田豫', + tw_tianyu_prefix:'TW', + gz_tw_tianyu:'田豫', twzhenxi:'震袭', twzhenxi_info:'每回合限一次。当你使用【杀】指定目标后,你可选择一项:⒈弃置其X张手牌(X为你至其的距离);⒉将其装备区或判定区内的一张牌移动到另一名角色的装备区或判定区内。若其体力值大于你或其体力值为全场最高,则你可以改为依次执行以上两项。', twyangshi:'扬师', @@ -14267,6 +14303,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twlinglu:'令戮', twlinglu_info:'强令:①任务:执行角色于其下回合结束前造成的伤害不小于2点。②成功:其摸两张牌。③失败:其失去1点体力。', tw_mateng:'TW马腾', + tw_mateng_prefix:'TW', twxiongzheng:'雄争', twxiongzheng_info:'一轮游戏开始时,①若你上一轮发动过〖雄争〗且选择过“雄争”角色,你可以选择一项:1.视为对任意名上一轮内未对“雄争”角色造成过伤害的角色依次使用一张【杀】;2.令任意名上一轮对“雄争”角色造成过伤害的角色摸两张牌。②你可以选择一名未以此法选择过的角色,称为“雄争”角色。', twluannian:'乱年', @@ -14282,6 +14319,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twshigong:'示恭', twshigong_info:'限定技。当你于回合外进入濒死状态时,你可以令当前回合角色选择一项:1.加1点体力上限并回复1点体力,摸一张牌,然后令你将体力回复至体力上限;2.弃置X张手牌,然后令你将体力回复至1点(X为其体力值)。', tw_wangling:'TW王淩', + tw_wangling_prefix:'TW', twmibei:'秘备', twmibei_info:'使命技。①使命:使用每种类型且牌名不同的牌各两张。②成功:当你使用牌后,若你于本次事件完成了〖秘备①〗的使命,你获得〖谋立〗。③失败:出牌阶段结束时,若你本回合未使用过牌,你本回合手牌上限-1并重置〖秘备〗。', twxingqi:'星启', @@ -14290,22 +14328,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twmouli_backup:'谋立', twmouli_info:'每回合限一次。你可以使用牌堆中的一张基本牌。', tw_zhugeguo:'TW诸葛果', + tw_zhugeguo_prefix:'TW', twqirang:'祈禳', twqirang_info:'当有装备牌进入你的装备区时,你可以从牌堆中获得一张锦囊牌,你本阶段使用此牌无距离限制且不可被响应,且当你使用此牌时,你可以为这张牌增加或减少一个目标。', twyuhua:'羽化', twyuhua_info:'锁定技。①你的非基本牌不计入手牌上限。②当你于回合外失去牌后,若其中有非基本牌,你可以卜算X,然后你可以摸X张牌(X为其中非基本牌数且至多为5)。', tw_fanchou:'TW樊稠', + tw_fanchou_prefix:'TW', twxingluan:'兴乱', twxingluan_info:'结束阶段,你可以亮出牌堆顶的六张牌,然后你可以选择一种类型的牌并分配给任意角色(每名角色至多三张)。然后所有以此法得到过牌且得到的牌数不少于你的角色失去1点体力。', tw_xujing:'TW许靖', + tw_xujing_prefix:'TW', twboming:'博名', twboming_info:'①出牌阶段限两次。你可以将一张牌交给一名其他角色。②结束阶段,若所有其他角色于此回合得到的牌数之和大于1,你摸两张牌。', twejian:'恶荐', twejian_info:'当其他角色得到你的牌后,若其有其他与此牌类型相同的牌,你可以令其选择一项:1.受到你造成的1点伤害;2.弃置这些牌。', tw_zhangfei:'TW张飞', + tw_zhangfei_prefix:'TW', twxuhe:'虚吓', twxuhe_info:'当你使用的【杀】被【闪】抵消时,你可以令其选择一项:1.受到你造成的1点伤害;2.本回合你使用的下一张牌对其造成伤害时,此伤害+2。', tw_xuezong:'TW薛综', + tw_xuezong_prefix:'TW', twjiexun:'诫训', twjiexun_info:'结束阶段,你可以选择一个花色并令一名其他角色摸等同于场上此花色牌数张牌,然后其弃置X张牌。若其以此法弃置了所有牌,你选择一项:1.摸X张牌,然后将X归零;2.修改〖复难〗和〖诫训〗(X为此前〖诫训〗的发动次数)。', twfunanx:'复难·改', @@ -14313,6 +14356,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twfunanx_info:'当其他角色使用或打出牌响应你使用的牌时,你可获得其使用或打出的牌。', twjiexunx_info:'结束阶段,你可选择一个花色并令一名其他角色摸等同于场上此花色牌数张牌,然后其弃置X张牌(X为此前〖诫训〗的发动次数)。', tw_zhangning:'TW张宁', + tw_zhangning_prefix:'TW', twxingzhui:'星坠', twxingzhui_info:'出牌阶段限一次。你可以失去1点体力并施法:亮出牌堆顶2X张牌,若其中有黑色牌,则你可令一名其他角色获得这些黑色牌。若黑色牌的数量不小于X,则你对其造成X点雷电伤害。', twjuchen:'聚尘', @@ -14333,11 +14377,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twyouye:'攸业', twyouye_info:'锁定技。①其他角色的结束阶段,若其本回合未对你造成过伤害且“蓄”数小于5,你将牌堆顶的牌置于武将牌上,称为“蓄”。②当你造成或受到伤害后,若你有“蓄”,你将所有“蓄”分配给任意角色(若当前回合角色存活,则你至少为当前回合角色分配一张)。', tw_xunchen:'TW荀谌', + tw_xunchen_prefix:'TW', twweipo:'危迫', twweipo_info:'出牌阶段限一次。你可以令一名角色弃置一张牌,然后令其获得一张【兵临城下】或一张由你选择的智囊牌。', twmouzhi:'谋识', twmouzhi_info:'锁定技。当你受到伤害时,若伤害渠道对应的牌和你上次受到的伤害渠道对应的牌颜色相同,则你防止此伤害。', tw_jiangqing:'TW蒋钦', + tw_jiangqing_prefix:'TW', twshangyi:'尚义', twshangyi_info:'出牌阶段限一次。你可以弃置一张牌并选择一名有手牌的其他角色,你令其观看你的手牌,然后你观看其手牌并选择一项:1.弃置其中一张牌;2.与其交换一张手牌。若你以此法弃置了其的黑色牌,或你与其交换的两张牌均为红色,你摸一张牌。', twxiangyu:'翔羽', @@ -14345,23 +14391,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twgyshenxing:'慎行', twgyshenxing_info:'出牌阶段,你可以弃置X张牌,然后摸一张牌并获得1枚“慎”标记(X为你的“慎”数且至多为2)。', tw_guyong:'TW顾雍', + tw_guyong_prefix:'TW', twbingyi:'秉壹', twbingyi_info:'结束阶段,你可以展示所有手牌,若这些牌的颜色均相同或类别均相同,你可以令至多Y名角色各摸一张牌(Y为你的手牌数)。若你以此法展示的牌数大于1且这些牌的颜色均相同且类别均相同,你移去所有“慎”。', twyilie:'毅烈', twyilie_info:'出牌阶段开始时,你可以选择一项:1.本阶段内使用【杀】的次数上限+1;2.本回合内使用【杀】指定处于连环状态的目标后,或使用【杀】被【闪】抵消时,摸一张牌;3.背水:失去1点体力,然后依次执行上述所有选项。', tw_chendong:'TW陈武董袭', + tw_chendong_prefix:'TW', twfenming:'奋命', twfenming_info:'准备阶段,你可以选择一名其他角色并选择一项:1.令其弃置一张牌;2.令其横置;3.背水:横置,然后依次执行上述所有选项。', tw_handang:'TW韩当', + tw_handang_prefix:'TW', twgongji:'弓骑', twgongji2:'弓骑', twgongji_info:'①你的攻击范围无限。②出牌阶段限一次,你可以弃置一张牌,然后你使用与此牌花色相同的【杀】无任何次数限制直到回合结束。若你以此法弃置的牌为装备牌,则你可以弃置一名其他角色的一张牌。', twjiefan:'解烦', twjiefan_info:'限定技。出牌阶段,你可以选择一名角色,令攻击范围内含有其的所有角色依次选择一项:1.弃置一张武器牌;2.令其摸一张牌。然后当其第一次进入濒死状态后,你重置〖解烦〗。', tw_jiling:'TW纪灵', + tw_jiling_prefix:'TW', twshuangren:'双刃', twshuangren_info:'①出牌阶段开始时,你可以与一名角色拼点。若你:赢,你可以视为对至多两名至其的距离不大于1的角色依次使用一张【杀】;没赢,其可以视为对你使用一张【杀】。②出牌阶段结束时,若你本回合未发动过〖双刃①〗且未造成过渠道为【杀】的伤害,你可以弃置一张牌发动〖双刃①〗。', tw_re_fazheng:'TW法正', + tw_re_fazheng_prefix:'TW', twxuanhuo:'眩惑', twxuanhuo_info:'摸牌阶段结束时,你可以交给一名其他角色两张牌,然后其选择一项:1.视为对你选择的另一名其他角色使用一张【杀】或【决斗】,2.令你获得其两张牌。', twenyuan:'恩怨', @@ -14369,6 +14420,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twenyuan2:'恩怨', twenyuan_info:'①当你获得一名其他角色的至少两张牌后,你可以令其摸一张牌,若其手牌区或装备区没有牌,则你可以改为令其回复1点体力。②当你受到1点伤害后,你可令伤害来源选择一项:1.失去1点体力;2.交给你一张手牌,若此牌的花色不为♥,你摸一张牌。', tw_madai:'TW马岱', + tw_madai_prefix:'TW', twqianxi:'潜袭', twqianxi2:'潜袭', twqianxi3:'潜袭', @@ -14376,11 +14428,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twqianxi3_bg:'袭', twqianxi_info:'准备阶段,你可以摸一张牌并弃置一张牌,令一名距离为1的角色本回合不能使用或打出与你弃置的牌颜色相同的手牌。然后本回合的结束阶段,若你本回合对其造成过渠道为【杀】的伤害,你令其不能使用或打出与你以此法弃置的牌颜色不同的牌直到其下回合结束。', tw_niujin:'TW牛金', + tw_niujin_prefix:'TW', twcuorui:'挫锐', twcuorui_info:'限定技。准备阶段,你可以将手牌摸至X张(X为场上角色手牌数最多的角色的手牌数,且至多摸5张)。然后若你的判定区:未废除,你废除判定区;已废除,你可以对一名其他角色造成1点伤害。', twliewei:'裂围', twliewei_info:'锁定技。当你杀死一名角色后,你选择一项:1.摸两张牌;2.若你拥有〖挫锐〗且〖挫锐〗已发动过,重置〖挫锐〗。', tw_guanqiujian:'TW毌丘俭', + tw_guanqiujian_prefix:'TW', twzhengrong:'征荣', twzhengrong_tag:'荣', twzhengrong_info:'当你于出牌阶段使用牌结算结束后,若此牌为你于本局游戏你的出牌阶段内使用的第偶数张指定了其他角色为目标的牌,或你于出牌阶段第一次造成伤害后,你可以将一名其他角色的一张牌置于你的武将牌上,称为“荣”。', @@ -14392,16 +14446,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twsaotao:'扫讨', twsaotao_info:'锁定技。你使用【杀】和普通锦囊牌不能被响应。', tw_daxiaoqiao:'TW大乔小乔', + tw_daxiaoqiao_prefix:'TW', twxingwu:'星舞', twxingwu_info:'弃牌阶段开始时,你可以将一张牌置于武将牌上,称为“星舞”。然后你可移去三张“星舞”,弃置一名其他角色装备区里的所有牌,然后对其造成2点伤害(若其性别包含女性则改为1点伤害)。', twpingting:'娉婷', twpingting_info:'锁定技。①一轮游戏开始时或其他角色于你的回合内进入濒死状态时,你摸一张牌并将一张牌置于武将牌上,称为“星舞”。②若你有“星舞”,你视为拥有〖天香〗和〖流离〗。', tw_furong:'TW傅肜', + tw_furong_prefix:'TW', twxuewei:'血卫', twxuewei_info:'每轮限一次。一名其他角色A的出牌阶段开始时,你可以选择另一名其他角色B,然后你令A选择一项:1.本回合不能对B使用【杀】且手牌上限-2;2.你视为对A使用一张【决斗】。', twliechi:'烈斥', twliechi_info:'当你受到伤害后,若伤害来源的体力值不小于你,你可以选择一项:1.令其将手牌数弃置至与你的手牌数相同;2.弃置其一张牌;3.背水:若你本回合进入过濒死状态,弃置一张装备牌,然后依次执行上述所有选项。', tw_yl_luzhi:'TW卢植', + tw_yl_luzhi_prefix:'TW', twmingren:'明任', twmingren_info:'①游戏开始时,你摸一张牌,然后将一张手牌置于武将牌上,称为“任”。②出牌阶段开始时或出牌阶段结束时,你可以用一张牌替换“任”。', twzhenliang:'贞良', @@ -14413,6 +14470,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twfupan:'复叛', twfupan_info:'当你造成或受到伤害后,你可以摸X张牌并将一张牌交给一名其他角色(X为伤害值)。若你此前:未以此法交给过该角色牌,你摸两张牌;以此法交给过该角色牌,你可{对其造成1点伤害,然后你不能再以此法交给其牌}。', tw_liuzhang:'TW刘璋', + tw_liuzhang_prefix:'TW', twyaohu:'邀虎', twyaohu_info:'每轮限一次。回合开始时,你须选择场上的一个势力。该势力的角色的出牌阶段开始时,其获得你的一张“生”,然后其须选择一项:1.对你指定的另一名的其他角色使用一张【杀】(无距离限制);2.本回合其使用伤害牌指定你为目标时须交给你两张牌,否则取消此目标。', tw_liwei:'李遗', @@ -14434,16 +14492,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twtanfeng:'探锋', twtanfeng_info:'准备阶段,你可以弃置一名其他角色区域内的一张牌,然后其选择一项:1.受到你造成的1点火焰伤害,然后令你跳过本回合的一个阶段(准备阶段和结束阶段除外);2.将一张牌当做【杀】对你使用(有距离限制)。', tw_zongyu:'TW宗预', + tw_zongyu_prefix:'TW', twzhibian:'直辩', twzhibian_info:'出牌阶段开始时,你可以与一名其他角色拼点。若你赢,你可以选择一项:{1.将其区域里的一张牌移动到你的对应区域;2.回复1点体力;3.背水:弃置一张非基本牌,然后依次执行上述所有选项};若你没赢,你失去1点体力。', twyuyan:'御严', twyuyan_info:'锁定技。当你成为体力值大于你的角色使用的【杀】的目标时,你令使用者选择一项:1.交给你一张点数大于此【杀】的牌(若此【杀】无点数则改为非基本牌)。2.取消此目标。', tw_zhouchu:'TW周处', + tw_zhouchu_prefix:'TW', twguoyi:'果毅', twguoyi_info:'当你不因〖果毅〗使用【杀】或普通锦囊牌指定一名其他角色为目标后,若其体力值或手牌数最大,或你的手牌数不大于X(X为你已损失的体力值+1),你可令其选择一项:1.本回合不能使用或打出手牌;2.弃置X张牌。若条件均满足,或其于本回合两个选项均已选择过,则你于此牌结算结束后依次视为对此牌的所有目标使用一张名称和属性相同的牌。', twchuhai:'除害', twchuhai_info:'使命技。①使命:令至少两名其他角色进入濒死状态。②成功:一名角色的回合结束时,若你于本回合完成了〖除害①〗的使命,你废除判定区,然后每名其他角色依次交给你一张牌。③当你获得其他角色的牌后,你须将其中的一张牌置入弃牌堆。', tw_qiaogong:'TW桥公', + tw_qiaogong_prefix:'TW', twyizhu:'遗珠', twyizhu_info:'①结束阶段,你摸两张牌,然后将两张牌随机插入牌堆前2X张牌的位置中,称为“遗珠”(X为角色数,选择牌的牌名对其他角色可见)。②当有其他角色使用“遗珠”指定唯一目标时,你可以选择一项:1.增加一个目标;2.取消此目标,增加一个目标。然后移除此牌对应的“遗珠”记录并摸一张牌。', twluanchou:'鸾俦', @@ -14451,22 +14512,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twgonghuan:'共患', twgonghuan_info:'每回合限一次。当其他角色受到伤害时,若其拥有〖共患〗且其体力值不大于你,你可以将此伤害转移给你(不触发〖共患〗)。', tw_qiaorui:'TW桥蕤', + tw_qiaorui_prefix:'TW', wangxing:'妄行', twxiawei:'狭威', twxiawei_info:'①游戏开始时,你将牌堆中的两张基本牌置于武将牌上,称为“威”。②回合开始时,你将所有“威”置入弃牌堆。③你可以将“威”如手牌般使用或打出。④妄行:准备阶段,你可以将牌堆顶的X+1张牌置于武将牌上,称为“威”。', twqiongji:'穷技', twqiongji_info:'锁定技。①每回合限一次。当你使用或打出“威”后,你摸一张牌。②当你受到伤害时,若你没有“威”,此伤害+1。', tw_bianfuren:'TW卞夫人', + tw_bianfuren_prefix:'TW', twwanwei:'挽危', twwanwei_info:'每回合限一次。当一名体力值最小的角色受到伤害时:若该角色不为你,你可以防止此伤害,然后失去1点体力;若该角色为你,或你的体力上限最大,你可以于当前回合的结束阶段获得牌堆顶的牌并展示牌堆底的牌,若展示的牌能被使用,你使用之。', twyuejian:'约俭', twyuejian_info:'出牌阶段限一次。你可以将X张牌置于牌堆顶或牌堆底(X为你的手牌数减你的手牌上限且至少为1)。若你以此法失去的牌数:不小于3,你的体力上限+1;不小于2,你回复1点体力;不小于1,你的手牌上限+1。', tw_chenzhen:'TW陈震', + tw_chenzhen_prefix:'TW', twmuyue:'睦约', twmuyue_info:'出牌阶段限一次。你可以弃置一张牌并选择一个基本牌或普通锦囊牌的牌名,然后令一名角色从牌堆中获得一张此牌名的牌。若你以此法弃置的牌的牌名与你选择的牌名相同,你下次发动〖睦约〗无需弃牌。', twchayi:'察异', twchayi_info:'结束阶段,你可以选择一名其他角色,令其选择一项:1.展示所有手牌;2.下次使用牌时弃置一张牌。该角色的下个回合结束时,若其手牌数与其上一次成为〖察异〗目标后的手牌数不相同,其执行另一项。', tw_feiyi:'TW费祎', + tw_feiyi_prefix:'TW', twshengxi:'生息', twshengxi_info:'①准备阶段,你可以获得一张【调剂盐梅】。②结束阶段,若你本回合使用过牌且未造成伤害,则你可以获得一张智囊并摸一张牌。', twkuanji:'宽济', @@ -14481,19 +14546,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twzhenhu_info:'当你使用伤害牌指定第一个目标时,你可以摸一张牌并与至多三名其他角色共同拼点。若你赢,此牌对所有本次拼点没赢的角色造成的伤害+1;若你没赢,你失去1点体力。', twlvren:'履刃', twlvren_info:'①当你对其他角色造成伤害时,你令其获得1枚“刃”标记。②当你使用伤害牌时,你可以额外指定一名有“刃”的角色并移去其所有“刃”。③你的拼点牌点数+2X(X为参与此次拼点的角色数)。', - xia_tongyuan:'TW童渊', + xia_tongyuan:'侠童渊', + xia_tongyuan_prefix:'侠', twchaofeng:'朝凤', twchaofeng_backup:'朝凤', twchaofeng_info:'①你可以将一张【杀】当做【闪】、【闪】当做任意一种【杀】使用或打出。②出牌阶段开始时,你可以与至多三名角色共同拼点。赢的角色视为对所有没赢的角色使用一张火【杀】。', twchuanshu:'传术', twchuanshu_info:'限定技。准备阶段,你可以选择一名角色。直到你的下回合开始,其获得以下效果:1.当其拼点牌亮出时,此牌点数+3;2.其使用的下一张【杀】对除你外的角色造成伤害时,此伤害+1;3.若其不为你,其使用的下一张【杀】结算结束后,你摸等同于其因此【杀】造成的伤害值数的牌。', xia_xushu:'侠徐庶', + xia_xushu_prefix:'侠', twjiange:'剑歌', twjiange_info:'每回合限一次。你可以将一张非基本牌当做【杀】使用或打出(无距离和次数限制,且不计入次数)。若此时不为你的回合,你摸一张牌。', twxiawang:'侠望', twxiawang_info:'当一名角色受到伤害后,若你至其的距离不大于1,你可以对伤害来源使用一张【杀】。当此【杀】结算结束后,若你造成过渠道为此牌的伤害,结束当前阶段。', - tw_tongyuan:'TW童渊', tw_haomeng:'TW郝萌', + tw_haomeng_prefix:'TW', twgongge:'攻阁', twgongge_info:'摧坚:你可以选择一项:1.摸X+1张牌。其响应此牌后,跳过你的下一个摸牌阶段;2.弃置其X+1张牌。此牌结算结束后,若其体力值不小于你,你交给其X张牌;3.此牌对其造成的伤害+X。此牌结算结束后,其回复X点体力。', tw_weixu:'魏续', @@ -14502,26 +14569,32 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twtuidao:'颓盗', twtuidao_info:'限定技。准备阶段,若“随征”角色的体力值不大于2或“随征”角色已死亡,你可以废除你与其的一个坐骑栏并选择一个类别,然后若“随征”角色存活,你获得其所有此类别的牌,否则你从牌堆中获得两张此类别的牌。然后你将“随征”角色改为另一名角色。', tw_caoxiu:'TW曹休', + tw_caoxiu_prefix:'TW', twqianju:'千驹', twqianju_info:'锁定技。①你计算与其他角色的距离-X(X为你装备区的牌数)。②每回合限一次。当你对距离为1以内的角色造成伤害后,若你的装备区存在空置装备栏,你从牌堆或弃牌堆中将一张你空置装备栏对应副类别的装备牌置于你的装备区。', twqingxi:'倾袭', twqingxi_info:'当你使用张【杀】指定目标后,若此牌为你于本回合使用的第一张【杀】,你可以令目标角色选择一项:1.令你摸Y张牌,此【杀】不可被其响应(Y为你装备区的牌数且至少为1);2.若其装备区里有牌,弃置装备区里的所有牌,然后弃置你装备区里的等量张牌,令此【杀】对其造成的伤害+1。', tw_sunyi:'TW孙翊', + tw_sunyi_prefix:'TW', twzaoli:'躁厉', twzaoli_info:'锁定技。①出牌阶段,你只能使用或打出你本回合得到的手牌。②出牌阶段开始时,你须弃置你区域内的所有装备牌并弃置任意张非装备手牌,你摸等量的牌,从牌堆中将你此次弃置的装备牌对应副类别的装备牌置入装备区。若你以此法置入了超过两张装备牌,你失去1点体力。', tw_yangyi:'TW杨仪', + tw_yangyi_prefix:'TW', twgongsun:'共损', twgongsun_shadow:'共损', twgongsun_info:'锁定技。出牌阶段开始时,你选择攻击范围内的一名其他角色并选择一种花色,直至你的下个回合开始前或你死亡时,你与其均无法使用、打出或弃置该花色的手牌。', tw_dengzhi:'TW邓芝', + tw_dengzhi_prefix:'TW', twjimeng:'急盟', twjimeng_info:'出牌阶段限一次。你可以获得一名其他角色区域内的一张牌,然后交给其一张牌。若其体力值不小于你,你摸一张牌。', xia_lusu:'侠鲁肃', + xia_lusu_prefix:'侠', twkaizeng:'慨赠', twkaizeng_info:'其他角色的出牌阶段限一次。其可以选择一种基本牌的牌名或非基本牌的类型,然后令你选择是否交给其任意张手牌。若你以此法:交给其至少两张牌,你摸一张牌;交给其的牌中包含其选择的牌名或类型的牌,你获得一张与此牌名或类型不同的牌。', twyangming:'扬名', twyangming_info:'出牌阶段结束时,你可以摸X张牌,且令本回合的手牌上限+X(X为你本阶段使用过的牌的类型数)。', xia_dianwei:'侠典韦', + xia_dianwei_prefix:'侠', twliexi:'烈袭', twliexi_info:'准备阶段,你可以弃置任意张牌并选择一名其他角色。若你以此法弃置的牌数大于其体力值,你对其造成1点伤害;否则其对你造成1点伤害。然后若你弃置的牌中有武器牌,你对其造成1点伤害。', twshezhong:'慑众', @@ -14551,9 +14624,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twjuxiang:'踞襄', twjuxiang_info:'主公技,其他群势力角色出牌阶段限一次,其可以选择其装备区的一张牌移动到你的装备区中,若你对应的装备栏已被废除,则改为交给你此装备牌,然后恢复你的对应装备栏。', tw_ol_sunjian:'TW孙坚', + tw_ol_sunjian_prefix:'TW', twpolu:'破虏', twpolu_info:'主公技,当吴势力角色杀死一名角色或死亡后,你可以令任意名角色各摸X张牌(X为你此前发动过此技能的次数+1)。', tw_menghuo:'TW孟获', + tw_menghuo_prefix:'TW', twqiushou:'酋首', twqiushou_info:'主公技,锁定技,当一张【南蛮入侵】结算结束后,若此牌造成的伤害大于3点或有角色因此死亡,所有蜀势力和群势力角色各摸一张牌。', twzhuiting:'坠廷', @@ -14561,6 +14636,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twniju:'逆拒', twniju_info:'主公技,当你的拼点牌亮出后,你可以令其中一张拼点牌的点数+X或-X,然后若这两张牌的点数相等,你摸X张牌(X为场上群势力角色数)。', ol_liuyu:'TW刘虞', + ol_liuyu_prefix:'TW', twchongwang:'崇望', twchongwang_info:'主公技,其他群势力角色的出牌阶段开始时,其可以交给你一张牌,然后你与其使用【杀】或伤害性锦囊牌指定目标时不能指定对方为目标直至你的下回合结束(每名角色限发动一次)。', tw_zhangzhao:'张昭', diff --git a/character/xianding.js b/character/xianding.js index a8c362c072..9e66a7107a 100644 --- a/character/xianding.js +++ b/character/xianding.js @@ -133,7 +133,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } else event.finish(); 'step 3' - var list=[]; + var list=[],shown=[] var piles=['cardPile','discardPile']; for(var pile of piles){ for(var i=0;i=cards.length) break; } } + if(list.length>=cards.length) break; } if(list.length){ - player.gain(list,'gain2').gaintag.add('dcxiongmu_tag'); - player.addSkill('dcxiongmu_tag'); + var next=player.gain(list); + next.shown_cards=shown; + next.set('animate',function(event){ + var player=event.player,cards=event.cards,shown=event.shown_cards; + if(shown.length0){ + player.$gain2(shown,false); + game.log(player,'从弃牌堆获得了',shown); + } + return 500; + }); + next.gaintag.add('dcxiongmu_tag'); + player.addTempSkill('dcxiongmu_tag','roundStart'); } }, ai:{ effect:{ target:function(card,player,target){ - if(target.countCards('h')>=target.getHp()||player.hasSkillTag('jueqing')) return; + if(target.countCards('h')>target.getHp()||player.hasSkillTag('jueqing')) return; if(player._dcxiongmu_temp) return; if(_status.event.getParent('useCard',true)||_status.event.getParent('_wuxie',true)) return; if(get.tag(card,'damage')){ @@ -198,9 +215,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, subSkill:{ minus:{ + audio:'dcxiongmu', trigger:{player:'damageBegin4'}, filter:function(event,player){ - return player.countCards('h'){ + return player.countCards('h')<=player.getHp()&&game.getGlobalHistory('everything',evt=>{ return evt.name=='damage'&&evt.player==player; },event).indexOf(event)==0; }, @@ -3687,7 +3705,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ else event.finish(); 'step 2' var card={name:event.list.shift(),isCard:true}; - if(player.canUse(card,target,false)) player.useCard(card,target,false); + if(target.isIn()&&player.canUse(card,target,false)) player.useCard(card,target,false); if(event.list.length) event.redo(); 'step 3' player.removeSkill('dccansi_draw'); @@ -3801,7 +3819,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var num=ui.selected.buttons.filter(i=>get.owner(i.link)==target).length; var val=get.buttonValue(button); if(num>2) val/=Math.sqrt(num); - if(get.attitude(player,owner)>0) return -val; + if(get.attitude(player,target)>0) return -val; return val; //return -(get.position(card)!='h'?get.value(card,target):(4.5+Math.random()-0.2*(num>2?1:0)))*get.attitude(player,target); }); @@ -6302,7 +6320,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ event.list=list; player.draw(list[0]); 'step 1' - player.storage.dchuishu_effect=event.list[2]; player.addTempSkill('dchuishu_effect'); player.chooseToDiscard('h',true,event.list[1]); }, @@ -6315,22 +6332,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, content:function(storage,player){ var list=lib.skill.dchuishu.getList(player); - return '摸牌阶段结束时,你可以摸['+list[0]+']张牌。若如此做:你弃置['+list[1]+']张手牌,且当你于本回合内弃置第['+list[2]+']+1张牌后,你从弃牌堆中获得等同于本回合弃牌数的非基本牌。'; + return '摸牌阶段结束时,你可以摸['+list[0]+']张牌。若如此做:你弃置['+list[1]+']张手牌,且当你于本回合内弃置第['+list[2]+']+1张牌后,你从弃牌堆中获得['+list[2]+']张非基本牌。'; }, }, subSkill:{ effect:{ + charlotte:true, audio:'dchuishu', trigger:{ player:'loseAfter', global:'loseAsyncAfter', }, - forced:true, - popup:false, - charlotte:true, - onremove:true, filter:function(event,player){ - var num=player.storage.dchuishu_effect; + var num=lib.skill.dchuishu.getList(player)[2]; if(typeof num!='number') return false; if(event.type!='discard'||event.getlx===false) return false; var evt=event.getl(player); @@ -6346,14 +6360,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }); return prev>num; }, + forced:true, + popup:false, + firstDo:true, content:function(){ - player.removeSkill('dchuishu_effect'); - var evt=trigger.getl(player); - var num=0; - player.getHistory('lose',function(evt){ - if(evt.type!='discard') return false; - num+=evt.cards2.length; - }); + var num=lib.skill.dchuishu.getList(player)[2]; var cards=[]; for(var i=0;i{ + if(get.attitude(target,current)>0) return 0.3; + if(target.hasJudge('lebu')) return 0.6; + if(target.inRange(current)) return 1.5; + return 1; + })); + }, + target:function(player,target){ + return -Math.max(0,1+target.countCards('h')-game.countPlayer(current=>{ + if(get.attitude(target,current)>0) return 0.3; + if(target.hasJudge('lebu')) return 0.6; + if(target.inRange(current)) return 1.5; + return 1; + })); + } + } + }, subSkill:{ hf:{ trigger:{ @@ -12179,7 +12211,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, dchuishu:function(player){ var list=lib.skill.dchuishu.getList(player); - return '摸牌阶段结束时,你可以摸['+list[0]+']张牌。若如此做:你弃置['+list[1]+']张手牌,且当你于本回合内弃置第['+list[2]+']+1张牌后,你从弃牌堆中随机获得等同于本回合弃牌数的非基本牌。'; + return '摸牌阶段结束时,你可以摸['+list[0]+']张牌。若如此做:你弃置['+list[1]+']张手牌,且当你于本回合内弃置第['+list[2]+']+1张牌后,你从弃牌堆中随机获得〖慧淑〗第三个括号数字张非基本牌。'; }, dcshoutan:function(player){ if(player.storage.dcshoutan) return '转换技。出牌阶段限一次,阴:你可以弃置一张不为黑色的手牌。阳:你可以弃置一张黑色手牌。'; @@ -12198,9 +12230,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ gexuan:['gexuan','tw_gexuan'], panshu:['panshu','re_panshu'], yangwan:['yangwan','sp_yangwan'], - sunyi:['re_sunyi','tw_sunyi','sunyi'], - fengfangnv:['re_fengfangnv','fengfangnv'], - luotong:['luotong','dc_luotong'], + sunyi:['re_sunyi','sunyi','tw_sunyi'], + fengfangnv:['fengfangnv','re_fengfangnv'], + luotong:['dc_luotong','luotong'], dc_wangchang:['dc_wangchang','tw_wangchang'], guozhao:['guozhao','xin_guozhao'], }, @@ -12287,6 +12319,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ yuwei:'余威', yuwei_info:'主公技,锁定技,其他群雄角色的回合内,你将〖诗怨〗改为“每回合每项限两次”。', re_xinxianying:'新杀辛宪英', + re_xinxianying_prefix:'新杀', rezhongjian:'忠鉴', rezhongjian2:'忠鉴', rezhongjian_info:'出牌阶段限一次,你可以选择一名本回合内未选择过的角色。你令其获得一项效果直至你的下回合开始:①其下次造成伤害后弃置两张牌,然后你摸一张牌。②其下次受到伤害后摸两张牌,然后你摸一张牌。', @@ -12345,7 +12378,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ syjiqiao_info:'出牌阶段开始时,你可将牌堆顶的X张牌置于你的武将牌上(X为你的体力上限)。当你于此出牌阶段内使用的牌结算结束后,你可以获得其中的一张牌,然后若剩余牌中红色牌和黑色牌的数量:不相等,你失去1点体力;相等,你回复1点体力。出牌阶段结束时,你将这些牌置入弃牌堆。', syxiongyi:'凶疑', syxiongyi_info:'限定技。当你处于濒死状态时,若剩余武将牌堆中:有“徐氏”,则你可以将体力值回复至3点,并将此武将牌替换为“徐氏”;没有“徐氏”,则你可以将体力值回复至1点并获得〖魂姿〗。', - re_zhangbao:'张宝', + re_zhangbao:'新杀张宝', + re_zhangbao_prefix:'新杀', xinzhoufu:'咒缚', xinzhoufu2:'咒缚', xinzhoufu_info:'出牌阶段限一次。你可以将一张手牌置于一名其他角色的武将牌上并称为“咒”,且当其判定时,将其“咒”作为判定牌。', @@ -12387,7 +12421,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dcjinggong_info:'你可以将一张装备牌当做无距离限制的【杀】使用。当你声明使用此【杀】后,你将此杀的伤害值基数改为X(X为你至此【杀】第一个目标角色的距离且至多为5)。', dcxiaojuan:'骁隽', dcxiaojuan_info:'当你使用牌指定其他角色为唯一目标后,你可以弃置其一半的手牌(向下取整)。若这些牌中有与你使用牌花色相同的牌,则你弃置一张手牌。', - dc_liuyu:'刘虞', + dc_liuyu:'新杀刘虞', + dc_liuyu_prefix:'新杀', dcsuifu:'绥抚', dcsuifu_info:'其他角色的结束阶段开始时,若你和一号位本回合内累计受到过的伤害值大于1,则你可以将该角色的所有手牌置于牌堆顶,然后视为使用一张【五谷丰登】。', dcpijing:'辟境', @@ -12436,7 +12471,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dcpeiqi_info:'当你受到伤害后,你可以移动场上的一张牌。然后若场上所有角色均在彼此的攻击范围内,则你可以再移动场上的一张牌。', quanhuijie:'全惠解', dchuishu:'慧淑', - dchuishu_info:'摸牌阶段结束时,你可以摸[3]张牌。若如此做:你弃置[1]张手牌,且当你于本回合内弃置第[2]+1张牌后,你从弃牌堆中随机获得等同于本回合弃牌数的非基本牌。', + dchuishu_info:'摸牌阶段结束时,你可以摸[3]张牌。若如此做:你弃置[1]张手牌,且当你于本回合内弃置第[2]+1张牌后,你从弃牌堆中随机获得〖慧淑〗第三个括号数字张非基本牌。', dcyishu:'易数', dcyishu_info:'锁定技。当你不因出牌阶段而失去牌后,你同时令{〖慧淑〗的中括号内最小的一个数字+2}且{〖慧淑〗的中括号内最大的一个数字-1}。', dcligong:'离宫', @@ -12509,7 +12544,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dczhanmeng:'占梦', dczhanmeng_info:'当你使用牌时,你可以选择本回合未选择过的一项:1.上一回合内,若没有同名牌被使用过,你获得一张非伤害牌;2.下一回合内,当同名牌首次被使用后,你获得一张伤害牌;3.令一名其他角色弃置两张牌,若点数之和大于10,你对其造成1点火焰伤害。', dc_wangyun:'新杀王允', - dc_wangyun_ab:'王允', + dc_wangyun_prefix:'新杀', dclianji:'连计', dclianji_info:'出牌阶段限一次。你可以弃置一张手牌并选择一名其他角色,其随机使用牌堆中的一张武器牌,然后其选择一项:1.对另一名其他角色使用一张【杀】,并将武器牌交给其中一个目标;2.令你视为对其使用一张【杀】,并将武器牌交给你。', dcmoucheng:'谋逞', @@ -12585,6 +12620,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dchuayi:'华衣', dchuayi_info:'结束阶段,你可以判定,然后你获得如下效果直到你下回合开始时:红色,其他角色回合结束时,你摸一张牌;黑色,当你受到伤害后,你摸两张牌。', wu_zhugeliang:'武诸葛亮', + wu_zhugeliang_prefix:'武', dcjincui:'尽瘁', dcjincui_info:'锁定技。①游戏开始时,你将手牌摸至七张。②准备阶段,你将体力值回复或失去至等同于牌堆中点数为7的牌数(你的体力值最低因此调整至1)。然后你观看牌堆顶X张牌,将这些牌以任意顺序置于牌堆顶或牌堆底(X为你的体力值)。', dcqingshi:'情势', @@ -12643,16 +12679,23 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dcxiaoren:'绡刃', dcxiaoren_info:'每回合限一次,当你造成伤害后,你可以进行判定,若结果为:红色,你可以令一名角色回复1点体力;黑色,你可以对受伤角色的上家或下家造成1点伤害,然后你可以重复此方向的伤害流程直到有角色因此死亡或下个目标角色为你。', dc_daxiaoqiao:'新杀大乔小乔', + dc_daxiaoqiao_prefix:'新杀', dcxingwu:'星舞', dcxingwu_info:'弃牌阶段开始时,你可以将一张手牌置于武将牌上,称为“星舞”。若你的“星舞”牌达到三张,则你可移去三张“星舞”,弃置一名其他角色装备区里的所有牌,然后对其造成X点伤害(X为移去的“星舞”牌的花色数,若为女性角色则改为1点伤害)。', dcluoyan:'落雁', dcluoyan_info:'锁定技,若你有“星舞”牌,你视为拥有技能〖天香〗和〖流离〗。', dc_xiahouba:'新杀夏侯霸', + dc_xiahouba_prefix:'新杀', old_huangfusong:'新杀皇甫嵩', + old_huangfusong_prefix:'新杀', dc_sp_machao:'群马超', + dc_sp_machao_prefix:'群', dc_shixie:'新杀士燮', + dc_shixie_prefix:'新杀', ol_guansuo:'新杀关索', + ol_guansuo_prefix:'新杀', dc_zhaoxiang:'新杀赵襄', + dc_zhaoxiang_prefix:'新杀', dc_xujing:'许靖', dcshangyu:'赏誉', dcshangyu_tag:'赏誉', @@ -12660,6 +12703,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dccaixia:'才瑕', dccaixia_info:'当你造成或受到伤害后,若你没有“瑕”,你可以摸至多X张牌并获得X枚“瑕”,然后当你使用牌时,移去1枚“瑕”(X为本局游戏总角色数且至多为5)。', wu_luxun:'武陆逊', + wu_luxun_prefix:'武', dcxiongmu:'雄幕', dcxiongmu_tag:'雄幕', dcxiongmu_info:'①一轮游戏开始时,你可以将手牌摸至体力上限(若手牌数不小于体力上限则跳过),然后将任意张牌随机置入牌堆,从牌堆或弃牌堆中获得等量的点数为8的牌,且这些牌不计入手牌上限。②当你于一回合首次受到伤害时,若你的手牌数不大于你的体力值,此伤害-1。', diff --git a/character/xinghuoliaoyuan.js b/character/xinghuoliaoyuan.js index 514055af90..a3dcbebde8 100755 --- a/character/xinghuoliaoyuan.js +++ b/character/xinghuoliaoyuan.js @@ -1565,17 +1565,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, characterReplace:{ - duji:['re_duji','duji','ns_duji'], - sp_taishici:['re_sp_taishici','sp_taishici'], + duji:['duji','re_duji','ns_duji'], + sp_taishici:['sp_taishici','re_sp_taishici'], mazhong:['mazhong','re_mazhong'], - wenpin:['re_wenpin','wenpin'], - liuyan:['jsrg_liuyan','ol_liuyan','liuyan'], + wenpin:['wenpin','re_wenpin'], + liuyan:['liuyan','jsrg_liuyan','ol_liuyan'], }, translate:{ xinghuoliaoyuan:'星火燎原', "sp_taishici":"SP太史慈", + sp_taishici_prefix:'SP', wangcan:"王粲", "re_jsp_pangtong":"SP庞统", + re_jsp_pangtong_prefix:'SP', lvdai:"吕岱", "re_zhangliang":"张梁", lvqian:"吕虔", diff --git a/character/yijiang.js b/character/yijiang.js index d1506b4ff1..f3ef1ad372 100755 --- a/character/yijiang.js +++ b/character/yijiang.js @@ -302,7 +302,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ else playerx.chooseButton([ `请选择要视为对${get.translation(player)}使用的牌`, [names,'vcard'], - ]).set('ai',(button)=>{ + ],true).set('ai',(button)=>{ return button.link[0][2]==_status.event.choice; }).set('choice',function(){ var list=names.map(name=>{ @@ -6673,15 +6673,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, content:function(){ 'step 0' - var num=0,cards=player.getEquips(1); - for(var card of cards){ - var numz=1; - var info=get.info(card,false); - if(info&&info.distance&&info.distance.attackFrom){ - numz-=info.distance.attackFrom; - } - num+=numz; - } + var num=player.getEquipRange(); if(trigger.player.countCards('h')=2; }, + direct:true, content:function(){ 'step 0' player.chooseTarget(get.prompt('yanyu'),'令一名男性角色摸两张牌',function(card,player,target){ @@ -11026,6 +11017,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ juexingji:true, trigger:{player:'phaseZhunbeiBegin'}, forced:true, + derivation:'paiyi', filter:function(event,player){ return !player.hasSkill('paiyi')&&player.getExpansions('quanji').length>=3; }, @@ -13274,7 +13266,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return event.player!=player&&event.player.hp<=0&&player.countCards('h')>0; }, check:function(event,player){ - if(get.attitude(player,event.player)<0) return false; + if(get.attitude(player,event.player)<=0) return false; if(player.countCards('h',{name:['tao','jiu']})+event.player.hp<0) return false; return true; }, @@ -13897,79 +13889,80 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, characterReplace:{ - caozhi:['re_caozhi','dc_caozhi','caozhi','ps_caozhi'], - zhangchunhua:['re_zhangchunhua','zhangchunhua','mini_zhangchunhua'], - yujin:['yujin_yujin','ol_yujin','xin_yujin','yujin','re_yujin'], - dc_xushu:['dc_xushu','re_xushu'], + caozhi:['caozhi','dc_caozhi','re_caozhi','ps_caozhi'], + zhangchunhua:['zhangchunhua','re_zhangchunhua'], + yujin:['yujin','yujin_yujin','ol_yujin','sb_yujin','xin_yujin','re_yujin'], + dc_xushu:['re_xushu','dc_xushu'], xushu:['xin_xushu','xushu'], - fazheng:['re_fazheng','tw_re_fazheng','xin_fazheng','fazheng'], + fazheng:['xin_fazheng','re_fazheng','sb_fazheng','tw_re_fazheng','fazheng'], masu:['xin_masu','re_masu','masu'], - xusheng:['xin_xusheng','re_xusheng','xusheng','old_xusheng'], - wuguotai:['xin_wuguotai','re_wuguotai','wuguotai'], - lingtong:['xin_lingtong','re_lingtong','lingtong','old_lingtong'], - gaoshun:['xin_gaoshun','re_gaoshun','gaoshun','old_gaoshun'], - zhonghui:['re_zhonghui','xin_zhonghui','zhonghui','old_zhonghui','pe_zhonghui'], - wangyi:['re_wangyi','wangyi','old_wangyi'], - caozhang:['re_caozhang','xin_caozhang','caozhang'], - guanzhang:['re_guanzhang','guanzhang','old_guanzhang'], - madai:['tw_madai','re_madai','old_madai','madai'], - liaohua:['xin_liaohua','re_liaohua','liaohua'], - bulianshi:['re_bulianshi','dc_bulianshi','bulianshi','old_bulianshi'], - handang:['tw_handang','xin_handang','re_handang','handang','old_handang'], - chengpu:['re_chengpu','tw_chengpu','ns_chengpu','chengpu','xin_chengpu'], - liubiao:['re_liubiao','xin_liubiao','liubiao','oldre_liubiao','old_liubiao'], - manchong:['re_manchong','manchong'], - caochong:['re_caochong','caochong','old_caochong'], - guohuai:['guohuai','tw_guohuai','re_guohuai','xin_guohuai','ol_guohuai'], - jianyong:['re_jianyong','xin_jianyong','jianyong'], - panzhangmazhong:['xin_panzhangmazhong','re_panzhangmazhong','panzhangmazhong'], - yufan:['xin_yufan','re_yufan','yufan'], - zhuran:['re_zhuran','xin_zhuran','zhuran','old_zhuran'], - liru:['re_liru','dc_liru','xin_liru','liru','yj_liru'], - fuhuanghou:['re_fuhuanghou','xin_fuhuanghou','fuhuanghou','old_fuhuanghou'], - chenqun:['dc_chenqun','chenqun','re_chenqun','old_chenqun'], - hanhaoshihuan:['re_hanhaoshihuan','hanhaoshihuan'], - caozhen:['re_caozhen','xin_caozhen','caozhen','old_caozhen'], - wuyi:['re_wuyi','xin_wuyi','wuyi'], + xusheng:['xusheng','xin_xusheng','re_xusheng','old_xusheng'], + wuguotai:['wuguotai','xin_wuguotai','re_wuguotai'], + lingtong:['lingtong','xin_lingtong','re_lingtong','old_lingtong'], + gaoshun:['gaoshun','xin_gaoshun','re_gaoshun','old_gaoshun'], + zhonghui:['zhonghui','xin_zhonghui','re_zhonghui','old_zhonghui','pe_zhonghui'], + wangyi:['wangyi','re_wangyi','old_wangyi'], + caozhang:['caozhang','re_caozhang','xin_caozhang'], + guanzhang:['guanzhang','re_guanzhang','old_guanzhang'], + madai:['old_madai','re_madai','tw_madai','madai'], + liaohua:['liaohua','re_liaohua','xin_liaohua'], + bulianshi:['bulianshi','dc_bulianshi','re_bulianshi','old_bulianshi'], + handang:['handang','xin_handang','re_handang','tw_handang','old_handang'], + chengpu:['chengpu','re_chengpu','xin_chengpu','tw_chengpu','ns_chengpu'], + liubiao:['liubiao','xin_liubiao','re_liubiao','sb_liubiao','oldre_liubiao','old_liubiao'], + manchong:['manchong','re_manchong'], + caochong:['caochong','re_caochong','old_caochong'], + guohuai:['guohuai','re_guohuai','xin_guohuai','tw_guohuai','ol_guohuai'], + jianyong:['jianyong','re_jianyong','xin_jianyong'], + panzhangmazhong:['panzhangmazhong','re_panzhangmazhong','xin_panzhangmazhong'], + yufan:['yufan','xin_yufan','re_yufan'], + zhuran:['zhuran','re_zhuran','xin_zhuran','old_zhuran'], + liru:['xin_liru','dc_liru','re_liru','yj_liru','+liru'], + fuhuanghou:['fuhuanghou','re_fuhuanghou','xin_fuhuanghou','old_fuhuanghou'], + chenqun:['chenqun','dc_chenqun','re_chenqun','old_chenqun'], + hanhaoshihuan:['hanhaoshihuan','re_hanhaoshihuan'], + caozhen:['caozhen','re_caozhen','xin_caozhen','old_caozhen'], + wuyi:['wuyi','re_wuyi','xin_wuyi'], sunluban:['re_sunluban','xin_sunluban','sunluban'], zhuhuan:['re_zhuhuan','xin_zhuhuan','zhuhuan','old_zhuhuan'], - caoxiu:['re_caoxiu','tw_caoxiu','xin_caoxiu','caoxiu','old_caoxiu'], - xiahoushi:['re_xiahoushi','xiahoushi'], - zhangyi:['xin_zhangyi','re_zhangyi','zhangyi'], - quancong:['old_quancong','re_quancong','xin_quancong','quancong'], - sunxiu:['re_sunxiu','xin_sunxiu','sunxiu'], - zhuzhi:['re_zhuzhi','zhuzhi','xin_zhuzhi','old_zhuzhi'], - liuyu:['dc_liuyu','liuyu','ol_liuyu'], + caoxiu:['caoxiu','re_caoxiu','xin_caoxiu','tw_caoxiu','old_caoxiu'], + xiahoushi:['xiahoushi','re_xiahoushi','sb_xiahoushi'], + zhangyi:['zhangyi','re_zhangyi','xin_zhangyi'], + quancong:['quancong','re_quancong','xin_quancong','old_quancong'], + sunxiu:['sunxiu','re_sunxiu','xin_sunxiu'], + zhuzhi:['zhuzhi','re_zhuzhi','xin_zhuzhi','old_zhuzhi'], + liuyu:['liuyu','dc_liuyu','ol_liuyu'], zhangrang:['zhangrang','ol_zhangrang','junk_zhangrang'], - jikang:['re_jikang','jikang','dc_jikang'], - xinxianying:['re_xinxianying','xinxianying','ol_xinxianying','sp_xinxianying'], - gongsunyuan:['re_gongsunyuan','gongsunyuan'], - zhoucang:['re_zhoucang','xin_zhoucang','zhoucang'], - guotufengji:['re_guotufengji','guotufengji'], - guanping:['re_guanping','guanping'], - caifuren:['xin_caifuren','re_caifuren','caifuren'], - guyong:['guyong','re_guyong','tw_guyong','xin_guyong'], - yj_jushou:['re_jushou','xin_jushou','yj_jushou'], - guohuanghou:['re_guohuanghou','guohuanghou'], - liuchen:['re_liuchen','liuchen'], - liufeng:['re_liufeng','liufeng'], - sundeng:['re_sundeng','sundeng','ns_sundeng'], - caiyong:['re_caiyong','caiyong'], - chengong:['re_chengong','chengong'], - xunyou:['re_xunyou','xunyou'], - xuezong:['tw_xuezong','xuezong'], + jikang:['jikang','re_jikang','dc_jikang'], + xinxianying:['xinxianying','re_xinxianying','ol_xinxianying','sp_xinxianying'], + gongsunyuan:['gongsunyuan','re_gongsunyuan'], + zhoucang:['zhoucang','re_zhoucang','xin_zhoucang'], + guotufengji:['guotufengji','re_guotufengji'], + guanping:['guanping','re_guanping'], + caifuren:['caifuren','re_caifuren','xin_caifuren'], + guyong:['guyong','re_guyong','xin_guyong','tw_guyong'], + yj_jushou:['yj_jushou','re_jushou','xin_jushou'], + guohuanghou:['guohuanghou','re_guohuanghou'], + liuchen:['liuchen','re_liuchen'], + liufeng:['liufeng','re_liufeng'], + sundeng:['sundeng','re_sundeng','ns_sundeng'], + caiyong:['caiyong','re_caiyong'], + chengong:['chengong','re_chengong','sb_chengong'], + xunyou:['xunyou','re_xunyou'], + xuezong:['xuezong','tw_xuezong'], huanghao:['huanghao','dc_huanghao','old_huanghao'], - caorui:['re_caorui','caorui','old_caorui'], - sunziliufang:['dc_sunziliufang','sunziliufang'], + caorui:['caorui','re_caorui','old_caorui'], + sunziliufang:['sunziliufang','dc_sunziliufang'], liyan:['liyan','old_liyan'], - zhangsong:['re_zhangsong','zhangsong'], - zhongyao:['re_zhongyao','zhongyao'], + zhangsong:['zhangsong','re_zhangsong'], + zhongyao:['zhongyao','re_zhongyao'], }, translate:{ old_huaxiong:'将华雄', - old_huaxiong_ab:'华雄', + old_huaxiong_prefix:'将', yufan:'虞翻', xushu:'旧徐庶', + xushu_prefix:'旧', caozhi:'曹植', zhangchunhua:'张春华', lingtong:'凌统', @@ -13978,6 +13971,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhuran:'朱然', yujin:'于禁', masu:'旧马谡', + masu_prefix:'旧', xin_masu:'马谡', xin_fazheng:'法正', wuguotai:'吴国太', @@ -13991,6 +13985,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ caifuren:'蔡夫人', zhonghui:'钟会', old_zhonghui:'旧钟会', + old_zhonghui_prefix:'旧', sunluban:'孙鲁班', chenqun:'陈群', zhangsong:'张松', @@ -14002,6 +13997,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ manchong:'满宠', liufeng:'刘封', liru:'旧李儒', + liru_prefix:'旧', yj_jushou:'沮授', zhuhuan:'朱桓', xiahoushi:'夏侯氏', @@ -14026,14 +14022,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ gaoshun:'高顺', xin_liru:'李儒', guohuanghou:'郭皇后', - liuyu:'OL刘虞', + liuyu:'刘虞', sundeng:'孙登', liyan:'李严', sunziliufang:'孙资刘放', huanghao:'黄皓', zhangrang:'张让', cenhun:'岑昏', - xinxianying:'OL辛宪英', + xinxianying:'辛宪英', wuxian:'吴苋', xushi:'徐氏', caojie:'曹节', @@ -14516,6 +14512,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ shiyong:'恃勇', shiyong_info:'锁定技,当你受到一次红色【杀】或【酒】【杀】造成的伤害后,须减1点体力上限', old_guanzhang:'旧关兴张苞', + old_guanzhang_prefix:'旧', wangyi:'王异', oldqianxi:'潜袭', oldqianxi_info:'当你使用【杀】对距离为1的目标角色造成伤害时,你可以进行一次判定,若判定结果不为红桃,你防止此伤害,令其减1点体力上限', diff --git a/character/yingbian.js b/character/yingbian.js index 2d1119bfbe..e6f489f3c9 100644 --- a/character/yingbian.js +++ b/character/yingbian.js @@ -3583,14 +3583,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xuangongzhu:['duyu'], }, characterReplace:{ - yanghu:['dc_yanghu','jin_yanghu','sp_yanghu'], + yanghu:['jin_yanghu','dc_yanghu','sp_yanghu'], jiachong:['jin_jiachong','jiachong'], yangyan:['yangyan','old_yangyan'], yangzhi:['yangzhi','old_yangzhi'], }, translate:{ jin_zhangchunhua:'晋张春华', - jin_zhangchunhua_ab:'张春华', + jin_zhangchunhua_prefix:'晋', huishi:'慧识', huishi_info:'摸牌阶段,你可以放弃摸牌,改为观看牌堆顶的X张牌,获得其中的一半(向下取整),然后将其余牌置入牌堆底。(X为牌堆数量的个位数)', qingleng:'清冷', @@ -3599,7 +3599,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xuanmu2:'宣穆', xuanmu_info:'锁定技,隐匿技。你于其他角色的回合登场时,防止你受到的伤害直到回合结束。', jin_simayi:'晋司马懿', - jin_simayi_ab:'司马懿', + jin_simayi_prefix:'晋', zhanghuyuechen:'张虎乐綝', xijue:'袭爵', xijue_gain:'袭爵', @@ -3611,7 +3611,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xijue_xiaoguo:'骁果', xijue_xiaoguo_info:'其他角色的结束阶段开始时,你可以弃置一张基本牌,令该角色选择一项:1.弃置一张装备牌,然后你摸一张牌;2.受到你对其造成的1点伤害。', xijue_xiaoguo_info_guozhan:'其他角色的结束阶段开始时,你可以弃置一张基本牌,令该角色选择一项:1.弃置一张装备牌;2.受到你对其造成的1点伤害。', - duyu:'OL杜预', + gz_duyu:'杜预', + duyu:'晋杜预', + duyu_prefix:'晋', sanchen:'三陈', sanchen_info:'出牌阶段限一次。你可选择一名本回合内未选择过的角色。其摸三张牌,然后弃置三张牌。若其未以此法弃置牌或以此法弃置的牌的类别均不相同,则其摸一张牌且〖三陈〗于此阶段内使用次数上限+1。', sanchen_info_guozhan:'出牌阶段,你可选择一名本回合内未选择过的角色。其摸三张牌,然后弃置三张牌。若其未以此法弃置牌或以此法弃置的牌的类别均不相同,则其摸一张牌且你获得技能〖破竹〗直到回合结束。否则你本阶段内不能再发动〖三陈〗。', @@ -3621,7 +3623,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ pozhu_info:'出牌阶段,你可以将一张手牌当做【出其不意】使用。若你未因此牌造成过伤害,则你不能再发动〖破竹〗直到回合结束。', pozhu_info_guozhan:'出牌阶段限一次,你可以将一张手牌当做【出其不意】使用。', jin_wangyuanji:'晋王元姬', - jin_wangyuanji_ab:'王元姬', + jin_wangyuanji_prefix:'晋', shiren:'识人', shiren_info:'隐匿技。你于其他角色的回合内登场时,若其有手牌,则你可对其发动〖宴戏〗。', yanxi:'宴戏', @@ -3629,7 +3631,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ yanxi_info:'出牌阶段,你可选择一名有手牌的角色。你将该角色的一张随机手牌与牌堆顶的两张牌混合后展示,并选择其中一张。若你以此法选择的是该角色的手牌,则你获得这三张牌。否则你获得选择的牌。你通过〖宴戏〗得到的牌,不计入当前回合的手牌上限。', yanxi_info_guozhan:'出牌阶段,你可选择一名有手牌的角色。你将该角色的一张随机手牌与牌堆中的两张随机牌混合后展示,并选择其中一张。若你以此法选择的是该角色的手牌,则你获得这三张牌。否则你获得选择的牌。你通过〖宴戏〗得到的牌,不计入当前回合的手牌上限。', jin_simazhao:'晋司马昭', - jin_simazhao_ab:'司马昭', + jin_simazhao_prefix:'晋', tuishi:'推弑', tuishi_info:'隐匿技,你于其他角色A的回合内登场时,可于此回合结束时选择其攻击范围内的一名角色B。A选择一项:①对B使用一张【杀】。②你对A造成1点伤害。', choufa:'筹伐', @@ -3644,7 +3646,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ chengwu:'成务', chengwu_info:'主公技,锁定技,其他晋势力角色攻击范围内的角色视为在你的攻击范围内。', jin_xiahouhui:'晋夏侯徽', - jin_xiahouhui_ab:'夏侯徽', + jin_xiahouhui_prefix:'晋', baoqie:'宝箧', baoqie_info:'隐匿技,锁定技。你登场后,从牌堆中获得一张不为赠物的宝物牌。若此牌在你的手牌区内为宝物牌,则你可以使用此牌。', jyishi:'宜室', @@ -3652,7 +3654,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ shiduo:'识度', shiduo_info:'出牌阶段限一次,你可以与一名其他角色拼点。若你赢,你获得其所有手牌。然后你交给其X张手牌(X为你手牌数的一半,向下取整)。', jin_simashi:'晋司马师', - jin_simashi_ab:'司马师', + jin_simashi_prefix:'晋', taoyin:'韬隐', taoyin2:'韬隐', taoyin_info:'隐匿技,当你登场后,若当前回合角色存在且不是你,则你可令该角色本回合的手牌上限-2。', @@ -3678,7 +3680,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhuosheng_info:'出牌阶段,①你使用本轮内得到的基本牌时无次数和距离限制。②你使用本轮内获得的普通锦囊牌选择目标后,可令此牌的目标数+1或-1。③你使用本轮内得到的装备牌时可以摸一张牌(以此法得到的牌不能触发〖擢升〗)。', zhuosheng_info_guozhan:'出牌阶段,①你使用本轮内得到的基本牌时无距离限制。②你使用本轮内获得的普通锦囊牌选择目标后,可令此牌的目标数+1或-1。③你使用本轮内得到的装备牌时可以摸一张牌(以此法得到的牌不能触发〖擢升〗)。', jin_yanghuiyu:'晋羊徽瑜', - jin_yanghuiyu_ab:'羊徽瑜', + jin_yanghuiyu_prefix:'晋', gz_jin_yanghuiyu:'羊徽瑜', huirong:'慧容', huirong_info:'隐匿技,锁定技。当你登场后,你令一名角色将手牌数摸至/弃至与体力值相同(至多摸至五张)。', @@ -3719,6 +3721,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ yifa2:'仪法', yifa_info:'锁定技,其他角色使用【杀】或黑色普通锦囊牌指定你为目标后,其手牌上限-1直到其回合结束。', ol_huaxin:'OL华歆', + ol_huaxin_prefix:'OL', caozhao:'草诏', caozhao_backup:'草诏', caozhao_info:'出牌阶段限一次,你可展示一张手牌并声明一种未以此法声明过的基本牌或普通锦囊牌,令一名体力不大于你的其他角色选择一项:令此牌视为你声明的牌,或其失去1点体力。然后若此牌声明成功,然后你可将其交给一名其他角色。', @@ -3751,7 +3754,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ qimei_info:'准备阶段,你可以选择一名其他角色。你获得如下效果直到下回合开始:①每回合限一次,当你或其获得牌/失去手牌后,若你与其手牌数相等,则另一名角色摸一张牌。②每回合限一次,当你或其的体力值变化后,若你与其体力值相等,则另一名角色摸一张牌。', ybzhuiji:'追姬', ybzhuiji_info:'出牌阶段开始时,你可选择一项:①摸两张牌,并于出牌阶段结束时失去1点体力;②回复1点体力,并于出牌阶段结束时弃置两张牌。', - jin_yanghu:'OL羊祜', + jin_yanghu:'晋羊祜', + jin_yanghu_prefix:'晋', huaiyuan:'怀远', huaiyuanx:'绥', huaiyuan_info:'①游戏开始时,你将你的手牌标记为“绥”。②当你失去一张“绥”后,你令一名角色执行一项:⒈其的手牌上限+1。⒉其的攻击范围+1。⒊其摸一张牌。③当你死亡时,你可令一名其他角色的手牌上限+X,且攻击范围+Y(X和Y为你自己被执行过〖怀远②〗的选项一和选项二的次数)。', @@ -3778,6 +3782,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ wangxiang:'王祥', bingxin:'冰心', bingxin_info:'每种牌名每回合限一次。当你需要使用基本牌时,若你的手牌数等于体力值且这些牌的颜色均相同,则你可以摸一张牌,视为使用一张基本牌。', + ol_lisu:'OL李肃', + ol_lisu_prefix:'OL', + qiaoyan:'巧言', + qiaoyan_info:'锁定技,当你于回合外受到其他角色造成的伤害时,若你:有“珠”,则你令伤害来源获得“珠”;没有“珠”,则你防止此伤害,然后摸一张牌,并将一张牌正面朝上置于武将牌上,称为“珠”。', + xianzhu:'献珠', + xianzhu_info:'锁定技,出牌阶段开始时,你令一名角色A获得“珠”。若A不为你自己,则你选择A攻击范围内的一名角色B,视为A对B使用一张【杀】。', yingbian_pack1:'文德武备·理', yingbian_pack2:'文德武备·备', diff --git a/font/motoyamaru.woff2 b/font/motoyamaru.woff2 new file mode 100644 index 0000000000..3aa05392e8 Binary files /dev/null and b/font/motoyamaru.woff2 differ diff --git a/font/suits.woff2 b/font/suits.woff2 index f1097cdf55..70f4e7aa34 100644 Binary files a/font/suits.woff2 and b/font/suits.woff2 differ diff --git a/game/codemirror.js b/game/codemirror.js index 539b6d3bee..0ec4b8c633 100644 --- a/game/codemirror.js +++ b/game/codemirror.js @@ -10459,166 +10459,4 @@ CodeMirror.defineOption("hintOptions", null); }); - - (function (mod) { - // Plain browser env - mod(CodeMirror); - })(function (CodeMirror) { - var Pos = CodeMirror.Pos; - - function forEach(arr, f) { - for (var i = 0, e = arr.length; i < e; ++i) f(arr[i]); - } - - function arrayContains(arr, item) { - if (!Array.prototype.indexOf) { - var i = arr.length; - while (i--) { - if (arr[i] === item) { - return true; - } - } - return false; - } - return arr.indexOf(item) != -1; - } - - function scriptHint(editor, keywords, getToken, options) { - // Find the token at the cursor - var cur = editor.getCursor(), token = getToken(editor, cur); - if (/\b(?:string|comment)\b/.test(token.type)) return; - var innerMode = CodeMirror.innerMode(editor.getMode(), token.state); - if (innerMode.mode.helperType === "json") return; - token.state = innerMode.state; - - // If it's not a 'word-style' token, ignore the token. - if (!/^[\w$_]*$/.test(token.string)) { - token = { - start: cur.ch, end: cur.ch, string: "", state: token.state, - type: token.string == "." ? "property" : null - }; - } else if (token.end > cur.ch) { - token.end = cur.ch; - token.string = token.string.slice(0, cur.ch - token.start); - } - - var tprop = token; - // If it is a property, find out what it is a property of. - while (tprop.type == "property") { - tprop = getToken(editor, Pos(cur.line, tprop.start)); - if (tprop.string != ".") return; - tprop = getToken(editor, Pos(cur.line, tprop.start)); - if (!context) var context = []; - context.push(tprop); - } - return { - list: getCompletions(token, context, keywords, options), - from: Pos(cur.line, token.start), - to: Pos(cur.line, token.end) - }; - } - - function javascriptHint(editor, options) { - return scriptHint(editor, javascriptKeywords, - function (e, cur) { return e.getTokenAt(cur); }, - options); - }; - CodeMirror.registerHelper("hint", "javascript", javascriptHint); - - function getCoffeeScriptToken(editor, cur) { - // This getToken, it is for coffeescript, imitates the behavior of - // getTokenAt method in javascript.js, that is, returning "property" - // type and treat "." as independent token. - var token = editor.getTokenAt(cur); - if (cur.ch == token.start + 1 && token.string.charAt(0) == '.') { - token.end = token.start; - token.string = '.'; - token.type = "property"; - } - else if (/^\.[\w$_]*$/.test(token.string)) { - token.type = "property"; - token.start++; - token.string = token.string.replace(/\./, ''); - } - return token; - } - - function coffeescriptHint(editor, options) { - return scriptHint(editor, coffeescriptKeywords, getCoffeeScriptToken, options); - } - CodeMirror.registerHelper("hint", "coffeescript", coffeescriptHint); - - var stringProps = ("charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight " + - "toUpperCase toLowerCase split concat match replace search").split(" "); - var arrayProps = ("length concat join splice push pop shift unshift slice reverse sort indexOf " + - "lastIndexOf every some filter forEach map reduce reduceRight ").split(" "); - var funcProps = "prototype apply call bind".split(" "); - var javascriptKeywords = ("break case catch class const continue debugger default delete do else export extends from false finally for function " + - "if in import instanceof let new null return super switch this throw true try typeof var void while with yield").split(" "); - var coffeescriptKeywords = ("and break catch class continue delete do else extends false finally for " + - "if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes").split(" "); - function forAllProps(obj, callback) { - if (!Object.getOwnPropertyNames || !Object.getPrototypeOf) { - for (var name in obj) callback(name) - } else { - for (var o = obj; o; o = Object.getPrototypeOf(o)) - Object.getOwnPropertyNames(o).forEach(callback); - } - } - function getCompletions(token, context, keywords, options) { - var found = [], start = token.string, global = options && options.globalScope || window; - function maybeAdd(str) { - if (str.lastIndexOf(start, 0) == 0 && !arrayContains(found, str)) found.push(str); - } - function gatherCompletions(obj) { - if (typeof obj == "string") forEach(stringProps, maybeAdd); - else if (obj instanceof Array) forEach(arrayProps, maybeAdd); - else if (obj instanceof Function) forEach(funcProps, maybeAdd); - forAllProps(obj, maybeAdd) - } - - if (context && context.length) { - // If this is a property, see if it belongs to some object we can - // find in the current environment. - var obj = context.pop(), base; - if (obj.type && obj.type.indexOf("variable") === 0) { - if (options && options.additionalContext) - base = options.additionalContext[obj.string]; - if (!options || options.useGlobalScope !== false) - base = base || global[obj.string]; - } else if (obj.type == "string") { - base = ""; - } else if (obj.type == "atom") { - base = 1; - } else if (obj.type == "function") { - if (global.jQuery != null && (obj.string == '$' || obj.string == 'jQuery') && - (typeof global.jQuery == 'function')) - base = global.jQuery(); - else if (global._ != null && (obj.string == '_') && (typeof global._ == 'function')) - base = global._(); - } - while (base != null && context.length) - base = base[context.pop().string]; - if (base != null) gatherCompletions(base); - } else { - // If not, just look in the global object, any local scope, and optional additional-context - // (reading into JS mode internals to get at the local and global variables) - for (var v = token.state.localVars; v; v = v.next) maybeAdd(v.name); - for (var c = token.state.context; c; c = c.prev) - for (var v = c.vars; v; v = v.next) maybeAdd(v.name) - for (var v = token.state.globalVars; v; v = v.next) maybeAdd(v.name); - if (options && options.additionalContext != null) - for (var key in options.additionalContext) - maybeAdd(key); - /*if (!options || options.useGlobalScope !== false) - gatherCompletions(global);*/ - forEach(keywords, maybeAdd); - forEach(coffeescriptKeywords, maybeAdd); - } - return found.sort(function (a, b) { - return (a + '').localeCompare(b + ''); - }); - } - }); - })(); \ No newline at end of file diff --git a/game/config.js b/game/config.js index 6a5fb309e7..d33b563fca 100644 --- a/game/config.js +++ b/game/config.js @@ -1,6 +1,7 @@ window.config={ extension_sources:{ - Coding:'https://raw.fgit.cf/libccy/noname-extension/master/', + 'GitHub Proxy':'https://ghproxy.com/https://raw.githubusercontent.com/libccy/noname-extension/master/', + FastGit:'https://raw.fgit.cf/libccy/noname-extension/master/', GitHub:'https://raw.githubusercontent.com/libccy/noname-extension/master/' }, extension_source:'Coding', diff --git a/game/core-js-bundle.js b/game/core-js-bundle.js new file mode 100644 index 0000000000..bbca29b3c8 --- /dev/null +++ b/game/core-js-bundle.js @@ -0,0 +1,27046 @@ +/** + * core-js 3.33.0 + * © 2014-2023 Denis Pushkarev (zloirock.ru) + * license: https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE + * source: https://github.com/zloirock/core-js + */ +!function (undefined) { 'use strict'; /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ var __webpack_require__ = function (moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(1); +__webpack_require__(100); +__webpack_require__(101); +__webpack_require__(102); +__webpack_require__(103); +__webpack_require__(104); +__webpack_require__(105); +__webpack_require__(106); +__webpack_require__(107); +__webpack_require__(108); +__webpack_require__(109); +__webpack_require__(110); +__webpack_require__(111); +__webpack_require__(112); +__webpack_require__(113); +__webpack_require__(114); +__webpack_require__(126); +__webpack_require__(128); +__webpack_require__(138); +__webpack_require__(139); +__webpack_require__(141); +__webpack_require__(144); +__webpack_require__(147); +__webpack_require__(149); +__webpack_require__(151); +__webpack_require__(152); +__webpack_require__(153); +__webpack_require__(154); +__webpack_require__(156); +__webpack_require__(157); +__webpack_require__(159); +__webpack_require__(160); +__webpack_require__(162); +__webpack_require__(166); +__webpack_require__(167); +__webpack_require__(168); +__webpack_require__(169); +__webpack_require__(174); +__webpack_require__(175); +__webpack_require__(177); +__webpack_require__(178); +__webpack_require__(179); +__webpack_require__(181); +__webpack_require__(184); +__webpack_require__(185); +__webpack_require__(186); +__webpack_require__(187); +__webpack_require__(188); +__webpack_require__(193); +__webpack_require__(195); +__webpack_require__(196); +__webpack_require__(198); +__webpack_require__(201); +__webpack_require__(202); +__webpack_require__(203); +__webpack_require__(204); +__webpack_require__(205); +__webpack_require__(207); +__webpack_require__(217); +__webpack_require__(219); +__webpack_require__(222); +__webpack_require__(224); +__webpack_require__(225); +__webpack_require__(226); +__webpack_require__(227); +__webpack_require__(228); +__webpack_require__(232); +__webpack_require__(233); +__webpack_require__(235); +__webpack_require__(236); +__webpack_require__(237); +__webpack_require__(239); +__webpack_require__(240); +__webpack_require__(241); +__webpack_require__(95); +__webpack_require__(242); +__webpack_require__(243); +__webpack_require__(251); +__webpack_require__(253); +__webpack_require__(254); +__webpack_require__(255); +__webpack_require__(256); +__webpack_require__(257); +__webpack_require__(259); +__webpack_require__(260); +__webpack_require__(261); +__webpack_require__(262); +__webpack_require__(263); +__webpack_require__(265); +__webpack_require__(266); +__webpack_require__(267); +__webpack_require__(268); +__webpack_require__(269); +__webpack_require__(270); +__webpack_require__(271); +__webpack_require__(272); +__webpack_require__(276); +__webpack_require__(277); +__webpack_require__(279); +__webpack_require__(281); +__webpack_require__(282); +__webpack_require__(283); +__webpack_require__(284); +__webpack_require__(285); +__webpack_require__(287); +__webpack_require__(289); +__webpack_require__(290); +__webpack_require__(291); +__webpack_require__(292); +__webpack_require__(294); +__webpack_require__(295); +__webpack_require__(297); +__webpack_require__(298); +__webpack_require__(299); +__webpack_require__(300); +__webpack_require__(302); +__webpack_require__(303); +__webpack_require__(304); +__webpack_require__(305); +__webpack_require__(306); +__webpack_require__(307); +__webpack_require__(308); +__webpack_require__(309); +__webpack_require__(311); +__webpack_require__(312); +__webpack_require__(313); +__webpack_require__(314); +__webpack_require__(315); +__webpack_require__(316); +__webpack_require__(317); +__webpack_require__(318); +__webpack_require__(319); +__webpack_require__(320); +__webpack_require__(321); +__webpack_require__(323); +__webpack_require__(324); +__webpack_require__(325); +__webpack_require__(326); +__webpack_require__(349); +__webpack_require__(350); +__webpack_require__(351); +__webpack_require__(352); +__webpack_require__(353); +__webpack_require__(354); +__webpack_require__(355); +__webpack_require__(356); +__webpack_require__(358); +__webpack_require__(359); +__webpack_require__(360); +__webpack_require__(361); +__webpack_require__(362); +__webpack_require__(363); +__webpack_require__(364); +__webpack_require__(365); +__webpack_require__(366); +__webpack_require__(367); +__webpack_require__(374); +__webpack_require__(375); +__webpack_require__(377); +__webpack_require__(378); +__webpack_require__(379); +__webpack_require__(380); +__webpack_require__(381); +__webpack_require__(383); +__webpack_require__(384); +__webpack_require__(386); +__webpack_require__(389); +__webpack_require__(390); +__webpack_require__(391); +__webpack_require__(392); +__webpack_require__(393); +__webpack_require__(397); +__webpack_require__(398); +__webpack_require__(400); +__webpack_require__(401); +__webpack_require__(402); +__webpack_require__(403); +__webpack_require__(405); +__webpack_require__(406); +__webpack_require__(407); +__webpack_require__(408); +__webpack_require__(409); +__webpack_require__(410); +__webpack_require__(411); +__webpack_require__(413); +__webpack_require__(416); +__webpack_require__(419); +__webpack_require__(422); +__webpack_require__(423); +__webpack_require__(424); +__webpack_require__(425); +__webpack_require__(426); +__webpack_require__(427); +__webpack_require__(428); +__webpack_require__(429); +__webpack_require__(430); +__webpack_require__(431); +__webpack_require__(432); +__webpack_require__(433); +__webpack_require__(434); +__webpack_require__(443); +__webpack_require__(444); +__webpack_require__(445); +__webpack_require__(446); +__webpack_require__(447); +__webpack_require__(448); +__webpack_require__(449); +__webpack_require__(450); +__webpack_require__(451); +__webpack_require__(452); +__webpack_require__(453); +__webpack_require__(454); +__webpack_require__(455); +__webpack_require__(458); +__webpack_require__(459); +__webpack_require__(460); +__webpack_require__(461); +__webpack_require__(462); +__webpack_require__(463); +__webpack_require__(464); +__webpack_require__(465); +__webpack_require__(466); +__webpack_require__(467); +__webpack_require__(468); +__webpack_require__(469); +__webpack_require__(470); +__webpack_require__(471); +__webpack_require__(472); +__webpack_require__(473); +__webpack_require__(474); +__webpack_require__(475); +__webpack_require__(476); +__webpack_require__(477); +__webpack_require__(478); +__webpack_require__(479); +__webpack_require__(480); +__webpack_require__(481); +__webpack_require__(482); +__webpack_require__(483); +__webpack_require__(484); +__webpack_require__(485); +__webpack_require__(488); +__webpack_require__(490); +__webpack_require__(491); +__webpack_require__(499); +__webpack_require__(500); +__webpack_require__(501); +__webpack_require__(503); +__webpack_require__(504); +__webpack_require__(507); +__webpack_require__(508); +__webpack_require__(509); +__webpack_require__(510); +__webpack_require__(511); +__webpack_require__(515); +__webpack_require__(518); +__webpack_require__(523); +__webpack_require__(524); +__webpack_require__(526); +__webpack_require__(527); +__webpack_require__(531); +__webpack_require__(532); +__webpack_require__(534); +__webpack_require__(535); +__webpack_require__(536); +__webpack_require__(537); +__webpack_require__(539); +__webpack_require__(540); +__webpack_require__(542); +__webpack_require__(543); +__webpack_require__(544); +__webpack_require__(545); +__webpack_require__(546); +__webpack_require__(547); +__webpack_require__(548); +__webpack_require__(550); +__webpack_require__(552); +__webpack_require__(553); +__webpack_require__(554); +__webpack_require__(555); +__webpack_require__(557); +__webpack_require__(558); +__webpack_require__(559); +__webpack_require__(561); +__webpack_require__(562); +__webpack_require__(563); +__webpack_require__(564); +__webpack_require__(565); +__webpack_require__(566); +__webpack_require__(570); +__webpack_require__(571); +__webpack_require__(572); +__webpack_require__(573); +__webpack_require__(574); +__webpack_require__(575); +__webpack_require__(577); +__webpack_require__(578); +__webpack_require__(579); +__webpack_require__(580); +__webpack_require__(581); +__webpack_require__(582); +__webpack_require__(583); +__webpack_require__(584); +__webpack_require__(585); +__webpack_require__(586); +__webpack_require__(587); +__webpack_require__(590); +__webpack_require__(592); +__webpack_require__(593); +__webpack_require__(595); +__webpack_require__(596); +__webpack_require__(597); +__webpack_require__(598); +__webpack_require__(599); +__webpack_require__(600); +__webpack_require__(602); +__webpack_require__(603); +__webpack_require__(605); +__webpack_require__(606); +__webpack_require__(607); +__webpack_require__(608); +__webpack_require__(609); +__webpack_require__(610); +__webpack_require__(612); +__webpack_require__(613); +__webpack_require__(614); +__webpack_require__(615); +__webpack_require__(617); +__webpack_require__(618); +__webpack_require__(619); +__webpack_require__(620); +__webpack_require__(621); +__webpack_require__(623); +__webpack_require__(624); +__webpack_require__(625); +__webpack_require__(626); +__webpack_require__(627); +__webpack_require__(628); +__webpack_require__(629); +__webpack_require__(630); +__webpack_require__(631); +__webpack_require__(632); +__webpack_require__(633); +__webpack_require__(634); +__webpack_require__(635); +__webpack_require__(637); +__webpack_require__(638); +__webpack_require__(639); +__webpack_require__(640); +__webpack_require__(644); +__webpack_require__(645); +__webpack_require__(646); +__webpack_require__(648); +__webpack_require__(649); +__webpack_require__(650); +__webpack_require__(651); +__webpack_require__(652); +__webpack_require__(653); +__webpack_require__(654); +__webpack_require__(655); +__webpack_require__(656); +__webpack_require__(657); +__webpack_require__(660); +__webpack_require__(661); +__webpack_require__(668); +__webpack_require__(671); +__webpack_require__(672); +__webpack_require__(673); +__webpack_require__(674); +__webpack_require__(675); +__webpack_require__(677); +__webpack_require__(678); +__webpack_require__(680); +__webpack_require__(681); +__webpack_require__(683); +__webpack_require__(684); +__webpack_require__(686); +__webpack_require__(687); +__webpack_require__(688); +__webpack_require__(689); +__webpack_require__(690); +__webpack_require__(691); +__webpack_require__(692); +__webpack_require__(694); +__webpack_require__(695); +__webpack_require__(697); +__webpack_require__(698); +__webpack_require__(699); +__webpack_require__(701); +__webpack_require__(702); +__webpack_require__(704); +__webpack_require__(705); +__webpack_require__(706); +__webpack_require__(708); +__webpack_require__(709); +__webpack_require__(711); +__webpack_require__(712); +__webpack_require__(713); +__webpack_require__(714); +__webpack_require__(715); +__webpack_require__(716); +__webpack_require__(717); +__webpack_require__(718); +__webpack_require__(719); +__webpack_require__(720); +__webpack_require__(721); +__webpack_require__(722); +__webpack_require__(723); +__webpack_require__(724); +__webpack_require__(727); +__webpack_require__(728); +__webpack_require__(729); +__webpack_require__(730); +__webpack_require__(731); +__webpack_require__(734); +__webpack_require__(735); +__webpack_require__(736); +__webpack_require__(737); +__webpack_require__(739); +__webpack_require__(740); +__webpack_require__(743); +__webpack_require__(744); +__webpack_require__(746); +__webpack_require__(747); +__webpack_require__(748); +__webpack_require__(753); +__webpack_require__(754); +__webpack_require__(755); +__webpack_require__(756); +__webpack_require__(759); +__webpack_require__(764); +__webpack_require__(765); +__webpack_require__(766); +__webpack_require__(767); +__webpack_require__(768); +module.exports = __webpack_require__(769); + + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(2); +__webpack_require__(92); +__webpack_require__(94); +__webpack_require__(95); +__webpack_require__(99); + + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); +var NATIVE_SYMBOL = __webpack_require__(27); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(39); +var isPrototypeOf = __webpack_require__(25); +var anObject = __webpack_require__(47); +var toIndexedObject = __webpack_require__(12); +var toPropertyKey = __webpack_require__(18); +var $toString = __webpack_require__(69); +var createPropertyDescriptor = __webpack_require__(11); +var nativeObjectCreate = __webpack_require__(72); +var objectKeys = __webpack_require__(74); +var getOwnPropertyNamesModule = __webpack_require__(58); +var getOwnPropertyNamesExternal = __webpack_require__(76); +var getOwnPropertySymbolsModule = __webpack_require__(67); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var definePropertyModule = __webpack_require__(45); +var definePropertiesModule = __webpack_require__(73); +var propertyIsEnumerableModule = __webpack_require__(10); +var defineBuiltIn = __webpack_require__(48); +var defineBuiltInAccessor = __webpack_require__(79); +var shared = __webpack_require__(35); +var sharedKey = __webpack_require__(54); +var hiddenKeys = __webpack_require__(55); +var uid = __webpack_require__(41); +var wellKnownSymbol = __webpack_require__(34); +var wrappedWellKnownSymbolModule = __webpack_require__(80); +var defineWellKnownSymbol = __webpack_require__(81); +var defineSymbolToPrimitive = __webpack_require__(83); +var setToStringTag = __webpack_require__(84); +var InternalStateModule = __webpack_require__(52); +var $forEach = __webpack_require__(85).forEach; + +var HIDDEN = sharedKey('hidden'); +var SYMBOL = 'Symbol'; +var PROTOTYPE = 'prototype'; + +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SYMBOL); + +var ObjectPrototype = Object[PROTOTYPE]; +var $Symbol = global.Symbol; +var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE]; +var RangeError = global.RangeError; +var TypeError = global.TypeError; +var QObject = global.QObject; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; +var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; +var push = uncurryThis([].push); + +var AllSymbols = shared('symbols'); +var ObjectPrototypeSymbols = shared('op-symbols'); +var WellKnownSymbolsStore = shared('wks'); + +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var fallbackDefineProperty = function (O, P, Attributes) { + var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); + if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; + nativeDefineProperty(O, P, Attributes); + if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { + nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); + } +}; + +var setSymbolDescriptor = DESCRIPTORS && fails(function () { + return nativeObjectCreate(nativeDefineProperty({}, 'a', { + get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } + })).a !== 7; +}) ? fallbackDefineProperty : nativeDefineProperty; + +var wrap = function (tag, description) { + var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype); + setInternalState(symbol, { + type: SYMBOL, + tag: tag, + description: description + }); + if (!DESCRIPTORS) symbol.description = description; + return symbol; +}; + +var $defineProperty = function defineProperty(O, P, Attributes) { + if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); + anObject(O); + var key = toPropertyKey(P); + anObject(Attributes); + if (hasOwn(AllSymbols, key)) { + if (!Attributes.enumerable) { + if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); + O[HIDDEN][key] = true; + } else { + if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; + Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); + } return setSymbolDescriptor(O, key, Attributes); + } return nativeDefineProperty(O, key, Attributes); +}; + +var $defineProperties = function defineProperties(O, Properties) { + anObject(O); + var properties = toIndexedObject(Properties); + var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); + $forEach(keys, function (key) { + if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]); + }); + return O; +}; + +var $create = function create(O, Properties) { + return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); +}; + +var $propertyIsEnumerable = function propertyIsEnumerable(V) { + var P = toPropertyKey(V); + var enumerable = call(nativePropertyIsEnumerable, this, P); + if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false; + return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P] + ? enumerable : true; +}; + +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { + var it = toIndexedObject(O); + var key = toPropertyKey(P); + if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return; + var descriptor = nativeGetOwnPropertyDescriptor(it, key); + if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) { + descriptor.enumerable = true; + } + return descriptor; +}; + +var $getOwnPropertyNames = function getOwnPropertyNames(O) { + var names = nativeGetOwnPropertyNames(toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key); + }); + return result; +}; + +var $getOwnPropertySymbols = function (O) { + var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; + var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) { + push(result, AllSymbols[key]); + } + }); + return result; +}; + +// `Symbol` constructor +// https://tc39.es/ecma262/#sec-symbol-constructor +if (!NATIVE_SYMBOL) { + $Symbol = function Symbol() { + if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor'); + var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); + var tag = uid(description); + var setter = function (value) { + if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value); + if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + var descriptor = createPropertyDescriptor(1, value); + try { + setSymbolDescriptor(this, tag, descriptor); + } catch (error) { + if (!(error instanceof RangeError)) throw error; + fallbackDefineProperty(this, tag, descriptor); + } + }; + if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); + return wrap(tag, description); + }; + + SymbolPrototype = $Symbol[PROTOTYPE]; + + defineBuiltIn(SymbolPrototype, 'toString', function toString() { + return getInternalState(this).tag; + }); + + defineBuiltIn($Symbol, 'withoutSetter', function (description) { + return wrap(uid(description), description); + }); + + propertyIsEnumerableModule.f = $propertyIsEnumerable; + definePropertyModule.f = $defineProperty; + definePropertiesModule.f = $defineProperties; + getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; + getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; + getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; + + wrappedWellKnownSymbolModule.f = function (name) { + return wrap(wellKnownSymbol(name), name); + }; + + if (DESCRIPTORS) { + // https://github.com/tc39/proposal-Symbol-description + defineBuiltInAccessor(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + return getInternalState(this).description; + } + }); + if (!IS_PURE) { + defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); + } + } +} + +$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { + Symbol: $Symbol +}); + +$forEach(objectKeys(WellKnownSymbolsStore), function (name) { + defineWellKnownSymbol(name); +}); + +$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { + useSetter: function () { USE_SETTER = true; }, + useSimple: function () { USE_SETTER = false; } +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { + // `Object.create` method + // https://tc39.es/ecma262/#sec-object.create + create: $create, + // `Object.defineProperty` method + // https://tc39.es/ecma262/#sec-object.defineproperty + defineProperty: $defineProperty, + // `Object.defineProperties` method + // https://tc39.es/ecma262/#sec-object.defineproperties + defineProperties: $defineProperties, + // `Object.getOwnPropertyDescriptor` method + // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors + getOwnPropertyDescriptor: $getOwnPropertyDescriptor +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { + // `Object.getOwnPropertyNames` method + // https://tc39.es/ecma262/#sec-object.getownpropertynames + getOwnPropertyNames: $getOwnPropertyNames +}); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag($Symbol, SYMBOL); + +hiddenKeys[HIDDEN] = true; + + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var getOwnPropertyDescriptor = __webpack_require__(5).f; +var createNonEnumerableProperty = __webpack_require__(44); +var defineBuiltIn = __webpack_require__(48); +var defineGlobalProperty = __webpack_require__(38); +var copyConstructorProperties = __webpack_require__(56); +var isForced = __webpack_require__(68); + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.dontCallGetSet - prevent calling a getter on target + options.name - the .name of the function if it does not match the key +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global; + } else if (STATIC) { + target = global[TARGET] || defineGlobalProperty(TARGET, {}); + } else { + target = (global[TARGET] || {}).prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.dontCallGetSet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + defineBuiltIn(target, key, sourceProperty, options); + } +}; + + +/***/ }), +/* 4 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var check = function (it) { + return it && it.Math === Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +module.exports = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof global == 'object' && global) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || this || Function('return this')(); + + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var call = __webpack_require__(8); +var propertyIsEnumerableModule = __webpack_require__(10); +var createPropertyDescriptor = __webpack_require__(11); +var toIndexedObject = __webpack_require__(12); +var toPropertyKey = __webpack_require__(18); +var hasOwn = __webpack_require__(39); +var IE8_DOM_DEFINE = __webpack_require__(42); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(7); + +// Detect IE8's incomplete defineProperty implementation +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; +}); + + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var NATIVE_BIND = __webpack_require__(9); + +var call = Function.prototype.call; + +module.exports = NATIVE_BIND ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-function-prototype-bind -- safe + var test = (function () { /* empty */ }).bind(); + // eslint-disable-next-line no-prototype-builtins -- safe + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + + +/***/ }), +/* 11 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = __webpack_require__(13); +var requireObjectCoercible = __webpack_require__(16); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + + +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var classof = __webpack_require__(15); + +var $Object = Object; +var split = uncurryThis(''.split); + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !$Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) === 'String' ? split(it, '') : $Object(it); +} : $Object; + + +/***/ }), +/* 14 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var NATIVE_BIND = __webpack_require__(9); + +var FunctionPrototype = Function.prototype; +var call = FunctionPrototype.call; +var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); + +module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { + return function () { + return call.apply(fn, arguments); + }; +}; + + +/***/ }), +/* 15 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); + +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); + +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + + +/***/ }), +/* 16 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isNullOrUndefined = __webpack_require__(17); + +var $TypeError = TypeError; + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), +/* 17 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// we can't use just `it == null` since of `document.all` special case +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec +module.exports = function (it) { + return it === null || it === undefined; +}; + + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toPrimitive = __webpack_require__(19); +var isSymbol = __webpack_require__(23); + +// `ToPropertyKey` abstract operation +// https://tc39.es/ecma262/#sec-topropertykey +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + + +/***/ }), +/* 19 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(23); +var getMethod = __webpack_require__(30); +var ordinaryToPrimitive = __webpack_require__(33); +var wellKnownSymbol = __webpack_require__(34); + +var $TypeError = TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + +// `ToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-toprimitive +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) return input; + var exoticToPrim = getMethod(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) pref = 'default'; + result = call(exoticToPrim, input, pref); + if (!isObject(result) || isSymbol(result)) return result; + throw new $TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + + +/***/ }), +/* 20 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isCallable = __webpack_require__(21); +var $documentAll = __webpack_require__(22); + +var documentAll = $documentAll.all; + +module.exports = $documentAll.IS_HTMLDDA ? function (it) { + return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll; +} : function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + + +/***/ }), +/* 21 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $documentAll = __webpack_require__(22); + +var documentAll = $documentAll.all; + +// `IsCallable` abstract operation +// https://tc39.es/ecma262/#sec-iscallable +module.exports = $documentAll.IS_HTMLDDA ? function (argument) { + return typeof argument == 'function' || argument === documentAll; +} : function (argument) { + return typeof argument == 'function'; +}; + + +/***/ }), +/* 22 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var documentAll = typeof document == 'object' && document.all; + +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot +// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing +var IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined; + +module.exports = { + all: documentAll, + IS_HTMLDDA: IS_HTMLDDA +}; + + +/***/ }), +/* 23 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var getBuiltIn = __webpack_require__(24); +var isCallable = __webpack_require__(21); +var isPrototypeOf = __webpack_require__(25); +var USE_SYMBOL_AS_UID = __webpack_require__(26); + +var $Object = Object; + +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); +}; + + +/***/ }), +/* 24 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var isCallable = __webpack_require__(21); + +var aFunction = function (argument) { + return isCallable(argument) ? argument : undefined; +}; + +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method]; +}; + + +/***/ }), +/* 25 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); + +module.exports = uncurryThis({}.isPrototypeOf); + + +/***/ }), +/* 26 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-symbol -- required for testing */ +var NATIVE_SYMBOL = __webpack_require__(27); + +module.exports = NATIVE_SYMBOL + && !Symbol.sham + && typeof Symbol.iterator == 'symbol'; + + +/***/ }), +/* 27 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-symbol -- required for testing */ +var V8_VERSION = __webpack_require__(28); +var fails = __webpack_require__(7); +var global = __webpack_require__(4); + +var $String = global.String; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol('symbol detection'); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + + +/***/ }), +/* 28 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var userAgent = __webpack_require__(29); + +var process = global.process; +var Deno = global.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + // in old Chrome, versions of V8 isn't V8 = Chrome / 10 + // but their correct versions are not interesting for us + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} + +// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` +// so check `userAgent` even if `.v8` exists, but 0 +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = +match[1]; + } +} + +module.exports = version; + + +/***/ }), +/* 29 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; + + +/***/ }), +/* 30 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aCallable = __webpack_require__(31); +var isNullOrUndefined = __webpack_require__(17); + +// `GetMethod` abstract operation +// https://tc39.es/ecma262/#sec-getmethod +module.exports = function (V, P) { + var func = V[P]; + return isNullOrUndefined(func) ? undefined : aCallable(func); +}; + + +/***/ }), +/* 31 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isCallable = __webpack_require__(21); +var tryToString = __webpack_require__(32); + +var $TypeError = TypeError; + +// `Assert: IsCallable(argument) is true` +module.exports = function (argument) { + if (isCallable(argument)) return argument; + throw new $TypeError(tryToString(argument) + ' is not a function'); +}; + + +/***/ }), +/* 32 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $String = String; + +module.exports = function (argument) { + try { + return $String(argument); + } catch (error) { + return 'Object'; + } +}; + + +/***/ }), +/* 33 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); + +var $TypeError = TypeError; + +// `OrdinaryToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-ordinarytoprimitive +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + throw new $TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), +/* 34 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var shared = __webpack_require__(35); +var hasOwn = __webpack_require__(39); +var uid = __webpack_require__(41); +var NATIVE_SYMBOL = __webpack_require__(27); +var USE_SYMBOL_AS_UID = __webpack_require__(26); + +var Symbol = global.Symbol; +var WellKnownSymbolsStore = shared('wks'); +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid; + +module.exports = function (name) { + if (!hasOwn(WellKnownSymbolsStore, name)) { + WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) + ? Symbol[name] + : createWellKnownSymbol('Symbol.' + name); + } return WellKnownSymbolsStore[name]; +}; + + +/***/ }), +/* 35 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var IS_PURE = __webpack_require__(36); +var store = __webpack_require__(37); + +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.33.0', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE', + source: 'https://github.com/zloirock/core-js' +}); + + +/***/ }), +/* 36 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +module.exports = false; + + +/***/ }), +/* 37 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var defineGlobalProperty = __webpack_require__(38); + +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || defineGlobalProperty(SHARED, {}); + +module.exports = store; + + +/***/ }), +/* 38 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); + +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; + +module.exports = function (key, value) { + try { + defineProperty(global, key, { value: value, configurable: true, writable: true }); + } catch (error) { + global[key] = value; + } return value; +}; + + +/***/ }), +/* 39 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(40); + +var hasOwnProperty = uncurryThis({}.hasOwnProperty); + +// `HasOwnProperty` abstract operation +// https://tc39.es/ecma262/#sec-hasownproperty +// eslint-disable-next-line es/no-object-hasown -- safe +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + + +/***/ }), +/* 40 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var requireObjectCoercible = __webpack_require__(16); + +var $Object = Object; + +// `ToObject` abstract operation +// https://tc39.es/ecma262/#sec-toobject +module.exports = function (argument) { + return $Object(requireObjectCoercible(argument)); +}; + + +/***/ }), +/* 41 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); + +var id = 0; +var postfix = Math.random(); +var toString = uncurryThis(1.0.toString); + +module.exports = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); +}; + + +/***/ }), +/* 42 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var createElement = __webpack_require__(43); + +// Thanks to IE8 for its funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a !== 7; +}); + + +/***/ }), +/* 43 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var isObject = __webpack_require__(20); + +var document = global.document; +// typeof document.createElement is 'object' in old IE +var EXISTS = isObject(document) && isObject(document.createElement); + +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + + +/***/ }), +/* 44 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var definePropertyModule = __webpack_require__(45); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + + +/***/ }), +/* 45 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var IE8_DOM_DEFINE = __webpack_require__(42); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(46); +var anObject = __webpack_require__(47); +var toPropertyKey = __webpack_require__(18); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var $defineProperty = Object.defineProperty; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var ENUMERABLE = 'enumerable'; +var CONFIGURABLE = 'configurable'; +var WRITABLE = 'writable'; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { + var current = $getOwnPropertyDescriptor(O, P); + if (current && current[WRITABLE]) { + O[P] = Attributes.value; + Attributes = { + configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], + enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], + writable: false + }; + } + } return $defineProperty(O, P, Attributes); +} : $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return $defineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), +/* 46 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); + +// V8 ~ Chrome 36- +// https://bugs.chromium.org/p/v8/issues/detail?id=3334 +module.exports = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(function () { /* empty */ }, 'prototype', { + value: 42, + writable: false + }).prototype !== 42; +}); + + +/***/ }), +/* 47 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isObject = __webpack_require__(20); + +var $String = String; +var $TypeError = TypeError; + +// `Assert: Type(argument) is Object` +module.exports = function (argument) { + if (isObject(argument)) return argument; + throw new $TypeError($String(argument) + ' is not an object'); +}; + + +/***/ }), +/* 48 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isCallable = __webpack_require__(21); +var definePropertyModule = __webpack_require__(45); +var makeBuiltIn = __webpack_require__(49); +var defineGlobalProperty = __webpack_require__(38); + +module.exports = function (O, key, value, options) { + if (!options) options = {}; + var simple = options.enumerable; + var name = options.name !== undefined ? options.name : key; + if (isCallable(value)) makeBuiltIn(value, name, options); + if (options.global) { + if (simple) O[key] = value; + else defineGlobalProperty(key, value); + } else { + try { + if (!options.unsafe) delete O[key]; + else if (O[key]) simple = true; + } catch (error) { /* empty */ } + if (simple) O[key] = value; + else definePropertyModule.f(O, key, { + value: value, + enumerable: false, + configurable: !options.nonConfigurable, + writable: !options.nonWritable + }); + } return O; +}; + + +/***/ }), +/* 49 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(39); +var DESCRIPTORS = __webpack_require__(6); +var CONFIGURABLE_FUNCTION_NAME = __webpack_require__(50).CONFIGURABLE; +var inspectSource = __webpack_require__(51); +var InternalStateModule = __webpack_require__(52); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var $String = String; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var stringSlice = uncurryThis(''.slice); +var replace = uncurryThis(''.replace); +var join = uncurryThis([].join); + +var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { + return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; +}); + +var TEMPLATE = String(String).split('String'); + +var makeBuiltIn = module.exports = function (value, name, options) { + if (stringSlice($String(name), 0, 7) === 'Symbol(') { + name = '[' + replace($String(name), /^Symbol\(([^)]*)\)/, '$1') + ']'; + } + if (options && options.getter) name = 'get ' + name; + if (options && options.setter) name = 'set ' + name; + if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true }); + else value.name = name; + } + if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { + defineProperty(value, 'length', { value: options.arity }); + } + try { + if (options && hasOwn(options, 'constructor') && options.constructor) { + if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false }); + // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable + } else if (value.prototype) value.prototype = undefined; + } catch (error) { /* empty */ } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); + } return value; +}; + +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +// eslint-disable-next-line no-extend-native -- required +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + + +/***/ }), +/* 50 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var hasOwn = __webpack_require__(39); + +var FunctionPrototype = Function.prototype; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; + +var EXISTS = hasOwn(FunctionPrototype, 'name'); +// additional protection from minified / mangled / dropped function names +var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); + +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + + +/***/ }), +/* 51 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var isCallable = __webpack_require__(21); +var store = __webpack_require__(37); + +var functionToString = uncurryThis(Function.toString); + +// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper +if (!isCallable(store.inspectSource)) { + store.inspectSource = function (it) { + return functionToString(it); + }; +} + +module.exports = store.inspectSource; + + +/***/ }), +/* 52 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var NATIVE_WEAK_MAP = __webpack_require__(53); +var global = __webpack_require__(4); +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(44); +var hasOwn = __webpack_require__(39); +var shared = __webpack_require__(37); +var sharedKey = __webpack_require__(54); +var hiddenKeys = __webpack_require__(55); + +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError = global.TypeError; +var WeakMap = global.WeakMap; +var set, get, has; + +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw new TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + /* eslint-disable no-self-assign -- prototype methods protection */ + store.get = store.get; + store.has = store.has; + store.set = store.set; + /* eslint-enable no-self-assign -- prototype methods protection */ + set = function (it, metadata) { + if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + store.set(it, metadata); + return metadata; + }; + get = function (it) { + return store.get(it) || {}; + }; + has = function (it) { + return store.has(it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return hasOwn(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn(it, STATE); + }; +} + +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + + +/***/ }), +/* 53 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var isCallable = __webpack_require__(21); + +var WeakMap = global.WeakMap; + +module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap)); + + +/***/ }), +/* 54 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var shared = __webpack_require__(35); +var uid = __webpack_require__(41); + +var keys = shared('keys'); + +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + + +/***/ }), +/* 55 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +module.exports = {}; + + +/***/ }), +/* 56 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var hasOwn = __webpack_require__(39); +var ownKeys = __webpack_require__(57); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var definePropertyModule = __webpack_require__(45); + +module.exports = function (target, source, exceptions) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + + +/***/ }), +/* 57 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var getBuiltIn = __webpack_require__(24); +var uncurryThis = __webpack_require__(14); +var getOwnPropertyNamesModule = __webpack_require__(58); +var getOwnPropertySymbolsModule = __webpack_require__(67); +var anObject = __webpack_require__(47); + +var concat = uncurryThis([].concat); + +// all object keys, includes non-enumerable and symbols +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + + +/***/ }), +/* 58 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var internalObjectKeys = __webpack_require__(59); +var enumBugKeys = __webpack_require__(66); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + + +/***/ }), +/* 59 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(39); +var toIndexedObject = __webpack_require__(12); +var indexOf = __webpack_require__(60).indexOf; +var hiddenKeys = __webpack_require__(55); + +var push = uncurryThis([].push); + +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); + // Don't enum bug & hidden keys + while (names.length > i) if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + + +/***/ }), +/* 60 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIndexedObject = __webpack_require__(12); +var toAbsoluteIndex = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(64); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el !== el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value !== value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +module.exports = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + + +/***/ }), +/* 61 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIntegerOrInfinity = __webpack_require__(62); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + + +/***/ }), +/* 62 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var trunc = __webpack_require__(63); + +// `ToIntegerOrInfinity` abstract operation +// https://tc39.es/ecma262/#sec-tointegerorinfinity +module.exports = function (argument) { + var number = +argument; + // eslint-disable-next-line no-self-compare -- NaN check + return number !== number || number === 0 ? 0 : trunc(number); +}; + + +/***/ }), +/* 63 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ceil = Math.ceil; +var floor = Math.floor; + +// `Math.trunc` method +// https://tc39.es/ecma262/#sec-math.trunc +// eslint-disable-next-line es/no-math-trunc -- safe +module.exports = Math.trunc || function trunc(x) { + var n = +x; + return (n > 0 ? floor : ceil)(n); +}; + + +/***/ }), +/* 64 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toLength = __webpack_require__(65); + +// `LengthOfArrayLike` abstract operation +// https://tc39.es/ecma262/#sec-lengthofarraylike +module.exports = function (obj) { + return toLength(obj.length); +}; + + +/***/ }), +/* 65 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIntegerOrInfinity = __webpack_require__(62); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +module.exports = function (argument) { + return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + + +/***/ }), +/* 66 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// IE8- don't enum bug keys +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + + +/***/ }), +/* 67 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +exports.f = Object.getOwnPropertySymbols; + + +/***/ }), +/* 68 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value === POLYFILL ? true + : value === NATIVE ? false + : isCallable(detection) ? fails(detection) + : !!detection; +}; + +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; + +module.exports = isForced; + + +/***/ }), +/* 69 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var classof = __webpack_require__(70); + +var $String = String; + +module.exports = function (argument) { + if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); + return $String(argument); +}; + + +/***/ }), +/* 70 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var TO_STRING_TAG_SUPPORT = __webpack_require__(71); +var isCallable = __webpack_require__(21); +var classofRaw = __webpack_require__(15); +var wellKnownSymbol = __webpack_require__(34); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Object = Object; + +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result; +}; + + +/***/ }), +/* 71 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var wellKnownSymbol = __webpack_require__(34); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + + +/***/ }), +/* 72 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* global ActiveXObject -- old IE, WSH */ +var anObject = __webpack_require__(47); +var definePropertiesModule = __webpack_require__(73); +var enumBugKeys = __webpack_require__(66); +var hiddenKeys = __webpack_require__(55); +var html = __webpack_require__(75); +var documentCreateElement = __webpack_require__(43); +var sharedKey = __webpack_require__(54); + +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); + +var EmptyConstructor = function () { /* empty */ }; + +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; + +// Create object with fake `null` prototype: use ActiveX Object with cleared prototype +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + activeXDocument = null; // avoid memory leak + return temp; +}; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var NullProtoObjectViaIFrame = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + // https://github.com/zloirock/core-js/issues/475 + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; + +// Check for document.domain and active x support +// No need to use active x approach when document.domain is not set +// see https://github.com/es-shims/es5-shim/issues/150 +// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 +// avoid IE GC bug +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = typeof document != 'undefined' + ? document.domain && activeXDocument + ? NullProtoObjectViaActiveX(activeXDocument) // old IE + : NullProtoObjectViaIFrame() + : NullProtoObjectViaActiveX(activeXDocument); // WSH + var length = enumBugKeys.length; + while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; + +hiddenKeys[IE_PROTO] = true; + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +// eslint-disable-next-line es/no-object-create -- safe +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = NullProtoObject(); + return Properties === undefined ? result : definePropertiesModule.f(result, Properties); +}; + + +/***/ }), +/* 73 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(46); +var definePropertyModule = __webpack_require__(45); +var anObject = __webpack_require__(47); +var toIndexedObject = __webpack_require__(12); +var objectKeys = __webpack_require__(74); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var props = toIndexedObject(Properties); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]); + return O; +}; + + +/***/ }), +/* 74 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var internalObjectKeys = __webpack_require__(59); +var enumBugKeys = __webpack_require__(66); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +// eslint-disable-next-line es/no-object-keys -- safe +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + + +/***/ }), +/* 75 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var getBuiltIn = __webpack_require__(24); + +module.exports = getBuiltIn('document', 'documentElement'); + + +/***/ }), +/* 76 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-object-getownpropertynames -- safe */ +var classof = __webpack_require__(15); +var toIndexedObject = __webpack_require__(12); +var $getOwnPropertyNames = __webpack_require__(58).f; +var arraySlice = __webpack_require__(77); + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return $getOwnPropertyNames(it); + } catch (error) { + return arraySlice(windowNames); + } +}; + +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && classof(it) === 'Window' + ? getWindowNames(it) + : $getOwnPropertyNames(toIndexedObject(it)); +}; + + +/***/ }), +/* 77 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toAbsoluteIndex = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(64); +var createProperty = __webpack_require__(78); + +var $Array = Array; +var max = Math.max; + +module.exports = function (O, start, end) { + var length = lengthOfArrayLike(O); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = $Array(max(fin - k, 0)); + var n = 0; + for (; k < fin; k++, n++) createProperty(result, n, O[k]); + result.length = n; + return result; +}; + + +/***/ }), +/* 78 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toPropertyKey = __webpack_require__(18); +var definePropertyModule = __webpack_require__(45); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = function (object, key, value) { + var propertyKey = toPropertyKey(key); + if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else object[propertyKey] = value; +}; + + +/***/ }), +/* 79 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var makeBuiltIn = __webpack_require__(49); +var defineProperty = __webpack_require__(45); + +module.exports = function (target, name, descriptor) { + if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true }); + if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true }); + return defineProperty.f(target, name, descriptor); +}; + + +/***/ }), +/* 80 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var wellKnownSymbol = __webpack_require__(34); + +exports.f = wellKnownSymbol; + + +/***/ }), +/* 81 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var path = __webpack_require__(82); +var hasOwn = __webpack_require__(39); +var wrappedWellKnownSymbolModule = __webpack_require__(80); +var defineProperty = __webpack_require__(45).f; + +module.exports = function (NAME) { + var Symbol = path.Symbol || (path.Symbol = {}); + if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, { + value: wrappedWellKnownSymbolModule.f(NAME) + }); +}; + + +/***/ }), +/* 82 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); + +module.exports = global; + + +/***/ }), +/* 83 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var getBuiltIn = __webpack_require__(24); +var wellKnownSymbol = __webpack_require__(34); +var defineBuiltIn = __webpack_require__(48); + +module.exports = function () { + var Symbol = getBuiltIn('Symbol'); + var SymbolPrototype = Symbol && Symbol.prototype; + var valueOf = SymbolPrototype && SymbolPrototype.valueOf; + var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + + if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) { + // `Symbol.prototype[@@toPrimitive]` method + // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive + // eslint-disable-next-line no-unused-vars -- required for .length + defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) { + return call(valueOf, this); + }, { arity: 1 }); + } +}; + + +/***/ }), +/* 84 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineProperty = __webpack_require__(45).f; +var hasOwn = __webpack_require__(39); +var wellKnownSymbol = __webpack_require__(34); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +module.exports = function (target, TAG, STATIC) { + if (target && !STATIC) target = target.prototype; + if (target && !hasOwn(target, TO_STRING_TAG)) { + defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG }); + } +}; + + +/***/ }), +/* 85 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var bind = __webpack_require__(86); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(40); +var lengthOfArrayLike = __webpack_require__(64); +var arraySpeciesCreate = __webpack_require__(88); + +var push = uncurryThis([].push); + +// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation +var createMethod = function (TYPE) { + var IS_MAP = TYPE === 1; + var IS_FILTER = TYPE === 2; + var IS_SOME = TYPE === 3; + var IS_EVERY = TYPE === 4; + var IS_FIND_INDEX = TYPE === 6; + var IS_FILTER_REJECT = TYPE === 7; + var NO_HOLES = TYPE === 5 || IS_FIND_INDEX; + return function ($this, callbackfn, that, specificCreate) { + var O = toObject($this); + var self = IndexedObject(O); + var boundFunction = bind(callbackfn, that); + var length = lengthOfArrayLike(self); + var index = 0; + var create = specificCreate || arraySpeciesCreate; + var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; + var value, result; + for (;length > index; index++) if (NO_HOLES || index in self) { + value = self[index]; + result = boundFunction(value, index, O); + if (TYPE) { + if (IS_MAP) target[index] = result; // map + else if (result) switch (TYPE) { + case 3: return true; // some + case 5: return value; // find + case 6: return index; // findIndex + case 2: push(target, value); // filter + } else switch (TYPE) { + case 4: return false; // every + case 7: push(target, value); // filterReject + } + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; + }; +}; + +module.exports = { + // `Array.prototype.forEach` method + // https://tc39.es/ecma262/#sec-array.prototype.foreach + forEach: createMethod(0), + // `Array.prototype.map` method + // https://tc39.es/ecma262/#sec-array.prototype.map + map: createMethod(1), + // `Array.prototype.filter` method + // https://tc39.es/ecma262/#sec-array.prototype.filter + filter: createMethod(2), + // `Array.prototype.some` method + // https://tc39.es/ecma262/#sec-array.prototype.some + some: createMethod(3), + // `Array.prototype.every` method + // https://tc39.es/ecma262/#sec-array.prototype.every + every: createMethod(4), + // `Array.prototype.find` method + // https://tc39.es/ecma262/#sec-array.prototype.find + find: createMethod(5), + // `Array.prototype.findIndex` method + // https://tc39.es/ecma262/#sec-array.prototype.findIndex + findIndex: createMethod(6), + // `Array.prototype.filterReject` method + // https://github.com/tc39/proposal-array-filtering + filterReject: createMethod(7) +}; + + +/***/ }), +/* 86 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(87); +var aCallable = __webpack_require__(31); +var NATIVE_BIND = __webpack_require__(9); + +var bind = uncurryThis(uncurryThis.bind); + +// optional / simple context binding +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), +/* 87 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var classofRaw = __webpack_require__(15); +var uncurryThis = __webpack_require__(14); + +module.exports = function (fn) { + // Nashorn bug: + // https://github.com/zloirock/core-js/issues/1128 + // https://github.com/zloirock/core-js/issues/1130 + if (classofRaw(fn) === 'Function') return uncurryThis(fn); +}; + + +/***/ }), +/* 88 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var arraySpeciesConstructor = __webpack_require__(89); + +// `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray, length) { + return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); +}; + + +/***/ }), +/* 89 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isArray = __webpack_require__(90); +var isConstructor = __webpack_require__(91); +var isObject = __webpack_require__(20); +var wellKnownSymbol = __webpack_require__(34); + +var SPECIES = wellKnownSymbol('species'); +var $Array = Array; + +// a part of `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? $Array : C; +}; + + +/***/ }), +/* 90 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var classof = __webpack_require__(15); + +// `IsArray` abstract operation +// https://tc39.es/ecma262/#sec-isarray +// eslint-disable-next-line es/no-array-isarray -- safe +module.exports = Array.isArray || function isArray(argument) { + return classof(argument) === 'Array'; +}; + + +/***/ }), +/* 91 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(70); +var getBuiltIn = __webpack_require__(24); +var inspectSource = __webpack_require__(51); + +var noop = function () { /* empty */ }; +var empty = []; +var construct = getBuiltIn('Reflect', 'construct'); +var constructorRegExp = /^\s*(?:class|function)\b/; +var exec = uncurryThis(constructorRegExp.exec); +var INCORRECT_TO_STRING = !constructorRegExp.test(noop); + +var isConstructorModern = function isConstructor(argument) { + if (!isCallable(argument)) return false; + try { + construct(noop, empty, argument); + return true; + } catch (error) { + return false; + } +}; + +var isConstructorLegacy = function isConstructor(argument) { + if (!isCallable(argument)) return false; + switch (classof(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': return false; + } + try { + // we can't check .prototype since constructors produced by .bind haven't it + // `Function#toString` throws on some built-it function in some legacy engines + // (for example, `DOMQuad` and similar in FF41-) + return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + } catch (error) { + return true; + } +}; + +isConstructorLegacy.sham = true; + +// `IsConstructor` abstract operation +// https://tc39.es/ecma262/#sec-isconstructor +module.exports = !construct || fails(function () { + var called; + return isConstructorModern(isConstructorModern.call) + || !isConstructorModern(Object) + || !isConstructorModern(function () { called = true; }) + || called; +}) ? isConstructorLegacy : isConstructorModern; + + +/***/ }), +/* 92 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(24); +var hasOwn = __webpack_require__(39); +var toString = __webpack_require__(69); +var shared = __webpack_require__(35); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__(93); + +var StringToSymbolRegistry = shared('string-to-symbol-registry'); +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.for` method +// https://tc39.es/ecma262/#sec-symbol.for +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + 'for': function (key) { + var string = toString(key); + if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; + var symbol = getBuiltIn('Symbol')(string); + StringToSymbolRegistry[string] = symbol; + SymbolToStringRegistry[symbol] = string; + return symbol; + } +}); + + +/***/ }), +/* 93 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var NATIVE_SYMBOL = __webpack_require__(27); + +/* eslint-disable es/no-symbol -- safe */ +module.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor; + + +/***/ }), +/* 94 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var hasOwn = __webpack_require__(39); +var isSymbol = __webpack_require__(23); +var tryToString = __webpack_require__(32); +var shared = __webpack_require__(35); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__(93); + +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.keyFor` method +// https://tc39.es/ecma262/#sec-symbol.keyfor +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol'); + if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; + } +}); + + +/***/ }), +/* 95 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(24); +var apply = __webpack_require__(96); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var isSymbol = __webpack_require__(23); +var arraySlice = __webpack_require__(97); +var getReplacerFunction = __webpack_require__(98); +var NATIVE_SYMBOL = __webpack_require__(27); + +var $String = String; +var $stringify = getBuiltIn('JSON', 'stringify'); +var exec = uncurryThis(/./.exec); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var replace = uncurryThis(''.replace); +var numberToString = uncurryThis(1.0.toString); + +var tester = /[\uD800-\uDFFF]/g; +var low = /^[\uD800-\uDBFF]$/; +var hi = /^[\uDC00-\uDFFF]$/; + +var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () { + var symbol = getBuiltIn('Symbol')('stringify detection'); + // MS Edge converts symbol values to JSON as {} + return $stringify([symbol]) !== '[null]' + // WebKit converts symbol values to JSON as null + || $stringify({ a: symbol }) !== '{}' + // V8 throws on boxed symbols + || $stringify(Object(symbol)) !== '{}'; +}); + +// https://github.com/tc39/proposal-well-formed-stringify +var ILL_FORMED_UNICODE = fails(function () { + return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"' + || $stringify('\uDEAD') !== '"\\udead"'; +}); + +var stringifyWithSymbolsFix = function (it, replacer) { + var args = arraySlice(arguments); + var $replacer = getReplacerFunction(replacer); + if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined + args[1] = function (key, value) { + // some old implementations (like WebKit) could pass numbers as keys + if (isCallable($replacer)) value = call($replacer, this, $String(key), value); + if (!isSymbol(value)) return value; + }; + return apply($stringify, null, args); +}; + +var fixIllFormed = function (match, offset, string) { + var prev = charAt(string, offset - 1); + var next = charAt(string, offset + 1); + if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) { + return '\\u' + numberToString(charCodeAt(match, 0), 16); + } return match; +}; + +if ($stringify) { + // `JSON.stringify` method + // https://tc39.es/ecma262/#sec-json.stringify + $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + stringify: function stringify(it, replacer, space) { + var args = arraySlice(arguments); + var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args); + return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result; + } + }); +} + + +/***/ }), +/* 96 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var NATIVE_BIND = __webpack_require__(9); + +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; + +// eslint-disable-next-line es/no-reflect -- safe +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + + +/***/ }), +/* 97 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); + +module.exports = uncurryThis([].slice); + + +/***/ }), +/* 98 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var isArray = __webpack_require__(90); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(15); +var toString = __webpack_require__(69); + +var push = uncurryThis([].push); + +module.exports = function (replacer) { + if (isCallable(replacer)) return replacer; + if (!isArray(replacer)) return; + var rawLength = replacer.length; + var keys = []; + for (var i = 0; i < rawLength; i++) { + var element = replacer[i]; + if (typeof element == 'string') push(keys, element); + else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element)); + } + var keysLength = keys.length; + var root = true; + return function (key, value) { + if (root) { + root = false; + return value; + } + if (isArray(this)) return value; + for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value; + }; +}; + + +/***/ }), +/* 99 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var NATIVE_SYMBOL = __webpack_require__(27); +var fails = __webpack_require__(7); +var getOwnPropertySymbolsModule = __webpack_require__(67); +var toObject = __webpack_require__(40); + +// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives +// https://bugs.chromium.org/p/v8/issues/detail?id=3443 +var FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); }); + +// `Object.getOwnPropertySymbols` method +// https://tc39.es/ecma262/#sec-object.getownpropertysymbols +$({ target: 'Object', stat: true, forced: FORCED }, { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : []; + } +}); + + +/***/ }), +/* 100 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// `Symbol.prototype.description` getter +// https://tc39.es/ecma262/#sec-symbol.prototype.description + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var global = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(39); +var isCallable = __webpack_require__(21); +var isPrototypeOf = __webpack_require__(25); +var toString = __webpack_require__(69); +var defineBuiltInAccessor = __webpack_require__(79); +var copyConstructorProperties = __webpack_require__(56); + +var NativeSymbol = global.Symbol; +var SymbolPrototype = NativeSymbol && NativeSymbol.prototype; + +if (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) || + // Safari 12 bug + NativeSymbol().description !== undefined +)) { + var EmptyStringDescriptionStore = {}; + // wrap Symbol constructor for correct work with undefined description + var SymbolWrapper = function Symbol() { + var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]); + var result = isPrototypeOf(SymbolPrototype, this) + ? new NativeSymbol(description) + // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' + : description === undefined ? NativeSymbol() : NativeSymbol(description); + if (description === '') EmptyStringDescriptionStore[result] = true; + return result; + }; + + copyConstructorProperties(SymbolWrapper, NativeSymbol); + SymbolWrapper.prototype = SymbolPrototype; + SymbolPrototype.constructor = SymbolWrapper; + + var NATIVE_SYMBOL = String(NativeSymbol('description detection')) === 'Symbol(description detection)'; + var thisSymbolValue = uncurryThis(SymbolPrototype.valueOf); + var symbolDescriptiveString = uncurryThis(SymbolPrototype.toString); + var regexp = /^Symbol\((.*)\)[^)]+$/; + var replace = uncurryThis(''.replace); + var stringSlice = uncurryThis(''.slice); + + defineBuiltInAccessor(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + var symbol = thisSymbolValue(this); + if (hasOwn(EmptyStringDescriptionStore, symbol)) return ''; + var string = symbolDescriptiveString(symbol); + var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1'); + return desc === '' ? undefined : desc; + } + }); + + $({ global: true, constructor: true, forced: true }, { + Symbol: SymbolWrapper + }); +} + + +/***/ }), +/* 101 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.asyncIterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.asynciterator +defineWellKnownSymbol('asyncIterator'); + + +/***/ }), +/* 102 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.hasInstance` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.hasinstance +defineWellKnownSymbol('hasInstance'); + + +/***/ }), +/* 103 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.isConcatSpreadable` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable +defineWellKnownSymbol('isConcatSpreadable'); + + +/***/ }), +/* 104 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.iterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.iterator +defineWellKnownSymbol('iterator'); + + +/***/ }), +/* 105 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.match` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.match +defineWellKnownSymbol('match'); + + +/***/ }), +/* 106 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.matchAll` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.matchall +defineWellKnownSymbol('matchAll'); + + +/***/ }), +/* 107 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.replace` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.replace +defineWellKnownSymbol('replace'); + + +/***/ }), +/* 108 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.search` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.search +defineWellKnownSymbol('search'); + + +/***/ }), +/* 109 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.species` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.species +defineWellKnownSymbol('species'); + + +/***/ }), +/* 110 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.split` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.split +defineWellKnownSymbol('split'); + + +/***/ }), +/* 111 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineWellKnownSymbol = __webpack_require__(81); +var defineSymbolToPrimitive = __webpack_require__(83); + +// `Symbol.toPrimitive` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.toprimitive +defineWellKnownSymbol('toPrimitive'); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + + +/***/ }), +/* 112 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var getBuiltIn = __webpack_require__(24); +var defineWellKnownSymbol = __webpack_require__(81); +var setToStringTag = __webpack_require__(84); + +// `Symbol.toStringTag` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.tostringtag +defineWellKnownSymbol('toStringTag'); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag(getBuiltIn('Symbol'), 'Symbol'); + + +/***/ }), +/* 113 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.unscopables` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.unscopables +defineWellKnownSymbol('unscopables'); + + +/***/ }), +/* 114 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable no-unused-vars -- required for functions `.length` */ +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var apply = __webpack_require__(96); +var wrapErrorConstructorWithCause = __webpack_require__(115); + +var WEB_ASSEMBLY = 'WebAssembly'; +var WebAssembly = global[WEB_ASSEMBLY]; + +// eslint-disable-next-line es/no-error-cause -- feature detection +var FORCED = new Error('e', { cause: 7 }).cause !== 7; + +var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED); + $({ global: true, constructor: true, arity: 1, forced: FORCED }, O); +}; + +var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) { + if (WebAssembly && WebAssembly[ERROR_NAME]) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED); + $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O); + } +}; + +// https://tc39.es/ecma262/#sec-nativeerror +exportGlobalErrorCauseWrapper('Error', function (init) { + return function Error(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('EvalError', function (init) { + return function EvalError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('RangeError', function (init) { + return function RangeError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('ReferenceError', function (init) { + return function ReferenceError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('SyntaxError', function (init) { + return function SyntaxError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('TypeError', function (init) { + return function TypeError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('URIError', function (init) { + return function URIError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('CompileError', function (init) { + return function CompileError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('LinkError', function (init) { + return function LinkError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) { + return function RuntimeError(message) { return apply(init, this, arguments); }; +}); + + +/***/ }), +/* 115 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var getBuiltIn = __webpack_require__(24); +var hasOwn = __webpack_require__(39); +var createNonEnumerableProperty = __webpack_require__(44); +var isPrototypeOf = __webpack_require__(25); +var setPrototypeOf = __webpack_require__(116); +var copyConstructorProperties = __webpack_require__(56); +var proxyAccessor = __webpack_require__(119); +var inheritIfRequired = __webpack_require__(120); +var normalizeStringArgument = __webpack_require__(121); +var installErrorCause = __webpack_require__(122); +var installErrorStack = __webpack_require__(123); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { + var STACK_TRACE_LIMIT = 'stackTraceLimit'; + var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; + var path = FULL_NAME.split('.'); + var ERROR_NAME = path[path.length - 1]; + var OriginalError = getBuiltIn.apply(null, path); + + if (!OriginalError) return; + + var OriginalErrorPrototype = OriginalError.prototype; + + // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006 + if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause; + + if (!FORCED) return OriginalError; + + var BaseError = getBuiltIn('Error'); + + var WrappedError = wrapper(function (a, b) { + var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined); + var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError(); + if (message !== undefined) createNonEnumerableProperty(result, 'message', message); + installErrorStack(result, WrappedError, result.stack, 2); + if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError); + if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]); + return result; + }); + + WrappedError.prototype = OriginalErrorPrototype; + + if (ERROR_NAME !== 'Error') { + if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError); + else copyConstructorProperties(WrappedError, BaseError, { name: true }); + } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) { + proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT); + proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace'); + } + + copyConstructorProperties(WrappedError, OriginalError); + + if (!IS_PURE) try { + // Safari 13- bug: WebAssembly errors does not have a proper `.name` + if (OriginalErrorPrototype.name !== ERROR_NAME) { + createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME); + } + OriginalErrorPrototype.constructor = WrappedError; + } catch (error) { /* empty */ } + + return WrappedError; +}; + + +/***/ }), +/* 116 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable no-proto -- safe */ +var uncurryThisAccessor = __webpack_require__(117); +var anObject = __webpack_require__(47); +var aPossiblePrototype = __webpack_require__(118); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +// Works with __proto__ only. Old v8 can't work with null proto objects. +// eslint-disable-next-line es/no-object-setprototypeof -- safe +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set'); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { /* empty */ } + return function setPrototypeOf(O, proto) { + anObject(O); + aPossiblePrototype(proto); + if (CORRECT_SETTER) setter(O, proto); + else O.__proto__ = proto; + return O; + }; +}() : undefined); + + +/***/ }), +/* 117 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(31); + +module.exports = function (object, key, method) { + try { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method])); + } catch (error) { /* empty */ } +}; + + +/***/ }), +/* 118 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isCallable = __webpack_require__(21); + +var $String = String; +var $TypeError = TypeError; + +module.exports = function (argument) { + if (typeof argument == 'object' || isCallable(argument)) return argument; + throw new $TypeError("Can't set " + $String(argument) + ' as a prototype'); +}; + + +/***/ }), +/* 119 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineProperty = __webpack_require__(45).f; + +module.exports = function (Target, Source, key) { + key in Target || defineProperty(Target, key, { + configurable: true, + get: function () { return Source[key]; }, + set: function (it) { Source[key] = it; } + }); +}; + + +/***/ }), +/* 120 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var setPrototypeOf = __webpack_require__(116); + +// makes subclassing work correct for wrapped built-ins +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if ( + // it can work only with native `setPrototypeOf` + setPrototypeOf && + // we haven't completely correct pre-ES6 way for getting `new.target`, so use this + isCallable(NewTarget = dummy.constructor) && + NewTarget !== Wrapper && + isObject(NewTargetPrototype = NewTarget.prototype) && + NewTargetPrototype !== Wrapper.prototype + ) setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + + +/***/ }), +/* 121 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toString = __webpack_require__(69); + +module.exports = function (argument, $default) { + return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument); +}; + + +/***/ }), +/* 122 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(44); + +// `InstallErrorCause` abstract operation +// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause +module.exports = function (O, options) { + if (isObject(options) && 'cause' in options) { + createNonEnumerableProperty(O, 'cause', options.cause); + } +}; + + +/***/ }), +/* 123 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var createNonEnumerableProperty = __webpack_require__(44); +var clearErrorStack = __webpack_require__(124); +var ERROR_STACK_INSTALLABLE = __webpack_require__(125); + +// non-standard V8 +var captureStackTrace = Error.captureStackTrace; + +module.exports = function (error, C, stack, dropEntries) { + if (ERROR_STACK_INSTALLABLE) { + if (captureStackTrace) captureStackTrace(error, C); + else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries)); + } +}; + + +/***/ }), +/* 124 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); + +var $Error = Error; +var replace = uncurryThis(''.replace); + +var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd'); +// eslint-disable-next-line redos/no-vulnerable -- safe +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); + +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { + while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } return stack; +}; + + +/***/ }), +/* 125 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(7); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = !fails(function () { + var error = new Error('a'); + if (!('stack' in error)) return true; + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); + return error.stack !== 7; +}); + + +/***/ }), +/* 126 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineBuiltIn = __webpack_require__(48); +var errorToString = __webpack_require__(127); + +var ErrorPrototype = Error.prototype; + +// `Error.prototype.toString` method fix +// https://tc39.es/ecma262/#sec-error.prototype.tostring +if (ErrorPrototype.toString !== errorToString) { + defineBuiltIn(ErrorPrototype, 'toString', errorToString); +} + + +/***/ }), +/* 127 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var anObject = __webpack_require__(47); +var create = __webpack_require__(72); +var normalizeStringArgument = __webpack_require__(121); + +var nativeErrorToString = Error.prototype.toString; + +var INCORRECT_TO_STRING = fails(function () { + if (DESCRIPTORS) { + // Chrome 32- incorrectly call accessor + // eslint-disable-next-line es/no-object-defineproperty -- safe + var object = create(Object.defineProperty({}, 'name', { get: function () { + return this === object; + } })); + if (nativeErrorToString.call(object) !== 'true') return true; + } + // FF10- does not properly handle non-strings + return nativeErrorToString.call({ message: 1, name: 2 }) !== '2: 1' + // IE8 does not properly handle defaults + || nativeErrorToString.call({}) !== 'Error'; +}); + +module.exports = INCORRECT_TO_STRING ? function toString() { + var O = anObject(this); + var name = normalizeStringArgument(O.name, 'Error'); + var message = normalizeStringArgument(O.message); + return !name ? message : !message ? name : name + ': ' + message; +} : nativeErrorToString; + + +/***/ }), +/* 128 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(129); + + +/***/ }), +/* 129 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isPrototypeOf = __webpack_require__(25); +var getPrototypeOf = __webpack_require__(130); +var setPrototypeOf = __webpack_require__(116); +var copyConstructorProperties = __webpack_require__(56); +var create = __webpack_require__(72); +var createNonEnumerableProperty = __webpack_require__(44); +var createPropertyDescriptor = __webpack_require__(11); +var installErrorCause = __webpack_require__(122); +var installErrorStack = __webpack_require__(123); +var iterate = __webpack_require__(132); +var normalizeStringArgument = __webpack_require__(121); +var wellKnownSymbol = __webpack_require__(34); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Error = Error; +var push = [].push; + +var $AggregateError = function AggregateError(errors, message /* , options */) { + var isInstance = isPrototypeOf(AggregateErrorPrototype, this); + var that; + if (setPrototypeOf) { + that = setPrototypeOf(new $Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype); + } else { + that = isInstance ? this : create(AggregateErrorPrototype); + createNonEnumerableProperty(that, TO_STRING_TAG, 'Error'); + } + if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); + installErrorStack(that, $AggregateError, that.stack, 1); + if (arguments.length > 2) installErrorCause(that, arguments[2]); + var errorsArray = []; + iterate(errors, push, { that: errorsArray }); + createNonEnumerableProperty(that, 'errors', errorsArray); + return that; +}; + +if (setPrototypeOf) setPrototypeOf($AggregateError, $Error); +else copyConstructorProperties($AggregateError, $Error, { name: true }); + +var AggregateErrorPrototype = $AggregateError.prototype = create($Error.prototype, { + constructor: createPropertyDescriptor(1, $AggregateError), + message: createPropertyDescriptor(1, ''), + name: createPropertyDescriptor(1, 'AggregateError') +}); + +// `AggregateError` constructor +// https://tc39.es/ecma262/#sec-aggregate-error-constructor +$({ global: true, constructor: true, arity: 2 }, { + AggregateError: $AggregateError +}); + + +/***/ }), +/* 130 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var hasOwn = __webpack_require__(39); +var isCallable = __webpack_require__(21); +var toObject = __webpack_require__(40); +var sharedKey = __webpack_require__(54); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(131); + +var IE_PROTO = sharedKey('IE_PROTO'); +var $Object = Object; +var ObjectPrototype = $Object.prototype; + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +// eslint-disable-next-line es/no-object-getprototypeof -- safe +module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwn(object, IE_PROTO)) return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; + } return object instanceof $Object ? ObjectPrototype : null; +}; + + +/***/ }), +/* 131 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + + +/***/ }), +/* 132 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var bind = __webpack_require__(86); +var call = __webpack_require__(8); +var anObject = __webpack_require__(47); +var tryToString = __webpack_require__(32); +var isArrayIteratorMethod = __webpack_require__(133); +var lengthOfArrayLike = __webpack_require__(64); +var isPrototypeOf = __webpack_require__(25); +var getIterator = __webpack_require__(135); +var getIteratorMethod = __webpack_require__(136); +var iteratorClose = __webpack_require__(137); + +var $TypeError = TypeError; + +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; + +var ResultPrototype = Result.prototype; + +module.exports = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_RECORD = !!(options && options.IS_RECORD); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that); + var iterator, iterFn, index, length, result, next, step; + + var stop = function (condition) { + if (iterator) iteratorClose(iterator, 'normal', condition); + return new Result(true, condition); + }; + + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } return INTERRUPTED ? fn(value, stop) : fn(value); + }; + + if (IS_RECORD) { + iterator = iterable.iterator; + } else if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable'); + // optimisation for array iterators + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { + result = callFn(iterable[index]); + if (result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); + } + iterator = getIterator(iterable, iterFn); + } + + next = IS_RECORD ? iterable.next : iterator.next; + while (!(step = call(next, iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } + if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); +}; + + +/***/ }), +/* 133 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var wellKnownSymbol = __webpack_require__(34); +var Iterators = __webpack_require__(134); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; + +// check on default Array iterator +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + + +/***/ }), +/* 134 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +module.exports = {}; + + +/***/ }), +/* 135 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var tryToString = __webpack_require__(32); +var getIteratorMethod = __webpack_require__(136); + +var $TypeError = TypeError; + +module.exports = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; + if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument)); + throw new $TypeError(tryToString(argument) + ' is not iterable'); +}; + + +/***/ }), +/* 136 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var classof = __webpack_require__(70); +var getMethod = __webpack_require__(30); +var isNullOrUndefined = __webpack_require__(17); +var Iterators = __webpack_require__(134); +var wellKnownSymbol = __webpack_require__(34); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = function (it) { + if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR) + || getMethod(it, '@@iterator') + || Iterators[classof(it)]; +}; + + +/***/ }), +/* 137 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var anObject = __webpack_require__(47); +var getMethod = __webpack_require__(30); + +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') throw value; + if (innerError) throw innerResult; + anObject(innerResult); + return value; +}; + + +/***/ }), +/* 138 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(24); +var apply = __webpack_require__(96); +var fails = __webpack_require__(7); +var wrapErrorConstructorWithCause = __webpack_require__(115); + +var AGGREGATE_ERROR = 'AggregateError'; +var $AggregateError = getBuiltIn(AGGREGATE_ERROR); + +var FORCED = !fails(function () { + return $AggregateError([1]).errors[0] !== 1; +}) && fails(function () { + return $AggregateError([1], AGGREGATE_ERROR, { cause: 7 }).cause !== 7; +}); + +// https://tc39.es/ecma262/#sec-aggregate-error +$({ global: true, constructor: true, arity: 2, forced: FORCED }, { + AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) { + // eslint-disable-next-line no-unused-vars -- required for functions `.length` + return function AggregateError(errors, message) { return apply(init, this, arguments); }; + }, FORCED, true) +}); + + +/***/ }), +/* 139 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(40); +var lengthOfArrayLike = __webpack_require__(64); +var toIntegerOrInfinity = __webpack_require__(62); +var addToUnscopables = __webpack_require__(140); + +// `Array.prototype.at` method +// https://tc39.es/ecma262/#sec-array.prototype.at +$({ target: 'Array', proto: true }, { + at: function at(index) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : O[k]; + } +}); + +addToUnscopables('at'); + + +/***/ }), +/* 140 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var wellKnownSymbol = __webpack_require__(34); +var create = __webpack_require__(72); +var defineProperty = __webpack_require__(45).f; + +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; + +// Array.prototype[@@unscopables] +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +if (ArrayPrototype[UNSCOPABLES] === undefined) { + defineProperty(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} + +// add a key to Array.prototype[@@unscopables] +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + + +/***/ }), +/* 141 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isArray = __webpack_require__(90); +var isObject = __webpack_require__(20); +var toObject = __webpack_require__(40); +var lengthOfArrayLike = __webpack_require__(64); +var doesNotExceedSafeInteger = __webpack_require__(142); +var createProperty = __webpack_require__(78); +var arraySpeciesCreate = __webpack_require__(88); +var arrayMethodHasSpeciesSupport = __webpack_require__(143); +var wellKnownSymbol = __webpack_require__(34); +var V8_VERSION = __webpack_require__(28); + +var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); + +// We can't use this feature detection in V8 since it causes +// deoptimization and serious performance degradation +// https://github.com/zloirock/core-js/issues/679 +var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { + var array = []; + array[IS_CONCAT_SPREADABLE] = false; + return array.concat()[0] !== array; +}); + +var isConcatSpreadable = function (O) { + if (!isObject(O)) return false; + var spreadable = O[IS_CONCAT_SPREADABLE]; + return spreadable !== undefined ? !!spreadable : isArray(O); +}; + +var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat'); + +// `Array.prototype.concat` method +// https://tc39.es/ecma262/#sec-array.prototype.concat +// with adding support of @@isConcatSpreadable and @@species +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + concat: function concat(arg) { + var O = toObject(this); + var A = arraySpeciesCreate(O, 0); + var n = 0; + var i, k, length, len, E; + for (i = -1, length = arguments.length; i < length; i++) { + E = i === -1 ? O : arguments[i]; + if (isConcatSpreadable(E)) { + len = lengthOfArrayLike(E); + doesNotExceedSafeInteger(n + len); + for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); + } else { + doesNotExceedSafeInteger(n + 1); + createProperty(A, n++, E); + } + } + A.length = n; + return A; + } +}); + + +/***/ }), +/* 142 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $TypeError = TypeError; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991 + +module.exports = function (it) { + if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded'); + return it; +}; + + +/***/ }), +/* 143 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(34); +var V8_VERSION = __webpack_require__(28); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (METHOD_NAME) { + // We can't use this feature detection in V8 since it causes + // deoptimization and serious performance degradation + // https://github.com/zloirock/core-js/issues/677 + return V8_VERSION >= 51 || !fails(function () { + var array = []; + var constructor = array.constructor = {}; + constructor[SPECIES] = function () { + return { foo: 1 }; + }; + return array[METHOD_NAME](Boolean).foo !== 1; + }); +}; + + +/***/ }), +/* 144 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var copyWithin = __webpack_require__(145); +var addToUnscopables = __webpack_require__(140); + +// `Array.prototype.copyWithin` method +// https://tc39.es/ecma262/#sec-array.prototype.copywithin +$({ target: 'Array', proto: true }, { + copyWithin: copyWithin +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('copyWithin'); + + +/***/ }), +/* 145 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toObject = __webpack_require__(40); +var toAbsoluteIndex = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(64); +var deletePropertyOrThrow = __webpack_require__(146); + +var min = Math.min; + +// `Array.prototype.copyWithin` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.copywithin +// eslint-disable-next-line es/no-array-prototype-copywithin -- safe +module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var to = toAbsoluteIndex(target, len); + var from = toAbsoluteIndex(start, len); + var end = arguments.length > 2 ? arguments[2] : undefined; + var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + to += inc; + from += inc; + } return O; +}; + + +/***/ }), +/* 146 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var tryToString = __webpack_require__(32); + +var $TypeError = TypeError; + +module.exports = function (O, P) { + if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O)); +}; + + +/***/ }), +/* 147 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $every = __webpack_require__(85).every; +var arrayMethodIsStrict = __webpack_require__(148); + +var STRICT_METHOD = arrayMethodIsStrict('every'); + +// `Array.prototype.every` method +// https://tc39.es/ecma262/#sec-array.prototype.every +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 148 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(7); + +module.exports = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call -- required for testing + method.call(null, argument || function () { return 1; }, 1); + }); +}; + + +/***/ }), +/* 149 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var fill = __webpack_require__(150); +var addToUnscopables = __webpack_require__(140); + +// `Array.prototype.fill` method +// https://tc39.es/ecma262/#sec-array.prototype.fill +$({ target: 'Array', proto: true }, { + fill: fill +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('fill'); + + +/***/ }), +/* 150 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toObject = __webpack_require__(40); +var toAbsoluteIndex = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(64); + +// `Array.prototype.fill` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.fill +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = lengthOfArrayLike(O); + var argumentsLength = arguments.length; + var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); + var end = argumentsLength > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + + +/***/ }), +/* 151 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $filter = __webpack_require__(85).filter; +var arrayMethodHasSpeciesSupport = __webpack_require__(143); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); + +// `Array.prototype.filter` method +// https://tc39.es/ecma262/#sec-array.prototype.filter +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 152 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $find = __webpack_require__(85).find; +var addToUnscopables = __webpack_require__(140); + +var FIND = 'find'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +// eslint-disable-next-line es/no-array-prototype-find -- testing +if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.find` method +// https://tc39.es/ecma262/#sec-array.prototype.find +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + find: function find(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND); + + +/***/ }), +/* 153 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $findIndex = __webpack_require__(85).findIndex; +var addToUnscopables = __webpack_require__(140); + +var FIND_INDEX = 'findIndex'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +// eslint-disable-next-line es/no-array-prototype-findindex -- testing +if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-array.prototype.findindex +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + findIndex: function findIndex(callbackfn /* , that = undefined */) { + return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND_INDEX); + + +/***/ }), +/* 154 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $findLast = __webpack_require__(155).findLast; +var addToUnscopables = __webpack_require__(140); + +// `Array.prototype.findLast` method +// https://tc39.es/ecma262/#sec-array.prototype.findlast +$({ target: 'Array', proto: true }, { + findLast: function findLast(callbackfn /* , that = undefined */) { + return $findLast(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('findLast'); + + +/***/ }), +/* 155 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var bind = __webpack_require__(86); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(40); +var lengthOfArrayLike = __webpack_require__(64); + +// `Array.prototype.{ findLast, findLastIndex }` methods implementation +var createMethod = function (TYPE) { + var IS_FIND_LAST_INDEX = TYPE === 1; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IndexedObject(O); + var boundFunction = bind(callbackfn, that); + var index = lengthOfArrayLike(self); + var value, result; + while (index-- > 0) { + value = self[index]; + result = boundFunction(value, index, O); + if (result) switch (TYPE) { + case 0: return value; // findLast + case 1: return index; // findLastIndex + } + } + return IS_FIND_LAST_INDEX ? -1 : undefined; + }; +}; + +module.exports = { + // `Array.prototype.findLast` method + // https://github.com/tc39/proposal-array-find-from-last + findLast: createMethod(0), + // `Array.prototype.findLastIndex` method + // https://github.com/tc39/proposal-array-find-from-last + findLastIndex: createMethod(1) +}; + + +/***/ }), +/* 156 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $findLastIndex = __webpack_require__(155).findLastIndex; +var addToUnscopables = __webpack_require__(140); + +// `Array.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-array.prototype.findlastindex +$({ target: 'Array', proto: true }, { + findLastIndex: function findLastIndex(callbackfn /* , that = undefined */) { + return $findLastIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('findLastIndex'); + + +/***/ }), +/* 157 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var flattenIntoArray = __webpack_require__(158); +var toObject = __webpack_require__(40); +var lengthOfArrayLike = __webpack_require__(64); +var toIntegerOrInfinity = __webpack_require__(62); +var arraySpeciesCreate = __webpack_require__(88); + +// `Array.prototype.flat` method +// https://tc39.es/ecma262/#sec-array.prototype.flat +$({ target: 'Array', proto: true }, { + flat: function flat(/* depthArg = 1 */) { + var depthArg = arguments.length ? arguments[0] : undefined; + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg)); + return A; + } +}); + + +/***/ }), +/* 158 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isArray = __webpack_require__(90); +var lengthOfArrayLike = __webpack_require__(64); +var doesNotExceedSafeInteger = __webpack_require__(142); +var bind = __webpack_require__(86); + +// `FlattenIntoArray` abstract operation +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? bind(mapper, thisArg) : false; + var element, elementLen; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + if (depth > 0 && isArray(element)) { + elementLen = lengthOfArrayLike(element); + targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1; + } else { + doesNotExceedSafeInteger(targetIndex + 1); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +}; + +module.exports = flattenIntoArray; + + +/***/ }), +/* 159 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var flattenIntoArray = __webpack_require__(158); +var aCallable = __webpack_require__(31); +var toObject = __webpack_require__(40); +var lengthOfArrayLike = __webpack_require__(64); +var arraySpeciesCreate = __webpack_require__(88); + +// `Array.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-array.prototype.flatmap +$({ target: 'Array', proto: true }, { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A; + aCallable(callbackfn); + A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return A; + } +}); + + +/***/ }), +/* 160 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var forEach = __webpack_require__(161); + +// `Array.prototype.forEach` method +// https://tc39.es/ecma262/#sec-array.prototype.foreach +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +$({ target: 'Array', proto: true, forced: [].forEach !== forEach }, { + forEach: forEach +}); + + +/***/ }), +/* 161 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $forEach = __webpack_require__(85).forEach; +var arrayMethodIsStrict = __webpack_require__(148); + +var STRICT_METHOD = arrayMethodIsStrict('forEach'); + +// `Array.prototype.forEach` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.foreach +module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +} : [].forEach; + + +/***/ }), +/* 162 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var from = __webpack_require__(163); +var checkCorrectnessOfIteration = __webpack_require__(165); + +var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { + // eslint-disable-next-line es/no-array-from -- required for testing + Array.from(iterable); +}); + +// `Array.from` method +// https://tc39.es/ecma262/#sec-array.from +$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { + from: from +}); + + +/***/ }), +/* 163 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var bind = __webpack_require__(86); +var call = __webpack_require__(8); +var toObject = __webpack_require__(40); +var callWithSafeIterationClosing = __webpack_require__(164); +var isArrayIteratorMethod = __webpack_require__(133); +var isConstructor = __webpack_require__(91); +var lengthOfArrayLike = __webpack_require__(64); +var createProperty = __webpack_require__(78); +var getIterator = __webpack_require__(135); +var getIteratorMethod = __webpack_require__(136); + +var $Array = Array; + +// `Array.from` method implementation +// https://tc39.es/ecma262/#sec-array.from +module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var IS_CONSTRUCTOR = isConstructor(this); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined); + var iteratorMethod = getIteratorMethod(O); + var index = 0; + var length, result, step, iterator, next, value; + // if the target is not iterable or it's an array with the default iterator - use a simple case + if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) { + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + result = IS_CONSTRUCTOR ? new this() : []; + for (;!(step = call(next, iterator)).done; index++) { + value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; + createProperty(result, index, value); + } + } else { + length = lengthOfArrayLike(O); + result = IS_CONSTRUCTOR ? new this(length) : $Array(length); + for (;length > index; index++) { + value = mapping ? mapfn(O[index], index) : O[index]; + createProperty(result, index, value); + } + } + result.length = index; + return result; +}; + + +/***/ }), +/* 164 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var anObject = __webpack_require__(47); +var iteratorClose = __webpack_require__(137); + +// call something on iterator step with safe closing on error +module.exports = function (iterator, fn, value, ENTRIES) { + try { + return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } +}; + + +/***/ }), +/* 165 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var wellKnownSymbol = __webpack_require__(34); + +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; + +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; + }, + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing + Array.from(iteratorWithReturn, function () { throw 2; }); +} catch (error) { /* empty */ } + +module.exports = function (exec, SKIP_CLOSING) { + try { + if (!SKIP_CLOSING && !SAFE_CLOSING) return false; + } catch (error) { return false; } // workaround of old WebKit + `eval` bug + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function () { + return { + next: function () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { /* empty */ } + return ITERATION_SUPPORT; +}; + + +/***/ }), +/* 166 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $includes = __webpack_require__(60).includes; +var fails = __webpack_require__(7); +var addToUnscopables = __webpack_require__(140); + +// FF99+ bug +var BROKEN_ON_SPARSE = fails(function () { + // eslint-disable-next-line es/no-array-prototype-includes -- detection + return !Array(1).includes(); +}); + +// `Array.prototype.includes` method +// https://tc39.es/ecma262/#sec-array.prototype.includes +$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('includes'); + + +/***/ }), +/* 167 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-array-prototype-indexof -- required for testing */ +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(87); +var $indexOf = __webpack_require__(60).indexOf; +var arrayMethodIsStrict = __webpack_require__(148); + +var nativeIndexOf = uncurryThis([].indexOf); + +var NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0; +var FORCED = NEGATIVE_ZERO || !arrayMethodIsStrict('indexOf'); + +// `Array.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.indexof +$({ target: 'Array', proto: true, forced: FORCED }, { + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + var fromIndex = arguments.length > 1 ? arguments[1] : undefined; + return NEGATIVE_ZERO + // convert -0 to +0 + ? nativeIndexOf(this, searchElement, fromIndex) || 0 + : $indexOf(this, searchElement, fromIndex); + } +}); + + +/***/ }), +/* 168 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isArray = __webpack_require__(90); + +// `Array.isArray` method +// https://tc39.es/ecma262/#sec-array.isarray +$({ target: 'Array', stat: true }, { + isArray: isArray +}); + + +/***/ }), +/* 169 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIndexedObject = __webpack_require__(12); +var addToUnscopables = __webpack_require__(140); +var Iterators = __webpack_require__(134); +var InternalStateModule = __webpack_require__(52); +var defineProperty = __webpack_require__(45).f; +var defineIterator = __webpack_require__(170); +var createIterResultObject = __webpack_require__(173); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); + +var ARRAY_ITERATOR = 'Array Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); + +// `Array.prototype.entries` method +// https://tc39.es/ecma262/#sec-array.prototype.entries +// `Array.prototype.keys` method +// https://tc39.es/ecma262/#sec-array.prototype.keys +// `Array.prototype.values` method +// https://tc39.es/ecma262/#sec-array.prototype.values +// `Array.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-array.prototype-@@iterator +// `CreateArrayIterator` internal method +// https://tc39.es/ecma262/#sec-createarrayiterator +module.exports = defineIterator(Array, 'Array', function (iterated, kind) { + setInternalState(this, { + type: ARRAY_ITERATOR, + target: toIndexedObject(iterated), // target + index: 0, // next index + kind: kind // kind + }); +// `%ArrayIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next +}, function () { + var state = getInternalState(this); + var target = state.target; + var kind = state.kind; + var index = state.index++; + if (!target || index >= target.length) { + state.target = undefined; + return createIterResultObject(undefined, true); + } + switch (kind) { + case 'keys': return createIterResultObject(index, false); + case 'values': return createIterResultObject(target[index], false); + } return createIterResultObject([index, target[index]], false); +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% +// https://tc39.es/ecma262/#sec-createunmappedargumentsobject +// https://tc39.es/ecma262/#sec-createmappedargumentsobject +var values = Iterators.Arguments = Iterators.Array; + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + +// V8 ~ Chrome 45- bug +if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try { + defineProperty(values, 'name', { value: 'values' }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 170 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var IS_PURE = __webpack_require__(36); +var FunctionName = __webpack_require__(50); +var isCallable = __webpack_require__(21); +var createIteratorConstructor = __webpack_require__(171); +var getPrototypeOf = __webpack_require__(130); +var setPrototypeOf = __webpack_require__(116); +var setToStringTag = __webpack_require__(84); +var createNonEnumerableProperty = __webpack_require__(44); +var defineBuiltIn = __webpack_require__(48); +var wellKnownSymbol = __webpack_require__(34); +var Iterators = __webpack_require__(134); +var IteratorsCore = __webpack_require__(172); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var IteratorPrototype = IteratorsCore.IteratorPrototype; +var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; +var ITERATOR = wellKnownSymbol('iterator'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; + +var returnThis = function () { return this; }; + +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND]; + + switch (KIND) { + case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; + case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; + case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; + } + + return function () { return new IteratorConstructor(this); }; + }; + + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] + || IterablePrototype['@@iterator'] + || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + + // fix native + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { + defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + // Set @@toStringTag to native iterators + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; + } + } + + // fix Array.prototype.{ values, @@iterator }.name in V8 / FF + if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) { + if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(IterablePrototype, 'name', VALUES); + } else { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { return call(nativeIterator, this); }; + } + } + + // export additional methods + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + defineBuiltIn(IterablePrototype, KEY, methods[KEY]); + } + } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + } + + // define iterator + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); + } + Iterators[NAME] = defaultIterator; + + return methods; +}; + + +/***/ }), +/* 171 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var IteratorPrototype = __webpack_require__(172).IteratorPrototype; +var create = __webpack_require__(72); +var createPropertyDescriptor = __webpack_require__(11); +var setToStringTag = __webpack_require__(84); +var Iterators = __webpack_require__(134); + +var returnThis = function () { return this; }; + +module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + + +/***/ }), +/* 172 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var create = __webpack_require__(72); +var getPrototypeOf = __webpack_require__(130); +var defineBuiltIn = __webpack_require__(48); +var wellKnownSymbol = __webpack_require__(34); +var IS_PURE = __webpack_require__(36); + +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; + +// `%IteratorPrototype%` object +// https://tc39.es/ecma262/#sec-%iteratorprototype%-object +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + +/* eslint-disable es/no-array-prototype-keys -- safe */ +if ([].keys) { + arrayIterator = [].keys(); + // Safari 8 has buggy iterators w/o `next` + if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} + +var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () { + var test = {}; + // FF44- legacy iterators case + return IteratorPrototype[ITERATOR].call(test) !== test; +}); + +if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; +else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); + +// `%IteratorPrototype%[@@iterator]()` method +// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator +if (!isCallable(IteratorPrototype[ITERATOR])) { + defineBuiltIn(IteratorPrototype, ITERATOR, function () { + return this; + }); +} + +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + + +/***/ }), +/* 173 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// `CreateIterResultObject` abstract operation +// https://tc39.es/ecma262/#sec-createiterresultobject +module.exports = function (value, done) { + return { value: value, done: done }; +}; + + +/***/ }), +/* 174 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toIndexedObject = __webpack_require__(12); +var arrayMethodIsStrict = __webpack_require__(148); + +var nativeJoin = uncurryThis([].join); + +var ES3_STRINGS = IndexedObject !== Object; +var FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ','); + +// `Array.prototype.join` method +// https://tc39.es/ecma262/#sec-array.prototype.join +$({ target: 'Array', proto: true, forced: FORCED }, { + join: function join(separator) { + return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator); + } +}); + + +/***/ }), +/* 175 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var lastIndexOf = __webpack_require__(176); + +// `Array.prototype.lastIndexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.lastindexof +// eslint-disable-next-line es/no-array-prototype-lastindexof -- required for testing +$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, { + lastIndexOf: lastIndexOf +}); + + +/***/ }), +/* 176 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-array-prototype-lastindexof -- safe */ +var apply = __webpack_require__(96); +var toIndexedObject = __webpack_require__(12); +var toIntegerOrInfinity = __webpack_require__(62); +var lengthOfArrayLike = __webpack_require__(64); +var arrayMethodIsStrict = __webpack_require__(148); + +var min = Math.min; +var $lastIndexOf = [].lastIndexOf; +var NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; +var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf'); +var FORCED = NEGATIVE_ZERO || !STRICT_METHOD; + +// `Array.prototype.lastIndexOf` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.lastindexof +module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0; + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + var index = length - 1; + if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0; + return -1; +} : $lastIndexOf; + + +/***/ }), +/* 177 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $map = __webpack_require__(85).map; +var arrayMethodHasSpeciesSupport = __webpack_require__(143); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); + +// `Array.prototype.map` method +// https://tc39.es/ecma262/#sec-array.prototype.map +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 178 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isConstructor = __webpack_require__(91); +var createProperty = __webpack_require__(78); + +var $Array = Array; + +var ISNT_GENERIC = fails(function () { + function F() { /* empty */ } + // eslint-disable-next-line es/no-array-of -- safe + return !($Array.of.call(F) instanceof F); +}); + +// `Array.of` method +// https://tc39.es/ecma262/#sec-array.of +// WebKit Array.of isn't generic +$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, { + of: function of(/* ...args */) { + var index = 0; + var argumentsLength = arguments.length; + var result = new (isConstructor(this) ? this : $Array)(argumentsLength); + while (argumentsLength > index) createProperty(result, index, arguments[index++]); + result.length = argumentsLength; + return result; + } +}); + + +/***/ }), +/* 179 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(40); +var lengthOfArrayLike = __webpack_require__(64); +var setArrayLength = __webpack_require__(180); +var doesNotExceedSafeInteger = __webpack_require__(142); +var fails = __webpack_require__(7); + +var INCORRECT_TO_LENGTH = fails(function () { + return [].push.call({ length: 0x100000000 }, 1) !== 4294967297; +}); + +// V8 and Safari <= 15.4, FF < 23 throws InternalError +// https://bugs.chromium.org/p/v8/issues/detail?id=12681 +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).push(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength(); + +// `Array.prototype.push` method +// https://tc39.es/ecma262/#sec-array.prototype.push +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + push: function push(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + doesNotExceedSafeInteger(len + argCount); + for (var i = 0; i < argCount; i++) { + O[len] = arguments[i]; + len++; + } + setArrayLength(O, len); + return len; + } +}); + + +/***/ }), +/* 180 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var isArray = __webpack_require__(90); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Safari < 13 does not throw an error in this case +var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () { + // makes no sense without proper strict mode support + if (this !== undefined) return true; + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).length = 1; + } catch (error) { + return error instanceof TypeError; + } +}(); + +module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) { + if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) { + throw new $TypeError('Cannot set read only .length'); + } return O.length = length; +} : function (O, length) { + return O.length = length; +}; + + +/***/ }), +/* 181 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $reduce = __webpack_require__(182).left; +var arrayMethodIsStrict = __webpack_require__(148); +var CHROME_VERSION = __webpack_require__(28); +var IS_NODE = __webpack_require__(183); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce'); + +// `Array.prototype.reduce` method +// https://tc39.es/ecma262/#sec-array.prototype.reduce +$({ target: 'Array', proto: true, forced: FORCED }, { + reduce: function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 182 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aCallable = __webpack_require__(31); +var toObject = __webpack_require__(40); +var IndexedObject = __webpack_require__(13); +var lengthOfArrayLike = __webpack_require__(64); + +var $TypeError = TypeError; + +// `Array.prototype.{ reduce, reduceRight }` methods implementation +var createMethod = function (IS_RIGHT) { + return function (that, callbackfn, argumentsLength, memo) { + aCallable(callbackfn); + var O = toObject(that); + var self = IndexedObject(O); + var length = lengthOfArrayLike(O); + var index = IS_RIGHT ? length - 1 : 0; + var i = IS_RIGHT ? -1 : 1; + if (argumentsLength < 2) while (true) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (IS_RIGHT ? index < 0 : length <= index) { + throw new $TypeError('Reduce of empty array with no initial value'); + } + } + for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; + }; +}; + +module.exports = { + // `Array.prototype.reduce` method + // https://tc39.es/ecma262/#sec-array.prototype.reduce + left: createMethod(false), + // `Array.prototype.reduceRight` method + // https://tc39.es/ecma262/#sec-array.prototype.reduceright + right: createMethod(true) +}; + + +/***/ }), +/* 183 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var classof = __webpack_require__(15); + +module.exports = classof(global.process) === 'process'; + + +/***/ }), +/* 184 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $reduceRight = __webpack_require__(182).right; +var arrayMethodIsStrict = __webpack_require__(148); +var CHROME_VERSION = __webpack_require__(28); +var IS_NODE = __webpack_require__(183); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduceRight'); + +// `Array.prototype.reduceRight` method +// https://tc39.es/ecma262/#sec-array.prototype.reduceright +$({ target: 'Array', proto: true, forced: FORCED }, { + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 185 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var isArray = __webpack_require__(90); + +var nativeReverse = uncurryThis([].reverse); +var test = [1, 2]; + +// `Array.prototype.reverse` method +// https://tc39.es/ecma262/#sec-array.prototype.reverse +// fix for Safari 12.0 bug +// https://bugs.webkit.org/show_bug.cgi?id=188794 +$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, { + reverse: function reverse() { + // eslint-disable-next-line no-self-assign -- dirty hack + if (isArray(this)) this.length = this.length; + return nativeReverse(this); + } +}); + + +/***/ }), +/* 186 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isArray = __webpack_require__(90); +var isConstructor = __webpack_require__(91); +var isObject = __webpack_require__(20); +var toAbsoluteIndex = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(64); +var toIndexedObject = __webpack_require__(12); +var createProperty = __webpack_require__(78); +var wellKnownSymbol = __webpack_require__(34); +var arrayMethodHasSpeciesSupport = __webpack_require__(143); +var nativeSlice = __webpack_require__(97); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); + +var SPECIES = wellKnownSymbol('species'); +var $Array = Array; +var max = Math.max; + +// `Array.prototype.slice` method +// https://tc39.es/ecma262/#sec-array.prototype.slice +// fallback for not array-like ES3 strings and DOM objects +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + slice: function slice(start, end) { + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible + var Constructor, result, n; + if (isArray(O)) { + Constructor = O.constructor; + // cross-realm fallback + if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) { + Constructor = undefined; + } else if (isObject(Constructor)) { + Constructor = Constructor[SPECIES]; + if (Constructor === null) Constructor = undefined; + } + if (Constructor === $Array || Constructor === undefined) { + return nativeSlice(O, k, fin); + } + } + result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0)); + for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); + result.length = n; + return result; + } +}); + + +/***/ }), +/* 187 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $some = __webpack_require__(85).some; +var arrayMethodIsStrict = __webpack_require__(148); + +var STRICT_METHOD = arrayMethodIsStrict('some'); + +// `Array.prototype.some` method +// https://tc39.es/ecma262/#sec-array.prototype.some +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 188 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(31); +var toObject = __webpack_require__(40); +var lengthOfArrayLike = __webpack_require__(64); +var deletePropertyOrThrow = __webpack_require__(146); +var toString = __webpack_require__(69); +var fails = __webpack_require__(7); +var internalSort = __webpack_require__(189); +var arrayMethodIsStrict = __webpack_require__(148); +var FF = __webpack_require__(190); +var IE_OR_EDGE = __webpack_require__(191); +var V8 = __webpack_require__(28); +var WEBKIT = __webpack_require__(192); + +var test = []; +var nativeSort = uncurryThis(test.sort); +var push = uncurryThis(test.push); + +// IE8- +var FAILS_ON_UNDEFINED = fails(function () { + test.sort(undefined); +}); +// V8 bug +var FAILS_ON_NULL = fails(function () { + test.sort(null); +}); +// Old WebKit +var STRICT_METHOD = arrayMethodIsStrict('sort'); + +var STABLE_SORT = !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 70; + if (FF && FF > 3) return; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 603; + + var result = ''; + var code, chr, value, index; + + // generate an array with more 512 elements (Chakra and old V8 fails only in this case) + for (code = 65; code < 76; code++) { + chr = String.fromCharCode(code); + + switch (code) { + case 66: case 69: case 70: case 72: value = 3; break; + case 68: case 71: value = 4; break; + default: value = 2; + } + + for (index = 0; index < 47; index++) { + test.push({ k: chr + index, v: value }); + } + } + + test.sort(function (a, b) { return b.v - a.v; }); + + for (index = 0; index < test.length; index++) { + chr = test[index].k.charAt(0); + if (result.charAt(result.length - 1) !== chr) result += chr; + } + + return result !== 'DGBEFHACIJK'; +}); + +var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (y === undefined) return -1; + if (x === undefined) return 1; + if (comparefn !== undefined) return +comparefn(x, y) || 0; + return toString(x) > toString(y) ? 1 : -1; + }; +}; + +// `Array.prototype.sort` method +// https://tc39.es/ecma262/#sec-array.prototype.sort +$({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + + var array = toObject(this); + + if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn); + + var items = []; + var arrayLength = lengthOfArrayLike(array); + var itemsLength, index; + + for (index = 0; index < arrayLength; index++) { + if (index in array) push(items, array[index]); + } + + internalSort(items, getSortCompare(comparefn)); + + itemsLength = lengthOfArrayLike(items); + index = 0; + + while (index < itemsLength) array[index] = items[index++]; + while (index < arrayLength) deletePropertyOrThrow(array, index++); + + return array; + } +}); + + +/***/ }), +/* 189 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var arraySlice = __webpack_require__(77); + +var floor = Math.floor; + +var mergeSort = function (array, comparefn) { + var length = array.length; + var middle = floor(length / 2); + return length < 8 ? insertionSort(array, comparefn) : merge( + array, + mergeSort(arraySlice(array, 0, middle), comparefn), + mergeSort(arraySlice(array, middle), comparefn), + comparefn + ); +}; + +var insertionSort = function (array, comparefn) { + var length = array.length; + var i = 1; + var element, j; + + while (i < length) { + j = i; + element = array[i]; + while (j && comparefn(array[j - 1], element) > 0) { + array[j] = array[--j]; + } + if (j !== i++) array[j] = element; + } return array; +}; + +var merge = function (array, left, right, comparefn) { + var llength = left.length; + var rlength = right.length; + var lindex = 0; + var rindex = 0; + + while (lindex < llength || rindex < rlength) { + array[lindex + rindex] = (lindex < llength && rindex < rlength) + ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++] + : lindex < llength ? left[lindex++] : right[rindex++]; + } return array; +}; + +module.exports = mergeSort; + + +/***/ }), +/* 190 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var userAgent = __webpack_require__(29); + +var firefox = userAgent.match(/firefox\/(\d+)/i); + +module.exports = !!firefox && +firefox[1]; + + +/***/ }), +/* 191 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var UA = __webpack_require__(29); + +module.exports = /MSIE|Trident/.test(UA); + + +/***/ }), +/* 192 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var userAgent = __webpack_require__(29); + +var webkit = userAgent.match(/AppleWebKit\/(\d+)\./); + +module.exports = !!webkit && +webkit[1]; + + +/***/ }), +/* 193 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var setSpecies = __webpack_require__(194); + +// `Array[@@species]` getter +// https://tc39.es/ecma262/#sec-get-array-@@species +setSpecies('Array'); + + +/***/ }), +/* 194 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var getBuiltIn = __webpack_require__(24); +var defineBuiltInAccessor = __webpack_require__(79); +var wellKnownSymbol = __webpack_require__(34); +var DESCRIPTORS = __webpack_require__(6); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (CONSTRUCTOR_NAME) { + var Constructor = getBuiltIn(CONSTRUCTOR_NAME); + + if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { + defineBuiltInAccessor(Constructor, SPECIES, { + configurable: true, + get: function () { return this; } + }); + } +}; + + +/***/ }), +/* 195 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(40); +var toAbsoluteIndex = __webpack_require__(61); +var toIntegerOrInfinity = __webpack_require__(62); +var lengthOfArrayLike = __webpack_require__(64); +var setArrayLength = __webpack_require__(180); +var doesNotExceedSafeInteger = __webpack_require__(142); +var arraySpeciesCreate = __webpack_require__(88); +var createProperty = __webpack_require__(78); +var deletePropertyOrThrow = __webpack_require__(146); +var arrayMethodHasSpeciesSupport = __webpack_require__(143); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); + +var max = Math.max; +var min = Math.min; + +// `Array.prototype.splice` method +// https://tc39.es/ecma262/#sec-array.prototype.splice +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + splice: function splice(start, deleteCount /* , ...items */) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var insertCount, actualDeleteCount, A, k, from, to; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); + A = arraySpeciesCreate(O, actualDeleteCount); + for (k = 0; k < actualDeleteCount; k++) { + from = actualStart + k; + if (from in O) createProperty(A, k, O[from]); + } + A.length = actualDeleteCount; + if (insertCount < actualDeleteCount) { + for (k = actualStart; k < len - actualDeleteCount; k++) { + from = k + actualDeleteCount; + to = k + insertCount; + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + } + for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1); + } else if (insertCount > actualDeleteCount) { + for (k = len - actualDeleteCount; k > actualStart; k--) { + from = k + actualDeleteCount - 1; + to = k + insertCount - 1; + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + } + } + for (k = 0; k < insertCount; k++) { + O[k + actualStart] = arguments[k + 2]; + } + setArrayLength(O, len - actualDeleteCount + insertCount); + return A; + } +}); + + +/***/ }), +/* 196 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var arrayToReversed = __webpack_require__(197); +var toIndexedObject = __webpack_require__(12); +var addToUnscopables = __webpack_require__(140); + +var $Array = Array; + +// `Array.prototype.toReversed` method +// https://tc39.es/ecma262/#sec-array.prototype.toreversed +$({ target: 'Array', proto: true }, { + toReversed: function toReversed() { + return arrayToReversed(toIndexedObject(this), $Array); + } +}); + +addToUnscopables('toReversed'); + + +/***/ }), +/* 197 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var lengthOfArrayLike = __webpack_require__(64); + +// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed +// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed +module.exports = function (O, C) { + var len = lengthOfArrayLike(O); + var A = new C(len); + var k = 0; + for (; k < len; k++) A[k] = O[len - k - 1]; + return A; +}; + + +/***/ }), +/* 198 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(31); +var toIndexedObject = __webpack_require__(12); +var arrayFromConstructorAndList = __webpack_require__(199); +var getVirtual = __webpack_require__(200); +var addToUnscopables = __webpack_require__(140); + +var $Array = Array; +var sort = uncurryThis(getVirtual('Array').sort); + +// `Array.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-array.prototype.tosorted +$({ target: 'Array', proto: true }, { + toSorted: function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = toIndexedObject(this); + var A = arrayFromConstructorAndList($Array, O); + return sort(A, compareFn); + } +}); + +addToUnscopables('toSorted'); + + +/***/ }), +/* 199 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var lengthOfArrayLike = __webpack_require__(64); + +module.exports = function (Constructor, list) { + var index = 0; + var length = lengthOfArrayLike(list); + var result = new Constructor(length); + while (length > index) result[index] = list[index++]; + return result; +}; + + +/***/ }), +/* 200 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); + +module.exports = function (CONSTRUCTOR) { + return global[CONSTRUCTOR].prototype; +}; + + +/***/ }), +/* 201 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var addToUnscopables = __webpack_require__(140); +var doesNotExceedSafeInteger = __webpack_require__(142); +var lengthOfArrayLike = __webpack_require__(64); +var toAbsoluteIndex = __webpack_require__(61); +var toIndexedObject = __webpack_require__(12); +var toIntegerOrInfinity = __webpack_require__(62); + +var $Array = Array; +var max = Math.max; +var min = Math.min; + +// `Array.prototype.toSpliced` method +// https://tc39.es/ecma262/#sec-array.prototype.tospliced +$({ target: 'Array', proto: true }, { + toSpliced: function toSpliced(start, deleteCount /* , ...items */) { + var O = toIndexedObject(this); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var k = 0; + var insertCount, actualDeleteCount, newLen, A; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); + A = $Array(newLen); + + for (; k < actualStart; k++) A[k] = O[k]; + for (; k < actualStart + insertCount; k++) A[k] = arguments[k - actualStart + 2]; + for (; k < newLen; k++) A[k] = O[k + actualDeleteCount - insertCount]; + + return A; + } +}); + +addToUnscopables('toSpliced'); + + +/***/ }), +/* 202 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = __webpack_require__(140); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flat'); + + +/***/ }), +/* 203 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = __webpack_require__(140); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flatMap'); + + +/***/ }), +/* 204 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(40); +var lengthOfArrayLike = __webpack_require__(64); +var setArrayLength = __webpack_require__(180); +var deletePropertyOrThrow = __webpack_require__(146); +var doesNotExceedSafeInteger = __webpack_require__(142); + +// IE8- +var INCORRECT_RESULT = [].unshift(0) !== 1; + +// V8 ~ Chrome < 71 and Safari <= 15.4, FF < 23 throws InternalError +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).unshift(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_RESULT || !properErrorOnNonWritableLength(); + +// `Array.prototype.unshift` method +// https://tc39.es/ecma262/#sec-array.prototype.unshift +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + unshift: function unshift(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + if (argCount) { + doesNotExceedSafeInteger(len + argCount); + var k = len; + while (k--) { + var to = k + argCount; + if (k in O) O[to] = O[k]; + else deletePropertyOrThrow(O, to); + } + for (var j = 0; j < argCount; j++) { + O[j] = arguments[j]; + } + } return setArrayLength(O, len + argCount); + } +}); + + +/***/ }), +/* 205 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var arrayWith = __webpack_require__(206); +var toIndexedObject = __webpack_require__(12); + +var $Array = Array; + +// `Array.prototype.with` method +// https://tc39.es/ecma262/#sec-array.prototype.with +$({ target: 'Array', proto: true }, { + 'with': function (index, value) { + return arrayWith(toIndexedObject(this), $Array, index, value); + } +}); + + +/***/ }), +/* 206 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var lengthOfArrayLike = __webpack_require__(64); +var toIntegerOrInfinity = __webpack_require__(62); + +var $RangeError = RangeError; + +// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with +// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with +module.exports = function (O, C, index, value) { + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex; + if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index'); + var A = new C(len); + var k = 0; + for (; k < len; k++) A[k] = k === actualIndex ? value : O[k]; + return A; +}; + + +/***/ }), +/* 207 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var arrayBufferModule = __webpack_require__(208); +var setSpecies = __webpack_require__(194); + +var ARRAY_BUFFER = 'ArrayBuffer'; +var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER]; +var NativeArrayBuffer = global[ARRAY_BUFFER]; + +// `ArrayBuffer` constructor +// https://tc39.es/ecma262/#sec-arraybuffer-constructor +$({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer }, { + ArrayBuffer: ArrayBuffer +}); + +setSpecies(ARRAY_BUFFER); + + +/***/ }), +/* 208 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(6); +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); +var FunctionName = __webpack_require__(50); +var createNonEnumerableProperty = __webpack_require__(44); +var defineBuiltInAccessor = __webpack_require__(79); +var defineBuiltIns = __webpack_require__(210); +var fails = __webpack_require__(7); +var anInstance = __webpack_require__(211); +var toIntegerOrInfinity = __webpack_require__(62); +var toLength = __webpack_require__(65); +var toIndex = __webpack_require__(212); +var fround = __webpack_require__(213); +var IEEE754 = __webpack_require__(216); +var getPrototypeOf = __webpack_require__(130); +var setPrototypeOf = __webpack_require__(116); +var getOwnPropertyNames = __webpack_require__(58).f; +var arrayFill = __webpack_require__(150); +var arraySlice = __webpack_require__(77); +var setToStringTag = __webpack_require__(84); +var InternalStateModule = __webpack_require__(52); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length'; +var WRONG_INDEX = 'Wrong index'; +var getInternalArrayBufferState = InternalStateModule.getterFor(ARRAY_BUFFER); +var getInternalDataViewState = InternalStateModule.getterFor(DATA_VIEW); +var setInternalState = InternalStateModule.set; +var NativeArrayBuffer = global[ARRAY_BUFFER]; +var $ArrayBuffer = NativeArrayBuffer; +var ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE]; +var $DataView = global[DATA_VIEW]; +var DataViewPrototype = $DataView && $DataView[PROTOTYPE]; +var ObjectPrototype = Object.prototype; +var Array = global.Array; +var RangeError = global.RangeError; +var fill = uncurryThis(arrayFill); +var reverse = uncurryThis([].reverse); + +var packIEEE754 = IEEE754.pack; +var unpackIEEE754 = IEEE754.unpack; + +var packInt8 = function (number) { + return [number & 0xFF]; +}; + +var packInt16 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF]; +}; + +var packInt32 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF]; +}; + +var unpackInt32 = function (buffer) { + return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0]; +}; + +var packFloat32 = function (number) { + return packIEEE754(fround(number), 23, 4); +}; + +var packFloat64 = function (number) { + return packIEEE754(number, 52, 8); +}; + +var addGetter = function (Constructor, key, getInternalState) { + defineBuiltInAccessor(Constructor[PROTOTYPE], key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); +}; + +var get = function (view, count, index, isLittleEndian) { + var store = getInternalDataViewState(view); + var intIndex = toIndex(index); + var boolIsLittleEndian = !!isLittleEndian; + if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX); + var bytes = store.bytes; + var start = intIndex + store.byteOffset; + var pack = arraySlice(bytes, start, start + count); + return boolIsLittleEndian ? pack : reverse(pack); +}; + +var set = function (view, count, index, conversion, value, isLittleEndian) { + var store = getInternalDataViewState(view); + var intIndex = toIndex(index); + var pack = conversion(+value); + var boolIsLittleEndian = !!isLittleEndian; + if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX); + var bytes = store.bytes; + var start = intIndex + store.byteOffset; + for (var i = 0; i < count; i++) bytes[start + i] = pack[boolIsLittleEndian ? i : count - i - 1]; +}; + +if (!NATIVE_ARRAY_BUFFER) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, ArrayBufferPrototype); + var byteLength = toIndex(length); + setInternalState(this, { + type: ARRAY_BUFFER, + bytes: fill(Array(byteLength), 0), + byteLength: byteLength + }); + if (!DESCRIPTORS) { + this.byteLength = byteLength; + this.detached = false; + } + }; + + ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE]; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, DataViewPrototype); + anInstance(buffer, ArrayBufferPrototype); + var bufferState = getInternalArrayBufferState(buffer); + var bufferLength = bufferState.byteLength; + var offset = toIntegerOrInfinity(byteOffset); + if (offset < 0 || offset > bufferLength) throw new RangeError('Wrong offset'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw new RangeError(WRONG_LENGTH); + setInternalState(this, { + type: DATA_VIEW, + buffer: buffer, + byteLength: byteLength, + byteOffset: offset, + bytes: bufferState.bytes + }); + if (!DESCRIPTORS) { + this.buffer = buffer; + this.byteLength = byteLength; + this.byteOffset = offset; + } + }; + + DataViewPrototype = $DataView[PROTOTYPE]; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, 'byteLength', getInternalArrayBufferState); + addGetter($DataView, 'buffer', getInternalDataViewState); + addGetter($DataView, 'byteLength', getInternalDataViewState); + addGetter($DataView, 'byteOffset', getInternalDataViewState); + } + + defineBuiltIns(DataViewPrototype, { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)); + }, + getUint32: function getUint32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false), 23); + }, + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : false), 52); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false); + }, + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false); + }, + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false); + }, + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false); + }, + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : false); + }, + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { + set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : false); + } + }); +} else { + var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER; + /* eslint-disable no-new -- required for testing */ + if (!fails(function () { + NativeArrayBuffer(1); + }) || !fails(function () { + new NativeArrayBuffer(-1); + }) || fails(function () { + new NativeArrayBuffer(); + new NativeArrayBuffer(1.5); + new NativeArrayBuffer(NaN); + return NativeArrayBuffer.length !== 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME; + })) { + /* eslint-enable no-new -- required for testing */ + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, ArrayBufferPrototype); + return new NativeArrayBuffer(toIndex(length)); + }; + + $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype; + + for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) { + if (!((key = keys[j++]) in $ArrayBuffer)) { + createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]); + } + } + + ArrayBufferPrototype.constructor = $ArrayBuffer; + } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER); + } + + // WebKit bug - the same parent prototype for typed arrays and data view + if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) { + setPrototypeOf(DataViewPrototype, ObjectPrototype); + } + + // iOS Safari 7.x bug + var testView = new $DataView(new $ArrayBuffer(2)); + var $setInt8 = uncurryThis(DataViewPrototype.setInt8); + testView.setInt8(0, 2147483648); + testView.setInt8(1, 2147483649); + if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, { + setInt8: function setInt8(byteOffset, value) { + $setInt8(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + $setInt8(this, byteOffset, value << 24 >> 24); + } + }, { unsafe: true }); +} + +setToStringTag($ArrayBuffer, ARRAY_BUFFER); +setToStringTag($DataView, DATA_VIEW); + +module.exports = { + ArrayBuffer: $ArrayBuffer, + DataView: $DataView +}; + + +/***/ }), +/* 209 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// eslint-disable-next-line es/no-typed-arrays -- safe +module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; + + +/***/ }), +/* 210 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineBuiltIn = __webpack_require__(48); + +module.exports = function (target, src, options) { + for (var key in src) defineBuiltIn(target, key, src[key], options); + return target; +}; + + +/***/ }), +/* 211 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isPrototypeOf = __webpack_require__(25); + +var $TypeError = TypeError; + +module.exports = function (it, Prototype) { + if (isPrototypeOf(Prototype, it)) return it; + throw new $TypeError('Incorrect invocation'); +}; + + +/***/ }), +/* 212 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIntegerOrInfinity = __webpack_require__(62); +var toLength = __webpack_require__(65); + +var $RangeError = RangeError; + +// `ToIndex` abstract operation +// https://tc39.es/ecma262/#sec-toindex +module.exports = function (it) { + if (it === undefined) return 0; + var number = toIntegerOrInfinity(it); + var length = toLength(number); + if (number !== length) throw new $RangeError('Wrong length or index'); + return length; +}; + + +/***/ }), +/* 213 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var floatRound = __webpack_require__(214); + +var FLOAT32_EPSILON = 1.1920928955078125e-7; // 2 ** -23; +var FLOAT32_MAX_VALUE = 3.4028234663852886e+38; // 2 ** 128 - 2 ** 104 +var FLOAT32_MIN_VALUE = 1.1754943508222875e-38; // 2 ** -126; + +// `Math.fround` method implementation +// https://tc39.es/ecma262/#sec-math.fround +// eslint-disable-next-line es/no-math-fround -- safe +module.exports = Math.fround || function fround(x) { + return floatRound(x, FLOAT32_EPSILON, FLOAT32_MAX_VALUE, FLOAT32_MIN_VALUE); +}; + + +/***/ }), +/* 214 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var sign = __webpack_require__(215); + +var abs = Math.abs; + +var EPSILON = 2.220446049250313e-16; // Number.EPSILON +var INVERSE_EPSILON = 1 / EPSILON; + +var roundTiesToEven = function (n) { + return n + INVERSE_EPSILON - INVERSE_EPSILON; +}; + +module.exports = function (x, FLOAT_EPSILON, FLOAT_MAX_VALUE, FLOAT_MIN_VALUE) { + var n = +x; + var absolute = abs(n); + var s = sign(n); + if (absolute < FLOAT_MIN_VALUE) return s * roundTiesToEven(absolute / FLOAT_MIN_VALUE / FLOAT_EPSILON) * FLOAT_MIN_VALUE * FLOAT_EPSILON; + var a = (1 + FLOAT_EPSILON / EPSILON) * absolute; + var result = a - (a - absolute); + // eslint-disable-next-line no-self-compare -- NaN check + if (result > FLOAT_MAX_VALUE || result !== result) return s * Infinity; + return s * result; +}; + + +/***/ }), +/* 215 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// `Math.sign` method implementation +// https://tc39.es/ecma262/#sec-math.sign +// eslint-disable-next-line es/no-math-sign -- safe +module.exports = Math.sign || function sign(x) { + var n = +x; + // eslint-disable-next-line no-self-compare -- NaN check + return n === 0 || n !== n ? n : n < 0 ? -1 : 1; +}; + + +/***/ }), +/* 216 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// IEEE754 conversions based on https://github.com/feross/ieee754 +var $Array = Array; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; + +var pack = function (number, mantissaLength, bytes) { + var buffer = $Array(bytes); + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0; + var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; + var index = 0; + var exponent, mantissa, c; + number = abs(number); + // eslint-disable-next-line no-self-compare -- NaN check + if (number !== number || number === Infinity) { + // eslint-disable-next-line no-self-compare -- NaN check + mantissa = number !== number ? 1 : 0; + exponent = eMax; + } else { + exponent = floor(log(number) / LN2); + c = pow(2, -exponent); + if (number * c < 1) { + exponent--; + c *= 2; + } + if (exponent + eBias >= 1) { + number += rt / c; + } else { + number += rt * pow(2, 1 - eBias); + } + if (number * c >= 2) { + exponent++; + c /= 2; + } + if (exponent + eBias >= eMax) { + mantissa = 0; + exponent = eMax; + } else if (exponent + eBias >= 1) { + mantissa = (number * c - 1) * pow(2, mantissaLength); + exponent += eBias; + } else { + mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength); + exponent = 0; + } + } + while (mantissaLength >= 8) { + buffer[index++] = mantissa & 255; + mantissa /= 256; + mantissaLength -= 8; + } + exponent = exponent << mantissaLength | mantissa; + exponentLength += mantissaLength; + while (exponentLength > 0) { + buffer[index++] = exponent & 255; + exponent /= 256; + exponentLength -= 8; + } + buffer[--index] |= sign * 128; + return buffer; +}; + +var unpack = function (buffer, mantissaLength) { + var bytes = buffer.length; + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var nBits = exponentLength - 7; + var index = bytes - 1; + var sign = buffer[index--]; + var exponent = sign & 127; + var mantissa; + sign >>= 7; + while (nBits > 0) { + exponent = exponent * 256 + buffer[index--]; + nBits -= 8; + } + mantissa = exponent & (1 << -nBits) - 1; + exponent >>= -nBits; + nBits += mantissaLength; + while (nBits > 0) { + mantissa = mantissa * 256 + buffer[index--]; + nBits -= 8; + } + if (exponent === 0) { + exponent = 1 - eBias; + } else if (exponent === eMax) { + return mantissa ? NaN : sign ? -Infinity : Infinity; + } else { + mantissa += pow(2, mantissaLength); + exponent -= eBias; + } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength); +}; + +module.exports = { + pack: pack, + unpack: unpack +}; + + +/***/ }), +/* 217 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var ArrayBufferViewCore = __webpack_require__(218); + +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; + +// `ArrayBuffer.isView` method +// https://tc39.es/ecma262/#sec-arraybuffer.isview +$({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + isView: ArrayBufferViewCore.isView +}); + + +/***/ }), +/* 218 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); +var DESCRIPTORS = __webpack_require__(6); +var global = __webpack_require__(4); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(39); +var classof = __webpack_require__(70); +var tryToString = __webpack_require__(32); +var createNonEnumerableProperty = __webpack_require__(44); +var defineBuiltIn = __webpack_require__(48); +var defineBuiltInAccessor = __webpack_require__(79); +var isPrototypeOf = __webpack_require__(25); +var getPrototypeOf = __webpack_require__(130); +var setPrototypeOf = __webpack_require__(116); +var wellKnownSymbol = __webpack_require__(34); +var uid = __webpack_require__(41); +var InternalStateModule = __webpack_require__(52); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var Int8Array = global.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var Uint8ClampedArray = global.Uint8ClampedArray; +var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; +var TypedArray = Int8Array && getPrototypeOf(Int8Array); +var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); +var ObjectPrototype = Object.prototype; +var TypeError = global.TypeError; + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); +var TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor'; +// Fixing native typed arrays in Opera Presto crashes the browser, see #595 +var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera'; +var TYPED_ARRAY_TAG_REQUIRED = false; +var NAME, Constructor, Prototype; + +var TypedArrayConstructorsList = { + Int8Array: 1, + Uint8Array: 1, + Uint8ClampedArray: 1, + Int16Array: 2, + Uint16Array: 2, + Int32Array: 4, + Uint32Array: 4, + Float32Array: 4, + Float64Array: 8 +}; + +var BigIntArrayConstructorsList = { + BigInt64Array: 8, + BigUint64Array: 8 +}; + +var isView = function isView(it) { + if (!isObject(it)) return false; + var klass = classof(it); + return klass === 'DataView' + || hasOwn(TypedArrayConstructorsList, klass) + || hasOwn(BigIntArrayConstructorsList, klass); +}; + +var getTypedArrayConstructor = function (it) { + var proto = getPrototypeOf(it); + if (!isObject(proto)) return; + var state = getInternalState(proto); + return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto); +}; + +var isTypedArray = function (it) { + if (!isObject(it)) return false; + var klass = classof(it); + return hasOwn(TypedArrayConstructorsList, klass) + || hasOwn(BigIntArrayConstructorsList, klass); +}; + +var aTypedArray = function (it) { + if (isTypedArray(it)) return it; + throw new TypeError('Target is not a typed array'); +}; + +var aTypedArrayConstructor = function (C) { + if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C; + throw new TypeError(tryToString(C) + ' is not a typed array constructor'); +}; + +var exportTypedArrayMethod = function (KEY, property, forced, options) { + if (!DESCRIPTORS) return; + if (forced) for (var ARRAY in TypedArrayConstructorsList) { + var TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try { + delete TypedArrayConstructor.prototype[KEY]; + } catch (error) { + // old WebKit bug - some methods are non-configurable + try { + TypedArrayConstructor.prototype[KEY] = property; + } catch (error2) { /* empty */ } + } + } + if (!TypedArrayPrototype[KEY] || forced) { + defineBuiltIn(TypedArrayPrototype, KEY, forced ? property + : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options); + } +}; + +var exportTypedArrayStaticMethod = function (KEY, property, forced) { + var ARRAY, TypedArrayConstructor; + if (!DESCRIPTORS) return; + if (setPrototypeOf) { + if (forced) for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try { + delete TypedArrayConstructor[KEY]; + } catch (error) { /* empty */ } + } + if (!TypedArray[KEY] || forced) { + // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable + try { + return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property); + } catch (error) { /* empty */ } + } else return; + } + for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { + defineBuiltIn(TypedArrayConstructor, KEY, property); + } + } +}; + +for (NAME in TypedArrayConstructorsList) { + Constructor = global[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; + else NATIVE_ARRAY_BUFFER_VIEWS = false; +} + +for (NAME in BigIntArrayConstructorsList) { + Constructor = global[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; +} + +// WebKit bug - typed arrays constructors prototype is Object.prototype +if (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) { + // eslint-disable-next-line no-shadow -- safe + TypedArray = function TypedArray() { + throw new TypeError('Incorrect invocation'); + }; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (global[NAME]) setPrototypeOf(global[NAME], TypedArray); + } +} + +if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { + TypedArrayPrototype = TypedArray.prototype; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype); + } +} + +// WebKit bug - one more object in Uint8ClampedArray prototype chain +if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { + setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); +} + +if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) { + TYPED_ARRAY_TAG_REQUIRED = true; + defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, { + configurable: true, + get: function () { + return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; + } + }); + for (NAME in TypedArrayConstructorsList) if (global[NAME]) { + createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME); + } +} + +module.exports = { + NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, + TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG, + aTypedArray: aTypedArray, + aTypedArrayConstructor: aTypedArrayConstructor, + exportTypedArrayMethod: exportTypedArrayMethod, + exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, + getTypedArrayConstructor: getTypedArrayConstructor, + isView: isView, + isTypedArray: isTypedArray, + TypedArray: TypedArray, + TypedArrayPrototype: TypedArrayPrototype +}; + + +/***/ }), +/* 219 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(87); +var fails = __webpack_require__(7); +var ArrayBufferModule = __webpack_require__(208); +var anObject = __webpack_require__(47); +var toAbsoluteIndex = __webpack_require__(61); +var toLength = __webpack_require__(65); +var speciesConstructor = __webpack_require__(220); + +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var DataView = ArrayBufferModule.DataView; +var DataViewPrototype = DataView.prototype; +var nativeArrayBufferSlice = uncurryThis(ArrayBuffer.prototype.slice); +var getUint8 = uncurryThis(DataViewPrototype.getUint8); +var setUint8 = uncurryThis(DataViewPrototype.setUint8); + +var INCORRECT_SLICE = fails(function () { + return !new ArrayBuffer(2).slice(1, undefined).byteLength; +}); + +// `ArrayBuffer.prototype.slice` method +// https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice +$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, { + slice: function slice(start, end) { + if (nativeArrayBufferSlice && end === undefined) { + return nativeArrayBufferSlice(anObject(this), start); // FF fix + } + var length = anObject(this).byteLength; + var first = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = new (speciesConstructor(this, ArrayBuffer))(toLength(fin - first)); + var viewSource = new DataView(this); + var viewTarget = new DataView(result); + var index = 0; + while (first < fin) { + setUint8(viewTarget, index++, getUint8(viewSource, first++)); + } return result; + } +}); + + +/***/ }), +/* 220 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var anObject = __webpack_require__(47); +var aConstructor = __webpack_require__(221); +var isNullOrUndefined = __webpack_require__(17); +var wellKnownSymbol = __webpack_require__(34); + +var SPECIES = wellKnownSymbol('species'); + +// `SpeciesConstructor` abstract operation +// https://tc39.es/ecma262/#sec-speciesconstructor +module.exports = function (O, defaultConstructor) { + var C = anObject(O).constructor; + var S; + return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S); +}; + + +/***/ }), +/* 221 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isConstructor = __webpack_require__(91); +var tryToString = __webpack_require__(32); + +var $TypeError = TypeError; + +// `Assert: IsConstructor(argument) is true` +module.exports = function (argument) { + if (isConstructor(argument)) return argument; + throw new $TypeError(tryToString(argument) + ' is not a constructor'); +}; + + +/***/ }), +/* 222 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(223); + + +/***/ }), +/* 223 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var ArrayBufferModule = __webpack_require__(208); +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); + +// `DataView` constructor +// https://tc39.es/ecma262/#sec-dataview-constructor +$({ global: true, constructor: true, forced: !NATIVE_ARRAY_BUFFER }, { + DataView: ArrayBufferModule.DataView +}); + + +/***/ }), +/* 224 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); + +// IE8- non-standard case +var FORCED = fails(function () { + // eslint-disable-next-line es/no-date-prototype-getyear-setyear -- detection + return new Date(16e11).getYear() !== 120; +}); + +var getFullYear = uncurryThis(Date.prototype.getFullYear); + +// `Date.prototype.getYear` method +// https://tc39.es/ecma262/#sec-date.prototype.getyear +$({ target: 'Date', proto: true, forced: FORCED }, { + getYear: function getYear() { + return getFullYear(this) - 1900; + } +}); + + +/***/ }), +/* 225 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); + +var $Date = Date; +var thisTimeValue = uncurryThis($Date.prototype.getTime); + +// `Date.now` method +// https://tc39.es/ecma262/#sec-date.now +$({ target: 'Date', stat: true }, { + now: function now() { + return thisTimeValue(new $Date()); + } +}); + + +/***/ }), +/* 226 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(62); + +var DatePrototype = Date.prototype; +var thisTimeValue = uncurryThis(DatePrototype.getTime); +var setFullYear = uncurryThis(DatePrototype.setFullYear); + +// `Date.prototype.setYear` method +// https://tc39.es/ecma262/#sec-date.prototype.setyear +$({ target: 'Date', proto: true }, { + setYear: function setYear(year) { + // validate + thisTimeValue(this); + var yi = toIntegerOrInfinity(year); + var yyyy = yi >= 0 && yi <= 99 ? yi + 1900 : yi; + return setFullYear(this, yyyy); + } +}); + + +/***/ }), +/* 227 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// `Date.prototype.toGMTString` method +// https://tc39.es/ecma262/#sec-date.prototype.togmtstring +$({ target: 'Date', proto: true }, { + toGMTString: Date.prototype.toUTCString +}); + + +/***/ }), +/* 228 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var toISOString = __webpack_require__(229); + +// `Date.prototype.toISOString` method +// https://tc39.es/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit has a broken implementations +$({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== toISOString }, { + toISOString: toISOString +}); + + +/***/ }), +/* 229 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var padStart = __webpack_require__(230).start; + +var $RangeError = RangeError; +var $isFinite = isFinite; +var abs = Math.abs; +var DatePrototype = Date.prototype; +var nativeDateToISOString = DatePrototype.toISOString; +var thisTimeValue = uncurryThis(DatePrototype.getTime); +var getUTCDate = uncurryThis(DatePrototype.getUTCDate); +var getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear); +var getUTCHours = uncurryThis(DatePrototype.getUTCHours); +var getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds); +var getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes); +var getUTCMonth = uncurryThis(DatePrototype.getUTCMonth); +var getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds); + +// `Date.prototype.toISOString` method implementation +// https://tc39.es/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit fails here: +module.exports = (fails(function () { + return nativeDateToISOString.call(new Date(-5e13 - 1)) !== '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + nativeDateToISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!$isFinite(thisTimeValue(this))) throw new $RangeError('Invalid time value'); + var date = this; + var year = getUTCFullYear(date); + var milliseconds = getUTCMilliseconds(date); + var sign = year < 0 ? '-' : year > 9999 ? '+' : ''; + return sign + padStart(abs(year), sign ? 6 : 4, 0) + + '-' + padStart(getUTCMonth(date) + 1, 2, 0) + + '-' + padStart(getUTCDate(date), 2, 0) + + 'T' + padStart(getUTCHours(date), 2, 0) + + ':' + padStart(getUTCMinutes(date), 2, 0) + + ':' + padStart(getUTCSeconds(date), 2, 0) + + '.' + padStart(milliseconds, 3, 0) + + 'Z'; +} : nativeDateToISOString; + + +/***/ }), +/* 230 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/proposal-string-pad-start-end +var uncurryThis = __webpack_require__(14); +var toLength = __webpack_require__(65); +var toString = __webpack_require__(69); +var $repeat = __webpack_require__(231); +var requireObjectCoercible = __webpack_require__(16); + +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); +var ceil = Math.ceil; + +// `String.prototype.{ padStart, padEnd }` methods implementation +var createMethod = function (IS_END) { + return function ($this, maxLength, fillString) { + var S = toString(requireObjectCoercible($this)); + var intMaxLength = toLength(maxLength); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : toString(fillString); + var fillLen, stringFiller; + if (intMaxLength <= stringLength || fillStr === '') return S; + fillLen = intMaxLength - stringLength; + stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen); + return IS_END ? S + stringFiller : stringFiller + S; + }; +}; + +module.exports = { + // `String.prototype.padStart` method + // https://tc39.es/ecma262/#sec-string.prototype.padstart + start: createMethod(false), + // `String.prototype.padEnd` method + // https://tc39.es/ecma262/#sec-string.prototype.padend + end: createMethod(true) +}; + + +/***/ }), +/* 231 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIntegerOrInfinity = __webpack_require__(62); +var toString = __webpack_require__(69); +var requireObjectCoercible = __webpack_require__(16); + +var $RangeError = RangeError; + +// `String.prototype.repeat` method implementation +// https://tc39.es/ecma262/#sec-string.prototype.repeat +module.exports = function repeat(count) { + var str = toString(requireObjectCoercible(this)); + var result = ''; + var n = toIntegerOrInfinity(count); + if (n < 0 || n === Infinity) throw new $RangeError('Wrong number of repetitions'); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str; + return result; +}; + + +/***/ }), +/* 232 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toObject = __webpack_require__(40); +var toPrimitive = __webpack_require__(19); + +var FORCED = fails(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}); + +// `Date.prototype.toJSON` method +// https://tc39.es/ecma262/#sec-date.prototype.tojson +$({ target: 'Date', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O, 'number'); + return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + } +}); + + +/***/ }), +/* 233 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var hasOwn = __webpack_require__(39); +var defineBuiltIn = __webpack_require__(48); +var dateToPrimitive = __webpack_require__(234); +var wellKnownSymbol = __webpack_require__(34); + +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +var DatePrototype = Date.prototype; + +// `Date.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive +if (!hasOwn(DatePrototype, TO_PRIMITIVE)) { + defineBuiltIn(DatePrototype, TO_PRIMITIVE, dateToPrimitive); +} + + +/***/ }), +/* 234 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var anObject = __webpack_require__(47); +var ordinaryToPrimitive = __webpack_require__(33); + +var $TypeError = TypeError; + +// `Date.prototype[@@toPrimitive](hint)` method implementation +// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive +module.exports = function (hint) { + anObject(this); + if (hint === 'string' || hint === 'default') hint = 'string'; + else if (hint !== 'number') throw new $TypeError('Incorrect hint'); + return ordinaryToPrimitive(this, hint); +}; + + +/***/ }), +/* 235 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var uncurryThis = __webpack_require__(14); +var defineBuiltIn = __webpack_require__(48); + +var DatePrototype = Date.prototype; +var INVALID_DATE = 'Invalid Date'; +var TO_STRING = 'toString'; +var nativeDateToString = uncurryThis(DatePrototype[TO_STRING]); +var thisTimeValue = uncurryThis(DatePrototype.getTime); + +// `Date.prototype.toString` method +// https://tc39.es/ecma262/#sec-date.prototype.tostring +if (String(new Date(NaN)) !== INVALID_DATE) { + defineBuiltIn(DatePrototype, TO_STRING, function toString() { + var value = thisTimeValue(this); + // eslint-disable-next-line no-self-compare -- NaN check + return value === value ? nativeDateToString(this) : INVALID_DATE; + }); +} + + +/***/ }), +/* 236 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(69); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var exec = uncurryThis(/./.exec); +var numberToString = uncurryThis(1.0.toString); +var toUpperCase = uncurryThis(''.toUpperCase); + +var raw = /[\w*+\-./@]/; + +var hex = function (code, length) { + var result = numberToString(code, 16); + while (result.length < length) result = '0' + result; + return result; +}; + +// `escape` method +// https://tc39.es/ecma262/#sec-escape-string +$({ global: true }, { + escape: function escape(string) { + var str = toString(string); + var result = ''; + var length = str.length; + var index = 0; + var chr, code; + while (index < length) { + chr = charAt(str, index++); + if (exec(raw, chr)) { + result += chr; + } else { + code = charCodeAt(chr, 0); + if (code < 256) { + result += '%' + hex(code, 2); + } else { + result += '%u' + toUpperCase(hex(code, 4)); + } + } + } return result; + } +}); + + +/***/ }), +/* 237 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var bind = __webpack_require__(238); + +// `Function.prototype.bind` method +// https://tc39.es/ecma262/#sec-function.prototype.bind +// eslint-disable-next-line es/no-function-prototype-bind -- detection +$({ target: 'Function', proto: true, forced: Function.bind !== bind }, { + bind: bind +}); + + +/***/ }), +/* 238 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(31); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(39); +var arraySlice = __webpack_require__(97); +var NATIVE_BIND = __webpack_require__(9); + +var $Function = Function; +var concat = uncurryThis([].concat); +var join = uncurryThis([].join); +var factories = {}; + +var construct = function (C, argsLength, args) { + if (!hasOwn(factories, argsLength)) { + var list = []; + var i = 0; + for (; i < argsLength; i++) list[i] = 'a[' + i + ']'; + factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')'); + } return factories[argsLength](C, args); +}; + +// `Function.prototype.bind` method implementation +// https://tc39.es/ecma262/#sec-function.prototype.bind +// eslint-disable-next-line es/no-function-prototype-bind -- detection +module.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) { + var F = aCallable(this); + var Prototype = F.prototype; + var partArgs = arraySlice(arguments, 1); + var boundFunction = function bound(/* args... */) { + var args = concat(partArgs, arraySlice(arguments)); + return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args); + }; + if (isObject(Prototype)) boundFunction.prototype = Prototype; + return boundFunction; +}; + + +/***/ }), +/* 239 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var definePropertyModule = __webpack_require__(45); +var getPrototypeOf = __webpack_require__(130); +var wellKnownSymbol = __webpack_require__(34); +var makeBuiltIn = __webpack_require__(49); + +var HAS_INSTANCE = wellKnownSymbol('hasInstance'); +var FunctionPrototype = Function.prototype; + +// `Function.prototype[@@hasInstance]` method +// https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance +if (!(HAS_INSTANCE in FunctionPrototype)) { + definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: makeBuiltIn(function (O) { + if (!isCallable(this) || !isObject(O)) return false; + var P = this.prototype; + if (!isObject(P)) return O instanceof this; + // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: + while (O = getPrototypeOf(O)) if (P === O) return true; + return false; + }, HAS_INSTANCE) }); +} + + +/***/ }), +/* 240 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var FUNCTION_NAME_EXISTS = __webpack_require__(50).EXISTS; +var uncurryThis = __webpack_require__(14); +var defineBuiltInAccessor = __webpack_require__(79); + +var FunctionPrototype = Function.prototype; +var functionToString = uncurryThis(FunctionPrototype.toString); +var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/; +var regExpExec = uncurryThis(nameRE.exec); +var NAME = 'name'; + +// Function instances `.name` property +// https://tc39.es/ecma262/#sec-function-instances-name +if (DESCRIPTORS && !FUNCTION_NAME_EXISTS) { + defineBuiltInAccessor(FunctionPrototype, NAME, { + configurable: true, + get: function () { + try { + return regExpExec(nameRE, functionToString(this))[1]; + } catch (error) { + return ''; + } + } + }); +} + + +/***/ }), +/* 241 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); + +// `globalThis` object +// https://tc39.es/ecma262/#sec-globalthis +$({ global: true, forced: global.globalThis !== global }, { + globalThis: global +}); + + +/***/ }), +/* 242 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var setToStringTag = __webpack_require__(84); + +// JSON[@@toStringTag] property +// https://tc39.es/ecma262/#sec-json-@@tostringtag +setToStringTag(global.JSON, 'JSON', true); + + +/***/ }), +/* 243 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(244); + + +/***/ }), +/* 244 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var collection = __webpack_require__(245); +var collectionStrong = __webpack_require__(250); + +// `Map` constructor +// https://tc39.es/ecma262/#sec-map-objects +collection('Map', function (init) { + return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + +/***/ }), +/* 245 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(68); +var defineBuiltIn = __webpack_require__(48); +var InternalMetadataModule = __webpack_require__(246); +var iterate = __webpack_require__(132); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var fails = __webpack_require__(7); +var checkCorrectnessOfIteration = __webpack_require__(165); +var setToStringTag = __webpack_require__(84); +var inheritIfRequired = __webpack_require__(120); + +module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { + var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; + var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; + var ADDER = IS_MAP ? 'set' : 'add'; + var NativeConstructor = global[CONSTRUCTOR_NAME]; + var NativePrototype = NativeConstructor && NativeConstructor.prototype; + var Constructor = NativeConstructor; + var exported = {}; + + var fixMethod = function (KEY) { + var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]); + defineBuiltIn(NativePrototype, KEY, + KEY === 'add' ? function add(value) { + uncurriedNativeMethod(this, value === 0 ? 0 : value); + return this; + } : KEY === 'delete' ? function (key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY === 'get' ? function get(key) { + return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY === 'has' ? function has(key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : function set(key, value) { + uncurriedNativeMethod(this, key === 0 ? 0 : key, value); + return this; + } + ); + }; + + var REPLACE = isForced( + CONSTRUCTOR_NAME, + !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () { + new NativeConstructor().entries().next(); + })) + ); + + if (REPLACE) { + // create collection constructor + Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); + InternalMetadataModule.enable(); + } else if (isForced(CONSTRUCTOR_NAME, true)) { + var instance = new Constructor(); + // early implementations not supports chaining + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance; + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); + // most early implementations doesn't supports iterables, most modern - not close it correctly + // eslint-disable-next-line no-new -- required for testing + var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); }); + // for early implementations -0 and +0 not the same + var BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new NativeConstructor(); + var index = 5; + while (index--) $instance[ADDER](index, index); + return !$instance.has(-0); + }); + + if (!ACCEPT_ITERABLES) { + Constructor = wrapper(function (dummy, iterable) { + anInstance(dummy, NativePrototype); + var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + return that; + }); + Constructor.prototype = NativePrototype; + NativePrototype.constructor = Constructor; + } + + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); + + // weak collections should not contains .clear method + if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear; + } + + exported[CONSTRUCTOR_NAME] = Constructor; + $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported); + + setToStringTag(Constructor, CONSTRUCTOR_NAME); + + if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); + + return Constructor; +}; + + +/***/ }), +/* 246 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var hiddenKeys = __webpack_require__(55); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(39); +var defineProperty = __webpack_require__(45).f; +var getOwnPropertyNamesModule = __webpack_require__(58); +var getOwnPropertyNamesExternalModule = __webpack_require__(76); +var isExtensible = __webpack_require__(247); +var uid = __webpack_require__(41); +var FREEZING = __webpack_require__(249); + +var REQUIRED = false; +var METADATA = uid('meta'); +var id = 0; + +var setMetadata = function (it) { + defineProperty(it, METADATA, { value: { + objectID: 'O' + id++, // object ID + weakData: {} // weak collections IDs + } }); +}; + +var fastKey = function (it, create) { + // return a primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!hasOwn(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMetadata(it); + // return object ID + } return it[METADATA].objectID; +}; + +var getWeakData = function (it, create) { + if (!hasOwn(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMetadata(it); + // return the store of weak collections IDs + } return it[METADATA].weakData; +}; + +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it); + return it; +}; + +var enable = function () { + meta.enable = function () { /* empty */ }; + REQUIRED = true; + var getOwnPropertyNames = getOwnPropertyNamesModule.f; + var splice = uncurryThis([].splice); + var test = {}; + test[METADATA] = 1; + + // prevent exposing of metadata key + if (getOwnPropertyNames(test).length) { + getOwnPropertyNamesModule.f = function (it) { + var result = getOwnPropertyNames(it); + for (var i = 0, length = result.length; i < length; i++) { + if (result[i] === METADATA) { + splice(result, i, 1); + break; + } + } return result; + }; + + $({ target: 'Object', stat: true, forced: true }, { + getOwnPropertyNames: getOwnPropertyNamesExternalModule.f + }); + } +}; + +var meta = module.exports = { + enable: enable, + fastKey: fastKey, + getWeakData: getWeakData, + onFreeze: onFreeze +}; + +hiddenKeys[METADATA] = true; + + +/***/ }), +/* 247 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(248); + +// eslint-disable-next-line es/no-object-isextensible -- safe +var $isExtensible = Object.isExtensible; +var FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); }); + +// `Object.isExtensible` method +// https://tc39.es/ecma262/#sec-object.isextensible +module.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) { + if (!isObject(it)) return false; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false; + return $isExtensible ? $isExtensible(it) : true; +} : $isExtensible; + + +/***/ }), +/* 248 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it +var fails = __webpack_require__(7); + +module.exports = fails(function () { + if (typeof ArrayBuffer == 'function') { + var buffer = new ArrayBuffer(8); + // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe + if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 }); + } +}); + + +/***/ }), +/* 249 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing + return Object.isExtensible(Object.preventExtensions({})); +}); + + +/***/ }), +/* 250 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var create = __webpack_require__(72); +var defineBuiltInAccessor = __webpack_require__(79); +var defineBuiltIns = __webpack_require__(210); +var bind = __webpack_require__(86); +var anInstance = __webpack_require__(211); +var isNullOrUndefined = __webpack_require__(17); +var iterate = __webpack_require__(132); +var defineIterator = __webpack_require__(170); +var createIterResultObject = __webpack_require__(173); +var setSpecies = __webpack_require__(194); +var DESCRIPTORS = __webpack_require__(6); +var fastKey = __webpack_require__(246).fastKey; +var InternalStateModule = __webpack_require__(52); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + index: create(null), + first: undefined, + last: undefined, + size: 0 + }); + if (!DESCRIPTORS) that.size = 0; + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + }); + + var Prototype = Constructor.prototype; + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var entry = getEntry(that, key); + var previous, index; + // change existing entry + if (entry) { + entry.value = value; + // create new entry + } else { + state.last = entry = { + index: index = fastKey(key, true), + key: key, + value: value, + previous: previous = state.last, + next: undefined, + removed: false + }; + if (!state.first) state.first = entry; + if (previous) previous.next = entry; + if (DESCRIPTORS) state.size++; + else that.size++; + // add to index + if (index !== 'F') state.index[index] = entry; + } return that; + }; + + var getEntry = function (that, key) { + var state = getInternalState(that); + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return state.index[index]; + // frozen object case + for (entry = state.first; entry; entry = entry.next) { + if (entry.key === key) return entry; + } + }; + + defineBuiltIns(Prototype, { + // `{ Map, Set }.prototype.clear()` methods + // https://tc39.es/ecma262/#sec-map.prototype.clear + // https://tc39.es/ecma262/#sec-set.prototype.clear + clear: function clear() { + var that = this; + var state = getInternalState(that); + var data = state.index; + var entry = state.first; + while (entry) { + entry.removed = true; + if (entry.previous) entry.previous = entry.previous.next = undefined; + delete data[entry.index]; + entry = entry.next; + } + state.first = state.last = undefined; + if (DESCRIPTORS) state.size = 0; + else that.size = 0; + }, + // `{ Map, Set }.prototype.delete(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.delete + // https://tc39.es/ecma262/#sec-set.prototype.delete + 'delete': function (key) { + var that = this; + var state = getInternalState(that); + var entry = getEntry(that, key); + if (entry) { + var next = entry.next; + var prev = entry.previous; + delete state.index[entry.index]; + entry.removed = true; + if (prev) prev.next = next; + if (next) next.previous = prev; + if (state.first === entry) state.first = next; + if (state.last === entry) state.last = prev; + if (DESCRIPTORS) state.size--; + else that.size--; + } return !!entry; + }, + // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods + // https://tc39.es/ecma262/#sec-map.prototype.foreach + // https://tc39.es/ecma262/#sec-set.prototype.foreach + forEach: function forEach(callbackfn /* , that = undefined */) { + var state = getInternalState(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var entry; + while (entry = entry ? entry.next : state.first) { + boundFunction(entry.value, entry.key, this); + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + } + }, + // `{ Map, Set}.prototype.has(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.has + // https://tc39.es/ecma262/#sec-set.prototype.has + has: function has(key) { + return !!getEntry(this, key); + } + }); + + defineBuiltIns(Prototype, IS_MAP ? { + // `Map.prototype.get(key)` method + // https://tc39.es/ecma262/#sec-map.prototype.get + get: function get(key) { + var entry = getEntry(this, key); + return entry && entry.value; + }, + // `Map.prototype.set(key, value)` method + // https://tc39.es/ecma262/#sec-map.prototype.set + set: function set(key, value) { + return define(this, key === 0 ? 0 : key, value); + } + } : { + // `Set.prototype.add(value)` method + // https://tc39.es/ecma262/#sec-set.prototype.add + add: function add(value) { + return define(this, value = value === 0 ? 0 : value, value); + } + }); + if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', { + configurable: true, + get: function () { + return getInternalState(this).size; + } + }); + return Constructor; + }, + setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) { + var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; + var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); + var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); + // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods + // https://tc39.es/ecma262/#sec-map.prototype.entries + // https://tc39.es/ecma262/#sec-map.prototype.keys + // https://tc39.es/ecma262/#sec-map.prototype.values + // https://tc39.es/ecma262/#sec-map.prototype-@@iterator + // https://tc39.es/ecma262/#sec-set.prototype.entries + // https://tc39.es/ecma262/#sec-set.prototype.keys + // https://tc39.es/ecma262/#sec-set.prototype.values + // https://tc39.es/ecma262/#sec-set.prototype-@@iterator + defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) { + setInternalState(this, { + type: ITERATOR_NAME, + target: iterated, + state: getInternalCollectionState(iterated), + kind: kind, + last: undefined + }); + }, function () { + var state = getInternalIteratorState(this); + var kind = state.kind; + var entry = state.last; + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + // get next entry + if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { + // or finish the iteration + state.target = undefined; + return createIterResultObject(undefined, true); + } + // return step by kind + if (kind === 'keys') return createIterResultObject(entry.key, false); + if (kind === 'values') return createIterResultObject(entry.value, false); + return createIterResultObject([entry.key, entry.value], false); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // `{ Map, Set }.prototype[@@species]` accessors + // https://tc39.es/ecma262/#sec-get-map-@@species + // https://tc39.es/ecma262/#sec-get-set-@@species + setSpecies(CONSTRUCTOR_NAME); + } +}; + + +/***/ }), +/* 251 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var log1p = __webpack_require__(252); + +// eslint-disable-next-line es/no-math-acosh -- required for testing +var $acosh = Math.acosh; +var log = Math.log; +var sqrt = Math.sqrt; +var LN2 = Math.LN2; + +var FORCED = !$acosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + || Math.floor($acosh(Number.MAX_VALUE)) !== 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + || $acosh(Infinity) !== Infinity; + +// `Math.acosh` method +// https://tc39.es/ecma262/#sec-math.acosh +$({ target: 'Math', stat: true, forced: FORCED }, { + acosh: function acosh(x) { + var n = +x; + return n < 1 ? NaN : n > 94906265.62425156 + ? log(n) + LN2 + : log1p(n - 1 + sqrt(n - 1) * sqrt(n + 1)); + } +}); + + +/***/ }), +/* 252 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var log = Math.log; + +// `Math.log1p` method implementation +// https://tc39.es/ecma262/#sec-math.log1p +// eslint-disable-next-line es/no-math-log1p -- safe +module.exports = Math.log1p || function log1p(x) { + var n = +x; + return n > -1e-8 && n < 1e-8 ? n - n * n / 2 : log(1 + n); +}; + + +/***/ }), +/* 253 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-asinh -- required for testing +var $asinh = Math.asinh; +var log = Math.log; +var sqrt = Math.sqrt; + +function asinh(x) { + var n = +x; + return !isFinite(n) || n === 0 ? n : n < 0 ? -asinh(-n) : log(n + sqrt(n * n + 1)); +} + +var FORCED = !($asinh && 1 / $asinh(0) > 0); + +// `Math.asinh` method +// https://tc39.es/ecma262/#sec-math.asinh +// Tor Browser bug: Math.asinh(0) -> -0 +$({ target: 'Math', stat: true, forced: FORCED }, { + asinh: asinh +}); + + +/***/ }), +/* 254 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-atanh -- required for testing +var $atanh = Math.atanh; +var log = Math.log; + +var FORCED = !($atanh && 1 / $atanh(-0) < 0); + +// `Math.atanh` method +// https://tc39.es/ecma262/#sec-math.atanh +// Tor Browser bug: Math.atanh(-0) -> 0 +$({ target: 'Math', stat: true, forced: FORCED }, { + atanh: function atanh(x) { + var n = +x; + return n === 0 ? n : log((1 + n) / (1 - n)) / 2; + } +}); + + +/***/ }), +/* 255 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var sign = __webpack_require__(215); + +var abs = Math.abs; +var pow = Math.pow; + +// `Math.cbrt` method +// https://tc39.es/ecma262/#sec-math.cbrt +$({ target: 'Math', stat: true }, { + cbrt: function cbrt(x) { + var n = +x; + return sign(n) * pow(abs(n), 1 / 3); + } +}); + + +/***/ }), +/* 256 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +var floor = Math.floor; +var log = Math.log; +var LOG2E = Math.LOG2E; + +// `Math.clz32` method +// https://tc39.es/ecma262/#sec-math.clz32 +$({ target: 'Math', stat: true }, { + clz32: function clz32(x) { + var n = x >>> 0; + return n ? 31 - floor(log(n + 0.5) * LOG2E) : 32; + } +}); + + +/***/ }), +/* 257 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(258); + +// eslint-disable-next-line es/no-math-cosh -- required for testing +var $cosh = Math.cosh; +var abs = Math.abs; +var E = Math.E; + +var FORCED = !$cosh || $cosh(710) === Infinity; + +// `Math.cosh` method +// https://tc39.es/ecma262/#sec-math.cosh +$({ target: 'Math', stat: true, forced: FORCED }, { + cosh: function cosh(x) { + var t = expm1(abs(x) - 1) + 1; + return (t + 1 / (t * E * E)) * (E / 2); + } +}); + + +/***/ }), +/* 258 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// eslint-disable-next-line es/no-math-expm1 -- safe +var $expm1 = Math.expm1; +var exp = Math.exp; + +// `Math.expm1` method implementation +// https://tc39.es/ecma262/#sec-math.expm1 +module.exports = (!$expm1 + // Old FF bug + // eslint-disable-next-line no-loss-of-precision -- required for old engines + || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 + // Tor Browser bug + || $expm1(-2e-17) !== -2e-17 +) ? function expm1(x) { + var n = +x; + return n === 0 ? n : n > -1e-6 && n < 1e-6 ? n + n * n / 2 : exp(n) - 1; +} : $expm1; + + +/***/ }), +/* 259 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(258); + +// `Math.expm1` method +// https://tc39.es/ecma262/#sec-math.expm1 +// eslint-disable-next-line es/no-math-expm1 -- required for testing +$({ target: 'Math', stat: true, forced: expm1 !== Math.expm1 }, { expm1: expm1 }); + + +/***/ }), +/* 260 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var fround = __webpack_require__(213); + +// `Math.fround` method +// https://tc39.es/ecma262/#sec-math.fround +$({ target: 'Math', stat: true }, { fround: fround }); + + +/***/ }), +/* 261 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-hypot -- required for testing +var $hypot = Math.hypot; +var abs = Math.abs; +var sqrt = Math.sqrt; + +// Chrome 77 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=9546 +var FORCED = !!$hypot && $hypot(Infinity, NaN) !== Infinity; + +// `Math.hypot` method +// https://tc39.es/ecma262/#sec-math.hypot +$({ target: 'Math', stat: true, arity: 2, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + hypot: function hypot(value1, value2) { + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * sqrt(sum); + } +}); + + +/***/ }), +/* 262 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-math-imul -- required for testing +var $imul = Math.imul; + +var FORCED = fails(function () { + return $imul(0xFFFFFFFF, 5) !== -5 || $imul.length !== 2; +}); + +// `Math.imul` method +// https://tc39.es/ecma262/#sec-math.imul +// some WebKit versions fails with big numbers, some has wrong arity +$({ target: 'Math', stat: true, forced: FORCED }, { + imul: function imul(x, y) { + var UINT16 = 0xFFFF; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); + + +/***/ }), +/* 263 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var log10 = __webpack_require__(264); + +// `Math.log10` method +// https://tc39.es/ecma262/#sec-math.log10 +$({ target: 'Math', stat: true }, { + log10: log10 +}); + + +/***/ }), +/* 264 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var log = Math.log; +var LOG10E = Math.LOG10E; + +// eslint-disable-next-line es/no-math-log10 -- safe +module.exports = Math.log10 || function log10(x) { + return log(x) * LOG10E; +}; + + +/***/ }), +/* 265 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var log1p = __webpack_require__(252); + +// `Math.log1p` method +// https://tc39.es/ecma262/#sec-math.log1p +$({ target: 'Math', stat: true }, { log1p: log1p }); + + +/***/ }), +/* 266 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +var log = Math.log; +var LN2 = Math.LN2; + +// `Math.log2` method +// https://tc39.es/ecma262/#sec-math.log2 +$({ target: 'Math', stat: true }, { + log2: function log2(x) { + return log(x) / LN2; + } +}); + + +/***/ }), +/* 267 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var sign = __webpack_require__(215); + +// `Math.sign` method +// https://tc39.es/ecma262/#sec-math.sign +$({ target: 'Math', stat: true }, { + sign: sign +}); + + +/***/ }), +/* 268 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var expm1 = __webpack_require__(258); + +var abs = Math.abs; +var exp = Math.exp; +var E = Math.E; + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-math-sinh -- required for testing + return Math.sinh(-2e-17) !== -2e-17; +}); + +// `Math.sinh` method +// https://tc39.es/ecma262/#sec-math.sinh +// V8 near Chromium 38 has a problem with very small numbers +$({ target: 'Math', stat: true, forced: FORCED }, { + sinh: function sinh(x) { + var n = +x; + return abs(n) < 1 ? (expm1(n) - expm1(-n)) / 2 : (exp(n - 1) - exp(-n - 1)) * (E / 2); + } +}); + + +/***/ }), +/* 269 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(258); + +var exp = Math.exp; + +// `Math.tanh` method +// https://tc39.es/ecma262/#sec-math.tanh +$({ target: 'Math', stat: true }, { + tanh: function tanh(x) { + var n = +x; + var a = expm1(n); + var b = expm1(-n); + return a === Infinity ? 1 : b === Infinity ? -1 : (a - b) / (exp(n) + exp(-n)); + } +}); + + +/***/ }), +/* 270 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var setToStringTag = __webpack_require__(84); + +// Math[@@toStringTag] property +// https://tc39.es/ecma262/#sec-math-@@tostringtag +setToStringTag(Math, 'Math', true); + + +/***/ }), +/* 271 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var trunc = __webpack_require__(63); + +// `Math.trunc` method +// https://tc39.es/ecma262/#sec-math.trunc +$({ target: 'Math', stat: true }, { + trunc: trunc +}); + + +/***/ }), +/* 272 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); +var global = __webpack_require__(4); +var path = __webpack_require__(82); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(68); +var hasOwn = __webpack_require__(39); +var inheritIfRequired = __webpack_require__(120); +var isPrototypeOf = __webpack_require__(25); +var isSymbol = __webpack_require__(23); +var toPrimitive = __webpack_require__(19); +var fails = __webpack_require__(7); +var getOwnPropertyNames = __webpack_require__(58).f; +var getOwnPropertyDescriptor = __webpack_require__(5).f; +var defineProperty = __webpack_require__(45).f; +var thisNumberValue = __webpack_require__(273); +var trim = __webpack_require__(274).trim; + +var NUMBER = 'Number'; +var NativeNumber = global[NUMBER]; +var PureNumberNamespace = path[NUMBER]; +var NumberPrototype = NativeNumber.prototype; +var TypeError = global.TypeError; +var stringSlice = uncurryThis(''.slice); +var charCodeAt = uncurryThis(''.charCodeAt); + +// `ToNumeric` abstract operation +// https://tc39.es/ecma262/#sec-tonumeric +var toNumeric = function (value) { + var primValue = toPrimitive(value, 'number'); + return typeof primValue == 'bigint' ? primValue : toNumber(primValue); +}; + +// `ToNumber` abstract operation +// https://tc39.es/ecma262/#sec-tonumber +var toNumber = function (argument) { + var it = toPrimitive(argument, 'number'); + var first, third, radix, maxCode, digits, length, index, code; + if (isSymbol(it)) throw new TypeError('Cannot convert a Symbol value to a number'); + if (typeof it == 'string' && it.length > 2) { + it = trim(it); + first = charCodeAt(it, 0); + if (first === 43 || first === 45) { + third = charCodeAt(it, 2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (charCodeAt(it, 1)) { + // fast equal of /^0b[01]+$/i + case 66: + case 98: + radix = 2; + maxCode = 49; + break; + // fast equal of /^0o[0-7]+$/i + case 79: + case 111: + radix = 8; + maxCode = 55; + break; + default: + return +it; + } + digits = stringSlice(it, 2); + length = digits.length; + for (index = 0; index < length; index++) { + code = charCodeAt(digits, index); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +var FORCED = isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1')); + +var calledWithNew = function (dummy) { + // includes check on 1..constructor(foo) case + return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); }); +}; + +// `Number` constructor +// https://tc39.es/ecma262/#sec-number-constructor +var NumberWrapper = function Number(value) { + var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value)); + return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n; +}; + +NumberWrapper.prototype = NumberPrototype; +if (FORCED && !IS_PURE) NumberPrototype.constructor = NumberWrapper; + +$({ global: true, constructor: true, wrap: true, forced: FORCED }, { + Number: NumberWrapper +}); + +// Use `internal/copy-constructor-properties` helper in `core-js@4` +var copyConstructorProperties = function (target, source) { + for (var keys = DESCRIPTORS ? getOwnPropertyNames(source) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES2015 (in case, if modules with ES2015 Number statics required before): + 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' + + // ESNext + 'fromString,range' + ).split(','), j = 0, key; keys.length > j; j++) { + if (hasOwn(source, key = keys[j]) && !hasOwn(target, key)) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + +if (IS_PURE && PureNumberNamespace) copyConstructorProperties(path[NUMBER], PureNumberNamespace); +if (FORCED || IS_PURE) copyConstructorProperties(path[NUMBER], NativeNumber); + + +/***/ }), +/* 273 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); + +// `thisNumberValue` abstract operation +// https://tc39.es/ecma262/#sec-thisnumbervalue +module.exports = uncurryThis(1.0.valueOf); + + +/***/ }), +/* 274 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(69); +var whitespaces = __webpack_require__(275); + +var replace = uncurryThis(''.replace); +var ltrim = RegExp('^[' + whitespaces + ']+'); +var rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$'); + +// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation +var createMethod = function (TYPE) { + return function ($this) { + var string = toString(requireObjectCoercible($this)); + if (TYPE & 1) string = replace(string, ltrim, ''); + if (TYPE & 2) string = replace(string, rtrim, '$1'); + return string; + }; +}; + +module.exports = { + // `String.prototype.{ trimLeft, trimStart }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimstart + start: createMethod(1), + // `String.prototype.{ trimRight, trimEnd }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimend + end: createMethod(2), + // `String.prototype.trim` method + // https://tc39.es/ecma262/#sec-string.prototype.trim + trim: createMethod(3) +}; + + +/***/ }), +/* 275 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// a string of all valid unicode whitespaces +module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + + '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + + +/***/ }), +/* 276 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// `Number.EPSILON` constant +// https://tc39.es/ecma262/#sec-number.epsilon +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + EPSILON: Math.pow(2, -52) +}); + + +/***/ }), +/* 277 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var numberIsFinite = __webpack_require__(278); + +// `Number.isFinite` method +// https://tc39.es/ecma262/#sec-number.isfinite +$({ target: 'Number', stat: true }, { isFinite: numberIsFinite }); + + +/***/ }), +/* 278 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); + +var globalIsFinite = global.isFinite; + +// `Number.isFinite` method +// https://tc39.es/ecma262/#sec-number.isfinite +// eslint-disable-next-line es/no-number-isfinite -- safe +module.exports = Number.isFinite || function isFinite(it) { + return typeof it == 'number' && globalIsFinite(it); +}; + + +/***/ }), +/* 279 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isIntegralNumber = __webpack_require__(280); + +// `Number.isInteger` method +// https://tc39.es/ecma262/#sec-number.isinteger +$({ target: 'Number', stat: true }, { + isInteger: isIntegralNumber +}); + + +/***/ }), +/* 280 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isObject = __webpack_require__(20); + +var floor = Math.floor; + +// `IsIntegralNumber` abstract operation +// https://tc39.es/ecma262/#sec-isintegralnumber +// eslint-disable-next-line es/no-number-isinteger -- safe +module.exports = Number.isInteger || function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; +}; + + +/***/ }), +/* 281 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// `Number.isNaN` method +// https://tc39.es/ecma262/#sec-number.isnan +$({ target: 'Number', stat: true }, { + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare -- NaN check + return number !== number; + } +}); + + +/***/ }), +/* 282 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isIntegralNumber = __webpack_require__(280); + +var abs = Math.abs; + +// `Number.isSafeInteger` method +// https://tc39.es/ecma262/#sec-number.issafeinteger +$({ target: 'Number', stat: true }, { + isSafeInteger: function isSafeInteger(number) { + return isIntegralNumber(number) && abs(number) <= 0x1FFFFFFFFFFFFF; + } +}); + + +/***/ }), +/* 283 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// `Number.MAX_SAFE_INTEGER` constant +// https://tc39.es/ecma262/#sec-number.max_safe_integer +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF +}); + + +/***/ }), +/* 284 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// `Number.MIN_SAFE_INTEGER` constant +// https://tc39.es/ecma262/#sec-number.min_safe_integer +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF +}); + + +/***/ }), +/* 285 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var parseFloat = __webpack_require__(286); + +// `Number.parseFloat` method +// https://tc39.es/ecma262/#sec-number.parseFloat +// eslint-disable-next-line es/no-number-parsefloat -- required for testing +$({ target: 'Number', stat: true, forced: Number.parseFloat !== parseFloat }, { + parseFloat: parseFloat +}); + + +/***/ }), +/* 286 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(69); +var trim = __webpack_require__(274).trim; +var whitespaces = __webpack_require__(275); + +var charAt = uncurryThis(''.charAt); +var $parseFloat = global.parseFloat; +var Symbol = global.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseFloat(Object(ITERATOR)); })); + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +module.exports = FORCED ? function parseFloat(string) { + var trimmedString = trim(toString(string)); + var result = $parseFloat(trimmedString); + return result === 0 && charAt(trimmedString, 0) === '-' ? -0 : result; +} : $parseFloat; + + +/***/ }), +/* 287 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var parseInt = __webpack_require__(288); + +// `Number.parseInt` method +// https://tc39.es/ecma262/#sec-number.parseint +// eslint-disable-next-line es/no-number-parseint -- required for testing +$({ target: 'Number', stat: true, forced: Number.parseInt !== parseInt }, { + parseInt: parseInt +}); + + +/***/ }), +/* 288 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(69); +var trim = __webpack_require__(274).trim; +var whitespaces = __webpack_require__(275); + +var $parseInt = global.parseInt; +var Symbol = global.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var hex = /^[+-]?0x/i; +var exec = uncurryThis(hex.exec); +var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22 + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); })); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +module.exports = FORCED ? function parseInt(string, radix) { + var S = trim(toString(string)); + return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10)); +} : $parseInt; + + +/***/ }), +/* 289 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(62); +var thisNumberValue = __webpack_require__(273); +var $repeat = __webpack_require__(231); +var log10 = __webpack_require__(264); +var fails = __webpack_require__(7); + +var $RangeError = RangeError; +var $String = String; +var $isFinite = isFinite; +var abs = Math.abs; +var floor = Math.floor; +var pow = Math.pow; +var round = Math.round; +var nativeToExponential = uncurryThis(1.0.toExponential); +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); + +// Edge 17- +var ROUNDS_PROPERLY = nativeToExponential(-6.9e-11, 4) === '-6.9000e-11' + // IE11- && Edge 14- + && nativeToExponential(1.255, 2) === '1.25e+0' + // FF86-, V8 ~ Chrome 49-50 + && nativeToExponential(12345, 3) === '1.235e+4' + // FF86-, V8 ~ Chrome 49-50 + && nativeToExponential(25, 0) === '3e+1'; + +// IE8- +var throwsOnInfinityFraction = function () { + return fails(function () { + nativeToExponential(1, Infinity); + }) && fails(function () { + nativeToExponential(1, -Infinity); + }); +}; + +// Safari <11 && FF <50 +var properNonFiniteThisCheck = function () { + return !fails(function () { + nativeToExponential(Infinity, Infinity); + nativeToExponential(NaN, Infinity); + }); +}; + +var FORCED = !ROUNDS_PROPERLY || !throwsOnInfinityFraction() || !properNonFiniteThisCheck(); + +// `Number.prototype.toExponential` method +// https://tc39.es/ecma262/#sec-number.prototype.toexponential +$({ target: 'Number', proto: true, forced: FORCED }, { + toExponential: function toExponential(fractionDigits) { + var x = thisNumberValue(this); + if (fractionDigits === undefined) return nativeToExponential(x); + var f = toIntegerOrInfinity(fractionDigits); + if (!$isFinite(x)) return String(x); + // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation + if (f < 0 || f > 20) throw new $RangeError('Incorrect fraction digits'); + if (ROUNDS_PROPERLY) return nativeToExponential(x, f); + var s = ''; + var m = ''; + var e = 0; + var c = ''; + var d = ''; + if (x < 0) { + s = '-'; + x = -x; + } + if (x === 0) { + e = 0; + m = repeat('0', f + 1); + } else { + // this block is based on https://gist.github.com/SheetJSDev/1100ad56b9f856c95299ed0e068eea08 + // TODO: improve accuracy with big fraction digits + var l = log10(x); + e = floor(l); + var n = 0; + var w = pow(10, e - f); + n = round(x / w); + if (2 * x >= (2 * n + 1) * w) { + n += 1; + } + if (n >= pow(10, f + 1)) { + n /= 10; + e += 1; + } + m = $String(n); + } + if (f !== 0) { + m = stringSlice(m, 0, 1) + '.' + stringSlice(m, 1); + } + if (e === 0) { + c = '+'; + d = '0'; + } else { + c = e > 0 ? '+' : '-'; + d = $String(abs(e)); + } + m += 'e' + c + d; + return s + m; + } +}); + + +/***/ }), +/* 290 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(62); +var thisNumberValue = __webpack_require__(273); +var $repeat = __webpack_require__(231); +var fails = __webpack_require__(7); + +var $RangeError = RangeError; +var $String = String; +var floor = Math.floor; +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); +var nativeToFixed = uncurryThis(1.0.toFixed); + +var pow = function (x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); +}; + +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } return n; +}; + +var multiply = function (data, n, c) { + var index = -1; + var c2 = c; + while (++index < 6) { + c2 += n * data[index]; + data[index] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } +}; + +var divide = function (data, n) { + var index = 6; + var c = 0; + while (--index >= 0) { + c += data[index]; + data[index] = floor(c / n); + c = (c % n) * 1e7; + } +}; + +var dataToString = function (data) { + var index = 6; + var s = ''; + while (--index >= 0) { + if (s !== '' || index === 0 || data[index] !== 0) { + var t = $String(data[index]); + s = s === '' ? t : s + repeat('0', 7 - t.length) + t; + } + } return s; +}; + +var FORCED = fails(function () { + return nativeToFixed(0.00008, 3) !== '0.000' || + nativeToFixed(0.9, 0) !== '1' || + nativeToFixed(1.255, 2) !== '1.25' || + nativeToFixed(1000000000000000128.0, 0) !== '1000000000000000128'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToFixed({}); +}); + +// `Number.prototype.toFixed` method +// https://tc39.es/ecma262/#sec-number.prototype.tofixed +$({ target: 'Number', proto: true, forced: FORCED }, { + toFixed: function toFixed(fractionDigits) { + var number = thisNumberValue(this); + var fractDigits = toIntegerOrInfinity(fractionDigits); + var data = [0, 0, 0, 0, 0, 0]; + var sign = ''; + var result = '0'; + var e, z, j, k; + + // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation + if (fractDigits < 0 || fractDigits > 20) throw new $RangeError('Incorrect fraction digits'); + // eslint-disable-next-line no-self-compare -- NaN check + if (number !== number) return 'NaN'; + if (number <= -1e21 || number >= 1e21) return $String(number); + if (number < 0) { + sign = '-'; + number = -number; + } + if (number > 1e-21) { + e = log(number * pow(2, 69, 1)) - 69; + z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(data, 0, z); + j = fractDigits; + while (j >= 7) { + multiply(data, 1e7, 0); + j -= 7; + } + multiply(data, pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(data, 1 << 23); + j -= 23; + } + divide(data, 1 << j); + multiply(data, 1, 1); + divide(data, 2); + result = dataToString(data); + } else { + multiply(data, 0, z); + multiply(data, 1 << -e, 0); + result = dataToString(data) + repeat('0', fractDigits); + } + } + if (fractDigits > 0) { + k = result.length; + result = sign + (k <= fractDigits + ? '0.' + repeat('0', fractDigits - k) + result + : stringSlice(result, 0, k - fractDigits) + '.' + stringSlice(result, k - fractDigits)); + } else { + result = sign + result; + } return result; + } +}); + + +/***/ }), +/* 291 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var thisNumberValue = __webpack_require__(273); + +var nativeToPrecision = uncurryThis(1.0.toPrecision); + +var FORCED = fails(function () { + // IE7- + return nativeToPrecision(1, undefined) !== '1'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToPrecision({}); +}); + +// `Number.prototype.toPrecision` method +// https://tc39.es/ecma262/#sec-number.prototype.toprecision +$({ target: 'Number', proto: true, forced: FORCED }, { + toPrecision: function toPrecision(precision) { + return precision === undefined + ? nativeToPrecision(thisNumberValue(this)) + : nativeToPrecision(thisNumberValue(this), precision); + } +}); + + +/***/ }), +/* 292 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var assign = __webpack_require__(293); + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +// eslint-disable-next-line es/no-object-assign -- required for testing +$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, { + assign: assign +}); + + +/***/ }), +/* 293 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var objectKeys = __webpack_require__(74); +var getOwnPropertySymbolsModule = __webpack_require__(67); +var propertyIsEnumerableModule = __webpack_require__(10); +var toObject = __webpack_require__(40); +var IndexedObject = __webpack_require__(13); + +// eslint-disable-next-line es/no-object-assign -- safe +var $assign = Object.assign; +// eslint-disable-next-line es/no-object-defineproperty -- required for testing +var defineProperty = Object.defineProperty; +var concat = uncurryThis([].concat); + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +module.exports = !$assign || fails(function () { + // should have correct order of operations (Edge bug) + if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', { + enumerable: true, + get: function () { + defineProperty(this, 'b', { + value: 3, + enumerable: false + }); + } + }), { b: 2 })).b !== 1) return true; + // should work with symbols and should have deterministic property order (V8 bug) + var A = {}; + var B = {}; + // eslint-disable-next-line es/no-symbol -- safe + var symbol = Symbol('assign detection'); + var alphabet = 'abcdefghijklmnopqrst'; + A[symbol] = 7; + alphabet.split('').forEach(function (chr) { B[chr] = chr; }); + return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` + var T = toObject(target); + var argumentsLength = arguments.length; + var index = 1; + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + var propertyIsEnumerable = propertyIsEnumerableModule.f; + while (argumentsLength > index) { + var S = IndexedObject(arguments[index++]); + var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) { + key = keys[j++]; + if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key]; + } + } return T; +} : $assign; + + +/***/ }), +/* 294 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var create = __webpack_require__(72); + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + create: create +}); + + +/***/ }), +/* 295 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(296); +var aCallable = __webpack_require__(31); +var toObject = __webpack_require__(40); +var definePropertyModule = __webpack_require__(45); + +// `Object.prototype.__defineGetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineGetter__: function __defineGetter__(P, getter) { + definePropertyModule.f(toObject(this), P, { get: aCallable(getter), enumerable: true, configurable: true }); + } + }); +} + + +/***/ }), +/* 296 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var IS_PURE = __webpack_require__(36); +var global = __webpack_require__(4); +var fails = __webpack_require__(7); +var WEBKIT = __webpack_require__(192); + +// Forced replacement object prototype accessors methods +module.exports = IS_PURE || !fails(function () { + // This feature detection crashes old WebKit + // https://github.com/zloirock/core-js/issues/232 + if (WEBKIT && WEBKIT < 535) return; + var key = Math.random(); + // In FF throws only define methods + // eslint-disable-next-line no-undef, no-useless-call, es/no-legacy-object-prototype-accessor-methods -- required for testing + __defineSetter__.call(null, key, function () { /* empty */ }); + delete global[key]; +}); + + +/***/ }), +/* 297 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var defineProperties = __webpack_require__(73).f; + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, { + defineProperties: defineProperties +}); + + +/***/ }), +/* 298 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var defineProperty = __webpack_require__(45).f; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +// eslint-disable-next-line es/no-object-defineproperty -- safe +$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, { + defineProperty: defineProperty +}); + + +/***/ }), +/* 299 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(296); +var aCallable = __webpack_require__(31); +var toObject = __webpack_require__(40); +var definePropertyModule = __webpack_require__(45); + +// `Object.prototype.__defineSetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineSetter__: function __defineSetter__(P, setter) { + definePropertyModule.f(toObject(this), P, { set: aCallable(setter), enumerable: true, configurable: true }); + } + }); +} + + +/***/ }), +/* 300 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $entries = __webpack_require__(301).entries; + +// `Object.entries` method +// https://tc39.es/ecma262/#sec-object.entries +$({ target: 'Object', stat: true }, { + entries: function entries(O) { + return $entries(O); + } +}); + + +/***/ }), +/* 301 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var objectGetPrototypeOf = __webpack_require__(130); +var objectKeys = __webpack_require__(74); +var toIndexedObject = __webpack_require__(12); +var $propertyIsEnumerable = __webpack_require__(10).f; + +var propertyIsEnumerable = uncurryThis($propertyIsEnumerable); +var push = uncurryThis([].push); + +// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys +// of `null` prototype objects +var IE_BUG = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-create -- safe + var O = Object.create(null); + O[2] = 2; + return !propertyIsEnumerable(O, 2); +}); + +// `Object.{ entries, values }` methods implementation +var createMethod = function (TO_ENTRIES) { + return function (it) { + var O = toIndexedObject(it); + var keys = objectKeys(O); + var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null; + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) { + key = keys[i++]; + if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) { + push(result, TO_ENTRIES ? [key, O[key]] : O[key]); + } + } + return result; + }; +}; + +module.exports = { + // `Object.entries` method + // https://tc39.es/ecma262/#sec-object.entries + entries: createMethod(true), + // `Object.values` method + // https://tc39.es/ecma262/#sec-object.values + values: createMethod(false) +}; + + +/***/ }), +/* 302 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var FREEZING = __webpack_require__(249); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var onFreeze = __webpack_require__(246).onFreeze; + +// eslint-disable-next-line es/no-object-freeze -- safe +var $freeze = Object.freeze; +var FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); }); + +// `Object.freeze` method +// https://tc39.es/ecma262/#sec-object.freeze +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + freeze: function freeze(it) { + return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 303 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(132); +var createProperty = __webpack_require__(78); + +// `Object.fromEntries` method +// https://github.com/tc39/proposal-object-from-entries +$({ target: 'Object', stat: true }, { + fromEntries: function fromEntries(iterable) { + var obj = {}; + iterate(iterable, function (k, v) { + createProperty(obj, k, v); + }, { AS_ENTRIES: true }); + return obj; + } +}); + + +/***/ }), +/* 304 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toIndexedObject = __webpack_require__(12); +var nativeGetOwnPropertyDescriptor = __webpack_require__(5).f; +var DESCRIPTORS = __webpack_require__(6); + +var FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); }); + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { + return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); + } +}); + + +/***/ }), +/* 305 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var ownKeys = __webpack_require__(57); +var toIndexedObject = __webpack_require__(12); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var createProperty = __webpack_require__(78); + +// `Object.getOwnPropertyDescriptors` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIndexedObject(object); + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + var keys = ownKeys(O); + var result = {}; + var index = 0; + var key, descriptor; + while (keys.length > index) { + descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); + if (descriptor !== undefined) createProperty(result, key, descriptor); + } + return result; + } +}); + + +/***/ }), +/* 306 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var getOwnPropertyNames = __webpack_require__(76).f; + +// eslint-disable-next-line es/no-object-getownpropertynames -- required for testing +var FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); }); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + getOwnPropertyNames: getOwnPropertyNames +}); + + +/***/ }), +/* 307 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toObject = __webpack_require__(40); +var nativeGetPrototypeOf = __webpack_require__(130); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(131); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); }); + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(it) { + return nativeGetPrototypeOf(toObject(it)); + } +}); + + + +/***/ }), +/* 308 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var hasOwn = __webpack_require__(39); + +// `Object.hasOwn` method +// https://tc39.es/ecma262/#sec-object.hasown +$({ target: 'Object', stat: true }, { + hasOwn: hasOwn +}); + + +/***/ }), +/* 309 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var is = __webpack_require__(310); + +// `Object.is` method +// https://tc39.es/ecma262/#sec-object.is +$({ target: 'Object', stat: true }, { + is: is +}); + + +/***/ }), +/* 310 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// `SameValue` abstract operation +// https://tc39.es/ecma262/#sec-samevalue +// eslint-disable-next-line es/no-object-is -- safe +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare -- NaN check + return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y; +}; + + +/***/ }), +/* 311 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $isExtensible = __webpack_require__(247); + +// `Object.isExtensible` method +// https://tc39.es/ecma262/#sec-object.isextensible +// eslint-disable-next-line es/no-object-isextensible -- safe +$({ target: 'Object', stat: true, forced: Object.isExtensible !== $isExtensible }, { + isExtensible: $isExtensible +}); + + +/***/ }), +/* 312 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(248); + +// eslint-disable-next-line es/no-object-isfrozen -- safe +var $isFrozen = Object.isFrozen; + +var FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isFrozen(1); }); + +// `Object.isFrozen` method +// https://tc39.es/ecma262/#sec-object.isfrozen +$({ target: 'Object', stat: true, forced: FORCED }, { + isFrozen: function isFrozen(it) { + if (!isObject(it)) return true; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true; + return $isFrozen ? $isFrozen(it) : false; + } +}); + + +/***/ }), +/* 313 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(248); + +// eslint-disable-next-line es/no-object-issealed -- safe +var $isSealed = Object.isSealed; + +var FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isSealed(1); }); + +// `Object.isSealed` method +// https://tc39.es/ecma262/#sec-object.issealed +$({ target: 'Object', stat: true, forced: FORCED }, { + isSealed: function isSealed(it) { + if (!isObject(it)) return true; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true; + return $isSealed ? $isSealed(it) : false; + } +}); + + +/***/ }), +/* 314 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(40); +var nativeKeys = __webpack_require__(74); +var fails = __webpack_require__(7); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); }); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + keys: function keys(it) { + return nativeKeys(toObject(it)); + } +}); + + +/***/ }), +/* 315 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(296); +var toObject = __webpack_require__(40); +var toPropertyKey = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(130); +var getOwnPropertyDescriptor = __webpack_require__(5).f; + +// `Object.prototype.__lookupGetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this); + var key = toPropertyKey(P); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.get; + } while (O = getPrototypeOf(O)); + } + }); +} + + +/***/ }), +/* 316 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(296); +var toObject = __webpack_require__(40); +var toPropertyKey = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(130); +var getOwnPropertyDescriptor = __webpack_require__(5).f; + +// `Object.prototype.__lookupSetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupSetter__: function __lookupSetter__(P) { + var O = toObject(this); + var key = toPropertyKey(P); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.set; + } while (O = getPrototypeOf(O)); + } + }); +} + + +/***/ }), +/* 317 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isObject = __webpack_require__(20); +var onFreeze = __webpack_require__(246).onFreeze; +var FREEZING = __webpack_require__(249); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-preventextensions -- safe +var $preventExtensions = Object.preventExtensions; +var FAILS_ON_PRIMITIVES = fails(function () { $preventExtensions(1); }); + +// `Object.preventExtensions` method +// https://tc39.es/ecma262/#sec-object.preventextensions +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + preventExtensions: function preventExtensions(it) { + return $preventExtensions && isObject(it) ? $preventExtensions(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 318 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(79); +var isObject = __webpack_require__(20); +var toObject = __webpack_require__(40); +var requireObjectCoercible = __webpack_require__(16); + +// eslint-disable-next-line es/no-object-getprototypeof -- safe +var getPrototypeOf = Object.getPrototypeOf; +// eslint-disable-next-line es/no-object-setprototypeof -- safe +var setPrototypeOf = Object.setPrototypeOf; +var ObjectPrototype = Object.prototype; +var PROTO = '__proto__'; + +// `Object.prototype.__proto__` accessor +// https://tc39.es/ecma262/#sec-object.prototype.__proto__ +if (DESCRIPTORS && getPrototypeOf && setPrototypeOf && !(PROTO in ObjectPrototype)) try { + defineBuiltInAccessor(ObjectPrototype, PROTO, { + configurable: true, + get: function __proto__() { + return getPrototypeOf(toObject(this)); + }, + set: function __proto__(proto) { + var O = requireObjectCoercible(this); + if (!isObject(proto) && proto !== null || !isObject(O)) return; + setPrototypeOf(O, proto); + } + }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 319 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isObject = __webpack_require__(20); +var onFreeze = __webpack_require__(246).onFreeze; +var FREEZING = __webpack_require__(249); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-seal -- safe +var $seal = Object.seal; +var FAILS_ON_PRIMITIVES = fails(function () { $seal(1); }); + +// `Object.seal` method +// https://tc39.es/ecma262/#sec-object.seal +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + seal: function seal(it) { + return $seal && isObject(it) ? $seal(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 320 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var setPrototypeOf = __webpack_require__(116); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +$({ target: 'Object', stat: true }, { + setPrototypeOf: setPrototypeOf +}); + + +/***/ }), +/* 321 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var TO_STRING_TAG_SUPPORT = __webpack_require__(71); +var defineBuiltIn = __webpack_require__(48); +var toString = __webpack_require__(322); + +// `Object.prototype.toString` method +// https://tc39.es/ecma262/#sec-object.prototype.tostring +if (!TO_STRING_TAG_SUPPORT) { + defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true }); +} + + +/***/ }), +/* 322 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var TO_STRING_TAG_SUPPORT = __webpack_require__(71); +var classof = __webpack_require__(70); + +// `Object.prototype.toString` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.tostring +module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { + return '[object ' + classof(this) + ']'; +}; + + +/***/ }), +/* 323 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $values = __webpack_require__(301).values; + +// `Object.values` method +// https://tc39.es/ecma262/#sec-object.values +$({ target: 'Object', stat: true }, { + values: function values(O) { + return $values(O); + } +}); + + +/***/ }), +/* 324 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $parseFloat = __webpack_require__(286); + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +$({ global: true, forced: parseFloat !== $parseFloat }, { + parseFloat: $parseFloat +}); + + +/***/ }), +/* 325 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $parseInt = __webpack_require__(288); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +$({ global: true, forced: parseInt !== $parseInt }, { + parseInt: $parseInt +}); + + +/***/ }), +/* 326 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(327); +__webpack_require__(342); +__webpack_require__(344); +__webpack_require__(345); +__webpack_require__(346); +__webpack_require__(347); + + +/***/ }), +/* 327 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var IS_NODE = __webpack_require__(183); +var global = __webpack_require__(4); +var call = __webpack_require__(8); +var defineBuiltIn = __webpack_require__(48); +var setPrototypeOf = __webpack_require__(116); +var setToStringTag = __webpack_require__(84); +var setSpecies = __webpack_require__(194); +var aCallable = __webpack_require__(31); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var anInstance = __webpack_require__(211); +var speciesConstructor = __webpack_require__(220); +var task = __webpack_require__(328).set; +var microtask = __webpack_require__(331); +var hostReportErrors = __webpack_require__(335); +var perform = __webpack_require__(336); +var Queue = __webpack_require__(332); +var InternalStateModule = __webpack_require__(52); +var NativePromiseConstructor = __webpack_require__(337); +var PromiseConstructorDetection = __webpack_require__(338); +var newPromiseCapabilityModule = __webpack_require__(341); + +var PROMISE = 'Promise'; +var FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR; +var NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT; +var NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var setInternalState = InternalStateModule.set; +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var PromiseConstructor = NativePromiseConstructor; +var PromisePrototype = NativePromisePrototype; +var TypeError = global.TypeError; +var document = global.document; +var process = global.process; +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; + +var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; + +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && isCallable(then = it.then) ? then : false; +}; + +var callReaction = function (reaction, state) { + var value = state.value; + var ok = state.state === FULFILLED; + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (state.rejection === UNHANDLED) onHandleUnhandled(state); + state.rejection = HANDLED; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // can throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(new TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + call(then, result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (error) { + if (domain && !exited) domain.exit(); + reject(error); + } +}; + +var notify = function (state, isReject) { + if (state.notified) return; + state.notified = true; + microtask(function () { + var reactions = state.reactions; + var reaction; + while (reaction = reactions.get()) { + callReaction(reaction, state); + } + state.notified = false; + if (isReject && !state.rejection) onUnhandled(state); + }); +}; + +var dispatchEvent = function (name, promise, reason) { + var event, handler; + if (DISPATCH_EVENT) { + event = document.createEvent('Event'); + event.promise = promise; + event.reason = reason; + event.initEvent(name, false, true); + global.dispatchEvent(event); + } else event = { promise: promise, reason: reason }; + if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event); + else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); +}; + +var onUnhandled = function (state) { + call(task, global, function () { + var promise = state.facade; + var value = state.value; + var IS_UNHANDLED = isUnhandled(state); + var result; + if (IS_UNHANDLED) { + result = perform(function () { + if (IS_NODE) { + process.emit('unhandledRejection', value, promise); + } else dispatchEvent(UNHANDLED_REJECTION, promise, value); + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; + if (result.error) throw result.value; + } + }); +}; + +var isUnhandled = function (state) { + return state.rejection !== HANDLED && !state.parent; +}; + +var onHandleUnhandled = function (state) { + call(task, global, function () { + var promise = state.facade; + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; + +var bind = function (fn, state, unwrap) { + return function (value) { + fn(state, value, unwrap); + }; +}; + +var internalReject = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + state.value = value; + state.state = REJECTED; + notify(state, true); +}; + +var internalResolve = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + try { + if (state.facade === value) throw new TypeError("Promise can't be resolved itself"); + var then = isThenable(value); + if (then) { + microtask(function () { + var wrapper = { done: false }; + try { + call(then, value, + bind(internalResolve, wrapper, state), + bind(internalReject, wrapper, state) + ); + } catch (error) { + internalReject(wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(state, false); + } + } catch (error) { + internalReject({ done: false }, error, state); + } +}; + +// constructor polyfill +if (FORCED_PROMISE_CONSTRUCTOR) { + // 25.4.3.1 Promise(executor) + PromiseConstructor = function Promise(executor) { + anInstance(this, PromisePrototype); + aCallable(executor); + call(Internal, this); + var state = getInternalPromiseState(this); + try { + executor(bind(internalResolve, state), bind(internalReject, state)); + } catch (error) { + internalReject(state, error); + } + }; + + PromisePrototype = PromiseConstructor.prototype; + + // eslint-disable-next-line no-unused-vars -- required for `.length` + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: new Queue(), + rejection: false, + state: PENDING, + value: undefined + }); + }; + + // `Promise.prototype.then` method + // https://tc39.es/ecma262/#sec-promise.prototype.then + Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + state.parent = true; + reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; + reaction.fail = isCallable(onRejected) && onRejected; + reaction.domain = IS_NODE ? process.domain : undefined; + if (state.state === PENDING) state.reactions.add(reaction); + else microtask(function () { + callReaction(reaction, state); + }); + return reaction.promise; + }); + + OwnPromiseCapability = function () { + var promise = new Internal(); + var state = getInternalPromiseState(promise); + this.promise = promise; + this.resolve = bind(internalResolve, state); + this.reject = bind(internalReject, state); + }; + + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; + + if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) { + nativeThen = NativePromisePrototype.then; + + if (!NATIVE_PROMISE_SUBCLASSING) { + // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs + defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + call(nativeThen, that, resolve, reject); + }).then(onFulfilled, onRejected); + // https://github.com/zloirock/core-js/issues/640 + }, { unsafe: true }); + } + + // make `.constructor === Promise` work for native promise-based APIs + try { + delete NativePromisePrototype.constructor; + } catch (error) { /* empty */ } + + // make `instanceof Promise` work for native promise-based APIs + if (setPrototypeOf) { + setPrototypeOf(NativePromisePrototype, PromisePrototype); + } + } +} + +$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + Promise: PromiseConstructor +}); + +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); + + +/***/ }), +/* 328 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var apply = __webpack_require__(96); +var bind = __webpack_require__(86); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(39); +var fails = __webpack_require__(7); +var html = __webpack_require__(75); +var arraySlice = __webpack_require__(97); +var createElement = __webpack_require__(43); +var validateArgumentsLength = __webpack_require__(329); +var IS_IOS = __webpack_require__(330); +var IS_NODE = __webpack_require__(183); + +var set = global.setImmediate; +var clear = global.clearImmediate; +var process = global.process; +var Dispatch = global.Dispatch; +var Function = global.Function; +var MessageChannel = global.MessageChannel; +var String = global.String; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var $location, defer, channel, port; + +fails(function () { + // Deno throws a ReferenceError on `location` access without `--location` flag + $location = global.location; +}); + +var run = function (id) { + if (hasOwn(queue, id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; + +var runner = function (id) { + return function () { + run(id); + }; +}; + +var eventListener = function (event) { + run(event.data); +}; + +var globalPostMessageDefer = function (id) { + // old engines have not location.origin + global.postMessage(String(id), $location.protocol + '//' + $location.host); +}; + +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!set || !clear) { + set = function setImmediate(handler) { + validateArgumentsLength(arguments.length, 1); + var fn = isCallable(handler) ? handler : Function(handler); + var args = arraySlice(arguments, 1); + queue[++counter] = function () { + apply(fn, undefined, args); + }; + defer(counter); + return counter; + }; + clear = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (IS_NODE) { + defer = function (id) { + process.nextTick(runner(id)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(runner(id)); + }; + // Browsers with MessageChannel, includes WebWorkers + // except iOS - https://github.com/zloirock/core-js/issues/624 + } else if (MessageChannel && !IS_IOS) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = eventListener; + defer = bind(port.postMessage, port); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if ( + global.addEventListener && + isCallable(global.postMessage) && + !global.importScripts && + $location && $location.protocol !== 'file:' && + !fails(globalPostMessageDefer) + ) { + defer = globalPostMessageDefer; + global.addEventListener('message', eventListener, false); + // IE8- + } else if (ONREADYSTATECHANGE in createElement('script')) { + defer = function (id) { + html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(runner(id), 0); + }; + } +} + +module.exports = { + set: set, + clear: clear +}; + + +/***/ }), +/* 329 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $TypeError = TypeError; + +module.exports = function (passed, required) { + if (passed < required) throw new $TypeError('Not enough arguments'); + return passed; +}; + + +/***/ }), +/* 330 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var userAgent = __webpack_require__(29); + +// eslint-disable-next-line redos/no-vulnerable -- safe +module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent); + + +/***/ }), +/* 331 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var bind = __webpack_require__(86); +var getOwnPropertyDescriptor = __webpack_require__(5).f; +var macrotask = __webpack_require__(328).set; +var Queue = __webpack_require__(332); +var IS_IOS = __webpack_require__(330); +var IS_IOS_PEBBLE = __webpack_require__(333); +var IS_WEBOS_WEBKIT = __webpack_require__(334); +var IS_NODE = __webpack_require__(183); + +var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; +var document = global.document; +var process = global.process; +var Promise = global.Promise; +// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask` +var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); +var microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; +var notify, toggle, node, promise, then; + +// modern engines have queueMicrotask method +if (!microtask) { + var queue = new Queue(); + + var flush = function () { + var parent, fn; + if (IS_NODE && (parent = process.domain)) parent.exit(); + while (fn = queue.get()) try { + fn(); + } catch (error) { + if (queue.head) notify(); + throw error; + } + if (parent) parent.enter(); + }; + + // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 + // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898 + if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) { + toggle = true; + node = document.createTextNode(''); + new MutationObserver(flush).observe(node, { characterData: true }); + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + promise = Promise.resolve(undefined); + // workaround of WebKit ~ iOS Safari 10.1 bug + promise.constructor = Promise; + then = bind(promise.then, promise); + notify = function () { + then(flush); + }; + // Node.js without promises + } else if (IS_NODE) { + notify = function () { + process.nextTick(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessage + // - onreadystatechange + // - setTimeout + } else { + // `webpack` dev server bug on IE global methods - use bind(fn, global) + macrotask = bind(macrotask, global); + notify = function () { + macrotask(flush); + }; + } + + microtask = function (fn) { + if (!queue.head) notify(); + queue.add(fn); + }; +} + +module.exports = microtask; + + +/***/ }), +/* 332 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var Queue = function () { + this.head = null; + this.tail = null; +}; + +Queue.prototype = { + add: function (item) { + var entry = { item: item, next: null }; + var tail = this.tail; + if (tail) tail.next = entry; + else this.head = entry; + this.tail = entry; + }, + get: function () { + var entry = this.head; + if (entry) { + var next = this.head = entry.next; + if (next === null) this.tail = null; + return entry.item; + } + } +}; + +module.exports = Queue; + + +/***/ }), +/* 333 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var userAgent = __webpack_require__(29); + +module.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined'; + + +/***/ }), +/* 334 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var userAgent = __webpack_require__(29); + +module.exports = /web0s(?!.*chrome)/i.test(userAgent); + + +/***/ }), +/* 335 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +module.exports = function (a, b) { + try { + // eslint-disable-next-line no-console -- safe + arguments.length === 1 ? console.error(a) : console.error(a, b); + } catch (error) { /* empty */ } +}; + + +/***/ }), +/* 336 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +module.exports = function (exec) { + try { + return { error: false, value: exec() }; + } catch (error) { + return { error: true, value: error }; + } +}; + + +/***/ }), +/* 337 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); + +module.exports = global.Promise; + + +/***/ }), +/* 338 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var NativePromiseConstructor = __webpack_require__(337); +var isCallable = __webpack_require__(21); +var isForced = __webpack_require__(68); +var inspectSource = __webpack_require__(51); +var wellKnownSymbol = __webpack_require__(34); +var IS_BROWSER = __webpack_require__(339); +var IS_DENO = __webpack_require__(340); +var IS_PURE = __webpack_require__(36); +var V8_VERSION = __webpack_require__(28); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var SPECIES = wellKnownSymbol('species'); +var SUBCLASSING = false; +var NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent); + +var FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () { + var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor); + var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor); + // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // We can't detect it synchronously, so just check versions + if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true; + // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution + if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true; + // We can't use @@species feature detection in V8 since it causes + // deoptimization and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) { + // Detect correctness of subclassing with @@species support + var promise = new NativePromiseConstructor(function (resolve) { resolve(1); }); + var FakePromise = function (exec) { + exec(function () { /* empty */ }, function () { /* empty */ }); + }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; + if (!SUBCLASSING) return true; + // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test + } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT; +}); + +module.exports = { + CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR, + REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT, + SUBCLASSING: SUBCLASSING +}; + + +/***/ }), +/* 339 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var IS_DENO = __webpack_require__(340); +var IS_NODE = __webpack_require__(183); + +module.exports = !IS_DENO && !IS_NODE + && typeof window == 'object' + && typeof document == 'object'; + + +/***/ }), +/* 340 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* global Deno -- Deno case */ +module.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object'; + + +/***/ }), +/* 341 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aCallable = __webpack_require__(31); + +var $TypeError = TypeError; + +var PromiseCapability = function (C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aCallable(resolve); + this.reject = aCallable(reject); +}; + +// `NewPromiseCapability` abstract operation +// https://tc39.es/ecma262/#sec-newpromisecapability +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + + +/***/ }), +/* 342 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(31); +var newPromiseCapabilityModule = __webpack_require__(341); +var perform = __webpack_require__(336); +var iterate = __webpack_require__(132); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(343); + +// `Promise.all` method +// https://tc39.es/ecma262/#sec-promise.all +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + all: function all(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call($promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 343 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var NativePromiseConstructor = __webpack_require__(337); +var checkCorrectnessOfIteration = __webpack_require__(165); +var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__(338).CONSTRUCTOR; + +module.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) { + NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ }); +}); + + +/***/ }), +/* 344 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__(338).CONSTRUCTOR; +var NativePromiseConstructor = __webpack_require__(337); +var getBuiltIn = __webpack_require__(24); +var isCallable = __webpack_require__(21); +var defineBuiltIn = __webpack_require__(48); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// `Promise.prototype.catch` method +// https://tc39.es/ecma262/#sec-promise.prototype.catch +$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, { + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } +}); + +// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['catch']; + if (NativePromisePrototype['catch'] !== method) { + defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true }); + } +} + + +/***/ }), +/* 345 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(31); +var newPromiseCapabilityModule = __webpack_require__(341); +var perform = __webpack_require__(336); +var iterate = __webpack_require__(132); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(343); + +// `Promise.race` method +// https://tc39.es/ecma262/#sec-promise.race +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + race: function race(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + iterate(iterable, function (promise) { + call($promiseResolve, C, promise).then(capability.resolve, reject); + }); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 346 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var newPromiseCapabilityModule = __webpack_require__(341); +var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__(338).CONSTRUCTOR; + +// `Promise.reject` method +// https://tc39.es/ecma262/#sec-promise.reject +$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + reject: function reject(r) { + var capability = newPromiseCapabilityModule.f(this); + call(capability.reject, undefined, r); + return capability.promise; + } +}); + + +/***/ }), +/* 347 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(24); +var IS_PURE = __webpack_require__(36); +var NativePromiseConstructor = __webpack_require__(337); +var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__(338).CONSTRUCTOR; +var promiseResolve = __webpack_require__(348); + +var PromiseConstructorWrapper = getBuiltIn('Promise'); +var CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR; + +// `Promise.resolve` method +// https://tc39.es/ecma262/#sec-promise.resolve +$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, { + resolve: function resolve(x) { + return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x); + } +}); + + +/***/ }), +/* 348 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var anObject = __webpack_require__(47); +var isObject = __webpack_require__(20); +var newPromiseCapability = __webpack_require__(341); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + + +/***/ }), +/* 349 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(31); +var newPromiseCapabilityModule = __webpack_require__(341); +var perform = __webpack_require__(336); +var iterate = __webpack_require__(132); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(343); + +// `Promise.allSettled` method +// https://tc39.es/ecma262/#sec-promise.allsettled +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + allSettled: function allSettled(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'fulfilled', value: value }; + --remaining || resolve(values); + }, function (error) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'rejected', reason: error }; + --remaining || resolve(values); + }); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 350 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(31); +var getBuiltIn = __webpack_require__(24); +var newPromiseCapabilityModule = __webpack_require__(341); +var perform = __webpack_require__(336); +var iterate = __webpack_require__(132); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(343); + +var PROMISE_ANY_ERROR = 'No one promise resolved'; + +// `Promise.any` method +// https://tc39.es/ecma262/#sec-promise.any +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + any: function any(iterable) { + var C = this; + var AggregateError = getBuiltIn('AggregateError'); + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var errors = []; + var counter = 0; + var remaining = 1; + var alreadyResolved = false; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyRejected = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyRejected || alreadyResolved) return; + alreadyResolved = true; + resolve(value); + }, function (error) { + if (alreadyRejected || alreadyResolved) return; + alreadyRejected = true; + errors[index] = error; + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + }); + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 351 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var NativePromiseConstructor = __webpack_require__(337); +var fails = __webpack_require__(7); +var getBuiltIn = __webpack_require__(24); +var isCallable = __webpack_require__(21); +var speciesConstructor = __webpack_require__(220); +var promiseResolve = __webpack_require__(348); +var defineBuiltIn = __webpack_require__(48); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829 +var NON_GENERIC = !!NativePromiseConstructor && fails(function () { + // eslint-disable-next-line unicorn/no-thenable -- required for testing + NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ }); +}); + +// `Promise.prototype.finally` method +// https://tc39.es/ecma262/#sec-promise.prototype.finally +$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, { + 'finally': function (onFinally) { + var C = speciesConstructor(this, getBuiltIn('Promise')); + var isFunction = isCallable(onFinally); + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); + } +}); + +// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['finally']; + if (NativePromisePrototype['finally'] !== method) { + defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true }); + } +} + + +/***/ }), +/* 352 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var functionApply = __webpack_require__(96); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var fails = __webpack_require__(7); + +// MS Edge argumentsList argument is optional +var OPTIONAL_ARGUMENTS_LIST = !fails(function () { + // eslint-disable-next-line es/no-reflect -- required for testing + Reflect.apply(function () { /* empty */ }); +}); + +// `Reflect.apply` method +// https://tc39.es/ecma262/#sec-reflect.apply +$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, { + apply: function apply(target, thisArgument, argumentsList) { + return functionApply(aCallable(target), thisArgument, anObject(argumentsList)); + } +}); + + +/***/ }), +/* 353 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(24); +var apply = __webpack_require__(96); +var bind = __webpack_require__(238); +var aConstructor = __webpack_require__(221); +var anObject = __webpack_require__(47); +var isObject = __webpack_require__(20); +var create = __webpack_require__(72); +var fails = __webpack_require__(7); + +var nativeConstruct = getBuiltIn('Reflect', 'construct'); +var ObjectPrototype = Object.prototype; +var push = [].push; + +// `Reflect.construct` method +// https://tc39.es/ecma262/#sec-reflect.construct +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F); +}); + +var ARGS_BUG = !fails(function () { + nativeConstruct(function () { /* empty */ }); +}); + +var FORCED = NEW_TARGET_BUG || ARGS_BUG; + +$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, { + construct: function construct(Target, args /* , newTarget */) { + aConstructor(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget); + if (Target === newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + apply(push, $args, args); + return new (apply(bind, Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : ObjectPrototype); + var result = apply(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + + +/***/ }), +/* 354 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var anObject = __webpack_require__(47); +var toPropertyKey = __webpack_require__(18); +var definePropertyModule = __webpack_require__(45); +var fails = __webpack_require__(7); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +var ERROR_INSTEAD_OF_FALSE = fails(function () { + // eslint-disable-next-line es/no-reflect -- required for testing + Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 }); +}); + +// `Reflect.defineProperty` method +// https://tc39.es/ecma262/#sec-reflect.defineproperty +$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + var key = toPropertyKey(propertyKey); + anObject(attributes); + try { + definePropertyModule.f(target, key, attributes); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 355 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(47); +var getOwnPropertyDescriptor = __webpack_require__(5).f; + +// `Reflect.deleteProperty` method +// https://tc39.es/ecma262/#sec-reflect.deleteproperty +$({ target: 'Reflect', stat: true }, { + deleteProperty: function deleteProperty(target, propertyKey) { + var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey); + return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; + } +}); + + +/***/ }), +/* 356 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var isObject = __webpack_require__(20); +var anObject = __webpack_require__(47); +var isDataDescriptor = __webpack_require__(357); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var getPrototypeOf = __webpack_require__(130); + +// `Reflect.get` method +// https://tc39.es/ecma262/#sec-reflect.get +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var descriptor, prototype; + if (anObject(target) === receiver) return target[propertyKey]; + descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey); + if (descriptor) return isDataDescriptor(descriptor) + ? descriptor.value + : descriptor.get === undefined ? undefined : call(descriptor.get, receiver); + if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver); +} + +$({ target: 'Reflect', stat: true }, { + get: get +}); + + +/***/ }), +/* 357 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var hasOwn = __webpack_require__(39); + +module.exports = function (descriptor) { + return descriptor !== undefined && (hasOwn(descriptor, 'value') || hasOwn(descriptor, 'writable')); +}; + + +/***/ }), +/* 358 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var anObject = __webpack_require__(47); +var getOwnPropertyDescriptorModule = __webpack_require__(5); + +// `Reflect.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor +$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + } +}); + + +/***/ }), +/* 359 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(47); +var objectGetPrototypeOf = __webpack_require__(130); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(131); + +// `Reflect.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-reflect.getprototypeof +$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(target) { + return objectGetPrototypeOf(anObject(target)); + } +}); + + +/***/ }), +/* 360 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// `Reflect.has` method +// https://tc39.es/ecma262/#sec-reflect.has +$({ target: 'Reflect', stat: true }, { + has: function has(target, propertyKey) { + return propertyKey in target; + } +}); + + +/***/ }), +/* 361 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(47); +var $isExtensible = __webpack_require__(247); + +// `Reflect.isExtensible` method +// https://tc39.es/ecma262/#sec-reflect.isextensible +$({ target: 'Reflect', stat: true }, { + isExtensible: function isExtensible(target) { + anObject(target); + return $isExtensible(target); + } +}); + + +/***/ }), +/* 362 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var ownKeys = __webpack_require__(57); + +// `Reflect.ownKeys` method +// https://tc39.es/ecma262/#sec-reflect.ownkeys +$({ target: 'Reflect', stat: true }, { + ownKeys: ownKeys +}); + + +/***/ }), +/* 363 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(24); +var anObject = __webpack_require__(47); +var FREEZING = __webpack_require__(249); + +// `Reflect.preventExtensions` method +// https://tc39.es/ecma262/#sec-reflect.preventextensions +$({ target: 'Reflect', stat: true, sham: !FREEZING }, { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions'); + if (objectPreventExtensions) objectPreventExtensions(target); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 364 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(47); +var isObject = __webpack_require__(20); +var isDataDescriptor = __webpack_require__(357); +var fails = __webpack_require__(7); +var definePropertyModule = __webpack_require__(45); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var getPrototypeOf = __webpack_require__(130); +var createPropertyDescriptor = __webpack_require__(11); + +// `Reflect.set` method +// https://tc39.es/ecma262/#sec-reflect.set +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + var existingDescriptor, prototype, setter; + if (!ownDescriptor) { + if (isObject(prototype = getPrototypeOf(target))) { + return set(prototype, propertyKey, V, receiver); + } + ownDescriptor = createPropertyDescriptor(0); + } + if (isDataDescriptor(ownDescriptor)) { + if (ownDescriptor.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + definePropertyModule.f(receiver, propertyKey, existingDescriptor); + } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V)); + } else { + setter = ownDescriptor.set; + if (setter === undefined) return false; + call(setter, receiver, V); + } return true; +} + +// MS Edge 17-18 Reflect.set allows setting the property to object +// with non-writable property on the prototype +var MS_EDGE_BUG = fails(function () { + var Constructor = function () { /* empty */ }; + var object = definePropertyModule.f(new Constructor(), 'a', { configurable: true }); + // eslint-disable-next-line es/no-reflect -- required for testing + return Reflect.set(Constructor.prototype, 'a', 1, object) !== false; +}); + +$({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, { + set: set +}); + + +/***/ }), +/* 365 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(47); +var aPossiblePrototype = __webpack_require__(118); +var objectSetPrototypeOf = __webpack_require__(116); + +// `Reflect.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-reflect.setprototypeof +if (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, { + setPrototypeOf: function setPrototypeOf(target, proto) { + anObject(target); + aPossiblePrototype(proto); + try { + objectSetPrototypeOf(target, proto); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 366 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var setToStringTag = __webpack_require__(84); + +$({ global: true }, { Reflect: {} }); + +// Reflect[@@toStringTag] property +// https://tc39.es/ecma262/#sec-reflect-@@tostringtag +setToStringTag(global.Reflect, 'Reflect', true); + + +/***/ }), +/* 367 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var global = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(68); +var inheritIfRequired = __webpack_require__(120); +var createNonEnumerableProperty = __webpack_require__(44); +var getOwnPropertyNames = __webpack_require__(58).f; +var isPrototypeOf = __webpack_require__(25); +var isRegExp = __webpack_require__(368); +var toString = __webpack_require__(69); +var getRegExpFlags = __webpack_require__(369); +var stickyHelpers = __webpack_require__(371); +var proxyAccessor = __webpack_require__(119); +var defineBuiltIn = __webpack_require__(48); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(39); +var enforceInternalState = __webpack_require__(52).enforce; +var setSpecies = __webpack_require__(194); +var wellKnownSymbol = __webpack_require__(34); +var UNSUPPORTED_DOT_ALL = __webpack_require__(372); +var UNSUPPORTED_NCG = __webpack_require__(373); + +var MATCH = wellKnownSymbol('match'); +var NativeRegExp = global.RegExp; +var RegExpPrototype = NativeRegExp.prototype; +var SyntaxError = global.SyntaxError; +var exec = uncurryThis(RegExpPrototype.exec); +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var stringIndexOf = uncurryThis(''.indexOf); +var stringSlice = uncurryThis(''.slice); +// TODO: Use only proper RegExpIdentifierName +var IS_NCG = /^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/; +var re1 = /a/g; +var re2 = /a/g; + +// "new" should create a new object, old webkit bug +var CORRECT_NEW = new NativeRegExp(re1) !== re1; + +var MISSED_STICKY = stickyHelpers.MISSED_STICKY; +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; + +var BASE_FORCED = DESCRIPTORS && + (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () { + re2[MATCH] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i'; + })); + +var handleDotAll = function (string) { + var length = string.length; + var index = 0; + var result = ''; + var brackets = false; + var chr; + for (; index <= length; index++) { + chr = charAt(string, index); + if (chr === '\\') { + result += chr + charAt(string, ++index); + continue; + } + if (!brackets && chr === '.') { + result += '[\\s\\S]'; + } else { + if (chr === '[') { + brackets = true; + } else if (chr === ']') { + brackets = false; + } result += chr; + } + } return result; +}; + +var handleNCG = function (string) { + var length = string.length; + var index = 0; + var result = ''; + var named = []; + var names = {}; + var brackets = false; + var ncg = false; + var groupid = 0; + var groupname = ''; + var chr; + for (; index <= length; index++) { + chr = charAt(string, index); + if (chr === '\\') { + chr += charAt(string, ++index); + } else if (chr === ']') { + brackets = false; + } else if (!brackets) switch (true) { + case chr === '[': + brackets = true; + break; + case chr === '(': + if (exec(IS_NCG, stringSlice(string, index + 1))) { + index += 2; + ncg = true; + } + result += chr; + groupid++; + continue; + case chr === '>' && ncg: + if (groupname === '' || hasOwn(names, groupname)) { + throw new SyntaxError('Invalid capture group name'); + } + names[groupname] = true; + named[named.length] = [groupname, groupid]; + ncg = false; + groupname = ''; + continue; + } + if (ncg) groupname += chr; + else result += chr; + } return [result, named]; +}; + +// `RegExp` constructor +// https://tc39.es/ecma262/#sec-regexp-constructor +if (isForced('RegExp', BASE_FORCED)) { + var RegExpWrapper = function RegExp(pattern, flags) { + var thisIsRegExp = isPrototypeOf(RegExpPrototype, this); + var patternIsRegExp = isRegExp(pattern); + var flagsAreUndefined = flags === undefined; + var groups = []; + var rawPattern = pattern; + var rawFlags, dotAll, sticky, handled, result, state; + + if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) { + return pattern; + } + + if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) { + pattern = pattern.source; + if (flagsAreUndefined) flags = getRegExpFlags(rawPattern); + } + + pattern = pattern === undefined ? '' : toString(pattern); + flags = flags === undefined ? '' : toString(flags); + rawPattern = pattern; + + if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) { + dotAll = !!flags && stringIndexOf(flags, 's') > -1; + if (dotAll) flags = replace(flags, /s/g, ''); + } + + rawFlags = flags; + + if (MISSED_STICKY && 'sticky' in re1) { + sticky = !!flags && stringIndexOf(flags, 'y') > -1; + if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, ''); + } + + if (UNSUPPORTED_NCG) { + handled = handleNCG(pattern); + pattern = handled[0]; + groups = handled[1]; + } + + result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper); + + if (dotAll || sticky || groups.length) { + state = enforceInternalState(result); + if (dotAll) { + state.dotAll = true; + state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags); + } + if (sticky) state.sticky = true; + if (groups.length) state.groups = groups; + } + + if (pattern !== rawPattern) try { + // fails in old engines, but we have no alternatives for unsupported regex syntax + createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern); + } catch (error) { /* empty */ } + + return result; + }; + + for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) { + proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]); + } + + RegExpPrototype.constructor = RegExpWrapper; + RegExpWrapper.prototype = RegExpPrototype; + defineBuiltIn(global, 'RegExp', RegExpWrapper, { constructor: true }); +} + +// https://tc39.es/ecma262/#sec-get-regexp-@@species +setSpecies('RegExp'); + + +/***/ }), +/* 368 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var wellKnownSymbol = __webpack_require__(34); + +var MATCH = wellKnownSymbol('match'); + +// `IsRegExp` abstract operation +// https://tc39.es/ecma262/#sec-isregexp +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp'); +}; + + +/***/ }), +/* 369 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var hasOwn = __webpack_require__(39); +var isPrototypeOf = __webpack_require__(25); +var regExpFlags = __webpack_require__(370); + +var RegExpPrototype = RegExp.prototype; + +module.exports = function (R) { + var flags = R.flags; + return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) + ? call(regExpFlags, R) : flags; +}; + + +/***/ }), +/* 370 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var anObject = __webpack_require__(47); + +// `RegExp.prototype.flags` getter implementation +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.hasIndices) result += 'd'; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.dotAll) result += 's'; + if (that.unicode) result += 'u'; + if (that.unicodeSets) result += 'v'; + if (that.sticky) result += 'y'; + return result; +}; + + +/***/ }), +/* 371 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(7); +var global = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError +var $RegExp = global.RegExp; + +var UNSUPPORTED_Y = fails(function () { + var re = $RegExp('a', 'y'); + re.lastIndex = 2; + return re.exec('abcd') !== null; +}); + +// UC Browser bug +// https://github.com/zloirock/core-js/issues/1008 +var MISSED_STICKY = UNSUPPORTED_Y || fails(function () { + return !$RegExp('a', 'y').sticky; +}); + +var BROKEN_CARET = UNSUPPORTED_Y || fails(function () { + // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 + var re = $RegExp('^r', 'gy'); + re.lastIndex = 2; + return re.exec('str') !== null; +}); + +module.exports = { + BROKEN_CARET: BROKEN_CARET, + MISSED_STICKY: MISSED_STICKY, + UNSUPPORTED_Y: UNSUPPORTED_Y +}; + + +/***/ }), +/* 372 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(7); +var global = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError +var $RegExp = global.RegExp; + +module.exports = fails(function () { + var re = $RegExp('.', 's'); + return !(re.dotAll && re.test('\n') && re.flags === 's'); +}); + + +/***/ }), +/* 373 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(7); +var global = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError +var $RegExp = global.RegExp; + +module.exports = fails(function () { + var re = $RegExp('(?b)', 'g'); + return re.exec('b').groups.a !== 'b' || + 'b'.replace(re, '$c') !== 'bc'; +}); + + +/***/ }), +/* 374 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var UNSUPPORTED_DOT_ALL = __webpack_require__(372); +var classof = __webpack_require__(15); +var defineBuiltInAccessor = __webpack_require__(79); +var getInternalState = __webpack_require__(52).get; + +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; + +// `RegExp.prototype.dotAll` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall +if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) { + defineBuiltInAccessor(RegExpPrototype, 'dotAll', { + configurable: true, + get: function dotAll() { + if (this === RegExpPrototype) return undefined; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).dotAll; + } + throw new $TypeError('Incompatible receiver, RegExp required'); + } + }); +} + + +/***/ }), +/* 375 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var exec = __webpack_require__(376); + +// `RegExp.prototype.exec` method +// https://tc39.es/ecma262/#sec-regexp.prototype.exec +$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { + exec: exec +}); + + +/***/ }), +/* 376 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */ +/* eslint-disable regexp/no-useless-quantifier -- testing */ +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(69); +var regexpFlags = __webpack_require__(370); +var stickyHelpers = __webpack_require__(371); +var shared = __webpack_require__(35); +var create = __webpack_require__(72); +var getInternalState = __webpack_require__(52).get; +var UNSUPPORTED_DOT_ALL = __webpack_require__(372); +var UNSUPPORTED_NCG = __webpack_require__(373); + +var nativeReplace = shared('native-string-replace', String.prototype.replace); +var nativeExec = RegExp.prototype.exec; +var patchedExec = nativeExec; +var charAt = uncurryThis(''.charAt); +var indexOf = uncurryThis(''.indexOf); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); + +var UPDATES_LAST_INDEX_WRONG = (function () { + var re1 = /a/; + var re2 = /b*/g; + call(nativeExec, re1, 'a'); + call(nativeExec, re2, 'a'); + return re1.lastIndex !== 0 || re2.lastIndex !== 0; +})(); + +var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET; + +// nonparticipating capturing group, copied from es5-shim's String#split patch. +var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; + +var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG; + +if (PATCH) { + patchedExec = function exec(string) { + var re = this; + var state = getInternalState(re); + var str = toString(string); + var raw = state.raw; + var result, reCopy, lastIndex, match, i, object, group; + + if (raw) { + raw.lastIndex = re.lastIndex; + result = call(patchedExec, raw, str); + re.lastIndex = raw.lastIndex; + return result; + } + + var groups = state.groups; + var sticky = UNSUPPORTED_Y && re.sticky; + var flags = call(regexpFlags, re); + var source = re.source; + var charsAdded = 0; + var strCopy = str; + + if (sticky) { + flags = replace(flags, 'y', ''); + if (indexOf(flags, 'g') === -1) { + flags += 'g'; + } + + strCopy = stringSlice(str, re.lastIndex); + // Support anchored sticky behavior. + if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\n')) { + source = '(?: ' + source + ')'; + strCopy = ' ' + strCopy; + charsAdded++; + } + // ^(? + rx + ) is needed, in combination with some str slicing, to + // simulate the 'y' flag. + reCopy = new RegExp('^(?:' + source + ')', flags); + } + + if (NPCG_INCLUDED) { + reCopy = new RegExp('^' + source + '$(?!\\s)', flags); + } + if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; + + match = call(nativeExec, sticky ? reCopy : re, strCopy); + + if (sticky) { + if (match) { + match.input = stringSlice(match.input, charsAdded); + match[0] = stringSlice(match[0], charsAdded); + match.index = re.lastIndex; + re.lastIndex += match[0].length; + } else re.lastIndex = 0; + } else if (UPDATES_LAST_INDEX_WRONG && match) { + re.lastIndex = re.global ? match.index + match[0].length : lastIndex; + } + if (NPCG_INCLUDED && match && match.length > 1) { + // Fix browsers whose `exec` methods don't consistently return `undefined` + // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/ + call(nativeReplace, match[0], reCopy, function () { + for (i = 1; i < arguments.length - 2; i++) { + if (arguments[i] === undefined) match[i] = undefined; + } + }); + } + + if (match && groups) { + match.groups = object = create(null); + for (i = 0; i < groups.length; i++) { + group = groups[i]; + object[group[0]] = match[group[1]]; + } + } + + return match; + }; +} + +module.exports = patchedExec; + + +/***/ }), +/* 377 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(79); +var regExpFlags = __webpack_require__(370); +var fails = __webpack_require__(7); + +// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError +var RegExp = global.RegExp; +var RegExpPrototype = RegExp.prototype; + +var FORCED = DESCRIPTORS && fails(function () { + var INDICES_SUPPORT = true; + try { + RegExp('.', 'd'); + } catch (error) { + INDICES_SUPPORT = false; + } + + var O = {}; + // modern V8 bug + var calls = ''; + var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy'; + + var addGetter = function (key, chr) { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(O, key, { get: function () { + calls += chr; + return true; + } }); + }; + + var pairs = { + dotAll: 's', + global: 'g', + ignoreCase: 'i', + multiline: 'm', + sticky: 'y' + }; + + if (INDICES_SUPPORT) pairs.hasIndices = 'd'; + + for (var key in pairs) addGetter(key, pairs[key]); + + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O); + + return result !== expected || calls !== expected; +}); + +// `RegExp.prototype.flags` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +if (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', { + configurable: true, + get: regExpFlags +}); + + +/***/ }), +/* 378 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var MISSED_STICKY = __webpack_require__(371).MISSED_STICKY; +var classof = __webpack_require__(15); +var defineBuiltInAccessor = __webpack_require__(79); +var getInternalState = __webpack_require__(52).get; + +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; + +// `RegExp.prototype.sticky` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky +if (DESCRIPTORS && MISSED_STICKY) { + defineBuiltInAccessor(RegExpPrototype, 'sticky', { + configurable: true, + get: function sticky() { + if (this === RegExpPrototype) return; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).sticky; + } + throw new $TypeError('Incompatible receiver, RegExp required'); + } + }); +} + + +/***/ }), +/* 379 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` since it's moved to entry points +__webpack_require__(375); +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var anObject = __webpack_require__(47); +var toString = __webpack_require__(69); + +var DELEGATES_TO_EXEC = function () { + var execCalled = false; + var re = /[ac]/; + re.exec = function () { + execCalled = true; + return /./.exec.apply(this, arguments); + }; + return re.test('abc') === true && execCalled; +}(); + +var nativeTest = /./.test; + +// `RegExp.prototype.test` method +// https://tc39.es/ecma262/#sec-regexp.prototype.test +$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, { + test: function (S) { + var R = anObject(this); + var string = toString(S); + var exec = R.exec; + if (!isCallable(exec)) return call(nativeTest, R, string); + var result = call(exec, R, string); + if (result === null) return false; + anObject(result); + return true; + } +}); + + +/***/ }), +/* 380 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var PROPER_FUNCTION_NAME = __webpack_require__(50).PROPER; +var defineBuiltIn = __webpack_require__(48); +var anObject = __webpack_require__(47); +var $toString = __webpack_require__(69); +var fails = __webpack_require__(7); +var getRegExpFlags = __webpack_require__(369); + +var TO_STRING = 'toString'; +var RegExpPrototype = RegExp.prototype; +var nativeToString = RegExpPrototype[TO_STRING]; + +var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; }); +// FF44- RegExp#toString has a wrong name +var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING; + +// `RegExp.prototype.toString` method +// https://tc39.es/ecma262/#sec-regexp.prototype.tostring +if (NOT_GENERIC || INCORRECT_NAME) { + defineBuiltIn(RegExp.prototype, TO_STRING, function toString() { + var R = anObject(this); + var pattern = $toString(R.source); + var flags = $toString(getRegExpFlags(R)); + return '/' + pattern + '/' + flags; + }, { unsafe: true }); +} + + +/***/ }), +/* 381 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(382); + + +/***/ }), +/* 382 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var collection = __webpack_require__(245); +var collectionStrong = __webpack_require__(250); + +// `Set` constructor +// https://tc39.es/ecma262/#sec-set-objects +collection('Set', function (init) { + return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + +/***/ }), +/* 383 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toIntegerOrInfinity = __webpack_require__(62); +var toString = __webpack_require__(69); +var fails = __webpack_require__(7); + +var charAt = uncurryThis(''.charAt); + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-array-string-prototype-at -- safe + return '𠮷'.at(-2) !== '\uD842'; +}); + +// `String.prototype.at` method +// https://tc39.es/ecma262/#sec-string.prototype.at +$({ target: 'String', proto: true, forced: FORCED }, { + at: function at(index) { + var S = toString(requireObjectCoercible(this)); + var len = S.length; + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : charAt(S, k); + } +}); + + +/***/ }), +/* 384 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var codeAt = __webpack_require__(385).codeAt; + +// `String.prototype.codePointAt` method +// https://tc39.es/ecma262/#sec-string.prototype.codepointat +$({ target: 'String', proto: true }, { + codePointAt: function codePointAt(pos) { + return codeAt(this, pos); + } +}); + + +/***/ }), +/* 385 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(62); +var toString = __webpack_require__(69); +var requireObjectCoercible = __webpack_require__(16); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var stringSlice = uncurryThis(''.slice); + +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = toString(requireObjectCoercible($this)); + var position = toIntegerOrInfinity(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; + first = charCodeAt(S, position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size + || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF + ? CONVERT_TO_STRING + ? charAt(S, position) + : first + : CONVERT_TO_STRING + ? stringSlice(S, position, position + 2) + : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + }; +}; + +module.exports = { + // `String.prototype.codePointAt` method + // https://tc39.es/ecma262/#sec-string.prototype.codepointat + codeAt: createMethod(false), + // `String.prototype.at` method + // https://github.com/mathiasbynens/String.prototype.at + charAt: createMethod(true) +}; + + +/***/ }), +/* 386 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(87); +var getOwnPropertyDescriptor = __webpack_require__(5).f; +var toLength = __webpack_require__(65); +var toString = __webpack_require__(69); +var notARegExp = __webpack_require__(387); +var requireObjectCoercible = __webpack_require__(16); +var correctIsRegExpLogic = __webpack_require__(388); +var IS_PURE = __webpack_require__(36); + +// eslint-disable-next-line es/no-string-prototype-endswith -- safe +var nativeEndsWith = uncurryThis(''.endsWith); +var slice = uncurryThis(''.slice); +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.endsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.endswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = that.length; + var end = endPosition === undefined ? len : min(toLength(endPosition), len); + var search = toString(searchString); + return nativeEndsWith + ? nativeEndsWith(that, search, end) + : slice(that, end - search.length, end) === search; + } +}); + + +/***/ }), +/* 387 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isRegExp = __webpack_require__(368); + +var $TypeError = TypeError; + +module.exports = function (it) { + if (isRegExp(it)) { + throw new $TypeError("The method doesn't accept regular expressions"); + } return it; +}; + + +/***/ }), +/* 388 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var wellKnownSymbol = __webpack_require__(34); + +var MATCH = wellKnownSymbol('match'); + +module.exports = function (METHOD_NAME) { + var regexp = /./; + try { + '/./'[METHOD_NAME](regexp); + } catch (error1) { + try { + regexp[MATCH] = false; + return '/./'[METHOD_NAME](regexp); + } catch (error2) { /* empty */ } + } return false; +}; + + +/***/ }), +/* 389 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toAbsoluteIndex = __webpack_require__(61); + +var $RangeError = RangeError; +var fromCharCode = String.fromCharCode; +// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing +var $fromCodePoint = String.fromCodePoint; +var join = uncurryThis([].join); + +// length should be 1, old FF problem +var INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length !== 1; + +// `String.fromCodePoint` method +// https://tc39.es/ecma262/#sec-string.fromcodepoint +$({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + fromCodePoint: function fromCodePoint(x) { + var elements = []; + var length = arguments.length; + var i = 0; + var code; + while (length > i) { + code = +arguments[i++]; + if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw new $RangeError(code + ' is not a valid code point'); + elements[i] = code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00); + } return join(elements, ''); + } +}); + + +/***/ }), +/* 390 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var notARegExp = __webpack_require__(387); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(69); +var correctIsRegExpLogic = __webpack_require__(388); + +var stringIndexOf = uncurryThis(''.indexOf); + +// `String.prototype.includes` method +// https://tc39.es/ecma262/#sec-string.prototype.includes +$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { + includes: function includes(searchString /* , position = 0 */) { + return !!~stringIndexOf( + toString(requireObjectCoercible(this)), + toString(notARegExp(searchString)), + arguments.length > 1 ? arguments[1] : undefined + ); + } +}); + + +/***/ }), +/* 391 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(69); + +var charCodeAt = uncurryThis(''.charCodeAt); + +// `String.prototype.isWellFormed` method +// https://github.com/tc39/proposal-is-usv-string +$({ target: 'String', proto: true }, { + isWellFormed: function isWellFormed() { + var S = toString(requireObjectCoercible(this)); + var length = S.length; + for (var i = 0; i < length; i++) { + var charCode = charCodeAt(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) !== 0xD800) continue; + // unpaired surrogate + if (charCode >= 0xDC00 || ++i >= length || (charCodeAt(S, i) & 0xFC00) !== 0xDC00) return false; + } return true; + } +}); + + +/***/ }), +/* 392 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var charAt = __webpack_require__(385).charAt; +var toString = __webpack_require__(69); +var InternalStateModule = __webpack_require__(52); +var defineIterator = __webpack_require__(170); +var createIterResultObject = __webpack_require__(173); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: toString(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return createIterResultObject(undefined, true); + point = charAt(string, index); + state.index += point.length; + return createIterResultObject(point, false); +}); + + +/***/ }), +/* 393 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(394); +var anObject = __webpack_require__(47); +var isNullOrUndefined = __webpack_require__(17); +var toLength = __webpack_require__(65); +var toString = __webpack_require__(69); +var requireObjectCoercible = __webpack_require__(16); +var getMethod = __webpack_require__(30); +var advanceStringIndex = __webpack_require__(395); +var regExpExec = __webpack_require__(396); + +// @@match logic +fixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) { + return [ + // `String.prototype.match` method + // https://tc39.es/ecma262/#sec-string.prototype.match + function match(regexp) { + var O = requireObjectCoercible(this); + var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH); + return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O)); + }, + // `RegExp.prototype[@@match]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@match + function (string) { + var rx = anObject(this); + var S = toString(string); + var res = maybeCallNative(nativeMatch, rx, S); + + if (res.done) return res.value; + + if (!rx.global) return regExpExec(rx, S); + + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + var A = []; + var n = 0; + var result; + while ((result = regExpExec(rx, S)) !== null) { + var matchStr = toString(result[0]); + A[n] = matchStr; + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + n++; + } + return n === 0 ? null : A; + } + ]; +}); + + +/***/ }), +/* 394 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` since it's moved to entry points +__webpack_require__(375); +var uncurryThis = __webpack_require__(87); +var defineBuiltIn = __webpack_require__(48); +var regexpExec = __webpack_require__(376); +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(34); +var createNonEnumerableProperty = __webpack_require__(44); + +var SPECIES = wellKnownSymbol('species'); +var RegExpPrototype = RegExp.prototype; + +module.exports = function (KEY, exec, FORCED, SHAM) { + var SYMBOL = wellKnownSymbol(KEY); + + var DELEGATES_TO_SYMBOL = !fails(function () { + // String methods call symbol-named RegEp methods + var O = {}; + O[SYMBOL] = function () { return 7; }; + return ''[KEY](O) !== 7; + }); + + var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { + // Symbol-named RegExp methods call .exec + var execCalled = false; + var re = /a/; + + if (KEY === 'split') { + // We can't use real regex here since it causes deoptimization + // and serious performance degradation in V8 + // https://github.com/zloirock/core-js/issues/306 + re = {}; + // RegExp[@@split] doesn't call the regex's exec method, but first creates + // a new one. We need to return the patched regex when creating the new one. + re.constructor = {}; + re.constructor[SPECIES] = function () { return re; }; + re.flags = ''; + re[SYMBOL] = /./[SYMBOL]; + } + + re.exec = function () { + execCalled = true; + return null; + }; + + re[SYMBOL](''); + return !execCalled; + }); + + if ( + !DELEGATES_TO_SYMBOL || + !DELEGATES_TO_EXEC || + FORCED + ) { + var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]); + var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { + var uncurriedNativeMethod = uncurryThis(nativeMethod); + var $exec = regexp.exec; + if ($exec === regexpExec || $exec === RegExpPrototype.exec) { + if (DELEGATES_TO_SYMBOL && !forceStringMethod) { + // The native String method already delegates to @@method (this + // polyfilled function), leasing to infinite recursion. + // We avoid it by directly calling the native @@method method. + return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) }; + } + return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) }; + } + return { done: false }; + }); + + defineBuiltIn(String.prototype, KEY, methods[0]); + defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]); + } + + if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true); +}; + + +/***/ }), +/* 395 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var charAt = __webpack_require__(385).charAt; + +// `AdvanceStringIndex` abstract operation +// https://tc39.es/ecma262/#sec-advancestringindex +module.exports = function (S, index, unicode) { + return index + (unicode ? charAt(S, index).length : 1); +}; + + +/***/ }), +/* 396 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var anObject = __webpack_require__(47); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(15); +var regexpExec = __webpack_require__(376); + +var $TypeError = TypeError; + +// `RegExpExec` abstract operation +// https://tc39.es/ecma262/#sec-regexpexec +module.exports = function (R, S) { + var exec = R.exec; + if (isCallable(exec)) { + var result = call(exec, R, S); + if (result !== null) anObject(result); + return result; + } + if (classof(R) === 'RegExp') return call(regexpExec, R, S); + throw new $TypeError('RegExp#exec called on incompatible receiver'); +}; + + +/***/ }), +/* 397 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-string-prototype-matchall -- safe */ +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(87); +var createIteratorConstructor = __webpack_require__(171); +var createIterResultObject = __webpack_require__(173); +var requireObjectCoercible = __webpack_require__(16); +var toLength = __webpack_require__(65); +var toString = __webpack_require__(69); +var anObject = __webpack_require__(47); +var isNullOrUndefined = __webpack_require__(17); +var classof = __webpack_require__(15); +var isRegExp = __webpack_require__(368); +var getRegExpFlags = __webpack_require__(369); +var getMethod = __webpack_require__(30); +var defineBuiltIn = __webpack_require__(48); +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(34); +var speciesConstructor = __webpack_require__(220); +var advanceStringIndex = __webpack_require__(395); +var regExpExec = __webpack_require__(396); +var InternalStateModule = __webpack_require__(52); +var IS_PURE = __webpack_require__(36); + +var MATCH_ALL = wellKnownSymbol('matchAll'); +var REGEXP_STRING = 'RegExp String'; +var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR); +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; +var stringIndexOf = uncurryThis(''.indexOf); +var nativeMatchAll = uncurryThis(''.matchAll); + +var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () { + nativeMatchAll('a', /./); +}); + +var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, $global, fullUnicode) { + setInternalState(this, { + type: REGEXP_STRING_ITERATOR, + regexp: regexp, + string: string, + global: $global, + unicode: fullUnicode, + done: false + }); +}, REGEXP_STRING, function next() { + var state = getInternalState(this); + if (state.done) return createIterResultObject(undefined, true); + var R = state.regexp; + var S = state.string; + var match = regExpExec(R, S); + if (match === null) { + state.done = true; + return createIterResultObject(undefined, true); + } + if (state.global) { + if (toString(match[0]) === '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode); + return createIterResultObject(match, false); + } + state.done = true; + return createIterResultObject(match, false); +}); + +var $matchAll = function (string) { + var R = anObject(this); + var S = toString(string); + var C = speciesConstructor(R, RegExp); + var flags = toString(getRegExpFlags(R)); + var matcher, $global, fullUnicode; + matcher = new C(C === RegExp ? R.source : R, flags); + $global = !!~stringIndexOf(flags, 'g'); + fullUnicode = !!~stringIndexOf(flags, 'u'); + matcher.lastIndex = toLength(R.lastIndex); + return new $RegExpStringIterator(matcher, S, $global, fullUnicode); +}; + +// `String.prototype.matchAll` method +// https://tc39.es/ecma262/#sec-string.prototype.matchall +$({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { + matchAll: function matchAll(regexp) { + var O = requireObjectCoercible(this); + var flags, S, matcher, rx; + if (!isNullOrUndefined(regexp)) { + if (isRegExp(regexp)) { + flags = toString(requireObjectCoercible(getRegExpFlags(regexp))); + if (!~stringIndexOf(flags, 'g')) throw new $TypeError('`.matchAll` does not allow non-global regexes'); + } + if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp); + matcher = getMethod(regexp, MATCH_ALL); + if (matcher === undefined && IS_PURE && classof(regexp) === 'RegExp') matcher = $matchAll; + if (matcher) return call(matcher, regexp, O); + } else if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp); + S = toString(O); + rx = new RegExp(regexp, 'g'); + return IS_PURE ? call($matchAll, rx, S) : rx[MATCH_ALL](S); + } +}); + +IS_PURE || MATCH_ALL in RegExpPrototype || defineBuiltIn(RegExpPrototype, MATCH_ALL, $matchAll); + + +/***/ }), +/* 398 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $padEnd = __webpack_require__(230).end; +var WEBKIT_BUG = __webpack_require__(399); + +// `String.prototype.padEnd` method +// https://tc39.es/ecma262/#sec-string.prototype.padend +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { + return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 399 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/zloirock/core-js/issues/280 +var userAgent = __webpack_require__(29); + +module.exports = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent); + + +/***/ }), +/* 400 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $padStart = __webpack_require__(230).start; +var WEBKIT_BUG = __webpack_require__(399); + +// `String.prototype.padStart` method +// https://tc39.es/ecma262/#sec-string.prototype.padstart +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padStart: function padStart(maxLength /* , fillString = ' ' */) { + return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 401 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIndexedObject = __webpack_require__(12); +var toObject = __webpack_require__(40); +var toString = __webpack_require__(69); +var lengthOfArrayLike = __webpack_require__(64); + +var push = uncurryThis([].push); +var join = uncurryThis([].join); + +// `String.raw` method +// https://tc39.es/ecma262/#sec-string.raw +$({ target: 'String', stat: true }, { + raw: function raw(template) { + var rawTemplate = toIndexedObject(toObject(template).raw); + var literalSegments = lengthOfArrayLike(rawTemplate); + if (!literalSegments) return ''; + var argumentsLength = arguments.length; + var elements = []; + var i = 0; + while (true) { + push(elements, toString(rawTemplate[i++])); + if (i === literalSegments) return join(elements, ''); + if (i < argumentsLength) push(elements, toString(arguments[i])); + } + } +}); + + +/***/ }), +/* 402 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var repeat = __webpack_require__(231); + +// `String.prototype.repeat` method +// https://tc39.es/ecma262/#sec-string.prototype.repeat +$({ target: 'String', proto: true }, { + repeat: repeat +}); + + +/***/ }), +/* 403 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var apply = __webpack_require__(96); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(394); +var fails = __webpack_require__(7); +var anObject = __webpack_require__(47); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var toIntegerOrInfinity = __webpack_require__(62); +var toLength = __webpack_require__(65); +var toString = __webpack_require__(69); +var requireObjectCoercible = __webpack_require__(16); +var advanceStringIndex = __webpack_require__(395); +var getMethod = __webpack_require__(30); +var getSubstitution = __webpack_require__(404); +var regExpExec = __webpack_require__(396); +var wellKnownSymbol = __webpack_require__(34); + +var REPLACE = wellKnownSymbol('replace'); +var max = Math.max; +var min = Math.min; +var concat = uncurryThis([].concat); +var push = uncurryThis([].push); +var stringIndexOf = uncurryThis(''.indexOf); +var stringSlice = uncurryThis(''.slice); + +var maybeToString = function (it) { + return it === undefined ? it : String(it); +}; + +// IE <= 11 replaces $0 with the whole match, as if it was $& +// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 +var REPLACE_KEEPS_$0 = (function () { + // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing + return 'a'.replace(/./, '$0') === '$0'; +})(); + +// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string +var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { + if (/./[REPLACE]) { + return /./[REPLACE]('a', '$0') === ''; + } + return false; +})(); + +var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { + var re = /./; + re.exec = function () { + var result = []; + result.groups = { a: '7' }; + return result; + }; + // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive + return ''.replace(re, '$') !== '7'; +}); + +// @@replace logic +fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) { + var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; + + return [ + // `String.prototype.replace` method + // https://tc39.es/ecma262/#sec-string.prototype.replace + function replace(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE); + return replacer + ? call(replacer, searchValue, O, replaceValue) + : call(nativeReplace, toString(O), searchValue, replaceValue); + }, + // `RegExp.prototype[@@replace]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace + function (string, replaceValue) { + var rx = anObject(this); + var S = toString(string); + + if ( + typeof replaceValue == 'string' && + stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 && + stringIndexOf(replaceValue, '$<') === -1 + ) { + var res = maybeCallNative(nativeReplace, rx, S, replaceValue); + if (res.done) return res.value; + } + + var functionalReplace = isCallable(replaceValue); + if (!functionalReplace) replaceValue = toString(replaceValue); + + var global = rx.global; + var fullUnicode; + if (global) { + fullUnicode = rx.unicode; + rx.lastIndex = 0; + } + + var results = []; + var result; + while (true) { + result = regExpExec(rx, S); + if (result === null) break; + + push(results, result); + if (!global) break; + + var matchStr = toString(result[0]); + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + } + + var accumulatedResult = ''; + var nextSourcePosition = 0; + for (var i = 0; i < results.length; i++) { + result = results[i]; + + var matched = toString(result[0]); + var position = max(min(toIntegerOrInfinity(result.index), S.length), 0); + var captures = []; + var replacement; + // NOTE: This is equivalent to + // captures = result.slice(1).map(maybeToString) + // but for some reason `nativeSlice.call(result, 1, result.length)` (called in + // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and + // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. + for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j])); + var namedCaptures = result.groups; + if (functionalReplace) { + var replacerArgs = concat([matched], captures, position, S); + if (namedCaptures !== undefined) push(replacerArgs, namedCaptures); + replacement = toString(apply(replaceValue, undefined, replacerArgs)); + } else { + replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); + } + if (position >= nextSourcePosition) { + accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement; + nextSourcePosition = position + matched.length; + } + } + + return accumulatedResult + stringSlice(S, nextSourcePosition); + } + ]; +}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE); + + +/***/ }), +/* 404 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(40); + +var floor = Math.floor; +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); +// eslint-disable-next-line redos/no-vulnerable -- safe +var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g; +var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g; + +// `GetSubstitution` abstract operation +// https://tc39.es/ecma262/#sec-getsubstitution +module.exports = function (matched, str, position, captures, namedCaptures, replacement) { + var tailPos = position + matched.length; + var m = captures.length; + var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; + if (namedCaptures !== undefined) { + namedCaptures = toObject(namedCaptures); + symbols = SUBSTITUTION_SYMBOLS; + } + return replace(replacement, symbols, function (match, ch) { + var capture; + switch (charAt(ch, 0)) { + case '$': return '$'; + case '&': return matched; + case '`': return stringSlice(str, 0, position); + case "'": return stringSlice(str, tailPos); + case '<': + capture = namedCaptures[stringSlice(ch, 1, -1)]; + break; + default: // \d\d? + var n = +ch; + if (n === 0) return match; + if (n > m) { + var f = floor(n / 10); + if (f === 0) return match; + if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1); + return match; + } + capture = captures[n - 1]; + } + return capture === undefined ? '' : capture; + }); +}; + + +/***/ }), +/* 405 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var isRegExp = __webpack_require__(368); +var toString = __webpack_require__(69); +var getMethod = __webpack_require__(30); +var getRegExpFlags = __webpack_require__(369); +var getSubstitution = __webpack_require__(404); +var wellKnownSymbol = __webpack_require__(34); +var IS_PURE = __webpack_require__(36); + +var REPLACE = wellKnownSymbol('replace'); +var $TypeError = TypeError; +var indexOf = uncurryThis(''.indexOf); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); +var max = Math.max; + +var stringIndexOf = function (string, searchValue, fromIndex) { + if (fromIndex > string.length) return -1; + if (searchValue === '') return fromIndex; + return indexOf(string, searchValue, fromIndex); +}; + +// `String.prototype.replaceAll` method +// https://tc39.es/ecma262/#sec-string.prototype.replaceall +$({ target: 'String', proto: true }, { + replaceAll: function replaceAll(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement; + var position = 0; + var endOfLastMatch = 0; + var result = ''; + if (!isNullOrUndefined(searchValue)) { + IS_REG_EXP = isRegExp(searchValue); + if (IS_REG_EXP) { + flags = toString(requireObjectCoercible(getRegExpFlags(searchValue))); + if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes'); + } + replacer = getMethod(searchValue, REPLACE); + if (replacer) { + return call(replacer, searchValue, O, replaceValue); + } else if (IS_PURE && IS_REG_EXP) { + return replace(toString(O), searchValue, replaceValue); + } + } + string = toString(O); + searchString = toString(searchValue); + functionalReplace = isCallable(replaceValue); + if (!functionalReplace) replaceValue = toString(replaceValue); + searchLength = searchString.length; + advanceBy = max(1, searchLength); + position = stringIndexOf(string, searchString, 0); + while (position !== -1) { + replacement = functionalReplace + ? toString(replaceValue(searchString, position, string)) + : getSubstitution(searchString, string, position, [], undefined, replaceValue); + result += stringSlice(string, endOfLastMatch, position) + replacement; + endOfLastMatch = position + searchLength; + position = stringIndexOf(string, searchString, position + advanceBy); + } + if (endOfLastMatch < string.length) { + result += stringSlice(string, endOfLastMatch); + } + return result; + } +}); + + +/***/ }), +/* 406 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(394); +var anObject = __webpack_require__(47); +var isNullOrUndefined = __webpack_require__(17); +var requireObjectCoercible = __webpack_require__(16); +var sameValue = __webpack_require__(310); +var toString = __webpack_require__(69); +var getMethod = __webpack_require__(30); +var regExpExec = __webpack_require__(396); + +// @@search logic +fixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) { + return [ + // `String.prototype.search` method + // https://tc39.es/ecma262/#sec-string.prototype.search + function search(regexp) { + var O = requireObjectCoercible(this); + var searcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, SEARCH); + return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O)); + }, + // `RegExp.prototype[@@search]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@search + function (string) { + var rx = anObject(this); + var S = toString(string); + var res = maybeCallNative(nativeSearch, rx, S); + + if (res.done) return res.value; + + var previousLastIndex = rx.lastIndex; + if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; + var result = regExpExec(rx, S); + if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; + return result === null ? -1 : result.index; + } + ]; +}); + + +/***/ }), +/* 407 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var apply = __webpack_require__(96); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(394); +var anObject = __webpack_require__(47); +var isNullOrUndefined = __webpack_require__(17); +var isRegExp = __webpack_require__(368); +var requireObjectCoercible = __webpack_require__(16); +var speciesConstructor = __webpack_require__(220); +var advanceStringIndex = __webpack_require__(395); +var toLength = __webpack_require__(65); +var toString = __webpack_require__(69); +var getMethod = __webpack_require__(30); +var arraySlice = __webpack_require__(77); +var callRegExpExec = __webpack_require__(396); +var regexpExec = __webpack_require__(376); +var stickyHelpers = __webpack_require__(371); +var fails = __webpack_require__(7); + +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; +var MAX_UINT32 = 0xFFFFFFFF; +var min = Math.min; +var $push = [].push; +var exec = uncurryThis(/./.exec); +var push = uncurryThis($push); +var stringSlice = uncurryThis(''.slice); + +// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec +// Weex JS has frozen built-in prototypes, so use try / catch wrapper +var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { + // eslint-disable-next-line regexp/no-empty-group -- required for testing + var re = /(?:)/; + var originalExec = re.exec; + re.exec = function () { return originalExec.apply(this, arguments); }; + var result = 'ab'.split(re); + return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; +}); + +// @@split logic +fixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) { + var internalSplit; + if ( + 'abbc'.split(/(b)*/)[1] === 'c' || + // eslint-disable-next-line regexp/no-empty-group -- required for testing + 'test'.split(/(?:)/, -1).length !== 4 || + 'ab'.split(/(?:ab)*/).length !== 2 || + '.'.split(/(.?)(.?)/).length !== 4 || + // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing + '.'.split(/()()/).length > 1 || + ''.split(/.?/).length + ) { + // based on es5-shim implementation, need to rework it + internalSplit = function (separator, limit) { + var string = toString(requireObjectCoercible(this)); + var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; + if (lim === 0) return []; + if (separator === undefined) return [string]; + // If `separator` is not a regex, use native split + if (!isRegExp(separator)) { + return call(nativeSplit, string, separator, lim); + } + var output = []; + var flags = (separator.ignoreCase ? 'i' : '') + + (separator.multiline ? 'm' : '') + + (separator.unicode ? 'u' : '') + + (separator.sticky ? 'y' : ''); + var lastLastIndex = 0; + // Make `global` and avoid `lastIndex` issues by working with a copy + var separatorCopy = new RegExp(separator.source, flags + 'g'); + var match, lastIndex, lastLength; + while (match = call(regexpExec, separatorCopy, string)) { + lastIndex = separatorCopy.lastIndex; + if (lastIndex > lastLastIndex) { + push(output, stringSlice(string, lastLastIndex, match.index)); + if (match.length > 1 && match.index < string.length) apply($push, output, arraySlice(match, 1)); + lastLength = match[0].length; + lastLastIndex = lastIndex; + if (output.length >= lim) break; + } + if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop + } + if (lastLastIndex === string.length) { + if (lastLength || !exec(separatorCopy, '')) push(output, ''); + } else push(output, stringSlice(string, lastLastIndex)); + return output.length > lim ? arraySlice(output, 0, lim) : output; + }; + // Chakra, V8 + } else if ('0'.split(undefined, 0).length) { + internalSplit = function (separator, limit) { + return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit); + }; + } else internalSplit = nativeSplit; + + return [ + // `String.prototype.split` method + // https://tc39.es/ecma262/#sec-string.prototype.split + function split(separator, limit) { + var O = requireObjectCoercible(this); + var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT); + return splitter + ? call(splitter, separator, O, limit) + : call(internalSplit, toString(O), separator, limit); + }, + // `RegExp.prototype[@@split]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@split + // + // NOTE: This cannot be properly polyfilled in engines that don't support + // the 'y' flag. + function (string, limit) { + var rx = anObject(this); + var S = toString(string); + var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit); + + if (res.done) return res.value; + + var C = speciesConstructor(rx, RegExp); + + var unicodeMatching = rx.unicode; + var flags = (rx.ignoreCase ? 'i' : '') + + (rx.multiline ? 'm' : '') + + (rx.unicode ? 'u' : '') + + (UNSUPPORTED_Y ? 'g' : 'y'); + + // ^(? + rx + ) is needed, in combination with some S slicing, to + // simulate the 'y' flag. + var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags); + var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; + if (lim === 0) return []; + if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; + var p = 0; + var q = 0; + var A = []; + while (q < S.length) { + splitter.lastIndex = UNSUPPORTED_Y ? 0 : q; + var z = callRegExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S); + var e; + if ( + z === null || + (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p + ) { + q = advanceStringIndex(S, q, unicodeMatching); + } else { + push(A, stringSlice(S, p, q)); + if (A.length === lim) return A; + for (var i = 1; i <= z.length - 1; i++) { + push(A, z[i]); + if (A.length === lim) return A; + } + q = p = e; + } + } + push(A, stringSlice(S, p)); + return A; + } + ]; +}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y); + + +/***/ }), +/* 408 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(87); +var getOwnPropertyDescriptor = __webpack_require__(5).f; +var toLength = __webpack_require__(65); +var toString = __webpack_require__(69); +var notARegExp = __webpack_require__(387); +var requireObjectCoercible = __webpack_require__(16); +var correctIsRegExpLogic = __webpack_require__(388); +var IS_PURE = __webpack_require__(36); + +// eslint-disable-next-line es/no-string-prototype-startswith -- safe +var nativeStartsWith = uncurryThis(''.startsWith); +var stringSlice = uncurryThis(''.slice); +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.startsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.startswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = toString(searchString); + return nativeStartsWith + ? nativeStartsWith(that, search, index) + : stringSlice(that, index, index + search.length) === search; + } +}); + + +/***/ }), +/* 409 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toIntegerOrInfinity = __webpack_require__(62); +var toString = __webpack_require__(69); + +var stringSlice = uncurryThis(''.slice); +var max = Math.max; +var min = Math.min; + +// eslint-disable-next-line unicorn/prefer-string-slice -- required for testing +var FORCED = !''.substr || 'ab'.substr(-1) !== 'b'; + +// `String.prototype.substr` method +// https://tc39.es/ecma262/#sec-string.prototype.substr +$({ target: 'String', proto: true, forced: FORCED }, { + substr: function substr(start, length) { + var that = toString(requireObjectCoercible(this)); + var size = that.length; + var intStart = toIntegerOrInfinity(start); + var intLength, intEnd; + if (intStart === Infinity) intStart = 0; + if (intStart < 0) intStart = max(size + intStart, 0); + intLength = length === undefined ? size : toIntegerOrInfinity(length); + if (intLength <= 0 || intLength === Infinity) return ''; + intEnd = min(intStart + intLength, size); + return intStart >= intEnd ? '' : stringSlice(that, intStart, intEnd); + } +}); + + +/***/ }), +/* 410 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(69); +var fails = __webpack_require__(7); + +var $Array = Array; +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var join = uncurryThis([].join); +// eslint-disable-next-line es/no-string-prototype-iswellformed-towellformed -- safe +var $toWellFormed = ''.toWellFormed; +var REPLACEMENT_CHARACTER = '\uFFFD'; + +// Safari bug +var TO_STRING_CONVERSION_BUG = $toWellFormed && fails(function () { + return call($toWellFormed, 1) !== '1'; +}); + +// `String.prototype.toWellFormed` method +// https://github.com/tc39/proposal-is-usv-string +$({ target: 'String', proto: true, forced: TO_STRING_CONVERSION_BUG }, { + toWellFormed: function toWellFormed() { + var S = toString(requireObjectCoercible(this)); + if (TO_STRING_CONVERSION_BUG) return call($toWellFormed, S); + var length = S.length; + var result = $Array(length); + for (var i = 0; i < length; i++) { + var charCode = charCodeAt(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) !== 0xD800) result[i] = charAt(S, i); + // unpaired surrogate + else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt(S, i + 1) & 0xFC00) !== 0xDC00) result[i] = REPLACEMENT_CHARACTER; + // surrogate pair + else { + result[i] = charAt(S, i); + result[++i] = charAt(S, i); + } + } return join(result, ''); + } +}); + + +/***/ }), +/* 411 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $trim = __webpack_require__(274).trim; +var forcedStringTrimMethod = __webpack_require__(412); + +// `String.prototype.trim` method +// https://tc39.es/ecma262/#sec-string.prototype.trim +$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, { + trim: function trim() { + return $trim(this); + } +}); + + +/***/ }), +/* 412 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var PROPER_FUNCTION_NAME = __webpack_require__(50).PROPER; +var fails = __webpack_require__(7); +var whitespaces = __webpack_require__(275); + +var non = '\u200B\u0085\u180E'; + +// check that a method works with the correct list +// of whitespaces and has a correct name +module.exports = function (METHOD_NAME) { + return fails(function () { + return !!whitespaces[METHOD_NAME]() + || non[METHOD_NAME]() !== non + || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME); + }); +}; + + +/***/ }), +/* 413 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove this line from `core-js@4` +__webpack_require__(414); +var $ = __webpack_require__(3); +var trimEnd = __webpack_require__(415); + +// `String.prototype.trimEnd` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimEnd !== trimEnd }, { + trimEnd: trimEnd +}); + + +/***/ }), +/* 414 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var trimEnd = __webpack_require__(415); + +// `String.prototype.trimRight` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe +$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimRight !== trimEnd }, { + trimRight: trimEnd +}); + + +/***/ }), +/* 415 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $trimEnd = __webpack_require__(274).end; +var forcedStringTrimMethod = __webpack_require__(412); + +// `String.prototype.{ trimEnd, trimRight }` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// https://tc39.es/ecma262/#String.prototype.trimright +module.exports = forcedStringTrimMethod('trimEnd') ? function trimEnd() { + return $trimEnd(this); +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +} : ''.trimEnd; + + +/***/ }), +/* 416 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove this line from `core-js@4` +__webpack_require__(417); +var $ = __webpack_require__(3); +var trimStart = __webpack_require__(418); + +// `String.prototype.trimStart` method +// https://tc39.es/ecma262/#sec-string.prototype.trimstart +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimStart !== trimStart }, { + trimStart: trimStart +}); + + +/***/ }), +/* 417 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var trimStart = __webpack_require__(418); + +// `String.prototype.trimLeft` method +// https://tc39.es/ecma262/#sec-string.prototype.trimleft +// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe +$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimLeft !== trimStart }, { + trimLeft: trimStart +}); + + +/***/ }), +/* 418 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $trimStart = __webpack_require__(274).start; +var forcedStringTrimMethod = __webpack_require__(412); + +// `String.prototype.{ trimStart, trimLeft }` method +// https://tc39.es/ecma262/#sec-string.prototype.trimstart +// https://tc39.es/ecma262/#String.prototype.trimleft +module.exports = forcedStringTrimMethod('trimStart') ? function trimStart() { + return $trimStart(this); +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +} : ''.trimStart; + + +/***/ }), +/* 419 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(420); +var forcedStringHTMLMethod = __webpack_require__(421); + +// `String.prototype.anchor` method +// https://tc39.es/ecma262/#sec-string.prototype.anchor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, { + anchor: function anchor(name) { + return createHTML(this, 'a', 'name', name); + } +}); + + +/***/ }), +/* 420 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(69); + +var quot = /"/g; +var replace = uncurryThis(''.replace); + +// `CreateHTML` abstract operation +// https://tc39.es/ecma262/#sec-createhtml +module.exports = function (string, tag, attribute, value) { + var S = toString(requireObjectCoercible(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + replace(toString(value), quot, '"') + '"'; + return p1 + '>' + S + ''; +}; + + +/***/ }), +/* 421 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(7); + +// check the existence of a method, lowercase +// of a tag and escaping quotes in arguments +module.exports = function (METHOD_NAME) { + return fails(function () { + var test = ''[METHOD_NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }); +}; + + +/***/ }), +/* 422 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(420); +var forcedStringHTMLMethod = __webpack_require__(421); + +// `String.prototype.big` method +// https://tc39.es/ecma262/#sec-string.prototype.big +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, { + big: function big() { + return createHTML(this, 'big', '', ''); + } +}); + + +/***/ }), +/* 423 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(420); +var forcedStringHTMLMethod = __webpack_require__(421); + +// `String.prototype.blink` method +// https://tc39.es/ecma262/#sec-string.prototype.blink +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, { + blink: function blink() { + return createHTML(this, 'blink', '', ''); + } +}); + + +/***/ }), +/* 424 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(420); +var forcedStringHTMLMethod = __webpack_require__(421); + +// `String.prototype.bold` method +// https://tc39.es/ecma262/#sec-string.prototype.bold +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, { + bold: function bold() { + return createHTML(this, 'b', '', ''); + } +}); + + +/***/ }), +/* 425 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(420); +var forcedStringHTMLMethod = __webpack_require__(421); + +// `String.prototype.fixed` method +// https://tc39.es/ecma262/#sec-string.prototype.fixed +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, { + fixed: function fixed() { + return createHTML(this, 'tt', '', ''); + } +}); + + +/***/ }), +/* 426 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(420); +var forcedStringHTMLMethod = __webpack_require__(421); + +// `String.prototype.fontcolor` method +// https://tc39.es/ecma262/#sec-string.prototype.fontcolor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, { + fontcolor: function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + } +}); + + +/***/ }), +/* 427 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(420); +var forcedStringHTMLMethod = __webpack_require__(421); + +// `String.prototype.fontsize` method +// https://tc39.es/ecma262/#sec-string.prototype.fontsize +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, { + fontsize: function fontsize(size) { + return createHTML(this, 'font', 'size', size); + } +}); + + +/***/ }), +/* 428 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(420); +var forcedStringHTMLMethod = __webpack_require__(421); + +// `String.prototype.italics` method +// https://tc39.es/ecma262/#sec-string.prototype.italics +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, { + italics: function italics() { + return createHTML(this, 'i', '', ''); + } +}); + + +/***/ }), +/* 429 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(420); +var forcedStringHTMLMethod = __webpack_require__(421); + +// `String.prototype.link` method +// https://tc39.es/ecma262/#sec-string.prototype.link +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, { + link: function link(url) { + return createHTML(this, 'a', 'href', url); + } +}); + + +/***/ }), +/* 430 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(420); +var forcedStringHTMLMethod = __webpack_require__(421); + +// `String.prototype.small` method +// https://tc39.es/ecma262/#sec-string.prototype.small +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, { + small: function small() { + return createHTML(this, 'small', '', ''); + } +}); + + +/***/ }), +/* 431 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(420); +var forcedStringHTMLMethod = __webpack_require__(421); + +// `String.prototype.strike` method +// https://tc39.es/ecma262/#sec-string.prototype.strike +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, { + strike: function strike() { + return createHTML(this, 'strike', '', ''); + } +}); + + +/***/ }), +/* 432 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(420); +var forcedStringHTMLMethod = __webpack_require__(421); + +// `String.prototype.sub` method +// https://tc39.es/ecma262/#sec-string.prototype.sub +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, { + sub: function sub() { + return createHTML(this, 'sub', '', ''); + } +}); + + +/***/ }), +/* 433 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(420); +var forcedStringHTMLMethod = __webpack_require__(421); + +// `String.prototype.sup` method +// https://tc39.es/ecma262/#sec-string.prototype.sup +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, { + sup: function sup() { + return createHTML(this, 'sup', '', ''); + } +}); + + +/***/ }), +/* 434 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var createTypedArrayConstructor = __webpack_require__(435); + +// `Float32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float32', function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 435 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var call = __webpack_require__(8); +var DESCRIPTORS = __webpack_require__(6); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(436); +var ArrayBufferViewCore = __webpack_require__(218); +var ArrayBufferModule = __webpack_require__(208); +var anInstance = __webpack_require__(211); +var createPropertyDescriptor = __webpack_require__(11); +var createNonEnumerableProperty = __webpack_require__(44); +var isIntegralNumber = __webpack_require__(280); +var toLength = __webpack_require__(65); +var toIndex = __webpack_require__(212); +var toOffset = __webpack_require__(437); +var toUint8Clamped = __webpack_require__(439); +var toPropertyKey = __webpack_require__(18); +var hasOwn = __webpack_require__(39); +var classof = __webpack_require__(70); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(23); +var create = __webpack_require__(72); +var isPrototypeOf = __webpack_require__(25); +var setPrototypeOf = __webpack_require__(116); +var getOwnPropertyNames = __webpack_require__(58).f; +var typedArrayFrom = __webpack_require__(440); +var forEach = __webpack_require__(85).forEach; +var setSpecies = __webpack_require__(194); +var defineBuiltInAccessor = __webpack_require__(79); +var definePropertyModule = __webpack_require__(45); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var InternalStateModule = __webpack_require__(52); +var inheritIfRequired = __webpack_require__(120); + +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; +var enforceInternalState = InternalStateModule.enforce; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var RangeError = global.RangeError; +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataView = ArrayBufferModule.DataView; +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; +var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG; +var TypedArray = ArrayBufferViewCore.TypedArray; +var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype; +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var isTypedArray = ArrayBufferViewCore.isTypedArray; +var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; +var WRONG_LENGTH = 'Wrong length'; + +var fromList = function (C, list) { + aTypedArrayConstructor(C); + var index = 0; + var length = list.length; + var result = new C(length); + while (length > index) result[index] = list[index++]; + return result; +}; + +var addGetter = function (it, key) { + defineBuiltInAccessor(it, key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); +}; + +var isArrayBuffer = function (it) { + var klass; + return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) === 'ArrayBuffer' || klass === 'SharedArrayBuffer'; +}; + +var isTypedArrayIndex = function (target, key) { + return isTypedArray(target) + && !isSymbol(key) + && key in target + && isIntegralNumber(+key) + && key >= 0; +}; + +var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) { + key = toPropertyKey(key); + return isTypedArrayIndex(target, key) + ? createPropertyDescriptor(2, target[key]) + : nativeGetOwnPropertyDescriptor(target, key); +}; + +var wrappedDefineProperty = function defineProperty(target, key, descriptor) { + key = toPropertyKey(key); + if (isTypedArrayIndex(target, key) + && isObject(descriptor) + && hasOwn(descriptor, 'value') + && !hasOwn(descriptor, 'get') + && !hasOwn(descriptor, 'set') + // TODO: add validation descriptor w/o calling accessors + && !descriptor.configurable + && (!hasOwn(descriptor, 'writable') || descriptor.writable) + && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable) + ) { + target[key] = descriptor.value; + return target; + } return nativeDefineProperty(target, key, descriptor); +}; + +if (DESCRIPTORS) { + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor; + definePropertyModule.f = wrappedDefineProperty; + addGetter(TypedArrayPrototype, 'buffer'); + addGetter(TypedArrayPrototype, 'byteOffset'); + addGetter(TypedArrayPrototype, 'byteLength'); + addGetter(TypedArrayPrototype, 'length'); + } + + $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor, + defineProperty: wrappedDefineProperty + }); + + module.exports = function (TYPE, wrapper, CLAMPED) { + var BYTES = TYPE.match(/\d+/)[0] / 8; + var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + TYPE; + var SETTER = 'set' + TYPE; + var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME]; + var TypedArrayConstructor = NativeTypedArrayConstructor; + var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype; + var exported = {}; + + var getter = function (that, index) { + var data = getInternalState(that); + return data.view[GETTER](index * BYTES + data.byteOffset, true); + }; + + var setter = function (that, index, value) { + var data = getInternalState(that); + data.view[SETTER](index * BYTES + data.byteOffset, CLAMPED ? toUint8Clamped(value) : value, true); + }; + + var addElement = function (that, index) { + nativeDefineProperty(that, index, { + get: function () { + return getter(this, index); + }, + set: function (value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + TypedArrayConstructor = wrapper(function (that, data, offset, $length) { + anInstance(that, TypedArrayConstructorPrototype); + var index = 0; + var byteOffset = 0; + var buffer, byteLength, length; + if (!isObject(data)) { + length = toIndex(data); + byteLength = length * BYTES; + buffer = new ArrayBuffer(byteLength); + } else if (isArrayBuffer(data)) { + buffer = data; + byteOffset = toOffset(offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw new RangeError(WRONG_LENGTH); + byteLength = $len - byteOffset; + if (byteLength < 0) throw new RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + byteOffset > $len) throw new RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (isTypedArray(data)) { + return fromList(TypedArrayConstructor, data); + } else { + return call(typedArrayFrom, TypedArrayConstructor, data); + } + setInternalState(that, { + buffer: buffer, + byteOffset: byteOffset, + byteLength: byteLength, + length: length, + view: new DataView(buffer) + }); + while (index < length) addElement(that, index++); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype); + } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) { + TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) { + anInstance(dummy, TypedArrayConstructorPrototype); + return inheritIfRequired(function () { + if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data)); + if (isArrayBuffer(data)) return $length !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) + : typedArrayOffset !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES)) + : new NativeTypedArrayConstructor(data); + if (isTypedArray(data)) return fromList(TypedArrayConstructor, data); + return call(typedArrayFrom, TypedArrayConstructor, data); + }(), dummy, TypedArrayConstructor); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) { + if (!(key in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]); + } + }); + TypedArrayConstructor.prototype = TypedArrayConstructorPrototype; + } + + if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor); + } + + enforceInternalState(TypedArrayConstructorPrototype).TypedArrayConstructor = TypedArrayConstructor; + + if (TYPED_ARRAY_TAG) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); + } + + var FORCED = TypedArrayConstructor !== NativeTypedArrayConstructor; + + exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; + + $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported); + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); + } + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES); + } + + setSpecies(CONSTRUCTOR_NAME); + }; +} else module.exports = function () { /* empty */ }; + + +/***/ }), +/* 436 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable no-new -- required for testing */ +var global = __webpack_require__(4); +var fails = __webpack_require__(7); +var checkCorrectnessOfIteration = __webpack_require__(165); +var NATIVE_ARRAY_BUFFER_VIEWS = __webpack_require__(218).NATIVE_ARRAY_BUFFER_VIEWS; + +var ArrayBuffer = global.ArrayBuffer; +var Int8Array = global.Int8Array; + +module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { + Int8Array(1); +}) || !fails(function () { + new Int8Array(-1); +}) || !checkCorrectnessOfIteration(function (iterable) { + new Int8Array(); + new Int8Array(null); + new Int8Array(1.5); + new Int8Array(iterable); +}, true) || fails(function () { + // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill + return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1; +}); + + +/***/ }), +/* 437 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toPositiveInteger = __webpack_require__(438); + +var $RangeError = RangeError; + +module.exports = function (it, BYTES) { + var offset = toPositiveInteger(it); + if (offset % BYTES) throw new $RangeError('Wrong offset'); + return offset; +}; + + +/***/ }), +/* 438 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIntegerOrInfinity = __webpack_require__(62); + +var $RangeError = RangeError; + +module.exports = function (it) { + var result = toIntegerOrInfinity(it); + if (result < 0) throw new $RangeError("The argument can't be less than 0"); + return result; +}; + + +/***/ }), +/* 439 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var round = Math.round; + +module.exports = function (it) { + var value = round(it); + return value < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF; +}; + + +/***/ }), +/* 440 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var bind = __webpack_require__(86); +var call = __webpack_require__(8); +var aConstructor = __webpack_require__(221); +var toObject = __webpack_require__(40); +var lengthOfArrayLike = __webpack_require__(64); +var getIterator = __webpack_require__(135); +var getIteratorMethod = __webpack_require__(136); +var isArrayIteratorMethod = __webpack_require__(133); +var isBigIntArray = __webpack_require__(441); +var aTypedArrayConstructor = __webpack_require__(218).aTypedArrayConstructor; +var toBigInt = __webpack_require__(442); + +module.exports = function from(source /* , mapfn, thisArg */) { + var C = aConstructor(this); + var O = toObject(source); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iteratorMethod = getIteratorMethod(O); + var i, length, result, thisIsBigIntArray, value, step, iterator, next; + if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) { + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + O = []; + while (!(step = call(next, iterator)).done) { + O.push(step.value); + } + } + if (mapping && argumentsLength > 2) { + mapfn = bind(mapfn, arguments[2]); + } + length = lengthOfArrayLike(O); + result = new (aTypedArrayConstructor(C))(length); + thisIsBigIntArray = isBigIntArray(result); + for (i = 0; length > i; i++) { + value = mapping ? mapfn(O[i], i) : O[i]; + // FF30- typed arrays doesn't properly convert objects to typed array values + result[i] = thisIsBigIntArray ? toBigInt(value) : +value; + } + return result; +}; + + +/***/ }), +/* 441 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var classof = __webpack_require__(70); + +module.exports = function (it) { + var klass = classof(it); + return klass === 'BigInt64Array' || klass === 'BigUint64Array'; +}; + + +/***/ }), +/* 442 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toPrimitive = __webpack_require__(19); + +var $TypeError = TypeError; + +// `ToBigInt` abstract operation +// https://tc39.es/ecma262/#sec-tobigint +module.exports = function (argument) { + var prim = toPrimitive(argument, 'number'); + if (typeof prim == 'number') throw new $TypeError("Can't convert number to bigint"); + // eslint-disable-next-line es/no-bigint -- safe + return BigInt(prim); +}; + + +/***/ }), +/* 443 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var createTypedArrayConstructor = __webpack_require__(435); + +// `Float64Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float64', function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 444 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var createTypedArrayConstructor = __webpack_require__(435); + +// `Int8Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int8', function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 445 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var createTypedArrayConstructor = __webpack_require__(435); + +// `Int16Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int16', function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 446 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var createTypedArrayConstructor = __webpack_require__(435); + +// `Int32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int32', function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 447 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var createTypedArrayConstructor = __webpack_require__(435); + +// `Uint8Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 448 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var createTypedArrayConstructor = __webpack_require__(435); + +// `Uint8ClampedArray` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}, true); + + +/***/ }), +/* 449 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var createTypedArrayConstructor = __webpack_require__(435); + +// `Uint16Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint16', function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 450 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var createTypedArrayConstructor = __webpack_require__(435); + +// `Uint32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint32', function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 451 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var lengthOfArrayLike = __webpack_require__(64); +var toIntegerOrInfinity = __webpack_require__(62); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.at` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.at +exportTypedArrayMethod('at', function at(index) { + var O = aTypedArray(this); + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : O[k]; +}); + + +/***/ }), +/* 452 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var ArrayBufferViewCore = __webpack_require__(218); +var $ArrayCopyWithin = __webpack_require__(145); + +var u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.copyWithin` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin +exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) { + return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined); +}); + + +/***/ }), +/* 453 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var $every = __webpack_require__(85).every; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.every` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every +exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) { + return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 454 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var $fill = __webpack_require__(150); +var toBigInt = __webpack_require__(442); +var classof = __webpack_require__(70); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var slice = uncurryThis(''.slice); + +// V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18 +var CONVERSION_BUG = fails(function () { + var count = 0; + // eslint-disable-next-line es/no-typed-arrays -- safe + new Int8Array(2).fill({ valueOf: function () { return count++; } }); + return count !== 1; +}); + +// `%TypedArray%.prototype.fill` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill +exportTypedArrayMethod('fill', function fill(value /* , start, end */) { + var length = arguments.length; + aTypedArray(this); + var actualValue = slice(classof(this), 0, 3) === 'Big' ? toBigInt(value) : +value; + return call($fill, this, actualValue, length > 1 ? arguments[1] : undefined, length > 2 ? arguments[2] : undefined); +}, CONVERSION_BUG); + + +/***/ }), +/* 455 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var $filter = __webpack_require__(85).filter; +var fromSpeciesAndList = __webpack_require__(456); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.filter` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter +exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) { + var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return fromSpeciesAndList(this, list); +}); + + +/***/ }), +/* 456 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var arrayFromConstructorAndList = __webpack_require__(199); +var typedArraySpeciesConstructor = __webpack_require__(457); + +module.exports = function (instance, list) { + return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list); +}; + + +/***/ }), +/* 457 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var speciesConstructor = __webpack_require__(220); + +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; + +// a part of `TypedArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#typedarray-species-create +module.exports = function (originalArray) { + return aTypedArrayConstructor(speciesConstructor(originalArray, getTypedArrayConstructor(originalArray))); +}; + + +/***/ }), +/* 458 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var $find = __webpack_require__(85).find; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.find` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find +exportTypedArrayMethod('find', function find(predicate /* , thisArg */) { + return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 459 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var $findIndex = __webpack_require__(85).findIndex; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex +exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { + return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 460 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var $findLast = __webpack_require__(155).findLast; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLast` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlast +exportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) { + return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 461 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var $findLastIndex = __webpack_require__(155).findLastIndex; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex +exportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) { + return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 462 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var $forEach = __webpack_require__(85).forEach; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.forEach` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach +exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) { + $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 463 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(436); +var exportTypedArrayStaticMethod = __webpack_require__(218).exportTypedArrayStaticMethod; +var typedArrayFrom = __webpack_require__(440); + +// `%TypedArray%.from` method +// https://tc39.es/ecma262/#sec-%typedarray%.from +exportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + + +/***/ }), +/* 464 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var $includes = __webpack_require__(60).includes; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.includes` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes +exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) { + return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 465 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var $indexOf = __webpack_require__(60).indexOf; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof +exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) { + return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 466 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var ArrayBufferViewCore = __webpack_require__(218); +var ArrayIterators = __webpack_require__(169); +var wellKnownSymbol = __webpack_require__(34); + +var ITERATOR = wellKnownSymbol('iterator'); +var Uint8Array = global.Uint8Array; +var arrayValues = uncurryThis(ArrayIterators.values); +var arrayKeys = uncurryThis(ArrayIterators.keys); +var arrayEntries = uncurryThis(ArrayIterators.entries); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var TypedArrayPrototype = Uint8Array && Uint8Array.prototype; + +var GENERIC = !fails(function () { + TypedArrayPrototype[ITERATOR].call([1]); +}); + +var ITERATOR_IS_VALUES = !!TypedArrayPrototype + && TypedArrayPrototype.values + && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values + && TypedArrayPrototype.values.name === 'values'; + +var typedArrayValues = function values() { + return arrayValues(aTypedArray(this)); +}; + +// `%TypedArray%.prototype.entries` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries +exportTypedArrayMethod('entries', function entries() { + return arrayEntries(aTypedArray(this)); +}, GENERIC); +// `%TypedArray%.prototype.keys` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys +exportTypedArrayMethod('keys', function keys() { + return arrayKeys(aTypedArray(this)); +}, GENERIC); +// `%TypedArray%.prototype.values` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values +exportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); +// `%TypedArray%.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator +exportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); + + +/***/ }), +/* 467 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var uncurryThis = __webpack_require__(14); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $join = uncurryThis([].join); + +// `%TypedArray%.prototype.join` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join +exportTypedArrayMethod('join', function join(separator) { + return $join(aTypedArray(this), separator); +}); + + +/***/ }), +/* 468 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var apply = __webpack_require__(96); +var $lastIndexOf = __webpack_require__(176); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.lastIndexOf` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof +exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { + var length = arguments.length; + return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]); +}); + + +/***/ }), +/* 469 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var $map = __webpack_require__(85).map; +var typedArraySpeciesConstructor = __webpack_require__(457); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.map` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map +exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) { + return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { + return new (typedArraySpeciesConstructor(O))(length); + }); +}); + + +/***/ }), +/* 470 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(436); + +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod; + +// `%TypedArray%.of` method +// https://tc39.es/ecma262/#sec-%typedarray%.of +exportTypedArrayStaticMethod('of', function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = new (aTypedArrayConstructor(this))(length); + while (length > index) result[index] = arguments[index++]; + return result; +}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + + +/***/ }), +/* 471 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var $reduce = __webpack_require__(182).left; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduce` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce +exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 472 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var $reduceRight = __webpack_require__(182).right; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduceRight` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright +exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 473 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var floor = Math.floor; + +// `%TypedArray%.prototype.reverse` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse +exportTypedArrayMethod('reverse', function reverse() { + var that = this; + var length = aTypedArray(that).length; + var middle = floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + } return that; +}); + + +/***/ }), +/* 474 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var call = __webpack_require__(8); +var ArrayBufferViewCore = __webpack_require__(218); +var lengthOfArrayLike = __webpack_require__(64); +var toOffset = __webpack_require__(437); +var toIndexedObject = __webpack_require__(40); +var fails = __webpack_require__(7); + +var RangeError = global.RangeError; +var Int8Array = global.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + var array = new Uint8ClampedArray(2); + call($set, array, { length: 1, 0: 3 }, 1); + return array[1] !== 3; +}); + +// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other +var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { + var array = new Int8Array(2); + array.set(1); + array.set('2', 1); + return array[0] !== 0 || array[1] !== 2; +}); + +// `%TypedArray%.prototype.set` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set +exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var src = toIndexedObject(arrayLike); + if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset); + var length = this.length; + var len = lengthOfArrayLike(src); + var index = 0; + if (len + offset > length) throw new RangeError('Wrong length'); + while (index < len) this[offset + index] = src[index++]; +}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + + +/***/ }), +/* 475 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var typedArraySpeciesConstructor = __webpack_require__(457); +var fails = __webpack_require__(7); +var arraySlice = __webpack_require__(97); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + new Int8Array(1).slice(); +}); + +// `%TypedArray%.prototype.slice` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice +exportTypedArrayMethod('slice', function slice(start, end) { + var list = arraySlice(aTypedArray(this), start, end); + var C = typedArraySpeciesConstructor(this); + var index = 0; + var length = list.length; + var result = new C(length); + while (length > index) result[index] = list[index++]; + return result; +}, FORCED); + + +/***/ }), +/* 476 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var $some = __webpack_require__(85).some; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.some` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some +exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) { + return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 477 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var uncurryThis = __webpack_require__(87); +var fails = __webpack_require__(7); +var aCallable = __webpack_require__(31); +var internalSort = __webpack_require__(189); +var ArrayBufferViewCore = __webpack_require__(218); +var FF = __webpack_require__(190); +var IE_OR_EDGE = __webpack_require__(191); +var V8 = __webpack_require__(28); +var WEBKIT = __webpack_require__(192); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var Uint16Array = global.Uint16Array; +var nativeSort = Uint16Array && uncurryThis(Uint16Array.prototype.sort); + +// WebKit +var ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () { + nativeSort(new Uint16Array(2), null); +}) && fails(function () { + nativeSort(new Uint16Array(2), {}); +})); + +var STABLE_SORT = !!nativeSort && !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 74; + if (FF) return FF < 67; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 602; + + var array = new Uint16Array(516); + var expected = Array(516); + var index, mod; + + for (index = 0; index < 516; index++) { + mod = index % 4; + array[index] = 515 - index; + expected[index] = index - 2 * mod + 3; + } + + nativeSort(array, function (a, b) { + return (a / 4 | 0) - (b / 4 | 0); + }); + + for (index = 0; index < 516; index++) { + if (array[index] !== expected[index]) return true; + } +}); + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (comparefn !== undefined) return +comparefn(x, y) || 0; + // eslint-disable-next-line no-self-compare -- NaN check + if (y !== y) return -1; + // eslint-disable-next-line no-self-compare -- NaN check + if (x !== x) return 1; + if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1; + return x > y; + }; +}; + +// `%TypedArray%.prototype.sort` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort +exportTypedArrayMethod('sort', function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + if (STABLE_SORT) return nativeSort(this, comparefn); + + return internalSort(aTypedArray(this), getSortCompare(comparefn)); +}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS); + + +/***/ }), +/* 478 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var toLength = __webpack_require__(65); +var toAbsoluteIndex = __webpack_require__(61); +var typedArraySpeciesConstructor = __webpack_require__(457); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.subarray` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray +exportTypedArrayMethod('subarray', function subarray(begin, end) { + var O = aTypedArray(this); + var length = O.length; + var beginIndex = toAbsoluteIndex(begin, length); + var C = typedArraySpeciesConstructor(O); + return new C( + O.buffer, + O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex) + ); +}); + + +/***/ }), +/* 479 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var apply = __webpack_require__(96); +var ArrayBufferViewCore = __webpack_require__(218); +var fails = __webpack_require__(7); +var arraySlice = __webpack_require__(97); + +var Int8Array = global.Int8Array; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $toLocaleString = [].toLocaleString; + +// iOS Safari 6.x fails here +var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () { + $toLocaleString.call(new Int8Array(1)); +}); + +var FORCED = fails(function () { + return [1, 2].toLocaleString() !== new Int8Array([1, 2]).toLocaleString(); +}) || !fails(function () { + Int8Array.prototype.toLocaleString.call([1, 2]); +}); + +// `%TypedArray%.prototype.toLocaleString` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring +exportTypedArrayMethod('toLocaleString', function toLocaleString() { + return apply( + $toLocaleString, + TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this), + arraySlice(arguments) + ); +}, FORCED); + + +/***/ }), +/* 480 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var arrayToReversed = __webpack_require__(197); +var ArrayBufferViewCore = __webpack_require__(218); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; + +// `%TypedArray%.prototype.toReversed` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed +exportTypedArrayMethod('toReversed', function toReversed() { + return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this)); +}); + + +/***/ }), +/* 481 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(31); +var arrayFromConstructorAndList = __webpack_require__(199); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort); + +// `%TypedArray%.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted +exportTypedArrayMethod('toSorted', function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = aTypedArray(this); + var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O); + return sort(A, compareFn); +}); + + +/***/ }), +/* 482 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var exportTypedArrayMethod = __webpack_require__(218).exportTypedArrayMethod; +var fails = __webpack_require__(7); +var global = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); + +var Uint8Array = global.Uint8Array; +var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {}; +var arrayToString = [].toString; +var join = uncurryThis([].join); + +if (fails(function () { arrayToString.call({}); })) { + arrayToString = function toString() { + return join(this); + }; +} + +var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString !== arrayToString; + +// `%TypedArray%.prototype.toString` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring +exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD); + + +/***/ }), +/* 483 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var arrayWith = __webpack_require__(206); +var ArrayBufferViewCore = __webpack_require__(218); +var isBigIntArray = __webpack_require__(441); +var toIntegerOrInfinity = __webpack_require__(62); +var toBigInt = __webpack_require__(442); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var PROPER_ORDER = !!function () { + try { + // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing + new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } }); + } catch (error) { + // some early implementations, like WebKit, does not follow the final semantic + // https://github.com/tc39/proposal-change-array-by-copy/pull/86 + return error === 8; + } +}(); + +// `%TypedArray%.prototype.with` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with +exportTypedArrayMethod('with', { 'with': function (index, value) { + var O = aTypedArray(this); + var relativeIndex = toIntegerOrInfinity(index); + var actualValue = isBigIntArray(O) ? toBigInt(value) : +value; + return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue); +} }['with'], !PROPER_ORDER); + + +/***/ }), +/* 484 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(69); + +var fromCharCode = String.fromCharCode; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var stringSlice = uncurryThis(''.slice); + +var hex2 = /^[\da-f]{2}$/i; +var hex4 = /^[\da-f]{4}$/i; + +// `unescape` method +// https://tc39.es/ecma262/#sec-unescape-string +$({ global: true }, { + unescape: function unescape(string) { + var str = toString(string); + var result = ''; + var length = str.length; + var index = 0; + var chr, part; + while (index < length) { + chr = charAt(str, index++); + if (chr === '%') { + if (charAt(str, index) === 'u') { + part = stringSlice(str, index + 1, index + 5); + if (exec(hex4, part)) { + result += fromCharCode(parseInt(part, 16)); + index += 5; + continue; + } + } else { + part = stringSlice(str, index, index + 2); + if (exec(hex2, part)) { + result += fromCharCode(parseInt(part, 16)); + index += 2; + continue; + } + } + } + result += chr; + } return result; + } +}); + + +/***/ }), +/* 485 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(486); + + +/***/ }), +/* 486 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var FREEZING = __webpack_require__(249); +var global = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var defineBuiltIns = __webpack_require__(210); +var InternalMetadataModule = __webpack_require__(246); +var collection = __webpack_require__(245); +var collectionWeak = __webpack_require__(487); +var isObject = __webpack_require__(20); +var enforceInternalState = __webpack_require__(52).enforce; +var fails = __webpack_require__(7); +var NATIVE_WEAK_MAP = __webpack_require__(53); + +var $Object = Object; +// eslint-disable-next-line es/no-array-isarray -- safe +var isArray = Array.isArray; +// eslint-disable-next-line es/no-object-isextensible -- safe +var isExtensible = $Object.isExtensible; +// eslint-disable-next-line es/no-object-isfrozen -- safe +var isFrozen = $Object.isFrozen; +// eslint-disable-next-line es/no-object-issealed -- safe +var isSealed = $Object.isSealed; +// eslint-disable-next-line es/no-object-freeze -- safe +var freeze = $Object.freeze; +// eslint-disable-next-line es/no-object-seal -- safe +var seal = $Object.seal; + +var FROZEN = {}; +var SEALED = {}; +var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global; +var InternalWeakMap; + +var wrapper = function (init) { + return function WeakMap() { + return init(this, arguments.length ? arguments[0] : undefined); + }; +}; + +// `WeakMap` constructor +// https://tc39.es/ecma262/#sec-weakmap-constructor +var $WeakMap = collection('WeakMap', wrapper, collectionWeak); +var WeakMapPrototype = $WeakMap.prototype; +var nativeSet = uncurryThis(WeakMapPrototype.set); + +// Chakra Edge bug: adding frozen arrays to WeakMap unfreeze them +var hasMSEdgeFreezingBug = function () { + return FREEZING && fails(function () { + var frozenArray = freeze([]); + nativeSet(new $WeakMap(), frozenArray, 1); + return !isFrozen(frozenArray); + }); +}; + +// IE11 WeakMap frozen keys fix +// We can't use feature detection because it crash some old IE builds +// https://github.com/zloirock/core-js/issues/485 +if (NATIVE_WEAK_MAP) if (IS_IE11) { + InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); + InternalMetadataModule.enable(); + var nativeDelete = uncurryThis(WeakMapPrototype['delete']); + var nativeHas = uncurryThis(WeakMapPrototype.has); + var nativeGet = uncurryThis(WeakMapPrototype.get); + defineBuiltIns(WeakMapPrototype, { + 'delete': function (key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeDelete(this, key) || state.frozen['delete'](key); + } return nativeDelete(this, key); + }, + has: function has(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas(this, key) || state.frozen.has(key); + } return nativeHas(this, key); + }, + get: function get(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key); + } return nativeGet(this, key); + }, + set: function set(key, value) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value); + } else nativeSet(this, key, value); + return this; + } + }); +// Chakra Edge frozen keys fix +} else if (hasMSEdgeFreezingBug()) { + defineBuiltIns(WeakMapPrototype, { + set: function set(key, value) { + var arrayIntegrityLevel; + if (isArray(key)) { + if (isFrozen(key)) arrayIntegrityLevel = FROZEN; + else if (isSealed(key)) arrayIntegrityLevel = SEALED; + } + nativeSet(this, key, value); + if (arrayIntegrityLevel === FROZEN) freeze(key); + if (arrayIntegrityLevel === SEALED) seal(key); + return this; + } + }); +} + + +/***/ }), +/* 487 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var defineBuiltIns = __webpack_require__(210); +var getWeakData = __webpack_require__(246).getWeakData; +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(47); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var iterate = __webpack_require__(132); +var ArrayIterationModule = __webpack_require__(85); +var hasOwn = __webpack_require__(39); +var InternalStateModule = __webpack_require__(52); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; +var find = ArrayIterationModule.find; +var findIndex = ArrayIterationModule.findIndex; +var splice = uncurryThis([].splice); +var id = 0; + +// fallback for uncaught frozen keys +var uncaughtFrozenStore = function (state) { + return state.frozen || (state.frozen = new UncaughtFrozenStore()); +}; + +var UncaughtFrozenStore = function () { + this.entries = []; +}; + +var findUncaughtFrozen = function (store, key) { + return find(store.entries, function (it) { + return it[0] === key; + }); +}; + +UncaughtFrozenStore.prototype = { + get: function (key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function (key) { + return !!findUncaughtFrozen(this, key); + }, + set: function (key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value; + else this.entries.push([key, value]); + }, + 'delete': function (key) { + var index = findIndex(this.entries, function (it) { + return it[0] === key; + }); + if (~index) splice(this.entries, index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + id: id++, + frozen: undefined + }); + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + }); + + var Prototype = Constructor.prototype; + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var data = getWeakData(anObject(key), true); + if (data === true) uncaughtFrozenStore(state).set(key, value); + else data[state.id] = value; + return that; + }; + + defineBuiltIns(Prototype, { + // `{ WeakMap, WeakSet }.prototype.delete(key)` methods + // https://tc39.es/ecma262/#sec-weakmap.prototype.delete + // https://tc39.es/ecma262/#sec-weakset.prototype.delete + 'delete': function (key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state)['delete'](key); + return data && hasOwn(data, state.id) && delete data[state.id]; + }, + // `{ WeakMap, WeakSet }.prototype.has(key)` methods + // https://tc39.es/ecma262/#sec-weakmap.prototype.has + // https://tc39.es/ecma262/#sec-weakset.prototype.has + has: function has(key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).has(key); + return data && hasOwn(data, state.id); + } + }); + + defineBuiltIns(Prototype, IS_MAP ? { + // `WeakMap.prototype.get(key)` method + // https://tc39.es/ecma262/#sec-weakmap.prototype.get + get: function get(key) { + var state = getInternalState(this); + if (isObject(key)) { + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).get(key); + return data ? data[state.id] : undefined; + } + }, + // `WeakMap.prototype.set(key, value)` method + // https://tc39.es/ecma262/#sec-weakmap.prototype.set + set: function set(key, value) { + return define(this, key, value); + } + } : { + // `WeakSet.prototype.add(value)` method + // https://tc39.es/ecma262/#sec-weakset.prototype.add + add: function add(value) { + return define(this, value, true); + } + }); + + return Constructor; + } +}; + + +/***/ }), +/* 488 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(489); + + +/***/ }), +/* 489 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var collection = __webpack_require__(245); +var collectionWeak = __webpack_require__(487); + +// `WeakSet` constructor +// https://tc39.es/ecma262/#sec-weakset-constructor +collection('WeakSet', function (init) { + return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionWeak); + + +/***/ }), +/* 490 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isPrototypeOf = __webpack_require__(25); +var getPrototypeOf = __webpack_require__(130); +var setPrototypeOf = __webpack_require__(116); +var copyConstructorProperties = __webpack_require__(56); +var create = __webpack_require__(72); +var createNonEnumerableProperty = __webpack_require__(44); +var createPropertyDescriptor = __webpack_require__(11); +var installErrorStack = __webpack_require__(123); +var normalizeStringArgument = __webpack_require__(121); +var wellKnownSymbol = __webpack_require__(34); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Error = Error; + +var $SuppressedError = function SuppressedError(error, suppressed, message) { + var isInstance = isPrototypeOf(SuppressedErrorPrototype, this); + var that; + if (setPrototypeOf) { + that = setPrototypeOf(new $Error(), isInstance ? getPrototypeOf(this) : SuppressedErrorPrototype); + } else { + that = isInstance ? this : create(SuppressedErrorPrototype); + createNonEnumerableProperty(that, TO_STRING_TAG, 'Error'); + } + if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); + installErrorStack(that, $SuppressedError, that.stack, 1); + createNonEnumerableProperty(that, 'error', error); + createNonEnumerableProperty(that, 'suppressed', suppressed); + return that; +}; + +if (setPrototypeOf) setPrototypeOf($SuppressedError, $Error); +else copyConstructorProperties($SuppressedError, $Error, { name: true }); + +var SuppressedErrorPrototype = $SuppressedError.prototype = create($Error.prototype, { + constructor: createPropertyDescriptor(1, $SuppressedError), + message: createPropertyDescriptor(1, ''), + name: createPropertyDescriptor(1, 'SuppressedError') +}); + +// `SuppressedError` constructor +// https://github.com/tc39/proposal-explicit-resource-management +$({ global: true, constructor: true, arity: 3 }, { + SuppressedError: $SuppressedError +}); + + +/***/ }), +/* 491 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var fromAsync = __webpack_require__(492); + +// `Array.fromAsync` method +// https://github.com/tc39/proposal-array-from-async +$({ target: 'Array', stat: true }, { + fromAsync: fromAsync +}); + + +/***/ }), +/* 492 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var bind = __webpack_require__(86); +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(40); +var isConstructor = __webpack_require__(91); +var getAsyncIterator = __webpack_require__(493); +var getIterator = __webpack_require__(135); +var getIteratorDirect = __webpack_require__(496); +var getIteratorMethod = __webpack_require__(136); +var getMethod = __webpack_require__(30); +var getVirtual = __webpack_require__(200); +var getBuiltIn = __webpack_require__(24); +var wellKnownSymbol = __webpack_require__(34); +var AsyncFromSyncIterator = __webpack_require__(494); +var toArray = __webpack_require__(497).toArray; + +var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); +var arrayIterator = uncurryThis(getVirtual('Array').values); +var arrayIteratorNext = uncurryThis(arrayIterator([]).next); + +var safeArrayIterator = function () { + return new SafeArrayIterator(this); +}; + +var SafeArrayIterator = function (O) { + this.iterator = arrayIterator(O); +}; + +SafeArrayIterator.prototype.next = function () { + return arrayIteratorNext(this.iterator); +}; + +// `Array.fromAsync` method implementation +// https://github.com/tc39/proposal-array-from-async +module.exports = function fromAsync(asyncItems /* , mapfn = undefined, thisArg = undefined */) { + var C = this; + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var thisArg = argumentsLength > 2 ? arguments[2] : undefined; + return new (getBuiltIn('Promise'))(function (resolve) { + var O = toObject(asyncItems); + if (mapfn !== undefined) mapfn = bind(mapfn, thisArg); + var usingAsyncIterator = getMethod(O, ASYNC_ITERATOR); + var usingSyncIterator = usingAsyncIterator ? undefined : getIteratorMethod(O) || safeArrayIterator; + var A = isConstructor(C) ? new C() : []; + var iterator = usingAsyncIterator + ? getAsyncIterator(O, usingAsyncIterator) + : new AsyncFromSyncIterator(getIteratorDirect(getIterator(O, usingSyncIterator))); + resolve(toArray(iterator, mapfn, A)); + }); +}; + + +/***/ }), +/* 493 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var AsyncFromSyncIterator = __webpack_require__(494); +var anObject = __webpack_require__(47); +var getIterator = __webpack_require__(135); +var getIteratorDirect = __webpack_require__(496); +var getMethod = __webpack_require__(30); +var wellKnownSymbol = __webpack_require__(34); + +var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); + +module.exports = function (it, usingIterator) { + var method = arguments.length < 2 ? getMethod(it, ASYNC_ITERATOR) : usingIterator; + return method ? anObject(call(method, it)) : new AsyncFromSyncIterator(getIteratorDirect(getIterator(it))); +}; + + +/***/ }), +/* 494 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var anObject = __webpack_require__(47); +var create = __webpack_require__(72); +var getMethod = __webpack_require__(30); +var defineBuiltIns = __webpack_require__(210); +var InternalStateModule = __webpack_require__(52); +var getBuiltIn = __webpack_require__(24); +var AsyncIteratorPrototype = __webpack_require__(495); +var createIterResultObject = __webpack_require__(173); + +var Promise = getBuiltIn('Promise'); + +var ASYNC_FROM_SYNC_ITERATOR = 'AsyncFromSyncIterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(ASYNC_FROM_SYNC_ITERATOR); + +var asyncFromSyncIteratorContinuation = function (result, resolve, reject) { + var done = result.done; + Promise.resolve(result.value).then(function (value) { + resolve(createIterResultObject(value, done)); + }, reject); +}; + +var AsyncFromSyncIterator = function AsyncIterator(iteratorRecord) { + iteratorRecord.type = ASYNC_FROM_SYNC_ITERATOR; + setInternalState(this, iteratorRecord); +}; + +AsyncFromSyncIterator.prototype = defineBuiltIns(create(AsyncIteratorPrototype), { + next: function next() { + var state = getInternalState(this); + return new Promise(function (resolve, reject) { + var result = anObject(call(state.next, state.iterator)); + asyncFromSyncIteratorContinuation(result, resolve, reject); + }); + }, + 'return': function () { + var iterator = getInternalState(this).iterator; + return new Promise(function (resolve, reject) { + var $return = getMethod(iterator, 'return'); + if ($return === undefined) return resolve(createIterResultObject(undefined, true)); + var result = anObject(call($return, iterator)); + asyncFromSyncIteratorContinuation(result, resolve, reject); + }); + } +}); + +module.exports = AsyncFromSyncIterator; + + +/***/ }), +/* 495 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var shared = __webpack_require__(37); +var isCallable = __webpack_require__(21); +var create = __webpack_require__(72); +var getPrototypeOf = __webpack_require__(130); +var defineBuiltIn = __webpack_require__(48); +var wellKnownSymbol = __webpack_require__(34); +var IS_PURE = __webpack_require__(36); + +var USE_FUNCTION_CONSTRUCTOR = 'USE_FUNCTION_CONSTRUCTOR'; +var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); +var AsyncIterator = global.AsyncIterator; +var PassedAsyncIteratorPrototype = shared.AsyncIteratorPrototype; +var AsyncIteratorPrototype, prototype; + +if (PassedAsyncIteratorPrototype) { + AsyncIteratorPrototype = PassedAsyncIteratorPrototype; +} else if (isCallable(AsyncIterator)) { + AsyncIteratorPrototype = AsyncIterator.prototype; +} else if (shared[USE_FUNCTION_CONSTRUCTOR] || global[USE_FUNCTION_CONSTRUCTOR]) { + try { + // eslint-disable-next-line no-new-func -- we have no alternatives without usage of modern syntax + prototype = getPrototypeOf(getPrototypeOf(getPrototypeOf(Function('return async function*(){}()')()))); + if (getPrototypeOf(prototype) === Object.prototype) AsyncIteratorPrototype = prototype; + } catch (error) { /* empty */ } +} + +if (!AsyncIteratorPrototype) AsyncIteratorPrototype = {}; +else if (IS_PURE) AsyncIteratorPrototype = create(AsyncIteratorPrototype); + +if (!isCallable(AsyncIteratorPrototype[ASYNC_ITERATOR])) { + defineBuiltIn(AsyncIteratorPrototype, ASYNC_ITERATOR, function () { + return this; + }); +} + +module.exports = AsyncIteratorPrototype; + + +/***/ }), +/* 496 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// `GetIteratorDirect(obj)` abstract operation +// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect +module.exports = function (obj) { + return { + iterator: obj, + next: obj.next, + done: false + }; +}; + + +/***/ }), +/* 497 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/proposal-iterator-helpers +// https://github.com/tc39/proposal-array-from-async +var call = __webpack_require__(8); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var isObject = __webpack_require__(20); +var doesNotExceedSafeInteger = __webpack_require__(142); +var getBuiltIn = __webpack_require__(24); +var getIteratorDirect = __webpack_require__(496); +var closeAsyncIteration = __webpack_require__(498); + +var createMethod = function (TYPE) { + var IS_TO_ARRAY = TYPE === 0; + var IS_FOR_EACH = TYPE === 1; + var IS_EVERY = TYPE === 2; + var IS_SOME = TYPE === 3; + return function (object, fn, target) { + anObject(object); + var MAPPING = fn !== undefined; + if (MAPPING || !IS_TO_ARRAY) aCallable(fn); + var record = getIteratorDirect(object); + var Promise = getBuiltIn('Promise'); + var iterator = record.iterator; + var next = record.next; + var counter = 0; + + return new Promise(function (resolve, reject) { + var ifAbruptCloseAsyncIterator = function (error) { + closeAsyncIteration(iterator, reject, error, reject); + }; + + var loop = function () { + try { + if (MAPPING) try { + doesNotExceedSafeInteger(counter); + } catch (error5) { ifAbruptCloseAsyncIterator(error5); } + Promise.resolve(anObject(call(next, iterator))).then(function (step) { + try { + if (anObject(step).done) { + if (IS_TO_ARRAY) { + target.length = counter; + resolve(target); + } else resolve(IS_SOME ? false : IS_EVERY || undefined); + } else { + var value = step.value; + try { + if (MAPPING) { + var result = fn(value, counter); + + var handler = function ($result) { + if (IS_FOR_EACH) { + loop(); + } else if (IS_EVERY) { + $result ? loop() : closeAsyncIteration(iterator, resolve, false, reject); + } else if (IS_TO_ARRAY) { + try { + target[counter++] = $result; + loop(); + } catch (error4) { ifAbruptCloseAsyncIterator(error4); } + } else { + $result ? closeAsyncIteration(iterator, resolve, IS_SOME || value, reject) : loop(); + } + }; + + if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator); + else handler(result); + } else { + target[counter++] = value; + loop(); + } + } catch (error3) { ifAbruptCloseAsyncIterator(error3); } + } + } catch (error2) { reject(error2); } + }, reject); + } catch (error) { reject(error); } + }; + + loop(); + }); + }; +}; + +module.exports = { + toArray: createMethod(0), + forEach: createMethod(1), + every: createMethod(2), + some: createMethod(3), + find: createMethod(4) +}; + + +/***/ }), +/* 498 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var getBuiltIn = __webpack_require__(24); +var getMethod = __webpack_require__(30); + +module.exports = function (iterator, method, argument, reject) { + try { + var returnMethod = getMethod(iterator, 'return'); + if (returnMethod) { + return getBuiltIn('Promise').resolve(call(returnMethod, iterator)).then(function () { + method(argument); + }, function (error) { + reject(error); + }); + } + } catch (error2) { + return reject(error2); + } method(argument); +}; + + +/***/ }), +/* 499 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: remove from `core-js@4` +var $ = __webpack_require__(3); +var $filterReject = __webpack_require__(85).filterReject; +var addToUnscopables = __webpack_require__(140); + +// `Array.prototype.filterOut` method +// https://github.com/tc39/proposal-array-filtering +$({ target: 'Array', proto: true, forced: true }, { + filterOut: function filterOut(callbackfn /* , thisArg */) { + return $filterReject(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('filterOut'); + + +/***/ }), +/* 500 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $filterReject = __webpack_require__(85).filterReject; +var addToUnscopables = __webpack_require__(140); + +// `Array.prototype.filterReject` method +// https://github.com/tc39/proposal-array-filtering +$({ target: 'Array', proto: true, forced: true }, { + filterReject: function filterReject(callbackfn /* , thisArg */) { + return $filterReject(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('filterReject'); + + +/***/ }), +/* 501 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $group = __webpack_require__(502); +var addToUnscopables = __webpack_require__(140); + +// `Array.prototype.group` method +// https://github.com/tc39/proposal-array-grouping +$({ target: 'Array', proto: true }, { + group: function group(callbackfn /* , thisArg */) { + var thisArg = arguments.length > 1 ? arguments[1] : undefined; + return $group(this, callbackfn, thisArg); + } +}); + +addToUnscopables('group'); + + +/***/ }), +/* 502 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var bind = __webpack_require__(86); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(40); +var toPropertyKey = __webpack_require__(18); +var lengthOfArrayLike = __webpack_require__(64); +var objectCreate = __webpack_require__(72); +var arrayFromConstructorAndList = __webpack_require__(199); + +var $Array = Array; +var push = uncurryThis([].push); + +module.exports = function ($this, callbackfn, that, specificConstructor) { + var O = toObject($this); + var self = IndexedObject(O); + var boundFunction = bind(callbackfn, that); + var target = objectCreate(null); + var length = lengthOfArrayLike(self); + var index = 0; + var Constructor, key, value; + for (;length > index; index++) { + value = self[index]; + key = toPropertyKey(boundFunction(value, index, O)); + // in some IE versions, `hasOwnProperty` returns incorrect result on integer keys + // but since it's a `null` prototype object, we can safely use `in` + if (key in target) push(target[key], value); + else target[key] = [value]; + } + // TODO: Remove this block from `core-js@4` + if (specificConstructor) { + Constructor = specificConstructor(O); + if (Constructor !== $Array) { + for (key in target) target[key] = arrayFromConstructorAndList(Constructor, target[key]); + } + } return target; +}; + + +/***/ }), +/* 503 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var $group = __webpack_require__(502); +var arrayMethodIsStrict = __webpack_require__(148); +var addToUnscopables = __webpack_require__(140); + +// `Array.prototype.groupBy` method +// https://github.com/tc39/proposal-array-grouping +// https://bugs.webkit.org/show_bug.cgi?id=236541 +$({ target: 'Array', proto: true, forced: !arrayMethodIsStrict('groupBy') }, { + groupBy: function groupBy(callbackfn /* , thisArg */) { + var thisArg = arguments.length > 1 ? arguments[1] : undefined; + return $group(this, callbackfn, thisArg); + } +}); + +addToUnscopables('groupBy'); + + +/***/ }), +/* 504 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var arrayMethodIsStrict = __webpack_require__(148); +var addToUnscopables = __webpack_require__(140); +var $groupToMap = __webpack_require__(505); +var IS_PURE = __webpack_require__(36); + +// `Array.prototype.groupByToMap` method +// https://github.com/tc39/proposal-array-grouping +// https://bugs.webkit.org/show_bug.cgi?id=236541 +$({ target: 'Array', proto: true, name: 'groupToMap', forced: IS_PURE || !arrayMethodIsStrict('groupByToMap') }, { + groupByToMap: $groupToMap +}); + +addToUnscopables('groupByToMap'); + + +/***/ }), +/* 505 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var bind = __webpack_require__(86); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(40); +var lengthOfArrayLike = __webpack_require__(64); +var MapHelpers = __webpack_require__(506); + +var Map = MapHelpers.Map; +var mapGet = MapHelpers.get; +var mapHas = MapHelpers.has; +var mapSet = MapHelpers.set; +var push = uncurryThis([].push); + +// `Array.prototype.groupToMap` method +// https://github.com/tc39/proposal-array-grouping +module.exports = function groupToMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var self = IndexedObject(O); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var map = new Map(); + var length = lengthOfArrayLike(self); + var index = 0; + var key, value; + for (;length > index; index++) { + value = self[index]; + key = boundFunction(value, index, O); + if (mapHas(map, key)) push(mapGet(map, key), value); + else mapSet(map, key, [value]); + } return map; +}; + + +/***/ }), +/* 506 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-map -- safe +var MapPrototype = Map.prototype; + +module.exports = { + // eslint-disable-next-line es/no-map -- safe + Map: Map, + set: uncurryThis(MapPrototype.set), + get: uncurryThis(MapPrototype.get), + has: uncurryThis(MapPrototype.has), + remove: uncurryThis(MapPrototype['delete']), + proto: MapPrototype +}; + + +/***/ }), +/* 507 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var addToUnscopables = __webpack_require__(140); +var $groupToMap = __webpack_require__(505); +var IS_PURE = __webpack_require__(36); + +// `Array.prototype.groupToMap` method +// https://github.com/tc39/proposal-array-grouping +$({ target: 'Array', proto: true, forced: IS_PURE }, { + groupToMap: $groupToMap +}); + +addToUnscopables('groupToMap'); + + +/***/ }), +/* 508 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isArray = __webpack_require__(90); + +// eslint-disable-next-line es/no-object-isfrozen -- safe +var isFrozen = Object.isFrozen; + +var isFrozenStringArray = function (array, allowUndefined) { + if (!isFrozen || !isArray(array) || !isFrozen(array)) return false; + var index = 0; + var length = array.length; + var element; + while (index < length) { + element = array[index++]; + if (!(typeof element == 'string' || (allowUndefined && element === undefined))) { + return false; + } + } return length !== 0; +}; + +// `Array.isTemplateObject` method +// https://github.com/tc39/proposal-array-is-template-object +$({ target: 'Array', stat: true, sham: true, forced: true }, { + isTemplateObject: function isTemplateObject(value) { + if (!isFrozenStringArray(value, true)) return false; + var raw = value.raw; + return raw.length === value.length && isFrozenStringArray(raw, false); + } +}); + + +/***/ }), +/* 509 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var DESCRIPTORS = __webpack_require__(6); +var addToUnscopables = __webpack_require__(140); +var toObject = __webpack_require__(40); +var lengthOfArrayLike = __webpack_require__(64); +var defineBuiltInAccessor = __webpack_require__(79); + +// `Array.prototype.lastIndex` getter +// https://github.com/keithamus/proposal-array-last +if (DESCRIPTORS) { + defineBuiltInAccessor(Array.prototype, 'lastIndex', { + configurable: true, + get: function lastIndex() { + var O = toObject(this); + var len = lengthOfArrayLike(O); + return len === 0 ? 0 : len - 1; + } + }); + + addToUnscopables('lastIndex'); +} + + +/***/ }), +/* 510 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var DESCRIPTORS = __webpack_require__(6); +var addToUnscopables = __webpack_require__(140); +var toObject = __webpack_require__(40); +var lengthOfArrayLike = __webpack_require__(64); +var defineBuiltInAccessor = __webpack_require__(79); + +// `Array.prototype.lastIndex` accessor +// https://github.com/keithamus/proposal-array-last +if (DESCRIPTORS) { + defineBuiltInAccessor(Array.prototype, 'lastItem', { + configurable: true, + get: function lastItem() { + var O = toObject(this); + var len = lengthOfArrayLike(O); + return len === 0 ? undefined : O[len - 1]; + }, + set: function lastItem(value) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + return O[len === 0 ? 0 : len - 1] = value; + } + }); + + addToUnscopables('lastItem'); +} + + +/***/ }), +/* 511 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var addToUnscopables = __webpack_require__(140); +var uniqueBy = __webpack_require__(512); + +// `Array.prototype.uniqueBy` method +// https://github.com/tc39/proposal-array-unique +$({ target: 'Array', proto: true, forced: true }, { + uniqueBy: uniqueBy +}); + +addToUnscopables('uniqueBy'); + + +/***/ }), +/* 512 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(31); +var isNullOrUndefined = __webpack_require__(17); +var lengthOfArrayLike = __webpack_require__(64); +var toObject = __webpack_require__(40); +var MapHelpers = __webpack_require__(506); +var iterate = __webpack_require__(513); + +var Map = MapHelpers.Map; +var mapHas = MapHelpers.has; +var mapSet = MapHelpers.set; +var push = uncurryThis([].push); + +// `Array.prototype.uniqueBy` method +// https://github.com/tc39/proposal-array-unique +module.exports = function uniqueBy(resolver) { + var that = toObject(this); + var length = lengthOfArrayLike(that); + var result = []; + var map = new Map(); + var resolverFunction = !isNullOrUndefined(resolver) ? aCallable(resolver) : function (value) { + return value; + }; + var index, item, key; + for (index = 0; index < length; index++) { + item = that[index]; + key = resolverFunction(item); + if (!mapHas(map, key)) mapSet(map, key, item); + } + iterate(map, function (value) { + push(result, value); + }); + return result; +}; + + +/***/ }), +/* 513 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var iterateSimple = __webpack_require__(514); +var MapHelpers = __webpack_require__(506); + +var Map = MapHelpers.Map; +var MapPrototype = MapHelpers.proto; +var forEach = uncurryThis(MapPrototype.forEach); +var entries = uncurryThis(MapPrototype.entries); +var next = entries(new Map()).next; + +module.exports = function (map, fn, interruptible) { + return interruptible ? iterateSimple({ iterator: entries(map), next: next }, function (entry) { + return fn(entry[1], entry[0]); + }) : forEach(map, fn); +}; + + +/***/ }), +/* 514 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); + +module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) { + var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator; + var next = record.next; + var step, result; + while (!(step = call(next, iterator)).done) { + result = fn(step.value); + if (result !== undefined) return result; + } +}; + + +/***/ }), +/* 515 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(79); +var isDetached = __webpack_require__(516); + +var ArrayBufferPrototype = ArrayBuffer.prototype; + +if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) { + defineBuiltInAccessor(ArrayBufferPrototype, 'detached', { + configurable: true, + get: function detached() { + return isDetached(this); + } + }); +} + + +/***/ }), +/* 516 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var arrayBufferByteLength = __webpack_require__(517); + +var slice = uncurryThis(ArrayBuffer.prototype.slice); + +module.exports = function (O) { + if (arrayBufferByteLength(O) !== 0) return false; + try { + slice(O, 0, 0); + return false; + } catch (error) { + return true; + } +}; + + +/***/ }), +/* 517 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThisAccessor = __webpack_require__(117); +var classof = __webpack_require__(15); + +var $TypeError = TypeError; + +// Includes +// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]). +// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception. +module.exports = uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) { + if (classof(O) !== 'ArrayBuffer') throw new $TypeError('ArrayBuffer expected'); + return O.byteLength; +}; + + +/***/ }), +/* 518 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $transfer = __webpack_require__(519); + +// `ArrayBuffer.prototype.transfer` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transfer: function transfer() { + return $transfer(this, arguments.length ? arguments[0] : undefined, true); + } +}); + + +/***/ }), +/* 519 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var uncurryThisAccessor = __webpack_require__(117); +var toIndex = __webpack_require__(212); +var isDetached = __webpack_require__(516); +var arrayBufferByteLength = __webpack_require__(517); +var detachTransferable = __webpack_require__(520); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(522); + +var structuredClone = global.structuredClone; +var ArrayBuffer = global.ArrayBuffer; +var DataView = global.DataView; +var TypeError = global.TypeError; +var min = Math.min; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataViewPrototype = DataView.prototype; +var slice = uncurryThis(ArrayBufferPrototype.slice); +var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get'); +var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get'); +var getInt8 = uncurryThis(DataViewPrototype.getInt8); +var setInt8 = uncurryThis(DataViewPrototype.setInt8); + +module.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) { + var byteLength = arrayBufferByteLength(arrayBuffer); + var newByteLength = newLength === undefined ? byteLength : toIndex(newLength); + var fixedLength = !isResizable || !isResizable(arrayBuffer); + var newBuffer; + if (isDetached(arrayBuffer)) throw new TypeError('ArrayBuffer is detached'); + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] }); + if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer; + } + if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) { + newBuffer = slice(arrayBuffer, 0, newByteLength); + } else { + var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(arrayBuffer) } : undefined; + newBuffer = new ArrayBuffer(newByteLength, options); + var a = new DataView(arrayBuffer); + var b = new DataView(newBuffer); + var copyLength = min(newByteLength, byteLength); + for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i)); + } + if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer); + return newBuffer; +}; + + +/***/ }), +/* 520 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var tryNodeRequire = __webpack_require__(521); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(522); + +var structuredClone = global.structuredClone; +var $ArrayBuffer = global.ArrayBuffer; +var $MessageChannel = global.MessageChannel; +var detach = false; +var WorkerThreads, channel, buffer, $detach; + +if (PROPER_STRUCTURED_CLONE_TRANSFER) { + detach = function (transferable) { + structuredClone(transferable, { transfer: [transferable] }); + }; +} else if ($ArrayBuffer) try { + if (!$MessageChannel) { + WorkerThreads = tryNodeRequire('worker_threads'); + if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel; + } + + if ($MessageChannel) { + channel = new $MessageChannel(); + buffer = new $ArrayBuffer(2); + + $detach = function (transferable) { + channel.port1.postMessage(null, [transferable]); + }; + + if (buffer.byteLength === 2) { + $detach(buffer); + if (buffer.byteLength === 0) detach = $detach; + } + } +} catch (error) { /* empty */ } + +module.exports = detach; + + +/***/ }), +/* 521 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var IS_NODE = __webpack_require__(183); + +module.exports = function (name) { + try { + // eslint-disable-next-line no-new-func -- safe + if (IS_NODE) return Function('return require("' + name + '")')(); + } catch (error) { /* empty */ } +}; + + +/***/ }), +/* 522 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var fails = __webpack_require__(7); +var V8 = __webpack_require__(28); +var IS_BROWSER = __webpack_require__(339); +var IS_DENO = __webpack_require__(340); +var IS_NODE = __webpack_require__(183); + +var structuredClone = global.structuredClone; + +module.exports = !!structuredClone && !fails(function () { + // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if ((IS_DENO && V8 > 92) || (IS_NODE && V8 > 94) || (IS_BROWSER && V8 > 97)) return false; + var buffer = new ArrayBuffer(8); + var clone = structuredClone(buffer, { transfer: [buffer] }); + return buffer.byteLength !== 0 || clone.byteLength !== 8; +}); + + +/***/ }), +/* 523 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $transfer = __webpack_require__(519); + +// `ArrayBuffer.prototype.transferToFixedLength` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transferToFixedLength: function transferToFixedLength() { + return $transfer(this, arguments.length ? arguments[0] : undefined, false); + } +}); + + +/***/ }), +/* 524 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/proposal-async-explicit-resource-management +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var getBuiltIn = __webpack_require__(24); +var aCallable = __webpack_require__(31); +var anInstance = __webpack_require__(211); +var defineBuiltIn = __webpack_require__(48); +var defineBuiltIns = __webpack_require__(210); +var defineBuiltInAccessor = __webpack_require__(79); +var wellKnownSymbol = __webpack_require__(34); +var InternalStateModule = __webpack_require__(52); +var addDisposableResource = __webpack_require__(525); + +var Promise = getBuiltIn('Promise'); +var SuppressedError = getBuiltIn('SuppressedError'); +var $ReferenceError = ReferenceError; + +var ASYNC_DISPOSE = wellKnownSymbol('asyncDispose'); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +var ASYNC_DISPOSABLE_STACK = 'AsyncDisposableStack'; +var setInternalState = InternalStateModule.set; +var getAsyncDisposableStackInternalState = InternalStateModule.getterFor(ASYNC_DISPOSABLE_STACK); + +var HINT = 'async-dispose'; +var DISPOSED = 'disposed'; +var PENDING = 'pending'; + +var getPendingAsyncDisposableStackInternalState = function (stack) { + var internalState = getAsyncDisposableStackInternalState(stack); + if (internalState.state === DISPOSED) throw new $ReferenceError(ASYNC_DISPOSABLE_STACK + ' already disposed'); + return internalState; +}; + +var $AsyncDisposableStack = function AsyncDisposableStack() { + setInternalState(anInstance(this, AsyncDisposableStackPrototype), { + type: ASYNC_DISPOSABLE_STACK, + state: PENDING, + stack: [] + }); + + if (!DESCRIPTORS) this.disposed = false; +}; + +var AsyncDisposableStackPrototype = $AsyncDisposableStack.prototype; + +defineBuiltIns(AsyncDisposableStackPrototype, { + disposeAsync: function disposeAsync() { + var asyncDisposableStack = this; + return new Promise(function (resolve, reject) { + var internalState = getAsyncDisposableStackInternalState(asyncDisposableStack); + if (internalState.state === DISPOSED) return resolve(undefined); + internalState.state = DISPOSED; + if (!DESCRIPTORS) asyncDisposableStack.disposed = true; + var stack = internalState.stack; + var i = stack.length; + var thrown = false; + var suppressed; + + var handleError = function (result) { + if (thrown) { + suppressed = new SuppressedError(result, suppressed); + } else { + thrown = true; + suppressed = result; + } + + loop(); + }; + + var loop = function () { + if (i) { + var disposeMethod = stack[--i]; + stack[i] = null; + try { + Promise.resolve(disposeMethod()).then(loop, handleError); + } catch (error) { + handleError(error); + } + } else { + internalState.stack = null; + thrown ? reject(suppressed) : resolve(undefined); + } + }; + + loop(); + }); + }, + use: function use(value) { + addDisposableResource(getPendingAsyncDisposableStackInternalState(this), value, HINT); + return value; + }, + adopt: function adopt(value, onDispose) { + var internalState = getPendingAsyncDisposableStackInternalState(this); + aCallable(onDispose); + addDisposableResource(internalState, undefined, HINT, function () { + return onDispose(value); + }); + return value; + }, + defer: function defer(onDispose) { + var internalState = getPendingAsyncDisposableStackInternalState(this); + aCallable(onDispose); + addDisposableResource(internalState, undefined, HINT, onDispose); + }, + move: function move() { + var internalState = getPendingAsyncDisposableStackInternalState(this); + var newAsyncDisposableStack = new $AsyncDisposableStack(); + getAsyncDisposableStackInternalState(newAsyncDisposableStack).stack = internalState.stack; + internalState.stack = []; + internalState.state = DISPOSED; + if (!DESCRIPTORS) this.disposed = true; + return newAsyncDisposableStack; + } +}); + +if (DESCRIPTORS) defineBuiltInAccessor(AsyncDisposableStackPrototype, 'disposed', { + configurable: true, + get: function disposed() { + return getAsyncDisposableStackInternalState(this).state === DISPOSED; + } +}); + +defineBuiltIn(AsyncDisposableStackPrototype, ASYNC_DISPOSE, AsyncDisposableStackPrototype.disposeAsync, { name: 'disposeAsync' }); +defineBuiltIn(AsyncDisposableStackPrototype, TO_STRING_TAG, ASYNC_DISPOSABLE_STACK, { nonWritable: true }); + +$({ global: true, constructor: true }, { + AsyncDisposableStack: $AsyncDisposableStack +}); + + +/***/ }), +/* 525 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var bind = __webpack_require__(86); +var anObject = __webpack_require__(47); +var aCallable = __webpack_require__(31); +var isNullOrUndefined = __webpack_require__(17); +var getMethod = __webpack_require__(30); +var wellKnownSymbol = __webpack_require__(34); + +var ASYNC_DISPOSE = wellKnownSymbol('asyncDispose'); +var DISPOSE = wellKnownSymbol('dispose'); + +var push = uncurryThis([].push); + +// `GetDisposeMethod` abstract operation +// https://tc39.es/proposal-explicit-resource-management/#sec-getdisposemethod +var getDisposeMethod = function (V, hint) { + if (hint === 'async-dispose') { + var method = getMethod(V, ASYNC_DISPOSE); + if (method !== undefined) return method; + method = getMethod(V, DISPOSE); + return function () { + call(method, this); + }; + } return getMethod(V, DISPOSE); +}; + +// `CreateDisposableResource` abstract operation +// https://tc39.es/proposal-explicit-resource-management/#sec-createdisposableresource +var createDisposableResource = function (V, hint, method) { + if (arguments.length < 3 && !isNullOrUndefined(V)) { + method = aCallable(getDisposeMethod(anObject(V), hint)); + } + + return method === undefined ? function () { + return undefined; + } : bind(method, V); +}; + +// `AddDisposableResource` abstract operation +// https://tc39.es/proposal-explicit-resource-management/#sec-adddisposableresource +module.exports = function (disposable, V, hint, method) { + var resource; + if (arguments.length < 4) { + // When `V`` is either `null` or `undefined` and hint is `async-dispose`, + // we record that the resource was evaluated to ensure we will still perform an `Await` when resources are later disposed. + if (isNullOrUndefined(V) && hint === 'sync-dispose') return; + resource = createDisposableResource(V, hint); + } else { + resource = createDisposableResource(undefined, hint, method); + } + + push(disposable.stack, resource); +}; + + +/***/ }), +/* 526 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var anInstance = __webpack_require__(211); +var getPrototypeOf = __webpack_require__(130); +var createNonEnumerableProperty = __webpack_require__(44); +var hasOwn = __webpack_require__(39); +var wellKnownSymbol = __webpack_require__(34); +var AsyncIteratorPrototype = __webpack_require__(495); +var IS_PURE = __webpack_require__(36); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +var $TypeError = TypeError; + +var AsyncIteratorConstructor = function AsyncIterator() { + anInstance(this, AsyncIteratorPrototype); + if (getPrototypeOf(this) === AsyncIteratorPrototype) throw new $TypeError('Abstract class AsyncIterator not directly constructable'); +}; + +AsyncIteratorConstructor.prototype = AsyncIteratorPrototype; + +if (!hasOwn(AsyncIteratorPrototype, TO_STRING_TAG)) { + createNonEnumerableProperty(AsyncIteratorPrototype, TO_STRING_TAG, 'AsyncIterator'); +} + +if (IS_PURE || !hasOwn(AsyncIteratorPrototype, 'constructor') || AsyncIteratorPrototype.constructor === Object) { + createNonEnumerableProperty(AsyncIteratorPrototype, 'constructor', AsyncIteratorConstructor); +} + +// `AsyncIterator` constructor +// https://github.com/tc39/proposal-async-iterator-helpers +$({ global: true, constructor: true, forced: IS_PURE }, { + AsyncIterator: AsyncIteratorConstructor +}); + + +/***/ }), +/* 527 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var indexed = __webpack_require__(528); + +// `AsyncIterator.prototype.asIndexedPairs` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'AsyncIterator', name: 'indexed', proto: true, real: true, forced: true }, { + asIndexedPairs: indexed +}); + + +/***/ }), +/* 528 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var map = __webpack_require__(529); + +var callback = function (value, counter) { + return [counter, value]; +}; + +// `AsyncIterator.prototype.indexed` method +// https://github.com/tc39/proposal-iterator-helpers +module.exports = function indexed() { + return call(map, this, callback); +}; + + +/***/ }), +/* 529 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var isObject = __webpack_require__(20); +var getIteratorDirect = __webpack_require__(496); +var createAsyncIteratorProxy = __webpack_require__(530); +var createIterResultObject = __webpack_require__(173); +var closeAsyncIteration = __webpack_require__(498); + +var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) { + var state = this; + var iterator = state.iterator; + var mapper = state.mapper; + + return new Promise(function (resolve, reject) { + var doneAndReject = function (error) { + state.done = true; + reject(error); + }; + + var ifAbruptCloseAsyncIterator = function (error) { + closeAsyncIteration(iterator, doneAndReject, error, doneAndReject); + }; + + Promise.resolve(anObject(call(state.next, iterator))).then(function (step) { + try { + if (anObject(step).done) { + state.done = true; + resolve(createIterResultObject(undefined, true)); + } else { + var value = step.value; + try { + var result = mapper(value, state.counter++); + + var handler = function (mapped) { + resolve(createIterResultObject(mapped, false)); + }; + + if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator); + else handler(result); + } catch (error2) { ifAbruptCloseAsyncIterator(error2); } + } + } catch (error) { doneAndReject(error); } + }, doneAndReject); + }); +}); + +// `AsyncIterator.prototype.map` method +// https://github.com/tc39/proposal-iterator-helpers +module.exports = function map(mapper) { + anObject(this); + aCallable(mapper); + return new AsyncIteratorProxy(getIteratorDirect(this), { + mapper: mapper + }); +}; + + +/***/ }), +/* 530 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var perform = __webpack_require__(336); +var anObject = __webpack_require__(47); +var create = __webpack_require__(72); +var createNonEnumerableProperty = __webpack_require__(44); +var defineBuiltIns = __webpack_require__(210); +var wellKnownSymbol = __webpack_require__(34); +var InternalStateModule = __webpack_require__(52); +var getBuiltIn = __webpack_require__(24); +var getMethod = __webpack_require__(30); +var AsyncIteratorPrototype = __webpack_require__(495); +var createIterResultObject = __webpack_require__(173); +var iteratorClose = __webpack_require__(137); + +var Promise = getBuiltIn('Promise'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var ASYNC_ITERATOR_HELPER = 'AsyncIteratorHelper'; +var WRAP_FOR_VALID_ASYNC_ITERATOR = 'WrapForValidAsyncIterator'; +var setInternalState = InternalStateModule.set; + +var createAsyncIteratorProxyPrototype = function (IS_ITERATOR) { + var IS_GENERATOR = !IS_ITERATOR; + var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ASYNC_ITERATOR : ASYNC_ITERATOR_HELPER); + + var getStateOrEarlyExit = function (that) { + var stateCompletion = perform(function () { + return getInternalState(that); + }); + + var stateError = stateCompletion.error; + var state = stateCompletion.value; + + if (stateError || (IS_GENERATOR && state.done)) { + return { exit: true, value: stateError ? Promise.reject(state) : Promise.resolve(createIterResultObject(undefined, true)) }; + } return { exit: false, value: state }; + }; + + return defineBuiltIns(create(AsyncIteratorPrototype), { + next: function next() { + var stateCompletion = getStateOrEarlyExit(this); + var state = stateCompletion.value; + if (stateCompletion.exit) return state; + var handlerCompletion = perform(function () { + return anObject(state.nextHandler(Promise)); + }); + var handlerError = handlerCompletion.error; + var value = handlerCompletion.value; + if (handlerError) state.done = true; + return handlerError ? Promise.reject(value) : Promise.resolve(value); + }, + 'return': function () { + var stateCompletion = getStateOrEarlyExit(this); + var state = stateCompletion.value; + if (stateCompletion.exit) return state; + state.done = true; + var iterator = state.iterator; + var returnMethod, result; + var completion = perform(function () { + if (state.inner) try { + iteratorClose(state.inner.iterator, 'normal'); + } catch (error) { + return iteratorClose(iterator, 'throw', error); + } + return getMethod(iterator, 'return'); + }); + returnMethod = result = completion.value; + if (completion.error) return Promise.reject(result); + if (returnMethod === undefined) return Promise.resolve(createIterResultObject(undefined, true)); + completion = perform(function () { + return call(returnMethod, iterator); + }); + result = completion.value; + if (completion.error) return Promise.reject(result); + return IS_ITERATOR ? Promise.resolve(result) : Promise.resolve(result).then(function (resolved) { + anObject(resolved); + return createIterResultObject(undefined, true); + }); + } + }); +}; + +var WrapForValidAsyncIteratorPrototype = createAsyncIteratorProxyPrototype(true); +var AsyncIteratorHelperPrototype = createAsyncIteratorProxyPrototype(false); + +createNonEnumerableProperty(AsyncIteratorHelperPrototype, TO_STRING_TAG, 'Async Iterator Helper'); + +module.exports = function (nextHandler, IS_ITERATOR) { + var AsyncIteratorProxy = function AsyncIterator(record, state) { + if (state) { + state.iterator = record.iterator; + state.next = record.next; + } else state = record; + state.type = IS_ITERATOR ? WRAP_FOR_VALID_ASYNC_ITERATOR : ASYNC_ITERATOR_HELPER; + state.nextHandler = nextHandler; + state.counter = 0; + state.done = false; + setInternalState(this, state); + }; + + AsyncIteratorProxy.prototype = IS_ITERATOR ? WrapForValidAsyncIteratorPrototype : AsyncIteratorHelperPrototype; + + return AsyncIteratorProxy; +}; + + +/***/ }), +/* 531 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/proposal-async-explicit-resource-management +var call = __webpack_require__(8); +var defineBuiltIn = __webpack_require__(48); +var getBuiltIn = __webpack_require__(24); +var getMethod = __webpack_require__(30); +var hasOwn = __webpack_require__(39); +var wellKnownSymbol = __webpack_require__(34); +var AsyncIteratorPrototype = __webpack_require__(495); + +var ASYNC_DISPOSE = wellKnownSymbol('asyncDispose'); +var Promise = getBuiltIn('Promise'); + +if (!hasOwn(AsyncIteratorPrototype, ASYNC_DISPOSE)) { + defineBuiltIn(AsyncIteratorPrototype, ASYNC_DISPOSE, function () { + var O = this; + return new Promise(function (resolve, reject) { + var $return = getMethod(O, 'return'); + if ($return) { + Promise.resolve(call($return, O)).then(function () { + resolve(undefined); + }, reject); + } else resolve(undefined); + }); + }); +} + + +/***/ }), +/* 532 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(47); +var getIteratorDirect = __webpack_require__(496); +var notANaN = __webpack_require__(533); +var toPositiveInteger = __webpack_require__(438); +var createAsyncIteratorProxy = __webpack_require__(530); +var createIterResultObject = __webpack_require__(173); +var IS_PURE = __webpack_require__(36); + +var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) { + var state = this; + + return new Promise(function (resolve, reject) { + var doneAndReject = function (error) { + state.done = true; + reject(error); + }; + + var loop = function () { + try { + Promise.resolve(anObject(call(state.next, state.iterator))).then(function (step) { + try { + if (anObject(step).done) { + state.done = true; + resolve(createIterResultObject(undefined, true)); + } else if (state.remaining) { + state.remaining--; + loop(); + } else resolve(createIterResultObject(step.value, false)); + } catch (err) { doneAndReject(err); } + }, doneAndReject); + } catch (error) { doneAndReject(error); } + }; + + loop(); + }); +}); + +// `AsyncIterator.prototype.drop` method +// https://github.com/tc39/proposal-async-iterator-helpers +$({ target: 'AsyncIterator', proto: true, real: true, forced: IS_PURE }, { + drop: function drop(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new AsyncIteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 533 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $RangeError = RangeError; + +module.exports = function (it) { + // eslint-disable-next-line no-self-compare -- NaN check + if (it === it) return it; + throw new $RangeError('NaN is not allowed'); +}; + + +/***/ }), +/* 534 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $every = __webpack_require__(497).every; + +// `AsyncIterator.prototype.every` method +// https://github.com/tc39/proposal-async-iterator-helpers +$({ target: 'AsyncIterator', proto: true, real: true }, { + every: function every(predicate) { + return $every(this, predicate); + } +}); + + +/***/ }), +/* 535 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var isObject = __webpack_require__(20); +var getIteratorDirect = __webpack_require__(496); +var createAsyncIteratorProxy = __webpack_require__(530); +var createIterResultObject = __webpack_require__(173); +var closeAsyncIteration = __webpack_require__(498); +var IS_PURE = __webpack_require__(36); + +var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) { + var state = this; + var iterator = state.iterator; + var predicate = state.predicate; + + return new Promise(function (resolve, reject) { + var doneAndReject = function (error) { + state.done = true; + reject(error); + }; + + var ifAbruptCloseAsyncIterator = function (error) { + closeAsyncIteration(iterator, doneAndReject, error, doneAndReject); + }; + + var loop = function () { + try { + Promise.resolve(anObject(call(state.next, iterator))).then(function (step) { + try { + if (anObject(step).done) { + state.done = true; + resolve(createIterResultObject(undefined, true)); + } else { + var value = step.value; + try { + var result = predicate(value, state.counter++); + + var handler = function (selected) { + selected ? resolve(createIterResultObject(value, false)) : loop(); + }; + + if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator); + else handler(result); + } catch (error3) { ifAbruptCloseAsyncIterator(error3); } + } + } catch (error2) { doneAndReject(error2); } + }, doneAndReject); + } catch (error) { doneAndReject(error); } + }; + + loop(); + }); +}); + +// `AsyncIterator.prototype.filter` method +// https://github.com/tc39/proposal-async-iterator-helpers +$({ target: 'AsyncIterator', proto: true, real: true, forced: IS_PURE }, { + filter: function filter(predicate) { + anObject(this); + aCallable(predicate); + return new AsyncIteratorProxy(getIteratorDirect(this), { + predicate: predicate + }); + } +}); + + +/***/ }), +/* 536 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $find = __webpack_require__(497).find; + +// `AsyncIterator.prototype.find` method +// https://github.com/tc39/proposal-async-iterator-helpers +$({ target: 'AsyncIterator', proto: true, real: true }, { + find: function find(predicate) { + return $find(this, predicate); + } +}); + + +/***/ }), +/* 537 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var isObject = __webpack_require__(20); +var getIteratorDirect = __webpack_require__(496); +var createAsyncIteratorProxy = __webpack_require__(530); +var createIterResultObject = __webpack_require__(173); +var getAsyncIteratorFlattenable = __webpack_require__(538); +var closeAsyncIteration = __webpack_require__(498); +var IS_PURE = __webpack_require__(36); + +var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) { + var state = this; + var iterator = state.iterator; + var mapper = state.mapper; + + return new Promise(function (resolve, reject) { + var doneAndReject = function (error) { + state.done = true; + reject(error); + }; + + var ifAbruptCloseAsyncIterator = function (error) { + closeAsyncIteration(iterator, doneAndReject, error, doneAndReject); + }; + + var outerLoop = function () { + try { + Promise.resolve(anObject(call(state.next, iterator))).then(function (step) { + try { + if (anObject(step).done) { + state.done = true; + resolve(createIterResultObject(undefined, true)); + } else { + var value = step.value; + try { + var result = mapper(value, state.counter++); + + var handler = function (mapped) { + try { + state.inner = getAsyncIteratorFlattenable(mapped); + innerLoop(); + } catch (error4) { ifAbruptCloseAsyncIterator(error4); } + }; + + if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator); + else handler(result); + } catch (error3) { ifAbruptCloseAsyncIterator(error3); } + } + } catch (error2) { doneAndReject(error2); } + }, doneAndReject); + } catch (error) { doneAndReject(error); } + }; + + var innerLoop = function () { + var inner = state.inner; + if (inner) { + try { + Promise.resolve(anObject(call(inner.next, inner.iterator))).then(function (result) { + try { + if (anObject(result).done) { + state.inner = null; + outerLoop(); + } else resolve(createIterResultObject(result.value, false)); + } catch (error1) { ifAbruptCloseAsyncIterator(error1); } + }, ifAbruptCloseAsyncIterator); + } catch (error) { ifAbruptCloseAsyncIterator(error); } + } else outerLoop(); + }; + + innerLoop(); + }); +}); + +// `AsyncIterator.prototype.flaMap` method +// https://github.com/tc39/proposal-async-iterator-helpers +$({ target: 'AsyncIterator', proto: true, real: true, forced: IS_PURE }, { + flatMap: function flatMap(mapper) { + anObject(this); + aCallable(mapper); + return new AsyncIteratorProxy(getIteratorDirect(this), { + mapper: mapper, + inner: null + }); + } +}); + + +/***/ }), +/* 538 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var anObject = __webpack_require__(47); +var getIteratorDirect = __webpack_require__(496); +var getIteratorMethod = __webpack_require__(136); +var getMethod = __webpack_require__(30); +var wellKnownSymbol = __webpack_require__(34); +var AsyncFromSyncIterator = __webpack_require__(494); + +var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); + +module.exports = function from(obj) { + var object = anObject(obj); + var alreadyAsync = true; + var method = getMethod(object, ASYNC_ITERATOR); + var iterator; + if (!isCallable(method)) { + method = getIteratorMethod(object); + alreadyAsync = false; + } + if (method !== undefined) { + iterator = call(method, object); + } else { + iterator = object; + alreadyAsync = true; + } + anObject(iterator); + return getIteratorDirect(alreadyAsync ? iterator : new AsyncFromSyncIterator(getIteratorDirect(iterator))); +}; + + +/***/ }), +/* 539 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $forEach = __webpack_require__(497).forEach; + +// `AsyncIterator.prototype.forEach` method +// https://github.com/tc39/proposal-async-iterator-helpers +$({ target: 'AsyncIterator', proto: true, real: true }, { + forEach: function forEach(fn) { + return $forEach(this, fn); + } +}); + + +/***/ }), +/* 540 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(40); +var isPrototypeOf = __webpack_require__(25); +var getAsyncIteratorFlattenable = __webpack_require__(538); +var AsyncIteratorPrototype = __webpack_require__(495); +var WrapAsyncIterator = __webpack_require__(541); +var IS_PURE = __webpack_require__(36); + +// `AsyncIterator.from` method +// https://github.com/tc39/proposal-async-iterator-helpers +$({ target: 'AsyncIterator', stat: true, forced: IS_PURE }, { + from: function from(O) { + var iteratorRecord = getAsyncIteratorFlattenable(typeof O == 'string' ? toObject(O) : O); + return isPrototypeOf(AsyncIteratorPrototype, iteratorRecord.iterator) + ? iteratorRecord.iterator + : new WrapAsyncIterator(iteratorRecord); + } +}); + + +/***/ }), +/* 541 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var createAsyncIteratorProxy = __webpack_require__(530); + +module.exports = createAsyncIteratorProxy(function () { + return call(this.next, this.iterator); +}, true); + + +/***/ }), +/* 542 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var indexed = __webpack_require__(528); + +// `AsyncIterator.prototype.indexed` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + indexed: indexed +}); + + +/***/ }), +/* 543 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var map = __webpack_require__(529); +var IS_PURE = __webpack_require__(36); + +// `AsyncIterator.prototype.map` method +// https://github.com/tc39/proposal-async-iterator-helpers +$({ target: 'AsyncIterator', proto: true, real: true, forced: IS_PURE }, { + map: map +}); + + + +/***/ }), +/* 544 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var isObject = __webpack_require__(20); +var getBuiltIn = __webpack_require__(24); +var getIteratorDirect = __webpack_require__(496); +var closeAsyncIteration = __webpack_require__(498); + +var Promise = getBuiltIn('Promise'); +var $TypeError = TypeError; + +// `AsyncIterator.prototype.reduce` method +// https://github.com/tc39/proposal-async-iterator-helpers +$({ target: 'AsyncIterator', proto: true, real: true }, { + reduce: function reduce(reducer /* , initialValue */) { + anObject(this); + aCallable(reducer); + var record = getIteratorDirect(this); + var iterator = record.iterator; + var next = record.next; + var noInitial = arguments.length < 2; + var accumulator = noInitial ? undefined : arguments[1]; + var counter = 0; + + return new Promise(function (resolve, reject) { + var ifAbruptCloseAsyncIterator = function (error) { + closeAsyncIteration(iterator, reject, error, reject); + }; + + var loop = function () { + try { + Promise.resolve(anObject(call(next, iterator))).then(function (step) { + try { + if (anObject(step).done) { + noInitial ? reject(new $TypeError('Reduce of empty iterator with no initial value')) : resolve(accumulator); + } else { + var value = step.value; + if (noInitial) { + noInitial = false; + accumulator = value; + loop(); + } else try { + var result = reducer(accumulator, value, counter); + + var handler = function ($result) { + accumulator = $result; + loop(); + }; + + if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator); + else handler(result); + } catch (error3) { ifAbruptCloseAsyncIterator(error3); } + } + counter++; + } catch (error2) { reject(error2); } + }, reject); + } catch (error) { reject(error); } + }; + + loop(); + }); + } +}); + + +/***/ }), +/* 545 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $some = __webpack_require__(497).some; + +// `AsyncIterator.prototype.some` method +// https://github.com/tc39/proposal-async-iterator-helpers +$({ target: 'AsyncIterator', proto: true, real: true }, { + some: function some(predicate) { + return $some(this, predicate); + } +}); + + +/***/ }), +/* 546 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(47); +var getIteratorDirect = __webpack_require__(496); +var notANaN = __webpack_require__(533); +var toPositiveInteger = __webpack_require__(438); +var createAsyncIteratorProxy = __webpack_require__(530); +var createIterResultObject = __webpack_require__(173); +var IS_PURE = __webpack_require__(36); + +var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) { + var state = this; + var iterator = state.iterator; + var returnMethod; + + if (!state.remaining--) { + var resultDone = createIterResultObject(undefined, true); + state.done = true; + returnMethod = iterator['return']; + if (returnMethod !== undefined) { + return Promise.resolve(call(returnMethod, iterator, undefined)).then(function () { + return resultDone; + }); + } + return resultDone; + } return Promise.resolve(call(state.next, iterator)).then(function (step) { + if (anObject(step).done) { + state.done = true; + return createIterResultObject(undefined, true); + } return createIterResultObject(step.value, false); + }).then(null, function (error) { + state.done = true; + throw error; + }); +}); + +// `AsyncIterator.prototype.take` method +// https://github.com/tc39/proposal-async-iterator-helpers +$({ target: 'AsyncIterator', proto: true, real: true, forced: IS_PURE }, { + take: function take(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new AsyncIteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 547 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var $toArray = __webpack_require__(497).toArray; + +// `AsyncIterator.prototype.toArray` method +// https://github.com/tc39/proposal-async-iterator-helpers +$({ target: 'AsyncIterator', proto: true, real: true }, { + toArray: function toArray() { + return $toArray(this, undefined, []); + } +}); + + +/***/ }), +/* 548 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-bigint -- safe */ +var $ = __webpack_require__(3); +var NumericRangeIterator = __webpack_require__(549); + +// `BigInt.range` method +// https://github.com/tc39/proposal-Number.range +// TODO: Remove from `core-js@4` +if (typeof BigInt == 'function') { + $({ target: 'BigInt', stat: true, forced: true }, { + range: function range(start, end, option) { + return new NumericRangeIterator(start, end, option, 'bigint', BigInt(0), BigInt(1)); + } + }); +} + + +/***/ }), +/* 549 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var InternalStateModule = __webpack_require__(52); +var createIteratorConstructor = __webpack_require__(171); +var createIterResultObject = __webpack_require__(173); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var defineBuiltInAccessor = __webpack_require__(79); +var DESCRIPTORS = __webpack_require__(6); + +var INCORRECT_RANGE = 'Incorrect Iterator.range arguments'; +var NUMERIC_RANGE_ITERATOR = 'NumericRangeIterator'; + +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(NUMERIC_RANGE_ITERATOR); + +var $RangeError = RangeError; +var $TypeError = TypeError; + +var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) { + // TODO: Drop the first `typeof` check after removing legacy methods in `core-js@4` + if (typeof start != type || (end !== Infinity && end !== -Infinity && typeof end != type)) { + throw new $TypeError(INCORRECT_RANGE); + } + if (start === Infinity || start === -Infinity) { + throw new $RangeError(INCORRECT_RANGE); + } + var ifIncrease = end > start; + var inclusiveEnd = false; + var step; + if (option === undefined) { + step = undefined; + } else if (isObject(option)) { + step = option.step; + inclusiveEnd = !!option.inclusive; + } else if (typeof option == type) { + step = option; + } else { + throw new $TypeError(INCORRECT_RANGE); + } + if (isNullOrUndefined(step)) { + step = ifIncrease ? one : -one; + } + if (typeof step != type) { + throw new $TypeError(INCORRECT_RANGE); + } + if (step === Infinity || step === -Infinity || (step === zero && start !== end)) { + throw new $RangeError(INCORRECT_RANGE); + } + // eslint-disable-next-line no-self-compare -- NaN check + var hitsEnd = start !== start || end !== end || step !== step || (end > start) !== (step > zero); + setInternalState(this, { + type: NUMERIC_RANGE_ITERATOR, + start: start, + end: end, + step: step, + inclusive: inclusiveEnd, + hitsEnd: hitsEnd, + currentCount: zero, + zero: zero + }); + if (!DESCRIPTORS) { + this.start = start; + this.end = end; + this.step = step; + this.inclusive = inclusiveEnd; + } +}, NUMERIC_RANGE_ITERATOR, function next() { + var state = getInternalState(this); + if (state.hitsEnd) return createIterResultObject(undefined, true); + var start = state.start; + var end = state.end; + var step = state.step; + var currentYieldingValue = start + (step * state.currentCount++); + if (currentYieldingValue === end) state.hitsEnd = true; + var inclusiveEnd = state.inclusive; + var endCondition; + if (end > start) { + endCondition = inclusiveEnd ? currentYieldingValue > end : currentYieldingValue >= end; + } else { + endCondition = inclusiveEnd ? end > currentYieldingValue : end >= currentYieldingValue; + } + if (endCondition) { + state.hitsEnd = true; + return createIterResultObject(undefined, true); + } return createIterResultObject(currentYieldingValue, false); +}); + +var addGetter = function (key) { + defineBuiltInAccessor($RangeIterator.prototype, key, { + get: function () { + return getInternalState(this)[key]; + }, + set: function () { /* empty */ }, + configurable: true, + enumerable: false + }); +}; + +if (DESCRIPTORS) { + addGetter('start'); + addGetter('end'); + addGetter('inclusive'); + addGetter('step'); +} + +module.exports = $RangeIterator; + + +/***/ }), +/* 550 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var apply = __webpack_require__(96); +var getCompositeKeyNode = __webpack_require__(551); +var getBuiltIn = __webpack_require__(24); +var create = __webpack_require__(72); + +var $Object = Object; + +var initializer = function () { + var freeze = getBuiltIn('Object', 'freeze'); + return freeze ? freeze(create(null)) : create(null); +}; + +// https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey +$({ global: true, forced: true }, { + compositeKey: function compositeKey() { + return apply(getCompositeKeyNode, $Object, arguments).get('object', initializer); + } +}); + + +/***/ }), +/* 551 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(243); +__webpack_require__(485); +var getBuiltIn = __webpack_require__(24); +var create = __webpack_require__(72); +var isObject = __webpack_require__(20); + +var $Object = Object; +var $TypeError = TypeError; +var Map = getBuiltIn('Map'); +var WeakMap = getBuiltIn('WeakMap'); + +var Node = function () { + // keys + this.object = null; + this.symbol = null; + // child nodes + this.primitives = null; + this.objectsByIndex = create(null); +}; + +Node.prototype.get = function (key, initializer) { + return this[key] || (this[key] = initializer()); +}; + +Node.prototype.next = function (i, it, IS_OBJECT) { + var store = IS_OBJECT + ? this.objectsByIndex[i] || (this.objectsByIndex[i] = new WeakMap()) + : this.primitives || (this.primitives = new Map()); + var entry = store.get(it); + if (!entry) store.set(it, entry = new Node()); + return entry; +}; + +var root = new Node(); + +module.exports = function () { + var active = root; + var length = arguments.length; + var i, it; + // for prevent leaking, start from objects + for (i = 0; i < length; i++) { + if (isObject(it = arguments[i])) active = active.next(i, it, true); + } + if (this === $Object && active === root) throw new $TypeError('Composite keys must contain a non-primitive component'); + for (i = 0; i < length; i++) { + if (!isObject(it = arguments[i])) active = active.next(i, it, false); + } return active; +}; + + +/***/ }), +/* 552 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var getCompositeKeyNode = __webpack_require__(551); +var getBuiltIn = __webpack_require__(24); +var apply = __webpack_require__(96); + +// https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey +$({ global: true, forced: true }, { + compositeSymbol: function compositeSymbol() { + if (arguments.length === 1 && typeof arguments[0] == 'string') return getBuiltIn('Symbol')['for'](arguments[0]); + return apply(getCompositeKeyNode, null, arguments).get('symbol', getBuiltIn('Symbol')); + } +}); + + +/***/ }), +/* 553 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var unpackIEEE754 = __webpack_require__(216).unpack; + +// eslint-disable-next-line es/no-typed-arrays -- safe +var getUint16 = uncurryThis(DataView.prototype.getUint16); + +// `DataView.prototype.getFloat16` method +// https://github.com/tc39/proposal-float16array +$({ target: 'DataView', proto: true }, { + getFloat16: function getFloat16(byteOffset /* , littleEndian */) { + var uint16 = getUint16(this, byteOffset, arguments.length > 1 ? arguments[1] : false); + return unpackIEEE754([uint16 & 0xFF, uint16 >> 8 & 0xFF], 10); + } +}); + + +/***/ }), +/* 554 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-typed-arrays -- safe +var getUint8 = uncurryThis(DataView.prototype.getUint8); + +// `DataView.prototype.getUint8Clamped` method +// https://github.com/tc39/proposal-dataview-get-set-uint8c +$({ target: 'DataView', proto: true, forced: true }, { + getUint8Clamped: function getUint8Clamped(byteOffset) { + return getUint8(this, byteOffset); + } +}); + + +/***/ }), +/* 555 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var classof = __webpack_require__(70); +var toIndex = __webpack_require__(212); +var packIEEE754 = __webpack_require__(216).pack; +var f16round = __webpack_require__(556); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-typed-arrays -- safe +var setUint16 = uncurryThis(DataView.prototype.setUint16); + +// `DataView.prototype.setFloat16` method +// https://github.com/tc39/proposal-float16array +$({ target: 'DataView', proto: true }, { + setFloat16: function setFloat16(byteOffset, value /* , littleEndian */) { + if (classof(this) !== 'DataView') throw new $TypeError('Incorrect receiver'); + var offset = toIndex(byteOffset); + var bytes = packIEEE754(f16round(value), 10, 2); + return setUint16(this, offset, bytes[1] << 8 | bytes[0], arguments.length > 2 ? arguments[2] : false); + } +}); + + +/***/ }), +/* 556 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var floatRound = __webpack_require__(214); + +var FLOAT16_EPSILON = 0.0009765625; +var FLOAT16_MAX_VALUE = 65504; +var FLOAT16_MIN_VALUE = 6.103515625e-05; + +// `Math.f16round` method implementation +// https://github.com/tc39/proposal-float16array +module.exports = Math.f16round || function f16round(x) { + return floatRound(x, FLOAT16_EPSILON, FLOAT16_MAX_VALUE, FLOAT16_MIN_VALUE); +}; + + +/***/ }), +/* 557 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var classof = __webpack_require__(70); +var toIndex = __webpack_require__(212); +var toUint8Clamped = __webpack_require__(439); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-typed-arrays -- safe +var setUint8 = uncurryThis(DataView.prototype.setUint8); + +// `DataView.prototype.setUint8Clamped` method +// https://github.com/tc39/proposal-dataview-get-set-uint8c +$({ target: 'DataView', proto: true, forced: true }, { + setUint8Clamped: function setUint8Clamped(byteOffset, value) { + if (classof(this) !== 'DataView') throw new $TypeError('Incorrect receiver'); + var offset = toIndex(byteOffset); + return setUint8(this, offset, toUint8Clamped(value)); + } +}); + + +/***/ }), +/* 558 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/proposal-explicit-resource-management +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var getBuiltIn = __webpack_require__(24); +var aCallable = __webpack_require__(31); +var anInstance = __webpack_require__(211); +var defineBuiltIn = __webpack_require__(48); +var defineBuiltIns = __webpack_require__(210); +var defineBuiltInAccessor = __webpack_require__(79); +var wellKnownSymbol = __webpack_require__(34); +var InternalStateModule = __webpack_require__(52); +var addDisposableResource = __webpack_require__(525); + +var SuppressedError = getBuiltIn('SuppressedError'); +var $ReferenceError = ReferenceError; + +var DISPOSE = wellKnownSymbol('dispose'); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +var DISPOSABLE_STACK = 'DisposableStack'; +var setInternalState = InternalStateModule.set; +var getDisposableStackInternalState = InternalStateModule.getterFor(DISPOSABLE_STACK); + +var HINT = 'sync-dispose'; +var DISPOSED = 'disposed'; +var PENDING = 'pending'; + +var getPendingDisposableStackInternalState = function (stack) { + var internalState = getDisposableStackInternalState(stack); + if (internalState.state === DISPOSED) throw new $ReferenceError(DISPOSABLE_STACK + ' already disposed'); + return internalState; +}; + +var $DisposableStack = function DisposableStack() { + setInternalState(anInstance(this, DisposableStackPrototype), { + type: DISPOSABLE_STACK, + state: PENDING, + stack: [] + }); + + if (!DESCRIPTORS) this.disposed = false; +}; + +var DisposableStackPrototype = $DisposableStack.prototype; + +defineBuiltIns(DisposableStackPrototype, { + dispose: function dispose() { + var internalState = getDisposableStackInternalState(this); + if (internalState.state === DISPOSED) return; + internalState.state = DISPOSED; + if (!DESCRIPTORS) this.disposed = true; + var stack = internalState.stack; + var i = stack.length; + var thrown = false; + var suppressed; + while (i) { + var disposeMethod = stack[--i]; + stack[i] = null; + try { + disposeMethod(); + } catch (errorResult) { + if (thrown) { + suppressed = new SuppressedError(errorResult, suppressed); + } else { + thrown = true; + suppressed = errorResult; + } + } + } + internalState.stack = null; + if (thrown) throw suppressed; + }, + use: function use(value) { + addDisposableResource(getPendingDisposableStackInternalState(this), value, HINT); + return value; + }, + adopt: function adopt(value, onDispose) { + var internalState = getPendingDisposableStackInternalState(this); + aCallable(onDispose); + addDisposableResource(internalState, undefined, HINT, function () { + onDispose(value); + }); + return value; + }, + defer: function defer(onDispose) { + var internalState = getPendingDisposableStackInternalState(this); + aCallable(onDispose); + addDisposableResource(internalState, undefined, HINT, onDispose); + }, + move: function move() { + var internalState = getPendingDisposableStackInternalState(this); + var newDisposableStack = new $DisposableStack(); + getDisposableStackInternalState(newDisposableStack).stack = internalState.stack; + internalState.stack = []; + internalState.state = DISPOSED; + if (!DESCRIPTORS) this.disposed = true; + return newDisposableStack; + } +}); + +if (DESCRIPTORS) defineBuiltInAccessor(DisposableStackPrototype, 'disposed', { + configurable: true, + get: function disposed() { + return getDisposableStackInternalState(this).state === DISPOSED; + } +}); + +defineBuiltIn(DisposableStackPrototype, DISPOSE, DisposableStackPrototype.dispose, { name: 'dispose' }); +defineBuiltIn(DisposableStackPrototype, TO_STRING_TAG, DISPOSABLE_STACK, { nonWritable: true }); + +$({ global: true, constructor: true }, { + DisposableStack: $DisposableStack +}); + + +/***/ }), +/* 559 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var demethodize = __webpack_require__(560); + +// `Function.prototype.demethodize` method +// https://github.com/js-choi/proposal-function-demethodize +$({ target: 'Function', proto: true, forced: true }, { + demethodize: demethodize +}); + + +/***/ }), +/* 560 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(31); + +module.exports = function demethodize() { + return uncurryThis(aCallable(this)); +}; + + +/***/ }), +/* 561 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var $isCallable = __webpack_require__(21); +var inspectSource = __webpack_require__(51); +var hasOwn = __webpack_require__(39); +var DESCRIPTORS = __webpack_require__(6); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var classRegExp = /^\s*class\b/; +var exec = uncurryThis(classRegExp.exec); + +var isClassConstructor = function (argument) { + try { + // `Function#toString` throws on some built-it function in some legacy engines + // (for example, `DOMQuad` and similar in FF41-) + if (!DESCRIPTORS || !exec(classRegExp, inspectSource(argument))) return false; + } catch (error) { /* empty */ } + var prototype = getOwnPropertyDescriptor(argument, 'prototype'); + return !!prototype && hasOwn(prototype, 'writable') && !prototype.writable; +}; + +// `Function.isCallable` method +// https://github.com/caitp/TC39-Proposals/blob/trunk/tc39-reflect-isconstructor-iscallable.md +$({ target: 'Function', stat: true, sham: true, forced: true }, { + isCallable: function isCallable(argument) { + return $isCallable(argument) && !isClassConstructor(argument); + } +}); + + +/***/ }), +/* 562 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isConstructor = __webpack_require__(91); + +// `Function.isConstructor` method +// https://github.com/caitp/TC39-Proposals/blob/trunk/tc39-reflect-isconstructor-iscallable.md +$({ target: 'Function', stat: true, forced: true }, { + isConstructor: isConstructor +}); + + +/***/ }), +/* 563 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var wellKnownSymbol = __webpack_require__(34); +var defineProperty = __webpack_require__(45).f; + +var METADATA = wellKnownSymbol('metadata'); +var FunctionPrototype = Function.prototype; + +// Function.prototype[@@metadata] +// https://github.com/tc39/proposal-decorator-metadata +if (FunctionPrototype[METADATA] === undefined) { + defineProperty(FunctionPrototype, METADATA, { + value: null + }); +} + + +/***/ }), +/* 564 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var demethodize = __webpack_require__(560); + +// `Function.prototype.unThis` method +// https://github.com/js-choi/proposal-function-demethodize +// TODO: Remove from `core-js@4` +$({ target: 'Function', proto: true, forced: true, name: 'demethodize' }, { + unThis: demethodize +}); + + +/***/ }), +/* 565 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var getPrototypeOf = __webpack_require__(130); +var createNonEnumerableProperty = __webpack_require__(44); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(39); +var wellKnownSymbol = __webpack_require__(34); +var IteratorPrototype = __webpack_require__(172).IteratorPrototype; +var IS_PURE = __webpack_require__(36); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +var $TypeError = TypeError; +var NativeIterator = global.Iterator; + +// FF56- have non-standard global helper `Iterator` +var FORCED = IS_PURE + || !isCallable(NativeIterator) + || NativeIterator.prototype !== IteratorPrototype + // FF44- non-standard `Iterator` passes previous tests + || !fails(function () { NativeIterator({}); }); + +var IteratorConstructor = function Iterator() { + anInstance(this, IteratorPrototype); + if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError('Abstract class Iterator not directly constructable'); +}; + +if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) { + createNonEnumerableProperty(IteratorPrototype, TO_STRING_TAG, 'Iterator'); +} + +if (FORCED || !hasOwn(IteratorPrototype, 'constructor') || IteratorPrototype.constructor === Object) { + createNonEnumerableProperty(IteratorPrototype, 'constructor', IteratorConstructor); +} + +IteratorConstructor.prototype = IteratorPrototype; + +// `Iterator` constructor +// https://github.com/tc39/proposal-iterator-helpers +$({ global: true, constructor: true, forced: FORCED }, { + Iterator: IteratorConstructor +}); + + +/***/ }), +/* 566 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var indexed = __webpack_require__(567); + +// `Iterator.prototype.asIndexedPairs` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', name: 'indexed', proto: true, real: true, forced: true }, { + asIndexedPairs: indexed +}); + + +/***/ }), +/* 567 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var map = __webpack_require__(568); + +var callback = function (value, counter) { + return [counter, value]; +}; + +// `Iterator.prototype.indexed` method +// https://github.com/tc39/proposal-iterator-helpers +module.exports = function indexed() { + return call(map, this, callback); +}; + + +/***/ }), +/* 568 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var getIteratorDirect = __webpack_require__(496); +var createIteratorProxy = __webpack_require__(569); +var callWithSafeIterationClosing = __webpack_require__(164); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var result = anObject(call(this.next, iterator)); + var done = this.done = !!result.done; + if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true); +}); + +// `Iterator.prototype.map` method +// https://github.com/tc39/proposal-iterator-helpers +module.exports = function map(mapper) { + anObject(this); + aCallable(mapper); + return new IteratorProxy(getIteratorDirect(this), { + mapper: mapper + }); +}; + + +/***/ }), +/* 569 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var create = __webpack_require__(72); +var createNonEnumerableProperty = __webpack_require__(44); +var defineBuiltIns = __webpack_require__(210); +var wellKnownSymbol = __webpack_require__(34); +var InternalStateModule = __webpack_require__(52); +var getMethod = __webpack_require__(30); +var IteratorPrototype = __webpack_require__(172).IteratorPrototype; +var createIterResultObject = __webpack_require__(173); +var iteratorClose = __webpack_require__(137); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var ITERATOR_HELPER = 'IteratorHelper'; +var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator'; +var setInternalState = InternalStateModule.set; + +var createIteratorProxyPrototype = function (IS_ITERATOR) { + var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER); + + return defineBuiltIns(create(IteratorPrototype), { + next: function next() { + var state = getInternalState(this); + // for simplification: + // for `%WrapForValidIteratorPrototype%.next` our `nextHandler` returns `IterResultObject` + // for `%IteratorHelperPrototype%.next` - just a value + if (IS_ITERATOR) return state.nextHandler(); + try { + var result = state.done ? undefined : state.nextHandler(); + return createIterResultObject(result, state.done); + } catch (error) { + state.done = true; + throw error; + } + }, + 'return': function () { + var state = getInternalState(this); + var iterator = state.iterator; + state.done = true; + if (IS_ITERATOR) { + var returnMethod = getMethod(iterator, 'return'); + return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true); + } + if (state.inner) try { + iteratorClose(state.inner.iterator, 'normal'); + } catch (error) { + return iteratorClose(iterator, 'throw', error); + } + iteratorClose(iterator, 'normal'); + return createIterResultObject(undefined, true); + } + }); +}; + +var WrapForValidIteratorPrototype = createIteratorProxyPrototype(true); +var IteratorHelperPrototype = createIteratorProxyPrototype(false); + +createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper'); + +module.exports = function (nextHandler, IS_ITERATOR) { + var IteratorProxy = function Iterator(record, state) { + if (state) { + state.iterator = record.iterator; + state.next = record.next; + } else state = record; + state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER; + state.nextHandler = nextHandler; + state.counter = 0; + state.done = false; + setInternalState(this, state); + }; + + IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype; + + return IteratorProxy; +}; + + +/***/ }), +/* 570 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/proposal-explicit-resource-management +var call = __webpack_require__(8); +var defineBuiltIn = __webpack_require__(48); +var getMethod = __webpack_require__(30); +var hasOwn = __webpack_require__(39); +var wellKnownSymbol = __webpack_require__(34); +var IteratorPrototype = __webpack_require__(172).IteratorPrototype; + +var DISPOSE = wellKnownSymbol('dispose'); + +if (!hasOwn(IteratorPrototype, DISPOSE)) { + defineBuiltIn(IteratorPrototype, DISPOSE, function () { + var $return = getMethod(this, 'return'); + if ($return) call($return, this); + }); +} + + +/***/ }), +/* 571 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(47); +var getIteratorDirect = __webpack_require__(496); +var notANaN = __webpack_require__(533); +var toPositiveInteger = __webpack_require__(438); +var createIteratorProxy = __webpack_require__(569); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var next = this.next; + var result, done; + while (this.remaining) { + this.remaining--; + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (done) return; + } + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (!done) return result.value; +}); + +// `Iterator.prototype.drop` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + drop: function drop(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new IteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 572 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(132); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var getIteratorDirect = __webpack_require__(496); + +// `Iterator.prototype.every` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true }, { + every: function every(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return !iterate(record, function (value, stop) { + if (!predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), +/* 573 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var getIteratorDirect = __webpack_require__(496); +var createIteratorProxy = __webpack_require__(569); +var callWithSafeIterationClosing = __webpack_require__(164); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var predicate = this.predicate; + var next = this.next; + var result, done, value; + while (true) { + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (done) return; + value = result.value; + if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value; + } +}); + +// `Iterator.prototype.filter` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + filter: function filter(predicate) { + anObject(this); + aCallable(predicate); + return new IteratorProxy(getIteratorDirect(this), { + predicate: predicate + }); + } +}); + + +/***/ }), +/* 574 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(132); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var getIteratorDirect = __webpack_require__(496); + +// `Iterator.prototype.find` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true }, { + find: function find(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return iterate(record, function (value, stop) { + if (predicate(value, counter++)) return stop(value); + }, { IS_RECORD: true, INTERRUPTED: true }).result; + } +}); + + +/***/ }), +/* 575 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var getIteratorDirect = __webpack_require__(496); +var getIteratorFlattenable = __webpack_require__(576); +var createIteratorProxy = __webpack_require__(569); +var iteratorClose = __webpack_require__(137); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var mapper = this.mapper; + var result, inner; + + while (true) { + if (inner = this.inner) try { + result = anObject(call(inner.next, inner.iterator)); + if (!result.done) return result.value; + this.inner = null; + } catch (error) { iteratorClose(iterator, 'throw', error); } + + result = anObject(call(this.next, iterator)); + + if (this.done = !!result.done) return; + + try { + this.inner = getIteratorFlattenable(mapper(result.value, this.counter++), false); + } catch (error) { iteratorClose(iterator, 'throw', error); } + } +}); + +// `Iterator.prototype.flatMap` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + flatMap: function flatMap(mapper) { + anObject(this); + aCallable(mapper); + return new IteratorProxy(getIteratorDirect(this), { + mapper: mapper, + inner: null + }); + } +}); + + +/***/ }), +/* 576 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var anObject = __webpack_require__(47); +var getIteratorDirect = __webpack_require__(496); +var getIteratorMethod = __webpack_require__(136); + +module.exports = function (obj, stringHandling) { + if (!stringHandling || typeof obj !== 'string') anObject(obj); + var method = getIteratorMethod(obj); + return getIteratorDirect(anObject(method !== undefined ? call(method, obj) : obj)); +}; + + +/***/ }), +/* 577 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(132); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var getIteratorDirect = __webpack_require__(496); + +// `Iterator.prototype.forEach` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true }, { + forEach: function forEach(fn) { + anObject(this); + aCallable(fn); + var record = getIteratorDirect(this); + var counter = 0; + iterate(record, function (value) { + fn(value, counter++); + }, { IS_RECORD: true }); + } +}); + + +/***/ }), +/* 578 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var toObject = __webpack_require__(40); +var isPrototypeOf = __webpack_require__(25); +var IteratorPrototype = __webpack_require__(172).IteratorPrototype; +var createIteratorProxy = __webpack_require__(569); +var getIteratorFlattenable = __webpack_require__(576); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + return call(this.next, this.iterator); +}, true); + +// `Iterator.from` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', stat: true, forced: IS_PURE }, { + from: function from(O) { + var iteratorRecord = getIteratorFlattenable(typeof O == 'string' ? toObject(O) : O, true); + return isPrototypeOf(IteratorPrototype, iteratorRecord.iterator) + ? iteratorRecord.iterator + : new IteratorProxy(iteratorRecord); + } +}); + + +/***/ }), +/* 579 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var indexed = __webpack_require__(567); + +// `Iterator.prototype.indexed` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true, forced: true }, { + indexed: indexed +}); + + +/***/ }), +/* 580 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var map = __webpack_require__(568); +var IS_PURE = __webpack_require__(36); + +// `Iterator.prototype.map` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + map: map +}); + + +/***/ }), +/* 581 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-bigint -- safe */ +var $ = __webpack_require__(3); +var NumericRangeIterator = __webpack_require__(549); + +var $TypeError = TypeError; + +// `Iterator.range` method +// https://github.com/tc39/proposal-Number.range +$({ target: 'Iterator', stat: true, forced: true }, { + range: function range(start, end, option) { + if (typeof start == 'number') return new NumericRangeIterator(start, end, option, 'number', 0, 1); + if (typeof start == 'bigint') return new NumericRangeIterator(start, end, option, 'bigint', BigInt(0), BigInt(1)); + throw new $TypeError('Incorrect Iterator.range arguments'); + } +}); + + +/***/ }), +/* 582 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(132); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var getIteratorDirect = __webpack_require__(496); + +var $TypeError = TypeError; + +// `Iterator.prototype.reduce` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true }, { + reduce: function reduce(reducer /* , initialValue */) { + anObject(this); + aCallable(reducer); + var record = getIteratorDirect(this); + var noInitial = arguments.length < 2; + var accumulator = noInitial ? undefined : arguments[1]; + var counter = 0; + iterate(record, function (value) { + if (noInitial) { + noInitial = false; + accumulator = value; + } else { + accumulator = reducer(accumulator, value, counter); + } + counter++; + }, { IS_RECORD: true }); + if (noInitial) throw new $TypeError('Reduce of empty iterator with no initial value'); + return accumulator; + } +}); + + +/***/ }), +/* 583 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(132); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var getIteratorDirect = __webpack_require__(496); + +// `Iterator.prototype.some` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true }, { + some: function some(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return iterate(record, function (value, stop) { + if (predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), +/* 584 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(47); +var getIteratorDirect = __webpack_require__(496); +var notANaN = __webpack_require__(533); +var toPositiveInteger = __webpack_require__(438); +var createIteratorProxy = __webpack_require__(569); +var iteratorClose = __webpack_require__(137); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + if (!this.remaining--) { + this.done = true; + return iteratorClose(iterator, 'normal', undefined); + } + var result = anObject(call(this.next, iterator)); + var done = this.done = !!result.done; + if (!done) return result.value; +}); + +// `Iterator.prototype.take` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + take: function take(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new IteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 585 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(47); +var iterate = __webpack_require__(132); +var getIteratorDirect = __webpack_require__(496); + +var push = [].push; + +// `Iterator.prototype.toArray` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true }, { + toArray: function toArray() { + var result = []; + iterate(getIteratorDirect(anObject(this)), push, { that: result, IS_RECORD: true }); + return result; + } +}); + + +/***/ }), +/* 586 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(47); +var AsyncFromSyncIterator = __webpack_require__(494); +var WrapAsyncIterator = __webpack_require__(541); +var getIteratorDirect = __webpack_require__(496); +var IS_PURE = __webpack_require__(36); + +// `Iterator.prototype.toAsync` method +// https://github.com/tc39/proposal-async-iterator-helpers +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + toAsync: function toAsync() { + return new WrapAsyncIterator(getIteratorDirect(new AsyncFromSyncIterator(getIteratorDirect(anObject(this))))); + } +}); + + +/***/ }), +/* 587 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var NATIVE_RAW_JSON = __webpack_require__(588); +var isRawJSON = __webpack_require__(589); + +// `JSON.parse` method +// https://tc39.es/proposal-json-parse-with-source/#sec-json.israwjson +// https://github.com/tc39/proposal-json-parse-with-source +$({ target: 'JSON', stat: true, forced: !NATIVE_RAW_JSON }, { + isRawJSON: isRawJSON +}); + + +/***/ }), +/* 588 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-json -- safe */ +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + var unsafeInt = '9007199254740993'; + var raw = JSON.rawJSON(unsafeInt); + return !JSON.isRawJSON(raw) || JSON.stringify(raw) !== unsafeInt; +}); + + +/***/ }), +/* 589 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isObject = __webpack_require__(20); +var getInternalState = __webpack_require__(52).get; + +module.exports = function isRawJSON(O) { + if (!isObject(O)) return false; + var state = getInternalState(O); + return !!state && state.type === 'RawJSON'; +}; + + +/***/ }), +/* 590 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var global = __webpack_require__(4); +var getBuiltIn = __webpack_require__(24); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var isArray = __webpack_require__(90); +var hasOwn = __webpack_require__(39); +var toString = __webpack_require__(69); +var lengthOfArrayLike = __webpack_require__(64); +var createProperty = __webpack_require__(78); +var fails = __webpack_require__(7); +var parseJSONString = __webpack_require__(591); +var NATIVE_SYMBOL = __webpack_require__(27); + +var JSON = global.JSON; +var Number = global.Number; +var SyntaxError = global.SyntaxError; +var nativeParse = JSON && JSON.parse; +var enumerableOwnProperties = getBuiltIn('Object', 'keys'); +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var at = uncurryThis(''.charAt); +var slice = uncurryThis(''.slice); +var exec = uncurryThis(/./.exec); +var push = uncurryThis([].push); + +var IS_DIGIT = /^\d$/; +var IS_NON_ZERO_DIGIT = /^[1-9]$/; +var IS_NUMBER_START = /^(?:-|\d)$/; +var IS_WHITESPACE = /^[\t\n\r ]$/; + +var PRIMITIVE = 0; +var OBJECT = 1; + +var $parse = function (source, reviver) { + source = toString(source); + var context = new Context(source, 0, ''); + var root = context.parse(); + var value = root.value; + var endIndex = context.skip(IS_WHITESPACE, root.end); + if (endIndex < source.length) { + throw new SyntaxError('Unexpected extra character: "' + at(source, endIndex) + '" after the parsed data at: ' + endIndex); + } + return isCallable(reviver) ? internalize({ '': value }, '', reviver, root) : value; +}; + +var internalize = function (holder, name, reviver, node) { + var val = holder[name]; + var unmodified = node && val === node.value; + var context = unmodified && typeof node.source == 'string' ? { source: node.source } : {}; + var elementRecordsLen, keys, len, i, P; + if (isObject(val)) { + var nodeIsArray = isArray(val); + var nodes = unmodified ? node.nodes : nodeIsArray ? [] : {}; + if (nodeIsArray) { + elementRecordsLen = nodes.length; + len = lengthOfArrayLike(val); + for (i = 0; i < len; i++) { + internalizeProperty(val, i, internalize(val, '' + i, reviver, i < elementRecordsLen ? nodes[i] : undefined)); + } + } else { + keys = enumerableOwnProperties(val); + len = lengthOfArrayLike(keys); + for (i = 0; i < len; i++) { + P = keys[i]; + internalizeProperty(val, P, internalize(val, P, reviver, hasOwn(nodes, P) ? nodes[P] : undefined)); + } + } + } + return call(reviver, holder, name, val, context); +}; + +var internalizeProperty = function (object, key, value) { + if (DESCRIPTORS) { + var descriptor = getOwnPropertyDescriptor(object, key); + if (descriptor && !descriptor.configurable) return; + } + if (value === undefined) delete object[key]; + else createProperty(object, key, value); +}; + +var Node = function (value, end, source, nodes) { + this.value = value; + this.end = end; + this.source = source; + this.nodes = nodes; +}; + +var Context = function (source, index) { + this.source = source; + this.index = index; +}; + +// https://www.json.org/json-en.html +Context.prototype = { + fork: function (nextIndex) { + return new Context(this.source, nextIndex); + }, + parse: function () { + var source = this.source; + var i = this.skip(IS_WHITESPACE, this.index); + var fork = this.fork(i); + var chr = at(source, i); + if (exec(IS_NUMBER_START, chr)) return fork.number(); + switch (chr) { + case '{': + return fork.object(); + case '[': + return fork.array(); + case '"': + return fork.string(); + case 't': + return fork.keyword(true); + case 'f': + return fork.keyword(false); + case 'n': + return fork.keyword(null); + } throw new SyntaxError('Unexpected character: "' + chr + '" at: ' + i); + }, + node: function (type, value, start, end, nodes) { + return new Node(value, end, type ? null : slice(this.source, start, end), nodes); + }, + object: function () { + var source = this.source; + var i = this.index + 1; + var expectKeypair = false; + var object = {}; + var nodes = {}; + while (i < source.length) { + i = this.until(['"', '}'], i); + if (at(source, i) === '}' && !expectKeypair) { + i++; + break; + } + // Parsing the key + var result = this.fork(i).string(); + var key = result.value; + i = result.end; + i = this.until([':'], i) + 1; + // Parsing value + i = this.skip(IS_WHITESPACE, i); + result = this.fork(i).parse(); + createProperty(nodes, key, result); + createProperty(object, key, result.value); + i = this.until([',', '}'], result.end); + var chr = at(source, i); + if (chr === ',') { + expectKeypair = true; + i++; + } else if (chr === '}') { + i++; + break; + } + } + return this.node(OBJECT, object, this.index, i, nodes); + }, + array: function () { + var source = this.source; + var i = this.index + 1; + var expectElement = false; + var array = []; + var nodes = []; + while (i < source.length) { + i = this.skip(IS_WHITESPACE, i); + if (at(source, i) === ']' && !expectElement) { + i++; + break; + } + var result = this.fork(i).parse(); + push(nodes, result); + push(array, result.value); + i = this.until([',', ']'], result.end); + if (at(source, i) === ',') { + expectElement = true; + i++; + } else if (at(source, i) === ']') { + i++; + break; + } + } + return this.node(OBJECT, array, this.index, i, nodes); + }, + string: function () { + var index = this.index; + var parsed = parseJSONString(this.source, this.index + 1); + return this.node(PRIMITIVE, parsed.value, index, parsed.end); + }, + number: function () { + var source = this.source; + var startIndex = this.index; + var i = startIndex; + if (at(source, i) === '-') i++; + if (at(source, i) === '0') i++; + else if (exec(IS_NON_ZERO_DIGIT, at(source, i))) i = this.skip(IS_DIGIT, ++i); + else throw new SyntaxError('Failed to parse number at: ' + i); + if (at(source, i) === '.') i = this.skip(IS_DIGIT, ++i); + if (at(source, i) === 'e' || at(source, i) === 'E') { + i++; + if (at(source, i) === '+' || at(source, i) === '-') i++; + var exponentStartIndex = i; + i = this.skip(IS_DIGIT, i); + if (exponentStartIndex === i) throw new SyntaxError("Failed to parse number's exponent value at: " + i); + } + return this.node(PRIMITIVE, Number(slice(source, startIndex, i)), startIndex, i); + }, + keyword: function (value) { + var keyword = '' + value; + var index = this.index; + var endIndex = index + keyword.length; + if (slice(this.source, index, endIndex) !== keyword) throw new SyntaxError('Failed to parse value at: ' + index); + return this.node(PRIMITIVE, value, index, endIndex); + }, + skip: function (regex, i) { + var source = this.source; + for (; i < source.length; i++) if (!exec(regex, at(source, i))) break; + return i; + }, + until: function (array, i) { + i = this.skip(IS_WHITESPACE, i); + var chr = at(this.source, i); + for (var j = 0; j < array.length; j++) if (array[j] === chr) return i; + throw new SyntaxError('Unexpected character: "' + chr + '" at: ' + i); + } +}; + +var NO_SOURCE_SUPPORT = fails(function () { + var unsafeInt = '9007199254740993'; + var source; + nativeParse(unsafeInt, function (key, value, context) { + source = context.source; + }); + return source !== unsafeInt; +}); + +var PROPER_BASE_PARSE = NATIVE_SYMBOL && !fails(function () { + // Safari 9 bug + return 1 / nativeParse('-0 \t') !== -Infinity; +}); + +// `JSON.parse` method +// https://tc39.es/ecma262/#sec-json.parse +// https://github.com/tc39/proposal-json-parse-with-source +$({ target: 'JSON', stat: true, forced: NO_SOURCE_SUPPORT }, { + parse: function parse(text, reviver) { + return PROPER_BASE_PARSE && !isCallable(reviver) ? nativeParse(text) : $parse(text, reviver); + } +}); + + +/***/ }), +/* 591 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(39); + +var $SyntaxError = SyntaxError; +var $parseInt = parseInt; +var fromCharCode = String.fromCharCode; +var at = uncurryThis(''.charAt); +var slice = uncurryThis(''.slice); +var exec = uncurryThis(/./.exec); + +var codePoints = { + '\\"': '"', + '\\\\': '\\', + '\\/': '/', + '\\b': '\b', + '\\f': '\f', + '\\n': '\n', + '\\r': '\r', + '\\t': '\t' +}; + +var IS_4_HEX_DIGITS = /^[\da-f]{4}$/i; +// eslint-disable-next-line regexp/no-control-character -- safe +var IS_C0_CONTROL_CODE = /^[\u0000-\u001F]$/; + +module.exports = function (source, i) { + var unterminated = true; + var value = ''; + while (i < source.length) { + var chr = at(source, i); + if (chr === '\\') { + var twoChars = slice(source, i, i + 2); + if (hasOwn(codePoints, twoChars)) { + value += codePoints[twoChars]; + i += 2; + } else if (twoChars === '\\u') { + i += 2; + var fourHexDigits = slice(source, i, i + 4); + if (!exec(IS_4_HEX_DIGITS, fourHexDigits)) throw new $SyntaxError('Bad Unicode escape at: ' + i); + value += fromCharCode($parseInt(fourHexDigits, 16)); + i += 4; + } else throw new $SyntaxError('Unknown escape sequence: "' + twoChars + '"'); + } else if (chr === '"') { + unterminated = false; + i++; + break; + } else { + if (exec(IS_C0_CONTROL_CODE, chr)) throw new $SyntaxError('Bad control character in string literal at: ' + i); + value += chr; + i++; + } + } + if (unterminated) throw new $SyntaxError('Unterminated string at: ' + i); + return { value: value, end: i }; +}; + + +/***/ }), +/* 592 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var FREEZING = __webpack_require__(249); +var NATIVE_RAW_JSON = __webpack_require__(588); +var getBuiltIn = __webpack_require__(24); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var isCallable = __webpack_require__(21); +var isRawJSON = __webpack_require__(589); +var toString = __webpack_require__(69); +var createProperty = __webpack_require__(78); +var parseJSONString = __webpack_require__(591); +var getReplacerFunction = __webpack_require__(98); +var uid = __webpack_require__(41); +var setInternalState = __webpack_require__(52).set; + +var $String = String; +var $SyntaxError = SyntaxError; +var parse = getBuiltIn('JSON', 'parse'); +var $stringify = getBuiltIn('JSON', 'stringify'); +var create = getBuiltIn('Object', 'create'); +var freeze = getBuiltIn('Object', 'freeze'); +var at = uncurryThis(''.charAt); +var slice = uncurryThis(''.slice); +var exec = uncurryThis(/./.exec); +var push = uncurryThis([].push); + +var MARK = uid(); +var MARK_LENGTH = MARK.length; +var ERROR_MESSAGE = 'Unacceptable as raw JSON'; +var IS_WHITESPACE = /^[\t\n\r ]$/; + +// `JSON.parse` method +// https://tc39.es/proposal-json-parse-with-source/#sec-json.israwjson +// https://github.com/tc39/proposal-json-parse-with-source +$({ target: 'JSON', stat: true, forced: !NATIVE_RAW_JSON }, { + rawJSON: function rawJSON(text) { + var jsonString = toString(text); + if (jsonString === '' || exec(IS_WHITESPACE, at(jsonString, 0)) || exec(IS_WHITESPACE, at(jsonString, jsonString.length - 1))) { + throw new $SyntaxError(ERROR_MESSAGE); + } + var parsed = parse(jsonString); + if (typeof parsed == 'object' && parsed !== null) throw new $SyntaxError(ERROR_MESSAGE); + var obj = create(null); + setInternalState(obj, { type: 'RawJSON' }); + createProperty(obj, 'rawJSON', jsonString); + return FREEZING ? freeze(obj) : obj; + } +}); + +// `JSON.stringify` method +// https://tc39.es/ecma262/#sec-json.stringify +// https://github.com/tc39/proposal-json-parse-with-source +if ($stringify) $({ target: 'JSON', stat: true, arity: 3, forced: !NATIVE_RAW_JSON }, { + stringify: function stringify(text, replacer, space) { + var replacerFunction = getReplacerFunction(replacer); + var rawStrings = []; + + var json = $stringify(text, function (key, value) { + // some old implementations (like WebKit) could pass numbers as keys + var v = isCallable(replacerFunction) ? call(replacerFunction, this, $String(key), value) : value; + return isRawJSON(v) ? MARK + (push(rawStrings, v.rawJSON) - 1) : v; + }, space); + + if (typeof json != 'string') return json; + + var result = ''; + var length = json.length; + + for (var i = 0; i < length; i++) { + var chr = at(json, i); + if (chr === '"') { + var end = parseJSONString(json, ++i).end - 1; + var string = slice(json, i, end); + result += slice(string, 0, MARK_LENGTH) === MARK + ? rawStrings[slice(string, MARK_LENGTH)] + : '"' + string + '"'; + i = end; + } else result += chr; + } + + return result; + } +}); + + +/***/ }), +/* 593 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var aMap = __webpack_require__(594); +var remove = __webpack_require__(506).remove; + +// `Map.prototype.deleteAll` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: true }, { + deleteAll: function deleteAll(/* ...elements */) { + var collection = aMap(this); + var allDeleted = true; + var wasDeleted; + for (var k = 0, len = arguments.length; k < len; k++) { + wasDeleted = remove(collection, arguments[k]); + allDeleted = allDeleted && wasDeleted; + } return !!allDeleted; + } +}); + + +/***/ }), +/* 594 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var has = __webpack_require__(506).has; + +// Perform ? RequireInternalSlot(M, [[MapData]]) +module.exports = function (it) { + has(it); + return it; +}; + + +/***/ }), +/* 595 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var aMap = __webpack_require__(594); +var MapHelpers = __webpack_require__(506); + +var get = MapHelpers.get; +var has = MapHelpers.has; +var set = MapHelpers.set; + +// `Map.prototype.emplace` method +// https://github.com/tc39/proposal-upsert +$({ target: 'Map', proto: true, real: true, forced: true }, { + emplace: function emplace(key, handler) { + var map = aMap(this); + var value, inserted; + if (has(map, key)) { + value = get(map, key); + if ('update' in handler) { + value = handler.update(value, key, map); + set(map, key, value); + } return value; + } + inserted = handler.insert(key, map); + set(map, key, inserted); + return inserted; + } +}); + + +/***/ }), +/* 596 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var bind = __webpack_require__(86); +var aMap = __webpack_require__(594); +var iterate = __webpack_require__(513); + +// `Map.prototype.every` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: true }, { + every: function every(callbackfn /* , thisArg */) { + var map = aMap(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return iterate(map, function (value, key) { + if (!boundFunction(value, key, map)) return false; + }, true) !== false; + } +}); + + +/***/ }), +/* 597 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var bind = __webpack_require__(86); +var aMap = __webpack_require__(594); +var MapHelpers = __webpack_require__(506); +var iterate = __webpack_require__(513); + +var Map = MapHelpers.Map; +var set = MapHelpers.set; + +// `Map.prototype.filter` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: true }, { + filter: function filter(callbackfn /* , thisArg */) { + var map = aMap(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var newMap = new Map(); + iterate(map, function (value, key) { + if (boundFunction(value, key, map)) set(newMap, key, value); + }); + return newMap; + } +}); + + +/***/ }), +/* 598 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var bind = __webpack_require__(86); +var aMap = __webpack_require__(594); +var iterate = __webpack_require__(513); + +// `Map.prototype.find` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: true }, { + find: function find(callbackfn /* , thisArg */) { + var map = aMap(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var result = iterate(map, function (value, key) { + if (boundFunction(value, key, map)) return { value: value }; + }, true); + return result && result.value; + } +}); + + +/***/ }), +/* 599 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var bind = __webpack_require__(86); +var aMap = __webpack_require__(594); +var iterate = __webpack_require__(513); + +// `Map.prototype.findKey` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: true }, { + findKey: function findKey(callbackfn /* , thisArg */) { + var map = aMap(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var result = iterate(map, function (value, key) { + if (boundFunction(value, key, map)) return { key: key }; + }, true); + return result && result.key; + } +}); + + +/***/ }), +/* 600 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var from = __webpack_require__(601); + +// `Map.from` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from +$({ target: 'Map', stat: true, forced: true }, { + from: from +}); + + +/***/ }), +/* 601 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/proposal-setmap-offrom/ +var bind = __webpack_require__(86); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(31); +var aConstructor = __webpack_require__(221); +var isNullOrUndefined = __webpack_require__(17); +var iterate = __webpack_require__(132); + +var push = [].push; + +module.exports = function from(source /* , mapFn, thisArg */) { + var length = arguments.length; + var mapFn = length > 1 ? arguments[1] : undefined; + var mapping, array, n, boundFunction; + aConstructor(this); + mapping = mapFn !== undefined; + if (mapping) aCallable(mapFn); + if (isNullOrUndefined(source)) return new this(); + array = []; + if (mapping) { + n = 0; + boundFunction = bind(mapFn, length > 2 ? arguments[2] : undefined); + iterate(source, function (nextItem) { + call(push, array, boundFunction(nextItem, n++)); + }); + } else { + iterate(source, push, { that: array }); + } + return new this(array); +}; + + +/***/ }), +/* 602 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(31); +var requireObjectCoercible = __webpack_require__(16); +var iterate = __webpack_require__(132); +var MapHelpers = __webpack_require__(506); +var IS_PURE = __webpack_require__(36); + +var Map = MapHelpers.Map; +var has = MapHelpers.has; +var get = MapHelpers.get; +var set = MapHelpers.set; +var push = uncurryThis([].push); + +// `Map.groupBy` method +// https://github.com/tc39/proposal-array-grouping +$({ target: 'Map', stat: true, forced: IS_PURE }, { + groupBy: function groupBy(items, callbackfn) { + requireObjectCoercible(items); + aCallable(callbackfn); + var map = new Map(); + var k = 0; + iterate(items, function (value) { + var key = callbackfn(value, k++); + if (!has(map, key)) set(map, key, [value]); + else push(get(map, key), value); + }); + return map; + } +}); + + +/***/ }), +/* 603 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var sameValueZero = __webpack_require__(604); +var aMap = __webpack_require__(594); +var iterate = __webpack_require__(513); + +// `Map.prototype.includes` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: true }, { + includes: function includes(searchElement) { + return iterate(aMap(this), function (value) { + if (sameValueZero(value, searchElement)) return true; + }, true) === true; + } +}); + + +/***/ }), +/* 604 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// `SameValueZero` abstract operation +// https://tc39.es/ecma262/#sec-samevaluezero +module.exports = function (x, y) { + // eslint-disable-next-line no-self-compare -- NaN check + return x === y || x !== x && y !== y; +}; + + +/***/ }), +/* 605 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var iterate = __webpack_require__(132); +var isCallable = __webpack_require__(21); +var aCallable = __webpack_require__(31); +var Map = __webpack_require__(506).Map; + +// `Map.keyBy` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', stat: true, forced: true }, { + keyBy: function keyBy(iterable, keyDerivative) { + var C = isCallable(this) ? this : Map; + var newMap = new C(); + aCallable(keyDerivative); + var setter = aCallable(newMap.set); + iterate(iterable, function (element) { + call(setter, newMap, keyDerivative(element), element); + }); + return newMap; + } +}); + + +/***/ }), +/* 606 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var aMap = __webpack_require__(594); +var iterate = __webpack_require__(513); + +// `Map.prototype.keyOf` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: true }, { + keyOf: function keyOf(searchElement) { + var result = iterate(aMap(this), function (value, key) { + if (value === searchElement) return { key: key }; + }, true); + return result && result.key; + } +}); + + +/***/ }), +/* 607 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var bind = __webpack_require__(86); +var aMap = __webpack_require__(594); +var MapHelpers = __webpack_require__(506); +var iterate = __webpack_require__(513); + +var Map = MapHelpers.Map; +var set = MapHelpers.set; + +// `Map.prototype.mapKeys` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: true }, { + mapKeys: function mapKeys(callbackfn /* , thisArg */) { + var map = aMap(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var newMap = new Map(); + iterate(map, function (value, key) { + set(newMap, boundFunction(value, key, map), value); + }); + return newMap; + } +}); + + +/***/ }), +/* 608 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var bind = __webpack_require__(86); +var aMap = __webpack_require__(594); +var MapHelpers = __webpack_require__(506); +var iterate = __webpack_require__(513); + +var Map = MapHelpers.Map; +var set = MapHelpers.set; + +// `Map.prototype.mapValues` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: true }, { + mapValues: function mapValues(callbackfn /* , thisArg */) { + var map = aMap(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var newMap = new Map(); + iterate(map, function (value, key) { + set(newMap, key, boundFunction(value, key, map)); + }); + return newMap; + } +}); + + +/***/ }), +/* 609 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var aMap = __webpack_require__(594); +var iterate = __webpack_require__(132); +var set = __webpack_require__(506).set; + +// `Map.prototype.merge` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, arity: 1, forced: true }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + merge: function merge(iterable /* ...iterables */) { + var map = aMap(this); + var argumentsLength = arguments.length; + var i = 0; + while (i < argumentsLength) { + iterate(arguments[i++], function (key, value) { + set(map, key, value); + }, { AS_ENTRIES: true }); + } + return map; + } +}); + + +/***/ }), +/* 610 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var of = __webpack_require__(611); + +// `Map.of` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of +$({ target: 'Map', stat: true, forced: true }, { + of: of +}); + + +/***/ }), +/* 611 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var arraySlice = __webpack_require__(97); + +// https://tc39.github.io/proposal-setmap-offrom/ +module.exports = function of() { + return new this(arraySlice(arguments)); +}; + + +/***/ }), +/* 612 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var aCallable = __webpack_require__(31); +var aMap = __webpack_require__(594); +var iterate = __webpack_require__(513); + +var $TypeError = TypeError; + +// `Map.prototype.reduce` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: true }, { + reduce: function reduce(callbackfn /* , initialValue */) { + var map = aMap(this); + var noInitial = arguments.length < 2; + var accumulator = noInitial ? undefined : arguments[1]; + aCallable(callbackfn); + iterate(map, function (value, key) { + if (noInitial) { + noInitial = false; + accumulator = value; + } else { + accumulator = callbackfn(accumulator, value, key, map); + } + }); + if (noInitial) throw new $TypeError('Reduce of empty map with no initial value'); + return accumulator; + } +}); + + +/***/ }), +/* 613 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var bind = __webpack_require__(86); +var aMap = __webpack_require__(594); +var iterate = __webpack_require__(513); + +// `Map.prototype.some` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: true }, { + some: function some(callbackfn /* , thisArg */) { + var map = aMap(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return iterate(map, function (value, key) { + if (boundFunction(value, key, map)) return true; + }, true) === true; + } +}); + + +/***/ }), +/* 614 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var aCallable = __webpack_require__(31); +var aMap = __webpack_require__(594); +var MapHelpers = __webpack_require__(506); + +var $TypeError = TypeError; +var get = MapHelpers.get; +var has = MapHelpers.has; +var set = MapHelpers.set; + +// `Map.prototype.update` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: true }, { + update: function update(key, callback /* , thunk */) { + var map = aMap(this); + var length = arguments.length; + aCallable(callback); + var isPresentInMap = has(map, key); + if (!isPresentInMap && length < 3) { + throw new $TypeError('Updating absent value'); + } + var value = isPresentInMap ? get(map, key) : aCallable(length > 2 ? arguments[2] : undefined)(key, map); + set(map, key, callback(value, key, map)); + return map; + } +}); + + +/***/ }), +/* 615 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: remove from `core-js@4` +var $ = __webpack_require__(3); +var upsert = __webpack_require__(616); + +// `Map.prototype.updateOrInsert` method (replaced by `Map.prototype.emplace`) +// https://github.com/thumbsupep/proposal-upsert +$({ target: 'Map', proto: true, real: true, name: 'upsert', forced: true }, { + updateOrInsert: upsert +}); + + +/***/ }), +/* 616 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(31); +var isCallable = __webpack_require__(21); +var anObject = __webpack_require__(47); + +var $TypeError = TypeError; + +// `Map.prototype.upsert` method +// https://github.com/tc39/proposal-upsert +module.exports = function upsert(key, updateFn /* , insertFn */) { + var map = anObject(this); + var get = aCallable(map.get); + var has = aCallable(map.has); + var set = aCallable(map.set); + var insertFn = arguments.length > 2 ? arguments[2] : undefined; + var value; + if (!isCallable(updateFn) && !isCallable(insertFn)) { + throw new $TypeError('At least one callback required'); + } + if (call(has, map, key)) { + value = call(get, map, key); + if (isCallable(updateFn)) { + value = updateFn(value); + call(set, map, key, value); + } + } else if (isCallable(insertFn)) { + value = insertFn(); + call(set, map, key, value); + } return value; +}; + + +/***/ }), +/* 617 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: remove from `core-js@4` +var $ = __webpack_require__(3); +var upsert = __webpack_require__(616); + +// `Map.prototype.upsert` method (replaced by `Map.prototype.emplace`) +// https://github.com/thumbsupep/proposal-upsert +$({ target: 'Map', proto: true, real: true, forced: true }, { + upsert: upsert +}); + + +/***/ }), +/* 618 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +var min = Math.min; +var max = Math.max; + +// `Math.clamp` method +// https://rwaldron.github.io/proposal-math-extensions/ +$({ target: 'Math', stat: true, forced: true }, { + clamp: function clamp(x, lower, upper) { + return min(upper, max(lower, x)); + } +}); + + +/***/ }), +/* 619 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// `Math.DEG_PER_RAD` constant +// https://rwaldron.github.io/proposal-math-extensions/ +$({ target: 'Math', stat: true, nonConfigurable: true, nonWritable: true }, { + DEG_PER_RAD: Math.PI / 180 +}); + + +/***/ }), +/* 620 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +var RAD_PER_DEG = 180 / Math.PI; + +// `Math.degrees` method +// https://rwaldron.github.io/proposal-math-extensions/ +$({ target: 'Math', stat: true, forced: true }, { + degrees: function degrees(radians) { + return radians * RAD_PER_DEG; + } +}); + + +/***/ }), +/* 621 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +var scale = __webpack_require__(622); +var fround = __webpack_require__(213); + +// `Math.fscale` method +// https://rwaldron.github.io/proposal-math-extensions/ +$({ target: 'Math', stat: true, forced: true }, { + fscale: function fscale(x, inLow, inHigh, outLow, outHigh) { + return fround(scale(x, inLow, inHigh, outLow, outHigh)); + } +}); + + +/***/ }), +/* 622 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// `Math.scale` method implementation +// https://rwaldron.github.io/proposal-math-extensions/ +module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) { + var nx = +x; + var nInLow = +inLow; + var nInHigh = +inHigh; + var nOutLow = +outLow; + var nOutHigh = +outHigh; + // eslint-disable-next-line no-self-compare -- NaN check + if (nx !== nx || nInLow !== nInLow || nInHigh !== nInHigh || nOutLow !== nOutLow || nOutHigh !== nOutHigh) return NaN; + if (nx === Infinity || nx === -Infinity) return nx; + return (nx - nInLow) * (nOutHigh - nOutLow) / (nInHigh - nInLow) + nOutLow; +}; + + +/***/ }), +/* 623 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var f16round = __webpack_require__(556); + +// `Math.f16round` method +// https://github.com/tc39/proposal-float16array +$({ target: 'Math', stat: true }, { f16round: f16round }); + + +/***/ }), +/* 624 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// `Math.iaddh` method +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +// TODO: Remove from `core-js@4` +$({ target: 'Math', stat: true, forced: true }, { + iaddh: function iaddh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0; + var $x1 = x1 >>> 0; + var $y0 = y0 >>> 0; + return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; + } +}); + + +/***/ }), +/* 625 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// `Math.imulh` method +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +// TODO: Remove from `core-js@4` +$({ target: 'Math', stat: true, forced: true }, { + imulh: function imulh(u, v) { + var UINT16 = 0xFFFF; + var $u = +u; + var $v = +v; + var u0 = $u & UINT16; + var v0 = $v & UINT16; + var u1 = $u >> 16; + var v1 = $v >> 16; + var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); + } +}); + + +/***/ }), +/* 626 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// `Math.isubh` method +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +// TODO: Remove from `core-js@4` +$({ target: 'Math', stat: true, forced: true }, { + isubh: function isubh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0; + var $x1 = x1 >>> 0; + var $y0 = y0 >>> 0; + return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; + } +}); + + +/***/ }), +/* 627 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// `Math.RAD_PER_DEG` constant +// https://rwaldron.github.io/proposal-math-extensions/ +$({ target: 'Math', stat: true, nonConfigurable: true, nonWritable: true }, { + RAD_PER_DEG: 180 / Math.PI +}); + + +/***/ }), +/* 628 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +var DEG_PER_RAD = Math.PI / 180; + +// `Math.radians` method +// https://rwaldron.github.io/proposal-math-extensions/ +$({ target: 'Math', stat: true, forced: true }, { + radians: function radians(degrees) { + return degrees * DEG_PER_RAD; + } +}); + + +/***/ }), +/* 629 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var scale = __webpack_require__(622); + +// `Math.scale` method +// https://rwaldron.github.io/proposal-math-extensions/ +$({ target: 'Math', stat: true, forced: true }, { + scale: scale +}); + + +/***/ }), +/* 630 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(47); +var numberIsFinite = __webpack_require__(278); +var createIteratorConstructor = __webpack_require__(171); +var createIterResultObject = __webpack_require__(173); +var InternalStateModule = __webpack_require__(52); + +var SEEDED_RANDOM = 'Seeded Random'; +var SEEDED_RANDOM_GENERATOR = SEEDED_RANDOM + ' Generator'; +var SEED_TYPE_ERROR = 'Math.seededPRNG() argument should have a "seed" field with a finite value.'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SEEDED_RANDOM_GENERATOR); +var $TypeError = TypeError; + +var $SeededRandomGenerator = createIteratorConstructor(function SeededRandomGenerator(seed) { + setInternalState(this, { + type: SEEDED_RANDOM_GENERATOR, + seed: seed % 2147483647 + }); +}, SEEDED_RANDOM, function next() { + var state = getInternalState(this); + var seed = state.seed = (state.seed * 1103515245 + 12345) % 2147483647; + return createIterResultObject((seed & 1073741823) / 1073741823, false); +}); + +// `Math.seededPRNG` method +// https://github.com/tc39/proposal-seeded-random +// based on https://github.com/tc39/proposal-seeded-random/blob/78b8258835b57fc2100d076151ab506bc3202ae6/demo.html +$({ target: 'Math', stat: true, forced: true }, { + seededPRNG: function seededPRNG(it) { + var seed = anObject(it).seed; + if (!numberIsFinite(seed)) throw new $TypeError(SEED_TYPE_ERROR); + return new $SeededRandomGenerator(seed); + } +}); + + +/***/ }), +/* 631 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// `Math.signbit` method +// https://github.com/tc39/proposal-Math.signbit +$({ target: 'Math', stat: true, forced: true }, { + signbit: function signbit(x) { + var n = +x; + // eslint-disable-next-line no-self-compare -- NaN check + return n === n && n === 0 ? 1 / n === -Infinity : n < 0; + } +}); + + +/***/ }), +/* 632 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); + +// `Math.umulh` method +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +// TODO: Remove from `core-js@4` +$({ target: 'Math', stat: true, forced: true }, { + umulh: function umulh(u, v) { + var UINT16 = 0xFFFF; + var $u = +u; + var $v = +v; + var u0 = $u & UINT16; + var v0 = $v & UINT16; + var u1 = $u >>> 16; + var v1 = $v >>> 16; + var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); + } +}); + + +/***/ }), +/* 633 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(62); +var parseInt = __webpack_require__(288); + +var INVALID_NUMBER_REPRESENTATION = 'Invalid number representation'; +var INVALID_RADIX = 'Invalid radix'; +var $RangeError = RangeError; +var $SyntaxError = SyntaxError; +var $TypeError = TypeError; +var valid = /^[\da-z]+$/; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(valid.exec); +var numberToString = uncurryThis(1.0.toString); +var stringSlice = uncurryThis(''.slice); + +// `Number.fromString` method +// https://github.com/tc39/proposal-number-fromstring +$({ target: 'Number', stat: true, forced: true }, { + fromString: function fromString(string, radix) { + var sign = 1; + var R, mathNum; + if (typeof string != 'string') throw new $TypeError(INVALID_NUMBER_REPRESENTATION); + if (!string.length) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION); + if (charAt(string, 0) === '-') { + sign = -1; + string = stringSlice(string, 1); + if (!string.length) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION); + } + R = radix === undefined ? 10 : toIntegerOrInfinity(radix); + if (R < 2 || R > 36) throw new $RangeError(INVALID_RADIX); + if (!exec(valid, string) || numberToString(mathNum = parseInt(string, R), R) !== string) { + throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION); + } + return sign * mathNum; + } +}); + + +/***/ }), +/* 634 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var NumericRangeIterator = __webpack_require__(549); + +// `Number.range` method +// https://github.com/tc39/proposal-Number.range +// TODO: Remove from `core-js@4` +$({ target: 'Number', stat: true, forced: true }, { + range: function range(start, end, option) { + return new NumericRangeIterator(start, end, option, 'number', 0, 1); + } +}); + + +/***/ }), +/* 635 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var ObjectIterator = __webpack_require__(636); + +// `Object.iterateEntries` method +// https://github.com/tc39/proposal-object-iteration +$({ target: 'Object', stat: true, forced: true }, { + iterateEntries: function iterateEntries(object) { + return new ObjectIterator(object, 'entries'); + } +}); + + +/***/ }), +/* 636 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var InternalStateModule = __webpack_require__(52); +var createIteratorConstructor = __webpack_require__(171); +var createIterResultObject = __webpack_require__(173); +var hasOwn = __webpack_require__(39); +var objectKeys = __webpack_require__(74); +var toObject = __webpack_require__(40); + +var OBJECT_ITERATOR = 'Object Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(OBJECT_ITERATOR); + +module.exports = createIteratorConstructor(function ObjectIterator(source, mode) { + var object = toObject(source); + setInternalState(this, { + type: OBJECT_ITERATOR, + mode: mode, + object: object, + keys: objectKeys(object), + index: 0 + }); +}, 'Object', function next() { + var state = getInternalState(this); + var keys = state.keys; + while (true) { + if (keys === null || state.index >= keys.length) { + state.object = state.keys = null; + return createIterResultObject(undefined, true); + } + var key = keys[state.index++]; + var object = state.object; + if (!hasOwn(object, key)) continue; + switch (state.mode) { + case 'keys': return createIterResultObject(key, false); + case 'values': return createIterResultObject(object[key], false); + } /* entries */ return createIterResultObject([key, object[key]], false); + } +}); + + +/***/ }), +/* 637 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var ObjectIterator = __webpack_require__(636); + +// `Object.iterateKeys` method +// https://github.com/tc39/proposal-object-iteration +$({ target: 'Object', stat: true, forced: true }, { + iterateKeys: function iterateKeys(object) { + return new ObjectIterator(object, 'keys'); + } +}); + + +/***/ }), +/* 638 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var ObjectIterator = __webpack_require__(636); + +// `Object.iterateValues` method +// https://github.com/tc39/proposal-object-iteration +$({ target: 'Object', stat: true, forced: true }, { + iterateValues: function iterateValues(object) { + return new ObjectIterator(object, 'values'); + } +}); + + +/***/ }), +/* 639 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(24); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(31); +var requireObjectCoercible = __webpack_require__(16); +var toPropertyKey = __webpack_require__(18); +var iterate = __webpack_require__(132); + +var create = getBuiltIn('Object', 'create'); +var push = uncurryThis([].push); + +// `Object.groupBy` method +// https://github.com/tc39/proposal-array-grouping +$({ target: 'Object', stat: true }, { + groupBy: function groupBy(items, callbackfn) { + requireObjectCoercible(items); + aCallable(callbackfn); + var obj = create(null); + var k = 0; + iterate(items, function (value) { + var key = toPropertyKey(callbackfn(value, k++)); + // in some IE versions, `hasOwnProperty` returns incorrect result on integer keys + // but since it's a `null` prototype object, we can safely use `in` + if (key in obj) push(obj[key], value); + else obj[key] = [value]; + }); + return obj; + } +}); + + +/***/ }), +/* 640 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(641); +__webpack_require__(642); +__webpack_require__(643); + + +/***/ }), +/* 641 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/proposal-observable +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var DESCRIPTORS = __webpack_require__(6); +var setSpecies = __webpack_require__(194); +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var getMethod = __webpack_require__(30); +var defineBuiltIn = __webpack_require__(48); +var defineBuiltIns = __webpack_require__(210); +var defineBuiltInAccessor = __webpack_require__(79); +var hostReportErrors = __webpack_require__(335); +var wellKnownSymbol = __webpack_require__(34); +var InternalStateModule = __webpack_require__(52); + +var $$OBSERVABLE = wellKnownSymbol('observable'); +var OBSERVABLE = 'Observable'; +var SUBSCRIPTION = 'Subscription'; +var SUBSCRIPTION_OBSERVER = 'SubscriptionObserver'; +var getterFor = InternalStateModule.getterFor; +var setInternalState = InternalStateModule.set; +var getObservableInternalState = getterFor(OBSERVABLE); +var getSubscriptionInternalState = getterFor(SUBSCRIPTION); +var getSubscriptionObserverInternalState = getterFor(SUBSCRIPTION_OBSERVER); + +var SubscriptionState = function (observer) { + this.observer = anObject(observer); + this.cleanup = undefined; + this.subscriptionObserver = undefined; +}; + +SubscriptionState.prototype = { + type: SUBSCRIPTION, + clean: function () { + var cleanup = this.cleanup; + if (cleanup) { + this.cleanup = undefined; + try { + cleanup(); + } catch (error) { + hostReportErrors(error); + } + } + }, + close: function () { + if (!DESCRIPTORS) { + var subscription = this.facade; + var subscriptionObserver = this.subscriptionObserver; + subscription.closed = true; + if (subscriptionObserver) subscriptionObserver.closed = true; + } this.observer = undefined; + }, + isClosed: function () { + return this.observer === undefined; + } +}; + +var Subscription = function (observer, subscriber) { + var subscriptionState = setInternalState(this, new SubscriptionState(observer)); + var start; + if (!DESCRIPTORS) this.closed = false; + try { + if (start = getMethod(observer, 'start')) call(start, observer, this); + } catch (error) { + hostReportErrors(error); + } + if (subscriptionState.isClosed()) return; + var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(subscriptionState); + try { + var cleanup = subscriber(subscriptionObserver); + var subscription = cleanup; + if (!isNullOrUndefined(cleanup)) subscriptionState.cleanup = isCallable(cleanup.unsubscribe) + ? function () { subscription.unsubscribe(); } + : aCallable(cleanup); + } catch (error) { + subscriptionObserver.error(error); + return; + } if (subscriptionState.isClosed()) subscriptionState.clean(); +}; + +Subscription.prototype = defineBuiltIns({}, { + unsubscribe: function unsubscribe() { + var subscriptionState = getSubscriptionInternalState(this); + if (!subscriptionState.isClosed()) { + subscriptionState.close(); + subscriptionState.clean(); + } + } +}); + +if (DESCRIPTORS) defineBuiltInAccessor(Subscription.prototype, 'closed', { + configurable: true, + get: function closed() { + return getSubscriptionInternalState(this).isClosed(); + } +}); + +var SubscriptionObserver = function (subscriptionState) { + setInternalState(this, { + type: SUBSCRIPTION_OBSERVER, + subscriptionState: subscriptionState + }); + if (!DESCRIPTORS) this.closed = false; +}; + +SubscriptionObserver.prototype = defineBuiltIns({}, { + next: function next(value) { + var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState; + if (!subscriptionState.isClosed()) { + var observer = subscriptionState.observer; + try { + var nextMethod = getMethod(observer, 'next'); + if (nextMethod) call(nextMethod, observer, value); + } catch (error) { + hostReportErrors(error); + } + } + }, + error: function error(value) { + var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState; + if (!subscriptionState.isClosed()) { + var observer = subscriptionState.observer; + subscriptionState.close(); + try { + var errorMethod = getMethod(observer, 'error'); + if (errorMethod) call(errorMethod, observer, value); + else hostReportErrors(value); + } catch (err) { + hostReportErrors(err); + } subscriptionState.clean(); + } + }, + complete: function complete() { + var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState; + if (!subscriptionState.isClosed()) { + var observer = subscriptionState.observer; + subscriptionState.close(); + try { + var completeMethod = getMethod(observer, 'complete'); + if (completeMethod) call(completeMethod, observer); + } catch (error) { + hostReportErrors(error); + } subscriptionState.clean(); + } + } +}); + +if (DESCRIPTORS) defineBuiltInAccessor(SubscriptionObserver.prototype, 'closed', { + configurable: true, + get: function closed() { + return getSubscriptionObserverInternalState(this).subscriptionState.isClosed(); + } +}); + +var $Observable = function Observable(subscriber) { + anInstance(this, ObservablePrototype); + setInternalState(this, { + type: OBSERVABLE, + subscriber: aCallable(subscriber) + }); +}; + +var ObservablePrototype = $Observable.prototype; + +defineBuiltIns(ObservablePrototype, { + subscribe: function subscribe(observer) { + var length = arguments.length; + return new Subscription(isCallable(observer) ? { + next: observer, + error: length > 1 ? arguments[1] : undefined, + complete: length > 2 ? arguments[2] : undefined + } : isObject(observer) ? observer : {}, getObservableInternalState(this).subscriber); + } +}); + +defineBuiltIn(ObservablePrototype, $$OBSERVABLE, function () { return this; }); + +$({ global: true, constructor: true, forced: true }, { + Observable: $Observable +}); + +setSpecies(OBSERVABLE); + + +/***/ }), +/* 642 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(24); +var call = __webpack_require__(8); +var anObject = __webpack_require__(47); +var isConstructor = __webpack_require__(91); +var getIterator = __webpack_require__(135); +var getMethod = __webpack_require__(30); +var iterate = __webpack_require__(132); +var wellKnownSymbol = __webpack_require__(34); + +var $$OBSERVABLE = wellKnownSymbol('observable'); + +// `Observable.from` method +// https://github.com/tc39/proposal-observable +$({ target: 'Observable', stat: true, forced: true }, { + from: function from(x) { + var C = isConstructor(this) ? this : getBuiltIn('Observable'); + var observableMethod = getMethod(anObject(x), $$OBSERVABLE); + if (observableMethod) { + var observable = anObject(call(observableMethod, x)); + return observable.constructor === C ? observable : new C(function (observer) { + return observable.subscribe(observer); + }); + } + var iterator = getIterator(x); + return new C(function (observer) { + iterate(iterator, function (it, stop) { + observer.next(it); + if (observer.closed) return stop(); + }, { IS_ITERATOR: true, INTERRUPTED: true }); + observer.complete(); + }); + } +}); + + +/***/ }), +/* 643 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(24); +var isConstructor = __webpack_require__(91); + +var Array = getBuiltIn('Array'); + +// `Observable.of` method +// https://github.com/tc39/proposal-observable +$({ target: 'Observable', stat: true, forced: true }, { + of: function of() { + var C = isConstructor(this) ? this : getBuiltIn('Observable'); + var length = arguments.length; + var items = Array(length); + var index = 0; + while (index < length) items[index] = arguments[index++]; + return new C(function (observer) { + for (var i = 0; i < length; i++) { + observer.next(items[i]); + if (observer.closed) return; + } observer.complete(); + }); + } +}); + + +/***/ }), +/* 644 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var newPromiseCapabilityModule = __webpack_require__(341); +var perform = __webpack_require__(336); + +// `Promise.try` method +// https://github.com/tc39/proposal-promise-try +$({ target: 'Promise', stat: true, forced: true }, { + 'try': function (callbackfn) { + var promiseCapability = newPromiseCapabilityModule.f(this); + var result = perform(callbackfn); + (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value); + return promiseCapability.promise; + } +}); + + +/***/ }), +/* 645 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var newPromiseCapabilityModule = __webpack_require__(341); + +// `Promise.withResolvers` method +// https://github.com/tc39/proposal-promise-with-resolvers +$({ target: 'Promise', stat: true }, { + withResolvers: function withResolvers() { + var promiseCapability = newPromiseCapabilityModule.f(this); + return { + promise: promiseCapability.promise, + resolve: promiseCapability.resolve, + reject: promiseCapability.reject + }; + } +}); + + +/***/ }), +/* 646 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var ReflectMetadataModule = __webpack_require__(647); +var anObject = __webpack_require__(47); + +var toMetadataKey = ReflectMetadataModule.toKey; +var ordinaryDefineOwnMetadata = ReflectMetadataModule.set; + +// `Reflect.defineMetadata` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + defineMetadata: function defineMetadata(metadataKey, metadataValue, target /* , targetKey */) { + var targetKey = arguments.length < 4 ? undefined : toMetadataKey(arguments[3]); + ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), targetKey); + } +}); + + +/***/ }), +/* 647 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(243); +__webpack_require__(485); +var getBuiltIn = __webpack_require__(24); +var uncurryThis = __webpack_require__(14); +var shared = __webpack_require__(35); + +var Map = getBuiltIn('Map'); +var WeakMap = getBuiltIn('WeakMap'); +var push = uncurryThis([].push); + +var metadata = shared('metadata'); +var store = metadata.store || (metadata.store = new WeakMap()); + +var getOrCreateMetadataMap = function (target, targetKey, create) { + var targetMetadata = store.get(target); + if (!targetMetadata) { + if (!create) return; + store.set(target, targetMetadata = new Map()); + } + var keyMetadata = targetMetadata.get(targetKey); + if (!keyMetadata) { + if (!create) return; + targetMetadata.set(targetKey, keyMetadata = new Map()); + } return keyMetadata; +}; + +var ordinaryHasOwnMetadata = function (MetadataKey, O, P) { + var metadataMap = getOrCreateMetadataMap(O, P, false); + return metadataMap === undefined ? false : metadataMap.has(MetadataKey); +}; + +var ordinaryGetOwnMetadata = function (MetadataKey, O, P) { + var metadataMap = getOrCreateMetadataMap(O, P, false); + return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); +}; + +var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) { + getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); +}; + +var ordinaryOwnMetadataKeys = function (target, targetKey) { + var metadataMap = getOrCreateMetadataMap(target, targetKey, false); + var keys = []; + if (metadataMap) metadataMap.forEach(function (_, key) { push(keys, key); }); + return keys; +}; + +var toMetadataKey = function (it) { + return it === undefined || typeof it == 'symbol' ? it : String(it); +}; + +module.exports = { + store: store, + getMap: getOrCreateMetadataMap, + has: ordinaryHasOwnMetadata, + get: ordinaryGetOwnMetadata, + set: ordinaryDefineOwnMetadata, + keys: ordinaryOwnMetadataKeys, + toKey: toMetadataKey +}; + + +/***/ }), +/* 648 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var ReflectMetadataModule = __webpack_require__(647); +var anObject = __webpack_require__(47); + +var toMetadataKey = ReflectMetadataModule.toKey; +var getOrCreateMetadataMap = ReflectMetadataModule.getMap; +var store = ReflectMetadataModule.store; + +// `Reflect.deleteMetadata` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); + var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); + if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false; + if (metadataMap.size) return true; + var targetMetadata = store.get(target); + targetMetadata['delete'](targetKey); + return !!targetMetadata.size || store['delete'](target); + } +}); + + +/***/ }), +/* 649 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var ReflectMetadataModule = __webpack_require__(647); +var anObject = __webpack_require__(47); +var getPrototypeOf = __webpack_require__(130); + +var ordinaryHasOwnMetadata = ReflectMetadataModule.has; +var ordinaryGetOwnMetadata = ReflectMetadataModule.get; +var toMetadataKey = ReflectMetadataModule.toKey; + +var ordinaryGetMetadata = function (MetadataKey, O, P) { + var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P); + var parent = getPrototypeOf(O); + return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; +}; + +// `Reflect.getMetadata` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + getMetadata: function getMetadata(metadataKey, target /* , targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); + return ordinaryGetMetadata(metadataKey, anObject(target), targetKey); + } +}); + + +/***/ }), +/* 650 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var ReflectMetadataModule = __webpack_require__(647); +var anObject = __webpack_require__(47); +var getPrototypeOf = __webpack_require__(130); +var $arrayUniqueBy = __webpack_require__(512); + +var arrayUniqueBy = uncurryThis($arrayUniqueBy); +var concat = uncurryThis([].concat); +var ordinaryOwnMetadataKeys = ReflectMetadataModule.keys; +var toMetadataKey = ReflectMetadataModule.toKey; + +var ordinaryMetadataKeys = function (O, P) { + var oKeys = ordinaryOwnMetadataKeys(O, P); + var parent = getPrototypeOf(O); + if (parent === null) return oKeys; + var pKeys = ordinaryMetadataKeys(parent, P); + return pKeys.length ? oKeys.length ? arrayUniqueBy(concat(oKeys, pKeys)) : pKeys : oKeys; +}; + +// `Reflect.getMetadataKeys` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + getMetadataKeys: function getMetadataKeys(target /* , targetKey */) { + var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]); + return ordinaryMetadataKeys(anObject(target), targetKey); + } +}); + + +/***/ }), +/* 651 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var ReflectMetadataModule = __webpack_require__(647); +var anObject = __webpack_require__(47); + +var ordinaryGetOwnMetadata = ReflectMetadataModule.get; +var toMetadataKey = ReflectMetadataModule.toKey; + +// `Reflect.getOwnMetadata` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); + return ordinaryGetOwnMetadata(metadataKey, anObject(target), targetKey); + } +}); + + +/***/ }), +/* 652 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var ReflectMetadataModule = __webpack_require__(647); +var anObject = __webpack_require__(47); + +var ordinaryOwnMetadataKeys = ReflectMetadataModule.keys; +var toMetadataKey = ReflectMetadataModule.toKey; + +// `Reflect.getOwnMetadataKeys` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) { + var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]); + return ordinaryOwnMetadataKeys(anObject(target), targetKey); + } +}); + + +/***/ }), +/* 653 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var ReflectMetadataModule = __webpack_require__(647); +var anObject = __webpack_require__(47); +var getPrototypeOf = __webpack_require__(130); + +var ordinaryHasOwnMetadata = ReflectMetadataModule.has; +var toMetadataKey = ReflectMetadataModule.toKey; + +var ordinaryHasMetadata = function (MetadataKey, O, P) { + var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn) return true; + var parent = getPrototypeOf(O); + return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; +}; + +// `Reflect.hasMetadata` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); + return ordinaryHasMetadata(metadataKey, anObject(target), targetKey); + } +}); + + +/***/ }), +/* 654 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var ReflectMetadataModule = __webpack_require__(647); +var anObject = __webpack_require__(47); + +var ordinaryHasOwnMetadata = ReflectMetadataModule.has; +var toMetadataKey = ReflectMetadataModule.toKey; + +// `Reflect.hasOwnMetadata` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); + return ordinaryHasOwnMetadata(metadataKey, anObject(target), targetKey); + } +}); + + +/***/ }), +/* 655 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var ReflectMetadataModule = __webpack_require__(647); +var anObject = __webpack_require__(47); + +var toMetadataKey = ReflectMetadataModule.toKey; +var ordinaryDefineOwnMetadata = ReflectMetadataModule.set; + +// `Reflect.metadata` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + metadata: function metadata(metadataKey, metadataValue) { + return function decorator(target, key) { + ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetadataKey(key)); + }; + } +}); + + +/***/ }), +/* 656 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(69); +var WHITESPACES = __webpack_require__(275); + +var charCodeAt = uncurryThis(''.charCodeAt); +var replace = uncurryThis(''.replace); +var NEED_ESCAPING = RegExp('[!"#$%&\'()*+,\\-./:;<=>?@[\\\\\\]^`{|}~' + WHITESPACES + ']', 'g'); + +// `RegExp.escape` method +// https://github.com/tc39/proposal-regex-escaping +$({ target: 'RegExp', stat: true, forced: true }, { + escape: function escape(S) { + var str = toString(S); + var firstCode = charCodeAt(str, 0); + // escape first DecimalDigit + return (firstCode > 47 && firstCode < 58 ? '\\x3' : '') + replace(str, NEED_ESCAPING, '\\$&'); + } +}); + + +/***/ }), +/* 657 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var aSet = __webpack_require__(658); +var add = __webpack_require__(659).add; + +// `Set.prototype.addAll` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: true }, { + addAll: function addAll(/* ...elements */) { + var set = aSet(this); + for (var k = 0, len = arguments.length; k < len; k++) { + add(set, arguments[k]); + } return set; + } +}); + + +/***/ }), +/* 658 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var has = __webpack_require__(659).has; + +// Perform ? RequireInternalSlot(M, [[SetData]]) +module.exports = function (it) { + has(it); + return it; +}; + + +/***/ }), +/* 659 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-set -- safe +var SetPrototype = Set.prototype; + +module.exports = { + // eslint-disable-next-line es/no-set -- safe + Set: Set, + add: uncurryThis(SetPrototype.add), + has: uncurryThis(SetPrototype.has), + remove: uncurryThis(SetPrototype['delete']), + proto: SetPrototype +}; + + +/***/ }), +/* 660 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var aSet = __webpack_require__(658); +var remove = __webpack_require__(659).remove; + +// `Set.prototype.deleteAll` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: true }, { + deleteAll: function deleteAll(/* ...elements */) { + var collection = aSet(this); + var allDeleted = true; + var wasDeleted; + for (var k = 0, len = arguments.length; k < len; k++) { + wasDeleted = remove(collection, arguments[k]); + allDeleted = allDeleted && wasDeleted; + } return !!allDeleted; + } +}); + + +/***/ }), +/* 661 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var difference = __webpack_require__(662); +var setMethodAcceptSetLike = __webpack_require__(667); + +// `Set.prototype.difference` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, { + difference: difference +}); + + +/***/ }), +/* 662 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aSet = __webpack_require__(658); +var SetHelpers = __webpack_require__(659); +var clone = __webpack_require__(663); +var size = __webpack_require__(665); +var getSetRecord = __webpack_require__(666); +var iterateSet = __webpack_require__(664); +var iterateSimple = __webpack_require__(514); + +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.difference` method +// https://github.com/tc39/proposal-set-methods +module.exports = function difference(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = clone(O); + if (size(O) <= otherRec.size) iterateSet(O, function (e) { + if (otherRec.includes(e)) remove(result, e); + }); + else iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) remove(result, e); + }); + return result; +}; + + +/***/ }), +/* 663 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var SetHelpers = __webpack_require__(659); +var iterate = __webpack_require__(664); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; + +module.exports = function (set) { + var result = new Set(); + iterate(set, function (it) { + add(result, it); + }); + return result; +}; + + +/***/ }), +/* 664 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var iterateSimple = __webpack_require__(514); +var SetHelpers = __webpack_require__(659); + +var Set = SetHelpers.Set; +var SetPrototype = SetHelpers.proto; +var forEach = uncurryThis(SetPrototype.forEach); +var keys = uncurryThis(SetPrototype.keys); +var next = keys(new Set()).next; + +module.exports = function (set, fn, interruptible) { + return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn); +}; + + +/***/ }), +/* 665 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThisAccessor = __webpack_require__(117); +var SetHelpers = __webpack_require__(659); + +module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) { + return set.size; +}; + + +/***/ }), +/* 666 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var call = __webpack_require__(8); +var toIntegerOrInfinity = __webpack_require__(62); +var getIteratorDirect = __webpack_require__(496); + +var INVALID_SIZE = 'Invalid size'; +var $RangeError = RangeError; +var $TypeError = TypeError; +var max = Math.max; + +var SetRecord = function (set, size, has, keys) { + this.set = set; + this.size = size; + this.has = has; + this.keys = keys; +}; + +SetRecord.prototype = { + getIterator: function () { + return getIteratorDirect(anObject(call(this.keys, this.set))); + }, + includes: function (it) { + return call(this.has, this.set, it); + } +}; + +// `GetSetRecord` abstract operation +// https://tc39.es/proposal-set-methods/#sec-getsetrecord +module.exports = function (obj) { + anObject(obj); + var numSize = +obj.size; + // NOTE: If size is undefined, then numSize will be NaN + // eslint-disable-next-line no-self-compare -- NaN check + if (numSize !== numSize) throw new $TypeError(INVALID_SIZE); + var intSize = toIntegerOrInfinity(numSize); + if (intSize < 0) throw new $RangeError(INVALID_SIZE); + return new SetRecord( + obj, + max(intSize, 0), + aCallable(obj.has), + aCallable(obj.keys) + ); +}; + + +/***/ }), +/* 667 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var getBuiltIn = __webpack_require__(24); + +var createSetLike = function (size) { + return { + size: size, + has: function () { + return false; + }, + keys: function () { + return { + next: function () { + return { done: true }; + } + }; + } + }; +}; + +module.exports = function (name) { + var Set = getBuiltIn('Set'); + try { + new Set()[name](createSetLike(0)); + try { + // late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it + // https://github.com/tc39/proposal-set-methods/pull/88 + new Set()[name](createSetLike(-1)); + return false; + } catch (error2) { + return true; + } + } catch (error) { + return false; + } +}; + + +/***/ }), +/* 668 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var toSetLike = __webpack_require__(669); +var $difference = __webpack_require__(662); + +// `Set.prototype.difference` method +// https://github.com/tc39/proposal-set-methods +// TODO: Obsolete version, remove from `core-js@4` +$({ target: 'Set', proto: true, real: true, forced: true }, { + difference: function difference(other) { + return call($difference, this, toSetLike(other)); + } +}); + + +/***/ }), +/* 669 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var getBuiltIn = __webpack_require__(24); +var isCallable = __webpack_require__(21); +var isIterable = __webpack_require__(670); +var isObject = __webpack_require__(20); + +var Set = getBuiltIn('Set'); + +var isSetLike = function (it) { + return isObject(it) + && typeof it.size == 'number' + && isCallable(it.has) + && isCallable(it.keys); +}; + +// fallback old -> new set methods proposal arguments +module.exports = function (it) { + if (isSetLike(it)) return it; + return isIterable(it) ? new Set(it) : it; +}; + + +/***/ }), +/* 670 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var classof = __webpack_require__(70); +var hasOwn = __webpack_require__(39); +var isNullOrUndefined = __webpack_require__(17); +var wellKnownSymbol = __webpack_require__(34); +var Iterators = __webpack_require__(134); + +var ITERATOR = wellKnownSymbol('iterator'); +var $Object = Object; + +module.exports = function (it) { + if (isNullOrUndefined(it)) return false; + var O = $Object(it); + return O[ITERATOR] !== undefined + || '@@iterator' in O + || hasOwn(Iterators, classof(O)); +}; + + +/***/ }), +/* 671 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var bind = __webpack_require__(86); +var aSet = __webpack_require__(658); +var iterate = __webpack_require__(664); + +// `Set.prototype.every` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: true }, { + every: function every(callbackfn /* , thisArg */) { + var set = aSet(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return iterate(set, function (value) { + if (!boundFunction(value, value, set)) return false; + }, true) !== false; + } +}); + + +/***/ }), +/* 672 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var bind = __webpack_require__(86); +var aSet = __webpack_require__(658); +var SetHelpers = __webpack_require__(659); +var iterate = __webpack_require__(664); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; + +// `Set.prototype.filter` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: true }, { + filter: function filter(callbackfn /* , thisArg */) { + var set = aSet(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var newSet = new Set(); + iterate(set, function (value) { + if (boundFunction(value, value, set)) add(newSet, value); + }); + return newSet; + } +}); + + +/***/ }), +/* 673 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var bind = __webpack_require__(86); +var aSet = __webpack_require__(658); +var iterate = __webpack_require__(664); + +// `Set.prototype.find` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: true }, { + find: function find(callbackfn /* , thisArg */) { + var set = aSet(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var result = iterate(set, function (value) { + if (boundFunction(value, value, set)) return { value: value }; + }, true); + return result && result.value; + } +}); + + +/***/ }), +/* 674 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var from = __webpack_require__(601); + +// `Set.from` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from +$({ target: 'Set', stat: true, forced: true }, { + from: from +}); + + +/***/ }), +/* 675 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var intersection = __webpack_require__(676); +var setMethodAcceptSetLike = __webpack_require__(667); + +var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () { + // eslint-disable-next-line es/no-array-from, es/no-set -- testing + return Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2]))) !== '3,2'; +}); + +// `Set.prototype.intersection` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, { + intersection: intersection +}); + + +/***/ }), +/* 676 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aSet = __webpack_require__(658); +var SetHelpers = __webpack_require__(659); +var size = __webpack_require__(665); +var getSetRecord = __webpack_require__(666); +var iterateSet = __webpack_require__(664); +var iterateSimple = __webpack_require__(514); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; +var has = SetHelpers.has; + +// `Set.prototype.intersection` method +// https://github.com/tc39/proposal-set-methods +module.exports = function intersection(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = new Set(); + + if (size(O) > otherRec.size) { + iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) add(result, e); + }); + } else { + iterateSet(O, function (e) { + if (otherRec.includes(e)) add(result, e); + }); + } + + return result; +}; + + +/***/ }), +/* 677 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var toSetLike = __webpack_require__(669); +var $intersection = __webpack_require__(676); + +// `Set.prototype.intersection` method +// https://github.com/tc39/proposal-set-methods +// TODO: Obsolete version, remove from `core-js@4` +$({ target: 'Set', proto: true, real: true, forced: true }, { + intersection: function intersection(other) { + return call($intersection, this, toSetLike(other)); + } +}); + + +/***/ }), +/* 678 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isDisjointFrom = __webpack_require__(679); +var setMethodAcceptSetLike = __webpack_require__(667); + +// `Set.prototype.isDisjointFrom` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, { + isDisjointFrom: isDisjointFrom +}); + + +/***/ }), +/* 679 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aSet = __webpack_require__(658); +var has = __webpack_require__(659).has; +var size = __webpack_require__(665); +var getSetRecord = __webpack_require__(666); +var iterateSet = __webpack_require__(664); +var iterateSimple = __webpack_require__(514); +var iteratorClose = __webpack_require__(137); + +// `Set.prototype.isDisjointFrom` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom +module.exports = function isDisjointFrom(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) <= otherRec.size) return iterateSet(O, function (e) { + if (otherRec.includes(e)) return false; + }, true) !== false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), +/* 680 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var toSetLike = __webpack_require__(669); +var $isDisjointFrom = __webpack_require__(679); + +// `Set.prototype.isDisjointFrom` method +// https://github.com/tc39/proposal-set-methods +// TODO: Obsolete version, remove from `core-js@4` +$({ target: 'Set', proto: true, real: true, forced: true }, { + isDisjointFrom: function isDisjointFrom(other) { + return call($isDisjointFrom, this, toSetLike(other)); + } +}); + + +/***/ }), +/* 681 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isSubsetOf = __webpack_require__(682); +var setMethodAcceptSetLike = __webpack_require__(667); + +// `Set.prototype.isSubsetOf` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, { + isSubsetOf: isSubsetOf +}); + + +/***/ }), +/* 682 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aSet = __webpack_require__(658); +var size = __webpack_require__(665); +var iterate = __webpack_require__(664); +var getSetRecord = __webpack_require__(666); + +// `Set.prototype.isSubsetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf +module.exports = function isSubsetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) > otherRec.size) return false; + return iterate(O, function (e) { + if (!otherRec.includes(e)) return false; + }, true) !== false; +}; + + +/***/ }), +/* 683 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var toSetLike = __webpack_require__(669); +var $isSubsetOf = __webpack_require__(682); + +// `Set.prototype.isSubsetOf` method +// https://github.com/tc39/proposal-set-methods +// TODO: Obsolete version, remove from `core-js@4` +$({ target: 'Set', proto: true, real: true, forced: true }, { + isSubsetOf: function isSubsetOf(other) { + return call($isSubsetOf, this, toSetLike(other)); + } +}); + + +/***/ }), +/* 684 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isSupersetOf = __webpack_require__(685); +var setMethodAcceptSetLike = __webpack_require__(667); + +// `Set.prototype.isSupersetOf` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, { + isSupersetOf: isSupersetOf +}); + + +/***/ }), +/* 685 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aSet = __webpack_require__(658); +var has = __webpack_require__(659).has; +var size = __webpack_require__(665); +var getSetRecord = __webpack_require__(666); +var iterateSimple = __webpack_require__(514); +var iteratorClose = __webpack_require__(137); + +// `Set.prototype.isSupersetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf +module.exports = function isSupersetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) < otherRec.size) return false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (!has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), +/* 686 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var toSetLike = __webpack_require__(669); +var $isSupersetOf = __webpack_require__(685); + +// `Set.prototype.isSupersetOf` method +// https://github.com/tc39/proposal-set-methods +// TODO: Obsolete version, remove from `core-js@4` +$({ target: 'Set', proto: true, real: true, forced: true }, { + isSupersetOf: function isSupersetOf(other) { + return call($isSupersetOf, this, toSetLike(other)); + } +}); + + +/***/ }), +/* 687 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aSet = __webpack_require__(658); +var iterate = __webpack_require__(664); +var toString = __webpack_require__(69); + +var arrayJoin = uncurryThis([].join); +var push = uncurryThis([].push); + +// `Set.prototype.join` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: true }, { + join: function join(separator) { + var set = aSet(this); + var sep = separator === undefined ? ',' : toString(separator); + var array = []; + iterate(set, function (value) { + push(array, value); + }); + return arrayJoin(array, sep); + } +}); + + +/***/ }), +/* 688 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var bind = __webpack_require__(86); +var aSet = __webpack_require__(658); +var SetHelpers = __webpack_require__(659); +var iterate = __webpack_require__(664); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; + +// `Set.prototype.map` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: true }, { + map: function map(callbackfn /* , thisArg */) { + var set = aSet(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var newSet = new Set(); + iterate(set, function (value) { + add(newSet, boundFunction(value, value, set)); + }); + return newSet; + } +}); + + +/***/ }), +/* 689 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var of = __webpack_require__(611); + +// `Set.of` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of +$({ target: 'Set', stat: true, forced: true }, { + of: of +}); + + +/***/ }), +/* 690 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var aCallable = __webpack_require__(31); +var aSet = __webpack_require__(658); +var iterate = __webpack_require__(664); + +var $TypeError = TypeError; + +// `Set.prototype.reduce` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: true }, { + reduce: function reduce(callbackfn /* , initialValue */) { + var set = aSet(this); + var noInitial = arguments.length < 2; + var accumulator = noInitial ? undefined : arguments[1]; + aCallable(callbackfn); + iterate(set, function (value) { + if (noInitial) { + noInitial = false; + accumulator = value; + } else { + accumulator = callbackfn(accumulator, value, value, set); + } + }); + if (noInitial) throw new $TypeError('Reduce of empty set with no initial value'); + return accumulator; + } +}); + + +/***/ }), +/* 691 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var bind = __webpack_require__(86); +var aSet = __webpack_require__(658); +var iterate = __webpack_require__(664); + +// `Set.prototype.some` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: true }, { + some: function some(callbackfn /* , thisArg */) { + var set = aSet(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return iterate(set, function (value) { + if (boundFunction(value, value, set)) return true; + }, true) === true; + } +}); + + +/***/ }), +/* 692 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var symmetricDifference = __webpack_require__(693); +var setMethodAcceptSetLike = __webpack_require__(667); + +// `Set.prototype.symmetricDifference` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, { + symmetricDifference: symmetricDifference +}); + + +/***/ }), +/* 693 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aSet = __webpack_require__(658); +var SetHelpers = __webpack_require__(659); +var clone = __webpack_require__(663); +var getSetRecord = __webpack_require__(666); +var iterateSimple = __webpack_require__(514); + +var add = SetHelpers.add; +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.symmetricDifference` method +// https://github.com/tc39/proposal-set-methods +module.exports = function symmetricDifference(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (e) { + if (has(O, e)) remove(result, e); + else add(result, e); + }); + return result; +}; + + +/***/ }), +/* 694 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var toSetLike = __webpack_require__(669); +var $symmetricDifference = __webpack_require__(693); + +// `Set.prototype.symmetricDifference` method +// https://github.com/tc39/proposal-set-methods +// TODO: Obsolete version, remove from `core-js@4` +$({ target: 'Set', proto: true, real: true, forced: true }, { + symmetricDifference: function symmetricDifference(other) { + return call($symmetricDifference, this, toSetLike(other)); + } +}); + + +/***/ }), +/* 695 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var union = __webpack_require__(696); +var setMethodAcceptSetLike = __webpack_require__(667); + +// `Set.prototype.union` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, { + union: union +}); + + +/***/ }), +/* 696 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aSet = __webpack_require__(658); +var add = __webpack_require__(659).add; +var clone = __webpack_require__(663); +var getSetRecord = __webpack_require__(666); +var iterateSimple = __webpack_require__(514); + +// `Set.prototype.union` method +// https://github.com/tc39/proposal-set-methods +module.exports = function union(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (it) { + add(result, it); + }); + return result; +}; + + +/***/ }), +/* 697 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var toSetLike = __webpack_require__(669); +var $union = __webpack_require__(696); + +// `Set.prototype.union` method +// https://github.com/tc39/proposal-set-methods +// TODO: Obsolete version, remove from `core-js@4` +$({ target: 'Set', proto: true, real: true, forced: true }, { + union: function union(other) { + return call($union, this, toSetLike(other)); + } +}); + + +/***/ }), +/* 698 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var charAt = __webpack_require__(385).charAt; +var requireObjectCoercible = __webpack_require__(16); +var toIntegerOrInfinity = __webpack_require__(62); +var toString = __webpack_require__(69); + +// `String.prototype.at` method +// https://github.com/mathiasbynens/String.prototype.at +$({ target: 'String', proto: true, forced: true }, { + at: function at(index) { + var S = toString(requireObjectCoercible(this)); + var len = S.length; + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : charAt(S, k); + } +}); + + +/***/ }), +/* 699 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var cooked = __webpack_require__(700); + +// `String.cooked` method +// https://github.com/tc39/proposal-string-cooked +$({ target: 'String', stat: true, forced: true }, { + cooked: cooked +}); + + +/***/ }), +/* 700 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var toIndexedObject = __webpack_require__(12); +var toString = __webpack_require__(69); +var lengthOfArrayLike = __webpack_require__(64); + +var $TypeError = TypeError; +var push = uncurryThis([].push); +var join = uncurryThis([].join); + +// `String.cooked` method +// https://tc39.es/proposal-string-cooked/ +module.exports = function cooked(template /* , ...substitutions */) { + var cookedTemplate = toIndexedObject(template); + var literalSegments = lengthOfArrayLike(cookedTemplate); + if (!literalSegments) return ''; + var argumentsLength = arguments.length; + var elements = []; + var i = 0; + while (true) { + var nextVal = cookedTemplate[i++]; + if (nextVal === undefined) throw new $TypeError('Incorrect template'); + push(elements, toString(nextVal)); + if (i === literalSegments) return join(elements, ''); + if (i < argumentsLength) push(elements, toString(arguments[i])); + } +}; + + +/***/ }), +/* 701 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var createIteratorConstructor = __webpack_require__(171); +var createIterResultObject = __webpack_require__(173); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(69); +var InternalStateModule = __webpack_require__(52); +var StringMultibyteModule = __webpack_require__(385); + +var codeAt = StringMultibyteModule.codeAt; +var charAt = StringMultibyteModule.charAt; +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// TODO: unify with String#@@iterator +var $StringIterator = createIteratorConstructor(function StringIterator(string) { + setInternalState(this, { + type: STRING_ITERATOR, + string: string, + index: 0 + }); +}, 'String', function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return createIterResultObject(undefined, true); + point = charAt(string, index); + state.index += point.length; + return createIterResultObject({ codePoint: codeAt(point, 0), position: index }, false); +}); + +// `String.prototype.codePoints` method +// https://github.com/tc39/proposal-string-prototype-codepoints +$({ target: 'String', proto: true, forced: true }, { + codePoints: function codePoints() { + return new $StringIterator(toString(requireObjectCoercible(this))); + } +}); + + +/***/ }), +/* 702 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var FREEZING = __webpack_require__(249); +var $ = __webpack_require__(3); +var shared = __webpack_require__(35); +var getBuiltIn = __webpack_require__(24); +var makeBuiltIn = __webpack_require__(49); +var uncurryThis = __webpack_require__(14); +var apply = __webpack_require__(96); +var anObject = __webpack_require__(47); +var toObject = __webpack_require__(40); +var isCallable = __webpack_require__(21); +var lengthOfArrayLike = __webpack_require__(64); +var defineProperty = __webpack_require__(45).f; +var createArrayFromList = __webpack_require__(77); +var cooked = __webpack_require__(700); +var parse = __webpack_require__(703); +var whitespaces = __webpack_require__(275); + +var WeakMap = getBuiltIn('WeakMap'); +var globalDedentRegistry = shared('GlobalDedentRegistry', new WeakMap()); + +/* eslint-disable no-self-assign -- prototype methods protection */ +globalDedentRegistry.has = globalDedentRegistry.has; +globalDedentRegistry.get = globalDedentRegistry.get; +globalDedentRegistry.set = globalDedentRegistry.set; +/* eslint-enable no-self-assign -- prototype methods protection */ + +var $Array = Array; +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-freeze -- safe +var freeze = Object.freeze || Object; +// eslint-disable-next-line es/no-object-isfrozen -- safe +var isFrozen = Object.isFrozen; +var min = Math.min; +var charAt = uncurryThis(''.charAt); +var stringSlice = uncurryThis(''.slice); +var split = uncurryThis(''.split); +var exec = uncurryThis(/./.exec); + +var NEW_LINE = /([\n\u2028\u2029]|\r\n?)/g; +var LEADING_WHITESPACE = RegExp('^[' + whitespaces + ']*'); +var NON_WHITESPACE = RegExp('[^' + whitespaces + ']'); +var INVALID_TAG = 'Invalid tag'; +var INVALID_OPENING_LINE = 'Invalid opening line'; +var INVALID_CLOSING_LINE = 'Invalid closing line'; + +var dedentTemplateStringsArray = function (template) { + var rawInput = template.raw; + // https://github.com/tc39/proposal-string-dedent/issues/75 + if (FREEZING && !isFrozen(rawInput)) throw new $TypeError('Raw template should be frozen'); + if (globalDedentRegistry.has(rawInput)) return globalDedentRegistry.get(rawInput); + var raw = dedentStringsArray(rawInput); + var cookedArr = cookStrings(raw); + defineProperty(cookedArr, 'raw', { + value: freeze(raw) + }); + freeze(cookedArr); + globalDedentRegistry.set(rawInput, cookedArr); + return cookedArr; +}; + +var dedentStringsArray = function (template) { + var t = toObject(template); + var length = lengthOfArrayLike(t); + var blocks = $Array(length); + var dedented = $Array(length); + var i = 0; + var lines, common, quasi, k; + + if (!length) throw new $TypeError(INVALID_TAG); + + for (; i < length; i++) { + var element = t[i]; + if (typeof element == 'string') blocks[i] = split(element, NEW_LINE); + else throw new $TypeError(INVALID_TAG); + } + + for (i = 0; i < length; i++) { + var lastSplit = i + 1 === length; + lines = blocks[i]; + if (i === 0) { + if (lines.length === 1 || lines[0].length > 0) { + throw new $TypeError(INVALID_OPENING_LINE); + } + lines[1] = ''; + } + if (lastSplit) { + if (lines.length === 1 || exec(NON_WHITESPACE, lines[lines.length - 1])) { + throw new $TypeError(INVALID_CLOSING_LINE); + } + lines[lines.length - 2] = ''; + lines[lines.length - 1] = ''; + } + for (var j = 2; j < lines.length; j += 2) { + var text = lines[j]; + var lineContainsTemplateExpression = j + 1 === lines.length && !lastSplit; + var leading = exec(LEADING_WHITESPACE, text)[0]; + if (!lineContainsTemplateExpression && leading.length === text.length) { + lines[j] = ''; + continue; + } + common = commonLeadingIndentation(leading, common); + } + } + + var count = common ? common.length : 0; + + for (i = 0; i < length; i++) { + lines = blocks[i]; + quasi = lines[0]; + k = 1; + for (; k < lines.length; k += 2) { + quasi += lines[k] + stringSlice(lines[k + 1], count); + } + dedented[i] = quasi; + } + + return dedented; +}; + +var commonLeadingIndentation = function (a, b) { + if (b === undefined || a === b) return a; + var i = 0; + for (var len = min(a.length, b.length); i < len; i++) { + if (charAt(a, i) !== charAt(b, i)) break; + } + return stringSlice(a, 0, i); +}; + +var cookStrings = function (raw) { + var i = 0; + var length = raw.length; + var result = $Array(length); + for (; i < length; i++) { + result[i] = parse(raw[i]); + } return result; +}; + +var makeDedentTag = function (tag) { + return makeBuiltIn(function (template /* , ...substitutions */) { + var args = createArrayFromList(arguments); + args[0] = dedentTemplateStringsArray(anObject(template)); + return apply(tag, this, args); + }, ''); +}; + +var cookedDedentTag = makeDedentTag(cooked); + +// `String.dedent` method +// https://github.com/tc39/proposal-string-dedent +$({ target: 'String', stat: true, forced: true }, { + dedent: function dedent(templateOrFn /* , ...substitutions */) { + anObject(templateOrFn); + if (isCallable(templateOrFn)) return makeDedentTag(templateOrFn); + return apply(cookedDedentTag, this, arguments); + } +}); + + +/***/ }), +/* 703 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// adapted from https://github.com/jridgewell/string-dedent +var getBuiltIn = __webpack_require__(24); +var uncurryThis = __webpack_require__(14); + +var fromCharCode = String.fromCharCode; +var fromCodePoint = getBuiltIn('String', 'fromCodePoint'); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var stringIndexOf = uncurryThis(''.indexOf); +var stringSlice = uncurryThis(''.slice); + +var ZERO_CODE = 48; +var NINE_CODE = 57; +var LOWER_A_CODE = 97; +var LOWER_F_CODE = 102; +var UPPER_A_CODE = 65; +var UPPER_F_CODE = 70; + +var isDigit = function (str, index) { + var c = charCodeAt(str, index); + return c >= ZERO_CODE && c <= NINE_CODE; +}; + +var parseHex = function (str, index, end) { + if (end >= str.length) return -1; + var n = 0; + for (; index < end; index++) { + var c = hexToInt(charCodeAt(str, index)); + if (c === -1) return -1; + n = n * 16 + c; + } + return n; +}; + +var hexToInt = function (c) { + if (c >= ZERO_CODE && c <= NINE_CODE) return c - ZERO_CODE; + if (c >= LOWER_A_CODE && c <= LOWER_F_CODE) return c - LOWER_A_CODE + 10; + if (c >= UPPER_A_CODE && c <= UPPER_F_CODE) return c - UPPER_A_CODE + 10; + return -1; +}; + +module.exports = function (raw) { + var out = ''; + var start = 0; + // We need to find every backslash escape sequence, and cook the escape into a real char. + var i = 0; + var n; + while ((i = stringIndexOf(raw, '\\', i)) > -1) { + out += stringSlice(raw, start, i); + // If the backslash is the last char of the string, then it was an invalid sequence. + // This can't actually happen in a tagged template literal, but could happen if you manually + // invoked the tag with an array. + if (++i === raw.length) return; + var next = charAt(raw, i++); + switch (next) { + // Escaped control codes need to be individually processed. + case 'b': + out += '\b'; + break; + case 't': + out += '\t'; + break; + case 'n': + out += '\n'; + break; + case 'v': + out += '\v'; + break; + case 'f': + out += '\f'; + break; + case 'r': + out += '\r'; + break; + // Escaped line terminators just skip the char. + case '\r': + // Treat `\r\n` as a single terminator. + if (i < raw.length && charAt(raw, i) === '\n') ++i; + // break omitted + case '\n': + case '\u2028': + case '\u2029': + break; + // `\0` is a null control char, but `\0` followed by another digit is an illegal octal escape. + case '0': + if (isDigit(raw, i)) return; + out += '\0'; + break; + // Hex escapes must contain 2 hex chars. + case 'x': + n = parseHex(raw, i, i + 2); + if (n === -1) return; + i += 2; + out += fromCharCode(n); + break; + // Unicode escapes contain either 4 chars, or an unlimited number between `{` and `}`. + // The hex value must not overflow 0x10FFFF. + case 'u': + if (i < raw.length && charAt(raw, i) === '{') { + var end = stringIndexOf(raw, '}', ++i); + if (end === -1) return; + n = parseHex(raw, i, end); + i = end + 1; + } else { + n = parseHex(raw, i, i + 4); + i += 4; + } + if (n === -1 || n > 0x10FFFF) return; + out += fromCodePoint(n); + break; + default: + if (isDigit(next, 0)) return; + out += next; + } + start = i; + } + return out + stringSlice(raw, start); +}; + + +/***/ }), +/* 704 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var defineWellKnownSymbol = __webpack_require__(81); +var defineProperty = __webpack_require__(45).f; +var getOwnPropertyDescriptor = __webpack_require__(5).f; + +var Symbol = global.Symbol; + +// `Symbol.asyncDispose` well-known symbol +// https://github.com/tc39/proposal-async-explicit-resource-management +defineWellKnownSymbol('asyncDispose'); + +if (Symbol) { + var descriptor = getOwnPropertyDescriptor(Symbol, 'asyncDispose'); + // workaround of NodeJS 20.4 bug + // https://github.com/nodejs/node/issues/48699 + // and incorrect descriptor from some transpilers and userland helpers + if (descriptor.enumerable && descriptor.configurable && descriptor.writable) { + defineProperty(Symbol, 'asyncDispose', { value: descriptor.value, enumerable: false, configurable: false, writable: false }); + } +} + + +/***/ }), +/* 705 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var defineWellKnownSymbol = __webpack_require__(81); +var defineProperty = __webpack_require__(45).f; +var getOwnPropertyDescriptor = __webpack_require__(5).f; + +var Symbol = global.Symbol; + +// `Symbol.dispose` well-known symbol +// https://github.com/tc39/proposal-explicit-resource-management +defineWellKnownSymbol('dispose'); + +if (Symbol) { + var descriptor = getOwnPropertyDescriptor(Symbol, 'dispose'); + // workaround of NodeJS 20.4 bug + // https://github.com/nodejs/node/issues/48699 + // and incorrect descriptor from some transpilers and userland helpers + if (descriptor.enumerable && descriptor.configurable && descriptor.writable) { + defineProperty(Symbol, 'dispose', { value: descriptor.value, enumerable: false, configurable: false, writable: false }); + } +} + + +/***/ }), +/* 706 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isRegisteredSymbol = __webpack_require__(707); + +// `Symbol.isRegisteredSymbol` method +// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol +$({ target: 'Symbol', stat: true }, { + isRegisteredSymbol: isRegisteredSymbol +}); + + +/***/ }), +/* 707 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var getBuiltIn = __webpack_require__(24); +var uncurryThis = __webpack_require__(14); + +var Symbol = getBuiltIn('Symbol'); +var keyFor = Symbol.keyFor; +var thisSymbolValue = uncurryThis(Symbol.prototype.valueOf); + +// `Symbol.isRegisteredSymbol` method +// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol +module.exports = Symbol.isRegisteredSymbol || function isRegisteredSymbol(value) { + try { + return keyFor(thisSymbolValue(value)) !== undefined; + } catch (error) { + return false; + } +}; + + +/***/ }), +/* 708 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isRegisteredSymbol = __webpack_require__(707); + +// `Symbol.isRegistered` method +// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol +$({ target: 'Symbol', stat: true, name: 'isRegisteredSymbol' }, { + isRegistered: isRegisteredSymbol +}); + + +/***/ }), +/* 709 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isWellKnownSymbol = __webpack_require__(710); + +// `Symbol.isWellKnownSymbol` method +// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol +// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected +$({ target: 'Symbol', stat: true, forced: true }, { + isWellKnownSymbol: isWellKnownSymbol +}); + + +/***/ }), +/* 710 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var shared = __webpack_require__(35); +var getBuiltIn = __webpack_require__(24); +var uncurryThis = __webpack_require__(14); +var isSymbol = __webpack_require__(23); +var wellKnownSymbol = __webpack_require__(34); + +var Symbol = getBuiltIn('Symbol'); +var $isWellKnownSymbol = Symbol.isWellKnownSymbol; +var getOwnPropertyNames = getBuiltIn('Object', 'getOwnPropertyNames'); +var thisSymbolValue = uncurryThis(Symbol.prototype.valueOf); +var WellKnownSymbolsStore = shared('wks'); + +for (var i = 0, symbolKeys = getOwnPropertyNames(Symbol), symbolKeysLength = symbolKeys.length; i < symbolKeysLength; i++) { + // some old engines throws on access to some keys like `arguments` or `caller` + try { + var symbolKey = symbolKeys[i]; + if (isSymbol(Symbol[symbolKey])) wellKnownSymbol(symbolKey); + } catch (error) { /* empty */ } +} + +// `Symbol.isWellKnownSymbol` method +// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol +// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected +module.exports = function isWellKnownSymbol(value) { + if ($isWellKnownSymbol && $isWellKnownSymbol(value)) return true; + try { + var symbol = thisSymbolValue(value); + for (var j = 0, keys = getOwnPropertyNames(WellKnownSymbolsStore), keysLength = keys.length; j < keysLength; j++) { + // eslint-disable-next-line eqeqeq -- polyfilled symbols case + if (WellKnownSymbolsStore[keys[j]] == symbol) return true; + } + } catch (error) { /* empty */ } + return false; +}; + + +/***/ }), +/* 711 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var isWellKnownSymbol = __webpack_require__(710); + +// `Symbol.isWellKnown` method +// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol +// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected +$({ target: 'Symbol', stat: true, name: 'isWellKnownSymbol', forced: true }, { + isWellKnown: isWellKnownSymbol +}); + + +/***/ }), +/* 712 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.matcher` well-known symbol +// https://github.com/tc39/proposal-pattern-matching +defineWellKnownSymbol('matcher'); + + +/***/ }), +/* 713 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.metadata` well-known symbol +// https://github.com/tc39/proposal-decorators +defineWellKnownSymbol('metadata'); + + +/***/ }), +/* 714 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.metadataKey` well-known symbol +// https://github.com/tc39/proposal-decorator-metadata +defineWellKnownSymbol('metadataKey'); + + +/***/ }), +/* 715 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.observable` well-known symbol +// https://github.com/tc39/proposal-observable +defineWellKnownSymbol('observable'); + + +/***/ }), +/* 716 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: remove from `core-js@4` +var defineWellKnownSymbol = __webpack_require__(81); + +// `Symbol.patternMatch` well-known symbol +// https://github.com/tc39/proposal-pattern-matching +defineWellKnownSymbol('patternMatch'); + + +/***/ }), +/* 717 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: remove from `core-js@4` +var defineWellKnownSymbol = __webpack_require__(81); + +defineWellKnownSymbol('replaceAll'); + + +/***/ }), +/* 718 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var getBuiltIn = __webpack_require__(24); +var aConstructor = __webpack_require__(221); +var arrayFromAsync = __webpack_require__(492); +var ArrayBufferViewCore = __webpack_require__(218); +var arrayFromConstructorAndList = __webpack_require__(199); + +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod; + +// `%TypedArray%.fromAsync` method +// https://github.com/tc39/proposal-array-from-async +exportTypedArrayStaticMethod('fromAsync', function fromAsync(asyncItems /* , mapfn = undefined, thisArg = undefined */) { + var C = this; + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var thisArg = argumentsLength > 2 ? arguments[2] : undefined; + return new (getBuiltIn('Promise'))(function (resolve) { + aConstructor(C); + resolve(arrayFromAsync(asyncItems, mapfn, thisArg)); + }).then(function (list) { + return arrayFromConstructorAndList(aTypedArrayConstructor(C), list); + }); +}, true); + + +/***/ }), +/* 719 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var ArrayBufferViewCore = __webpack_require__(218); +var $filterReject = __webpack_require__(85).filterReject; +var fromSpeciesAndList = __webpack_require__(456); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.filterOut` method +// https://github.com/tc39/proposal-array-filtering +exportTypedArrayMethod('filterOut', function filterOut(callbackfn /* , thisArg */) { + var list = $filterReject(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return fromSpeciesAndList(this, list); +}, true); + + +/***/ }), +/* 720 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__(218); +var $filterReject = __webpack_require__(85).filterReject; +var fromSpeciesAndList = __webpack_require__(456); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.filterReject` method +// https://github.com/tc39/proposal-array-filtering +exportTypedArrayMethod('filterReject', function filterReject(callbackfn /* , thisArg */) { + var list = $filterReject(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return fromSpeciesAndList(this, list); +}, true); + + +/***/ }), +/* 721 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var ArrayBufferViewCore = __webpack_require__(218); +var $group = __webpack_require__(502); +var typedArraySpeciesConstructor = __webpack_require__(457); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.groupBy` method +// https://github.com/tc39/proposal-array-grouping +exportTypedArrayMethod('groupBy', function groupBy(callbackfn /* , thisArg */) { + var thisArg = arguments.length > 1 ? arguments[1] : undefined; + return $group(aTypedArray(this), callbackfn, thisArg, typedArraySpeciesConstructor); +}, true); + + +/***/ }), +/* 722 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +var ArrayBufferViewCore = __webpack_require__(218); +var lengthOfArrayLike = __webpack_require__(64); +var isBigIntArray = __webpack_require__(441); +var toAbsoluteIndex = __webpack_require__(61); +var toBigInt = __webpack_require__(442); +var toIntegerOrInfinity = __webpack_require__(62); +var fails = __webpack_require__(7); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var max = Math.max; +var min = Math.min; + +// some early implementations, like WebKit, does not follow the final semantic +var PROPER_ORDER = !fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + var array = new Int8Array([1]); + + var spliced = array.toSpliced(1, 0, { + valueOf: function () { + array[0] = 2; + return 3; + } + }); + + return spliced[0] !== 2 || spliced[1] !== 3; +}); + +// `%TypedArray%.prototype.toSpliced` method +// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toSpliced +exportTypedArrayMethod('toSpliced', function toSpliced(start, deleteCount /* , ...items */) { + var O = aTypedArray(this); + var C = getTypedArrayConstructor(O); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var k = 0; + var insertCount, actualDeleteCount, thisIsBigIntArray, convertedItems, value, newLen, A; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + insertCount = argumentsLength - 2; + if (insertCount) { + convertedItems = new C(insertCount); + thisIsBigIntArray = isBigIntArray(convertedItems); + for (var i = 2; i < argumentsLength; i++) { + value = arguments[i]; + // FF30- typed arrays doesn't properly convert objects to typed array values + convertedItems[i - 2] = thisIsBigIntArray ? toBigInt(value) : +value; + } + } + } + newLen = len + insertCount - actualDeleteCount; + A = new C(newLen); + + for (; k < actualStart; k++) A[k] = O[k]; + for (; k < actualStart + insertCount; k++) A[k] = convertedItems[k - actualStart]; + for (; k < newLen; k++) A[k] = O[k + actualDeleteCount - insertCount]; + + return A; +}, !PROPER_ORDER); + + +/***/ }), +/* 723 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); +var ArrayBufferViewCore = __webpack_require__(218); +var arrayFromConstructorAndList = __webpack_require__(199); +var $arrayUniqueBy = __webpack_require__(512); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var arrayUniqueBy = uncurryThis($arrayUniqueBy); + +// `%TypedArray%.prototype.uniqueBy` method +// https://github.com/tc39/proposal-array-unique +exportTypedArrayMethod('uniqueBy', function uniqueBy(resolver) { + aTypedArray(this); + return arrayFromConstructorAndList(getTypedArrayConstructor(this), arrayUniqueBy(this, resolver)); +}, true); + + +/***/ }), +/* 724 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var aWeakMap = __webpack_require__(725); +var remove = __webpack_require__(726).remove; + +// `WeakMap.prototype.deleteAll` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'WeakMap', proto: true, real: true, forced: true }, { + deleteAll: function deleteAll(/* ...elements */) { + var collection = aWeakMap(this); + var allDeleted = true; + var wasDeleted; + for (var k = 0, len = arguments.length; k < len; k++) { + wasDeleted = remove(collection, arguments[k]); + allDeleted = allDeleted && wasDeleted; + } return !!allDeleted; + } +}); + + +/***/ }), +/* 725 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var has = __webpack_require__(726).has; + +// Perform ? RequireInternalSlot(M, [[WeakMapData]]) +module.exports = function (it) { + has(it); + return it; +}; + + +/***/ }), +/* 726 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-weak-map -- safe +var WeakMapPrototype = WeakMap.prototype; + +module.exports = { + // eslint-disable-next-line es/no-weak-map -- safe + WeakMap: WeakMap, + set: uncurryThis(WeakMapPrototype.set), + get: uncurryThis(WeakMapPrototype.get), + has: uncurryThis(WeakMapPrototype.has), + remove: uncurryThis(WeakMapPrototype['delete']) +}; + + +/***/ }), +/* 727 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var from = __webpack_require__(601); + +// `WeakMap.from` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from +$({ target: 'WeakMap', stat: true, forced: true }, { + from: from +}); + + +/***/ }), +/* 728 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var of = __webpack_require__(611); + +// `WeakMap.of` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of +$({ target: 'WeakMap', stat: true, forced: true }, { + of: of +}); + + +/***/ }), +/* 729 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var aWeakMap = __webpack_require__(725); +var WeakMapHelpers = __webpack_require__(726); + +var get = WeakMapHelpers.get; +var has = WeakMapHelpers.has; +var set = WeakMapHelpers.set; + +// `WeakMap.prototype.emplace` method +// https://github.com/tc39/proposal-upsert +$({ target: 'WeakMap', proto: true, real: true, forced: true }, { + emplace: function emplace(key, handler) { + var map = aWeakMap(this); + var value, inserted; + if (has(map, key)) { + value = get(map, key); + if ('update' in handler) { + value = handler.update(value, key, map); + set(map, key, value); + } return value; + } + inserted = handler.insert(key, map); + set(map, key, inserted); + return inserted; + } +}); + + +/***/ }), +/* 730 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: remove from `core-js@4` +var $ = __webpack_require__(3); +var upsert = __webpack_require__(616); + +// `WeakMap.prototype.upsert` method (replaced by `WeakMap.prototype.emplace`) +// https://github.com/tc39/proposal-upsert +$({ target: 'WeakMap', proto: true, real: true, forced: true }, { + upsert: upsert +}); + + +/***/ }), +/* 731 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var aWeakSet = __webpack_require__(732); +var add = __webpack_require__(733).add; + +// `WeakSet.prototype.addAll` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'WeakSet', proto: true, real: true, forced: true }, { + addAll: function addAll(/* ...elements */) { + var set = aWeakSet(this); + for (var k = 0, len = arguments.length; k < len; k++) { + add(set, arguments[k]); + } return set; + } +}); + + +/***/ }), +/* 732 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var has = __webpack_require__(733).has; + +// Perform ? RequireInternalSlot(M, [[WeakSetData]]) +module.exports = function (it) { + has(it); + return it; +}; + + +/***/ }), +/* 733 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-weak-set -- safe +var WeakSetPrototype = WeakSet.prototype; + +module.exports = { + // eslint-disable-next-line es/no-weak-set -- safe + WeakSet: WeakSet, + add: uncurryThis(WeakSetPrototype.add), + has: uncurryThis(WeakSetPrototype.has), + remove: uncurryThis(WeakSetPrototype['delete']) +}; + + +/***/ }), +/* 734 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var aWeakSet = __webpack_require__(732); +var remove = __webpack_require__(733).remove; + +// `WeakSet.prototype.deleteAll` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'WeakSet', proto: true, real: true, forced: true }, { + deleteAll: function deleteAll(/* ...elements */) { + var collection = aWeakSet(this); + var allDeleted = true; + var wasDeleted; + for (var k = 0, len = arguments.length; k < len; k++) { + wasDeleted = remove(collection, arguments[k]); + allDeleted = allDeleted && wasDeleted; + } return !!allDeleted; + } +}); + + +/***/ }), +/* 735 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var from = __webpack_require__(601); + +// `WeakSet.from` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from +$({ target: 'WeakSet', stat: true, forced: true }, { + from: from +}); + + +/***/ }), +/* 736 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var of = __webpack_require__(611); + +// `WeakSet.of` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of +$({ target: 'WeakSet', stat: true, forced: true }, { + of: of +}); + + +/***/ }), +/* 737 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var getBuiltIn = __webpack_require__(24); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var toString = __webpack_require__(69); +var hasOwn = __webpack_require__(39); +var validateArgumentsLength = __webpack_require__(329); +var ctoi = __webpack_require__(738).ctoi; + +var disallowed = /[^\d+/a-z]/i; +var whitespaces = /[\t\n\f\r ]+/g; +var finalEq = /[=]{1,2}$/; + +var $atob = getBuiltIn('atob'); +var fromCharCode = String.fromCharCode; +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var exec = uncurryThis(disallowed.exec); + +var NO_SPACES_IGNORE = fails(function () { + return $atob(' ') !== ''; +}); + +var NO_ENCODING_CHECK = !fails(function () { + $atob('a'); +}); + +var NO_ARG_RECEIVING_CHECK = !NO_SPACES_IGNORE && !NO_ENCODING_CHECK && !fails(function () { + $atob(); +}); + +var WRONG_ARITY = !NO_SPACES_IGNORE && !NO_ENCODING_CHECK && $atob.length !== 1; + +// `atob` method +// https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob +$({ global: true, bind: true, enumerable: true, forced: NO_SPACES_IGNORE || NO_ENCODING_CHECK || NO_ARG_RECEIVING_CHECK || WRONG_ARITY }, { + atob: function atob(data) { + validateArgumentsLength(arguments.length, 1); + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (NO_ARG_RECEIVING_CHECK || WRONG_ARITY) return call($atob, global, data); + var string = replace(toString(data), whitespaces, ''); + var output = ''; + var position = 0; + var bc = 0; + var chr, bs; + if (string.length % 4 === 0) { + string = replace(string, finalEq, ''); + } + if (string.length % 4 === 1 || exec(disallowed, string)) { + throw new (getBuiltIn('DOMException'))('The string is not correctly encoded', 'InvalidCharacterError'); + } + while (chr = charAt(string, position++)) { + if (hasOwn(ctoi, chr)) { + bs = bc % 4 ? bs * 64 + ctoi[chr] : ctoi[chr]; + if (bc++ % 4) output += fromCharCode(255 & bs >> (-2 * bc & 6)); + } + } return output; + } +}); + + +/***/ }), +/* 738 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var itoc = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; +var ctoi = {}; + +for (var index = 0; index < 66; index++) ctoi[itoc.charAt(index)] = index; + +module.exports = { + itoc: itoc, + ctoi: ctoi +}; + + +/***/ }), +/* 739 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var getBuiltIn = __webpack_require__(24); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var toString = __webpack_require__(69); +var validateArgumentsLength = __webpack_require__(329); +var itoc = __webpack_require__(738).itoc; + +var $btoa = getBuiltIn('btoa'); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); + +var NO_ARG_RECEIVING_CHECK = !!$btoa && !fails(function () { + $btoa(); +}); + +var WRONG_ARG_CONVERSION = !!$btoa && fails(function () { + return $btoa(null) !== 'bnVsbA=='; +}); + +var WRONG_ARITY = !!$btoa && $btoa.length !== 1; + +// `btoa` method +// https://html.spec.whatwg.org/multipage/webappapis.html#dom-btoa +$({ global: true, bind: true, enumerable: true, forced: NO_ARG_RECEIVING_CHECK || WRONG_ARG_CONVERSION || WRONG_ARITY }, { + btoa: function btoa(data) { + validateArgumentsLength(arguments.length, 1); + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (NO_ARG_RECEIVING_CHECK || WRONG_ARG_CONVERSION || WRONG_ARITY) return call($btoa, global, toString(data)); + var string = toString(data); + var output = ''; + var position = 0; + var map = itoc; + var block, charCode; + while (charAt(string, position) || (map = '=', position % 1)) { + charCode = charCodeAt(string, position += 3 / 4); + if (charCode > 0xFF) { + throw new (getBuiltIn('DOMException'))('The string contains characters outside of the Latin1 range', 'InvalidCharacterError'); + } + block = block << 8 | charCode; + output += charAt(map, 63 & block >> 8 - position % 1 * 8); + } return output; + } +}); + + +/***/ }), +/* 740 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var DOMIterables = __webpack_require__(741); +var DOMTokenListPrototype = __webpack_require__(742); +var forEach = __webpack_require__(161); +var createNonEnumerableProperty = __webpack_require__(44); + +var handlePrototype = function (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { + createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); + } catch (error) { + CollectionPrototype.forEach = forEach; + } +}; + +for (var COLLECTION_NAME in DOMIterables) { + if (DOMIterables[COLLECTION_NAME]) { + handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype); + } +} + +handlePrototype(DOMTokenListPrototype); + + +/***/ }), +/* 741 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// iterable DOM collections +// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods +module.exports = { + CSSRuleList: 0, + CSSStyleDeclaration: 0, + CSSValueList: 0, + ClientRectList: 0, + DOMRectList: 0, + DOMStringList: 0, + DOMTokenList: 1, + DataTransferItemList: 0, + FileList: 0, + HTMLAllCollection: 0, + HTMLCollection: 0, + HTMLFormElement: 0, + HTMLSelectElement: 0, + MediaList: 0, + MimeTypeArray: 0, + NamedNodeMap: 0, + NodeList: 1, + PaintRequestList: 0, + Plugin: 0, + PluginArray: 0, + SVGLengthList: 0, + SVGNumberList: 0, + SVGPathSegList: 0, + SVGPointList: 0, + SVGStringList: 0, + SVGTransformList: 0, + SourceBufferList: 0, + StyleSheetList: 0, + TextTrackCueList: 0, + TextTrackList: 0, + TouchList: 0 +}; + + +/***/ }), +/* 742 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList` +var documentCreateElement = __webpack_require__(43); + +var classList = documentCreateElement('span').classList; +var DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype; + +module.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype; + + +/***/ }), +/* 743 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var DOMIterables = __webpack_require__(741); +var DOMTokenListPrototype = __webpack_require__(742); +var ArrayIteratorMethods = __webpack_require__(169); +var createNonEnumerableProperty = __webpack_require__(44); +var wellKnownSymbol = __webpack_require__(34); + +var ITERATOR = wellKnownSymbol('iterator'); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var ArrayValues = ArrayIteratorMethods.values; + +var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) { + if (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[ITERATOR] !== ArrayValues) try { + createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); + } catch (error) { + CollectionPrototype[ITERATOR] = ArrayValues; + } + if (!CollectionPrototype[TO_STRING_TAG]) { + createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); + } + if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { + createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); + } catch (error) { + CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; + } + } + } +}; + +for (var COLLECTION_NAME in DOMIterables) { + handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME); +} + +handlePrototype(DOMTokenListPrototype, 'DOMTokenList'); + + +/***/ }), +/* 744 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var tryNodeRequire = __webpack_require__(521); +var getBuiltIn = __webpack_require__(24); +var fails = __webpack_require__(7); +var create = __webpack_require__(72); +var createPropertyDescriptor = __webpack_require__(11); +var defineProperty = __webpack_require__(45).f; +var defineBuiltIn = __webpack_require__(48); +var defineBuiltInAccessor = __webpack_require__(79); +var hasOwn = __webpack_require__(39); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(47); +var errorToString = __webpack_require__(127); +var normalizeStringArgument = __webpack_require__(121); +var DOMExceptionConstants = __webpack_require__(745); +var clearErrorStack = __webpack_require__(124); +var InternalStateModule = __webpack_require__(52); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var DOM_EXCEPTION = 'DOMException'; +var DATA_CLONE_ERR = 'DATA_CLONE_ERR'; +var Error = getBuiltIn('Error'); +// NodeJS < 17.0 does not expose `DOMException` to global +var NativeDOMException = getBuiltIn(DOM_EXCEPTION) || (function () { + try { + // NodeJS < 15.0 does not expose `MessageChannel` to global + var MessageChannel = getBuiltIn('MessageChannel') || tryNodeRequire('worker_threads').MessageChannel; + // eslint-disable-next-line es/no-weak-map, unicorn/require-post-message-target-origin -- safe + new MessageChannel().port1.postMessage(new WeakMap()); + } catch (error) { + if (error.name === DATA_CLONE_ERR && error.code === 25) return error.constructor; + } +})(); +var NativeDOMExceptionPrototype = NativeDOMException && NativeDOMException.prototype; +var ErrorPrototype = Error.prototype; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(DOM_EXCEPTION); +var HAS_STACK = 'stack' in new Error(DOM_EXCEPTION); + +var codeFor = function (name) { + return hasOwn(DOMExceptionConstants, name) && DOMExceptionConstants[name].m ? DOMExceptionConstants[name].c : 0; +}; + +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var code = codeFor(name); + setInternalState(this, { + type: DOM_EXCEPTION, + name: name, + message: message, + code: code + }); + if (!DESCRIPTORS) { + this.name = name; + this.message = message; + this.code = code; + } + if (HAS_STACK) { + var error = new Error(message); + error.name = DOM_EXCEPTION; + defineProperty(this, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + } +}; + +var DOMExceptionPrototype = $DOMException.prototype = create(ErrorPrototype); + +var createGetterDescriptor = function (get) { + return { enumerable: true, configurable: true, get: get }; +}; + +var getterFor = function (key) { + return createGetterDescriptor(function () { + return getInternalState(this)[key]; + }); +}; + +if (DESCRIPTORS) { + // `DOMException.prototype.code` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'code', getterFor('code')); + // `DOMException.prototype.message` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'message', getterFor('message')); + // `DOMException.prototype.name` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'name', getterFor('name')); +} + +defineProperty(DOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, $DOMException)); + +// FF36- DOMException is a function, but can't be constructed +var INCORRECT_CONSTRUCTOR = fails(function () { + return !(new NativeDOMException() instanceof Error); +}); + +// Safari 10.1 / Chrome 32- / IE8- DOMException.prototype.toString bugs +var INCORRECT_TO_STRING = INCORRECT_CONSTRUCTOR || fails(function () { + return ErrorPrototype.toString !== errorToString || String(new NativeDOMException(1, 2)) !== '2: 1'; +}); + +// Deno 1.6.3- DOMException.prototype.code just missed +var INCORRECT_CODE = INCORRECT_CONSTRUCTOR || fails(function () { + return new NativeDOMException(1, 'DataCloneError').code !== 25; +}); + +// Deno 1.6.3- DOMException constants just missed +var MISSED_CONSTANTS = INCORRECT_CONSTRUCTOR + || NativeDOMException[DATA_CLONE_ERR] !== 25 + || NativeDOMExceptionPrototype[DATA_CLONE_ERR] !== 25; + +var FORCED_CONSTRUCTOR = IS_PURE ? INCORRECT_TO_STRING || INCORRECT_CODE || MISSED_CONSTANTS : INCORRECT_CONSTRUCTOR; + +// `DOMException` constructor +// https://webidl.spec.whatwg.org/#idl-DOMException +$({ global: true, constructor: true, forced: FORCED_CONSTRUCTOR }, { + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException +}); + +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; + +if (INCORRECT_TO_STRING && (IS_PURE || NativeDOMException === PolyfilledDOMException)) { + defineBuiltIn(PolyfilledDOMExceptionPrototype, 'toString', errorToString); +} + +if (INCORRECT_CODE && DESCRIPTORS && NativeDOMException === PolyfilledDOMException) { + defineBuiltInAccessor(PolyfilledDOMExceptionPrototype, 'code', createGetterDescriptor(function () { + return codeFor(anObject(this).name); + })); +} + +// `DOMException` constants +for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + var descriptor = createPropertyDescriptor(6, constant.c); + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, descriptor); + } + if (!hasOwn(PolyfilledDOMExceptionPrototype, constantName)) { + defineProperty(PolyfilledDOMExceptionPrototype, constantName, descriptor); + } +} + + +/***/ }), +/* 745 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +module.exports = { + IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 }, + DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 }, + HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 }, + WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 }, + InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 }, + NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 }, + NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 }, + NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 }, + NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 }, + InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 }, + InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 }, + SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 }, + InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 }, + NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 }, + InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 }, + ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 }, + TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 }, + SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 }, + NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 }, + AbortError: { s: 'ABORT_ERR', c: 20, m: 1 }, + URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 }, + QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 }, + TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 }, + InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 }, + DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 } +}; + + +/***/ }), +/* 746 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var getBuiltIn = __webpack_require__(24); +var createPropertyDescriptor = __webpack_require__(11); +var defineProperty = __webpack_require__(45).f; +var hasOwn = __webpack_require__(39); +var anInstance = __webpack_require__(211); +var inheritIfRequired = __webpack_require__(120); +var normalizeStringArgument = __webpack_require__(121); +var DOMExceptionConstants = __webpack_require__(745); +var clearErrorStack = __webpack_require__(124); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var DOM_EXCEPTION = 'DOMException'; +var Error = getBuiltIn('Error'); +var NativeDOMException = getBuiltIn(DOM_EXCEPTION); + +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var that = new NativeDOMException(message, name); + var error = new Error(message); + error.name = DOM_EXCEPTION; + defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + inheritIfRequired(that, this, $DOMException); + return that; +}; + +var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype; + +var ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION); +var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION); + +// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it +// https://github.com/Jarred-Sumner/bun/issues/399 +var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable); + +var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK; + +// `DOMException` constructor patch for `.stack` where it's required +// https://webidl.spec.whatwg.org/#es-DOMException-specialness +$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException +}); + +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; + +if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) { + if (!IS_PURE) { + defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException)); + } + + for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c)); + } + } +} + + +/***/ }), +/* 747 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var getBuiltIn = __webpack_require__(24); +var setToStringTag = __webpack_require__(84); + +var DOM_EXCEPTION = 'DOMException'; + +// `DOMException.prototype[@@toStringTag]` property +setToStringTag(getBuiltIn(DOM_EXCEPTION), DOM_EXCEPTION); + + +/***/ }), +/* 748 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(749); +__webpack_require__(750); + + +/***/ }), +/* 749 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var clearImmediate = __webpack_require__(328).clear; + +// `clearImmediate` method +// http://w3c.github.io/setImmediate/#si-clearImmediate +$({ global: true, bind: true, enumerable: true, forced: global.clearImmediate !== clearImmediate }, { + clearImmediate: clearImmediate +}); + + +/***/ }), +/* 750 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var setTask = __webpack_require__(328).set; +var schedulersFix = __webpack_require__(751); + +// https://github.com/oven-sh/bun/issues/1633 +var setImmediate = global.setImmediate ? schedulersFix(setTask, false) : setTask; + +// `setImmediate` method +// http://w3c.github.io/setImmediate/#si-setImmediate +$({ global: true, bind: true, enumerable: true, forced: global.setImmediate !== setImmediate }, { + setImmediate: setImmediate +}); + + +/***/ }), +/* 751 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(4); +var apply = __webpack_require__(96); +var isCallable = __webpack_require__(21); +var ENGINE_IS_BUN = __webpack_require__(752); +var USER_AGENT = __webpack_require__(29); +var arraySlice = __webpack_require__(97); +var validateArgumentsLength = __webpack_require__(329); + +var Function = global.Function; +// dirty IE9- and Bun 0.3.0- checks +var WRAP = /MSIE .\./.test(USER_AGENT) || ENGINE_IS_BUN && (function () { + var version = global.Bun.version.split('.'); + return version.length < 3 || version[0] === '0' && (version[1] < 3 || version[1] === '3' && version[2] === '0'); +})(); + +// IE9- / Bun 0.3.0- setTimeout / setInterval / setImmediate additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers +// https://github.com/oven-sh/bun/issues/1633 +module.exports = function (scheduler, hasTimeArg) { + var firstParamIndex = hasTimeArg ? 2 : 1; + return WRAP ? function (handler, timeout /* , ...arguments */) { + var boundArgs = validateArgumentsLength(arguments.length, 1) > firstParamIndex; + var fn = isCallable(handler) ? handler : Function(handler); + var params = boundArgs ? arraySlice(arguments, firstParamIndex) : []; + var callback = boundArgs ? function () { + apply(fn, this, params); + } : fn; + return hasTimeArg ? scheduler(callback, timeout) : scheduler(callback); + } : scheduler; +}; + + +/***/ }), +/* 752 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* global Bun -- Deno case */ +module.exports = typeof Bun == 'function' && Bun && typeof Bun.version == 'string'; + + +/***/ }), +/* 753 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var microtask = __webpack_require__(331); +var aCallable = __webpack_require__(31); +var validateArgumentsLength = __webpack_require__(329); +var IS_NODE = __webpack_require__(183); + +var process = global.process; + +// `queueMicrotask` method +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask +$({ global: true, enumerable: true, dontCallGetSet: true }, { + queueMicrotask: function queueMicrotask(fn) { + validateArgumentsLength(arguments.length, 1); + aCallable(fn); + var domain = IS_NODE && process.domain; + microtask(domain ? domain.bind(fn) : fn); + } +}); + + +/***/ }), +/* 754 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var defineBuiltInAccessor = __webpack_require__(79); +var DESCRIPTORS = __webpack_require__(6); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var INCORRECT_VALUE = global.self !== global; + +// `self` getter +// https://html.spec.whatwg.org/multipage/window-object.html#dom-self +try { + if (DESCRIPTORS) { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var descriptor = Object.getOwnPropertyDescriptor(global, 'self'); + // some engines have `self`, but with incorrect descriptor + // https://github.com/denoland/deno/issues/15765 + if (INCORRECT_VALUE || !descriptor || !descriptor.get || !descriptor.enumerable) { + defineBuiltInAccessor(global, 'self', { + get: function self() { + return global; + }, + set: function self(value) { + if (this !== global) throw new $TypeError('Illegal invocation'); + defineProperty(global, 'self', { + value: value, + writable: true, + configurable: true, + enumerable: true + }); + }, + configurable: true, + enumerable: true + }); + } + } else $({ global: true, simple: true, forced: INCORRECT_VALUE }, { + self: global + }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 755 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var IS_PURE = __webpack_require__(36); +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var getBuiltin = __webpack_require__(24); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var uid = __webpack_require__(41); +var isCallable = __webpack_require__(21); +var isConstructor = __webpack_require__(91); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(23); +var iterate = __webpack_require__(132); +var anObject = __webpack_require__(47); +var classof = __webpack_require__(70); +var hasOwn = __webpack_require__(39); +var createProperty = __webpack_require__(78); +var createNonEnumerableProperty = __webpack_require__(44); +var lengthOfArrayLike = __webpack_require__(64); +var validateArgumentsLength = __webpack_require__(329); +var getRegExpFlags = __webpack_require__(369); +var MapHelpers = __webpack_require__(506); +var SetHelpers = __webpack_require__(659); +var arrayBufferTransfer = __webpack_require__(519); +var ERROR_STACK_INSTALLABLE = __webpack_require__(125); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(522); + +var Object = global.Object; +var Array = global.Array; +var Date = global.Date; +var Error = global.Error; +var EvalError = global.EvalError; +var RangeError = global.RangeError; +var ReferenceError = global.ReferenceError; +var SyntaxError = global.SyntaxError; +var TypeError = global.TypeError; +var URIError = global.URIError; +var PerformanceMark = global.PerformanceMark; +var WebAssembly = global.WebAssembly; +var CompileError = WebAssembly && WebAssembly.CompileError || Error; +var LinkError = WebAssembly && WebAssembly.LinkError || Error; +var RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error; +var DOMException = getBuiltin('DOMException'); +var Map = MapHelpers.Map; +var mapHas = MapHelpers.has; +var mapGet = MapHelpers.get; +var mapSet = MapHelpers.set; +var Set = SetHelpers.Set; +var setAdd = SetHelpers.add; +var objectKeys = getBuiltin('Object', 'keys'); +var push = uncurryThis([].push); +var thisBooleanValue = uncurryThis(true.valueOf); +var thisNumberValue = uncurryThis(1.0.valueOf); +var thisStringValue = uncurryThis(''.valueOf); +var thisTimeValue = uncurryThis(Date.prototype.getTime); +var PERFORMANCE_MARK = uid('structuredClone'); +var DATA_CLONE_ERROR = 'DataCloneError'; +var TRANSFERRING = 'Transferring'; + +var checkBasicSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var set1 = new global.Set([7]); + var set2 = structuredCloneImplementation(set1); + var number = structuredCloneImplementation(Object(7)); + return set2 === set1 || !set2.has(7) || typeof number != 'object' || +number !== 7; + }) && structuredCloneImplementation; +}; + +var checkErrorsCloning = function (structuredCloneImplementation, $Error) { + return !fails(function () { + var error = new $Error(); + var test = structuredCloneImplementation({ a: error, b: error }); + return !(test && test.a === test.b && test.a instanceof $Error && test.a.stack === error.stack); + }); +}; + +// https://github.com/whatwg/html/pull/5749 +var checkNewErrorsCloningSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 })); + return test.name !== 'AggregateError' || test.errors[0] !== 1 || test.message !== PERFORMANCE_MARK || test.cause !== 3; + }); +}; + +// FF94+, Safari 15.4+, Chrome 98+, NodeJS 17.0+, Deno 1.13+ +// FF<103 and Safari implementations can't clone errors +// https://bugzilla.mozilla.org/show_bug.cgi?id=1556604 +// FF103 can clone errors, but `.stack` of clone is an empty string +// https://bugzilla.mozilla.org/show_bug.cgi?id=1778762 +// FF104+ fixed it on usual errors, but not on DOMExceptions +// https://bugzilla.mozilla.org/show_bug.cgi?id=1777321 +// Chrome <102 returns `null` if cloned object contains multiple references to one error +// https://bugs.chromium.org/p/v8/issues/detail?id=12542 +// NodeJS implementation can't clone DOMExceptions +// https://github.com/nodejs/node/issues/41038 +// only FF103+ supports new (html/5749) error cloning semantic +var nativeStructuredClone = global.structuredClone; + +var FORCED_REPLACEMENT = IS_PURE + || !checkErrorsCloning(nativeStructuredClone, Error) + || !checkErrorsCloning(nativeStructuredClone, DOMException) + || !checkNewErrorsCloningSemantic(nativeStructuredClone); + +// Chrome 82+, Safari 14.1+, Deno 1.11+ +// Chrome 78-81 implementation swaps `.name` and `.message` of cloned `DOMException` +// Chrome returns `null` if cloned object contains multiple references to one error +// Safari 14.1 implementation doesn't clone some `RegExp` flags, so requires a workaround +// Safari implementation can't clone errors +// Deno 1.2-1.10 implementations too naive +// NodeJS 16.0+ does not have `PerformanceMark` constructor +// NodeJS <17.2 structured cloning implementation from `performance.mark` is too naive +// and can't clone, for example, `RegExp` or some boxed primitives +// https://github.com/nodejs/node/issues/40840 +// no one of those implementations supports new (html/5749) error cloning semantic +var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) { + return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail; +}); + +var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark; + +var throwUncloneable = function (type) { + throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR); +}; + +var throwUnpolyfillable = function (type, action) { + throw new DOMException((action || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR); +}; + +var tryNativeRestrictedStructuredClone = function (value, type) { + if (!nativeRestrictedStructuredClone) throwUnpolyfillable(type); + return nativeRestrictedStructuredClone(value); +}; + +var createDataTransfer = function () { + var dataTransfer; + try { + dataTransfer = new global.DataTransfer(); + } catch (error) { + try { + dataTransfer = new global.ClipboardEvent('').clipboardData; + } catch (error2) { /* empty */ } + } + return dataTransfer && dataTransfer.items && dataTransfer.files ? dataTransfer : null; +}; + +var cloneBuffer = function (value, map, $type) { + if (mapHas(map, value)) return mapGet(map, value); + + var type = $type || classof(value); + var clone, length, options, source, target, i; + + if (type === 'SharedArrayBuffer') { + if (nativeRestrictedStructuredClone) clone = nativeRestrictedStructuredClone(value); + // SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original + else clone = value; + } else { + var DataView = global.DataView; + + // `ArrayBuffer#slice` is not available in IE10 + // `ArrayBuffer#slice` and `DataView` are not available in old FF + if (!DataView && typeof value.slice != 'function') throwUnpolyfillable('ArrayBuffer'); + // detached buffers throws in `DataView` and `.slice` + try { + if (typeof value.slice == 'function' && !value.resizable) { + clone = value.slice(0); + } else { + length = value.byteLength; + options = 'maxByteLength' in value ? { maxByteLength: value.maxByteLength } : undefined; + clone = new ArrayBuffer(length, options); + source = new DataView(value); + target = new DataView(clone); + for (i = 0; i < length; i++) { + target.setUint8(i, source.getUint8(i)); + } + } + } catch (error) { + throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR); + } + } + + mapSet(map, value, clone); + + return clone; +}; + +var cloneView = function (value, type, offset, length, map) { + var C = global[type]; + // in some old engines like Safari 9, typeof C is 'object' + // on Uint8ClampedArray or some other constructors + if (!isObject(C)) throwUnpolyfillable(type); + return new C(cloneBuffer(value.buffer, map), offset, length); +}; + +var Placeholder = function (object, type, metadata) { + this.object = object; + this.type = type; + this.metadata = metadata; +}; + +var structuredCloneInternal = function (value, map, transferredBuffers) { + if (isSymbol(value)) throwUncloneable('Symbol'); + if (!isObject(value)) return value; + // effectively preserves circular references + if (map) { + if (mapHas(map, value)) return mapGet(map, value); + } else map = new Map(); + + var type = classof(value); + var C, name, cloned, dataTransfer, i, length, keys, key; + + switch (type) { + case 'Array': + cloned = Array(lengthOfArrayLike(value)); + break; + case 'Object': + cloned = {}; + break; + case 'Map': + cloned = new Map(); + break; + case 'Set': + cloned = new Set(); + break; + case 'RegExp': + // in this block because of a Safari 14.1 bug + // old FF does not clone regexes passed to the constructor, so get the source and flags directly + cloned = new RegExp(value.source, getRegExpFlags(value)); + break; + case 'Error': + name = value.name; + switch (name) { + case 'AggregateError': + cloned = new (getBuiltin('AggregateError'))([]); + break; + case 'EvalError': + cloned = new EvalError(); + break; + case 'RangeError': + cloned = new RangeError(); + break; + case 'ReferenceError': + cloned = new ReferenceError(); + break; + case 'SyntaxError': + cloned = new SyntaxError(); + break; + case 'TypeError': + cloned = new TypeError(); + break; + case 'URIError': + cloned = new URIError(); + break; + case 'CompileError': + cloned = new CompileError(); + break; + case 'LinkError': + cloned = new LinkError(); + break; + case 'RuntimeError': + cloned = new RuntimeError(); + break; + default: + cloned = new Error(); + } + break; + case 'DOMException': + cloned = new DOMException(value.message, value.name); + break; + case 'ArrayBuffer': + case 'SharedArrayBuffer': + cloned = transferredBuffers + ? new Placeholder(value, type) + : cloneBuffer(value, map, type); + break; + case 'DataView': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float16Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + length = type === 'DataView' ? value.byteLength : value.length; + cloned = transferredBuffers + ? new Placeholder(value, type, { offset: value.byteOffset, length: length }) + : cloneView(value, type, value.byteOffset, length, map); + break; + case 'DOMQuad': + try { + cloned = new DOMQuad( + structuredCloneInternal(value.p1, map, transferredBuffers), + structuredCloneInternal(value.p2, map, transferredBuffers), + structuredCloneInternal(value.p3, map, transferredBuffers), + structuredCloneInternal(value.p4, map, transferredBuffers) + ); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } + break; + case 'File': + if (nativeRestrictedStructuredClone) try { + cloned = nativeRestrictedStructuredClone(value); + // NodeJS 20.0.0 bug, https://github.com/nodejs/node/issues/47612 + if (classof(cloned) !== type) cloned = undefined; + } catch (error) { /* empty */ } + if (!cloned) try { + cloned = new File([value], value.name, value); + } catch (error) { /* empty */ } + if (!cloned) throwUnpolyfillable(type); + break; + case 'FileList': + dataTransfer = createDataTransfer(); + if (dataTransfer) { + for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { + dataTransfer.items.add(structuredCloneInternal(value[i], map, transferredBuffers)); + } + cloned = dataTransfer.files; + } else cloned = tryNativeRestrictedStructuredClone(value, type); + break; + case 'ImageData': + // Safari 9 ImageData is a constructor, but typeof ImageData is 'object' + try { + cloned = new ImageData( + structuredCloneInternal(value.data, map, transferredBuffers), + value.width, + value.height, + { colorSpace: value.colorSpace } + ); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } break; + default: + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else switch (type) { + case 'BigInt': + // can be a 3rd party polyfill + cloned = Object(value.valueOf()); + break; + case 'Boolean': + cloned = Object(thisBooleanValue(value)); + break; + case 'Number': + cloned = Object(thisNumberValue(value)); + break; + case 'String': + cloned = Object(thisStringValue(value)); + break; + case 'Date': + cloned = new Date(thisTimeValue(value)); + break; + case 'Blob': + try { + cloned = value.slice(0, value.size, value.type); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMPoint': + case 'DOMPointReadOnly': + C = global[type]; + try { + cloned = C.fromPoint + ? C.fromPoint(value) + : new C(value.x, value.y, value.z, value.w); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMRect': + case 'DOMRectReadOnly': + C = global[type]; + try { + cloned = C.fromRect + ? C.fromRect(value) + : new C(value.x, value.y, value.width, value.height); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMMatrix': + case 'DOMMatrixReadOnly': + C = global[type]; + try { + cloned = C.fromMatrix + ? C.fromMatrix(value) + : new C(value); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone)) throwUnpolyfillable(type); + try { + cloned = value.clone(); + } catch (error) { + throwUncloneable(type); + } break; + case 'CropTarget': + case 'CryptoKey': + case 'FileSystemDirectoryHandle': + case 'FileSystemFileHandle': + case 'FileSystemHandle': + case 'GPUCompilationInfo': + case 'GPUCompilationMessage': + case 'ImageBitmap': + case 'RTCCertificate': + case 'WebAssembly.Module': + throwUnpolyfillable(type); + // break omitted + default: + throwUncloneable(type); + } + } + + mapSet(map, value, cloned); + + switch (type) { + case 'Array': + case 'Object': + keys = objectKeys(value); + for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { + key = keys[i]; + createProperty(cloned, key, structuredCloneInternal(value[key], map, transferredBuffers)); + } break; + case 'Map': + value.forEach(function (v, k) { + mapSet(cloned, structuredCloneInternal(k, map, transferredBuffers), structuredCloneInternal(v, map, transferredBuffers)); + }); + break; + case 'Set': + value.forEach(function (v) { + setAdd(cloned, structuredCloneInternal(v, map, transferredBuffers)); + }); + break; + case 'Error': + createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map, transferredBuffers)); + if (hasOwn(value, 'cause')) { + createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map, transferredBuffers)); + } + if (name === 'AggregateError') { + cloned.errors = structuredCloneInternal(value.errors, map, transferredBuffers); + } // break omitted + case 'DOMException': + if (ERROR_STACK_INSTALLABLE) { + createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map, transferredBuffers)); + } + } + + return cloned; +}; + +var replacePlaceholders = function (value, map) { + if (!isObject(value)) return value; + if (mapHas(map, value)) return mapGet(map, value); + + var type, object, metadata, i, length, keys, key, replacement; + + if (value instanceof Placeholder) { + type = value.type; + object = value.object; + + switch (type) { + case 'ArrayBuffer': + case 'SharedArrayBuffer': + replacement = cloneBuffer(object, map, type); + break; + case 'DataView': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float16Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + metadata = value.metadata; + replacement = cloneView(object, type, metadata.offset, metadata.length, map); + } + } else switch (classof(value)) { + case 'Array': + case 'Object': + keys = objectKeys(value); + for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { + key = keys[i]; + value[key] = replacePlaceholders(value[key], map); + } break; + case 'Map': + replacement = new Map(); + value.forEach(function (v, k) { + mapSet(replacement, replacePlaceholders(k, map), replacePlaceholders(v, map)); + }); + break; + case 'Set': + replacement = new Set(); + value.forEach(function (v) { + setAdd(replacement, replacePlaceholders(v, map)); + }); + break; + case 'Error': + value.message = replacePlaceholders(value.message, map); + if (hasOwn(value, 'cause')) { + value.cause = replacePlaceholders(value.cause, map); + } + if (value.name === 'AggregateError') { + value.errors = replacePlaceholders(value.errors, map); + } // break omitted + case 'DOMException': + if (ERROR_STACK_INSTALLABLE) { + value.stack = replacePlaceholders(value.stack, map); + } + } + + mapSet(map, value, replacement || value); + + return replacement || value; +}; + +var tryToTransfer = function (rawTransfer, map) { + if (!isObject(rawTransfer)) throw new TypeError('Transfer option cannot be converted to a sequence'); + + var transfer = []; + + iterate(rawTransfer, function (value) { + push(transfer, anObject(value)); + }); + + var i = 0; + var length = lengthOfArrayLike(transfer); + var buffers = []; + var value, type, C, transferred, canvas, context; + + while (i < length) { + value = transfer[i++]; + + type = classof(value); + + if (type === 'ArrayBuffer') { + push(buffers, value); + continue; + } + + if (mapHas(map, value)) throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); + + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + transferred = nativeStructuredClone(value, { transfer: [value] }); + } else switch (type) { + case 'ImageBitmap': + C = global.OffscreenCanvas; + if (!isConstructor(C)) throwUnpolyfillable(type, TRANSFERRING); + try { + canvas = new C(value.width, value.height); + context = canvas.getContext('bitmaprenderer'); + context.transferFromImageBitmap(value); + transferred = canvas.transferToImageBitmap(); + } catch (error) { /* empty */ } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone) || !isCallable(value.close)) throwUnpolyfillable(type, TRANSFERRING); + try { + transferred = value.clone(); + value.close(); + } catch (error) { /* empty */ } + break; + case 'MediaSourceHandle': + case 'MessagePort': + case 'OffscreenCanvas': + case 'ReadableStream': + case 'TransformStream': + case 'WritableStream': + throwUnpolyfillable(type, TRANSFERRING); + } + + if (transferred === undefined) throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR); + + mapSet(map, value, transferred); + } + + return buffers; +}; + +var tryToTransferBuffers = function (transfer, map) { + var i = 0; + var length = lengthOfArrayLike(transfer); + var value, transferred; + + while (i < length) { + value = transfer[i++]; + + if (mapHas(map, value)) throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); + + if (arrayBufferTransfer) { + transferred = arrayBufferTransfer(value, undefined, true); + } else { + if (!isCallable(value.transfer)) throwUnpolyfillable('ArrayBuffer', TRANSFERRING); + transferred = value.transfer(); + } + + mapSet(map, value, transferred); + } +}; + +// `structuredClone` method +// https://html.spec.whatwg.org/multipage/structured-data.html#dom-structuredclone +$({ global: true, enumerable: true, sham: !PROPER_STRUCTURED_CLONE_TRANSFER, forced: FORCED_REPLACEMENT }, { + structuredClone: function structuredClone(value /* , { transfer } */) { + var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined; + var transfer = options ? options.transfer : undefined; + var transferredBuffers = false; + var map, buffers; + + if (transfer !== undefined) { + map = new Map(); + buffers = tryToTransfer(transfer, map); + transferredBuffers = !!lengthOfArrayLike(buffers); + } + + var clone = structuredCloneInternal(value, map, transferredBuffers); + + // since of an issue with cloning views of transferred buffers, we a forced to transfer / clone them in 2 steps + // https://github.com/zloirock/core-js/issues/1265 + if (transferredBuffers) { + map = new Map(); + tryToTransferBuffers(transfer, map); + clone = replacePlaceholders(clone, map); + } + + return clone; + } +}); + + +/***/ }), +/* 756 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(757); +__webpack_require__(758); + + +/***/ }), +/* 757 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var schedulersFix = __webpack_require__(751); + +var setInterval = schedulersFix(global.setInterval, true); + +// Bun / IE9- setInterval additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval +$({ global: true, bind: true, forced: global.setInterval !== setInterval }, { + setInterval: setInterval +}); + + +/***/ }), +/* 758 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var schedulersFix = __webpack_require__(751); + +var setTimeout = schedulersFix(global.setTimeout, true); + +// Bun / IE9- setTimeout additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout +$({ global: true, bind: true, forced: global.setTimeout !== setTimeout }, { + setTimeout: setTimeout +}); + + +/***/ }), +/* 759 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(760); + + +/***/ }), +/* 760 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(392); +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var USE_NATIVE_URL = __webpack_require__(761); +var global = __webpack_require__(4); +var bind = __webpack_require__(86); +var uncurryThis = __webpack_require__(14); +var defineBuiltIn = __webpack_require__(48); +var defineBuiltInAccessor = __webpack_require__(79); +var anInstance = __webpack_require__(211); +var hasOwn = __webpack_require__(39); +var assign = __webpack_require__(293); +var arrayFrom = __webpack_require__(163); +var arraySlice = __webpack_require__(77); +var codeAt = __webpack_require__(385).codeAt; +var toASCII = __webpack_require__(762); +var $toString = __webpack_require__(69); +var setToStringTag = __webpack_require__(84); +var validateArgumentsLength = __webpack_require__(329); +var URLSearchParamsModule = __webpack_require__(763); +var InternalStateModule = __webpack_require__(52); + +var setInternalState = InternalStateModule.set; +var getInternalURLState = InternalStateModule.getterFor('URL'); +var URLSearchParams = URLSearchParamsModule.URLSearchParams; +var getInternalSearchParamsState = URLSearchParamsModule.getState; + +var NativeURL = global.URL; +var TypeError = global.TypeError; +var parseInt = global.parseInt; +var floor = Math.floor; +var pow = Math.pow; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var join = uncurryThis([].join); +var numberToString = uncurryThis(1.0.toString); +var pop = uncurryThis([].pop); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); +var toLowerCase = uncurryThis(''.toLowerCase); +var unshift = uncurryThis([].unshift); + +var INVALID_AUTHORITY = 'Invalid authority'; +var INVALID_SCHEME = 'Invalid scheme'; +var INVALID_HOST = 'Invalid host'; +var INVALID_PORT = 'Invalid port'; + +var ALPHA = /[a-z]/i; +// eslint-disable-next-line regexp/no-obscure-range -- safe +var ALPHANUMERIC = /[\d+-.a-z]/i; +var DIGIT = /\d/; +var HEX_START = /^0x/i; +var OCT = /^[0-7]+$/; +var DEC = /^\d+$/; +var HEX = /^[\da-f]+$/i; +/* eslint-disable regexp/no-control-character -- safe */ +var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/; +var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/; +var LEADING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+/; +var TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\u0000-\u0020])[\u0000-\u0020]+$/; +var TAB_AND_NEW_LINE = /[\t\n\r]/g; +/* eslint-enable regexp/no-control-character -- safe */ +var EOF; + +// https://url.spec.whatwg.org/#ipv4-number-parser +var parseIPv4 = function (input) { + var parts = split(input, '.'); + var partsLength, numbers, index, part, radix, number, ipv4; + if (parts.length && parts[parts.length - 1] === '') { + parts.length--; + } + partsLength = parts.length; + if (partsLength > 4) return input; + numbers = []; + for (index = 0; index < partsLength; index++) { + part = parts[index]; + if (part === '') return input; + radix = 10; + if (part.length > 1 && charAt(part, 0) === '0') { + radix = exec(HEX_START, part) ? 16 : 8; + part = stringSlice(part, radix === 8 ? 1 : 2); + } + if (part === '') { + number = 0; + } else { + if (!exec(radix === 10 ? DEC : radix === 8 ? OCT : HEX, part)) return input; + number = parseInt(part, radix); + } + push(numbers, number); + } + for (index = 0; index < partsLength; index++) { + number = numbers[index]; + if (index === partsLength - 1) { + if (number >= pow(256, 5 - partsLength)) return null; + } else if (number > 255) return null; + } + ipv4 = pop(numbers); + for (index = 0; index < numbers.length; index++) { + ipv4 += numbers[index] * pow(256, 3 - index); + } + return ipv4; +}; + +// https://url.spec.whatwg.org/#concept-ipv6-parser +// eslint-disable-next-line max-statements -- TODO +var parseIPv6 = function (input) { + var address = [0, 0, 0, 0, 0, 0, 0, 0]; + var pieceIndex = 0; + var compress = null; + var pointer = 0; + var value, length, numbersSeen, ipv4Piece, number, swaps, swap; + + var chr = function () { + return charAt(input, pointer); + }; + + if (chr() === ':') { + if (charAt(input, 1) !== ':') return; + pointer += 2; + pieceIndex++; + compress = pieceIndex; + } + while (chr()) { + if (pieceIndex === 8) return; + if (chr() === ':') { + if (compress !== null) return; + pointer++; + pieceIndex++; + compress = pieceIndex; + continue; + } + value = length = 0; + while (length < 4 && exec(HEX, chr())) { + value = value * 16 + parseInt(chr(), 16); + pointer++; + length++; + } + if (chr() === '.') { + if (length === 0) return; + pointer -= length; + if (pieceIndex > 6) return; + numbersSeen = 0; + while (chr()) { + ipv4Piece = null; + if (numbersSeen > 0) { + if (chr() === '.' && numbersSeen < 4) pointer++; + else return; + } + if (!exec(DIGIT, chr())) return; + while (exec(DIGIT, chr())) { + number = parseInt(chr(), 10); + if (ipv4Piece === null) ipv4Piece = number; + else if (ipv4Piece === 0) return; + else ipv4Piece = ipv4Piece * 10 + number; + if (ipv4Piece > 255) return; + pointer++; + } + address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; + numbersSeen++; + if (numbersSeen === 2 || numbersSeen === 4) pieceIndex++; + } + if (numbersSeen !== 4) return; + break; + } else if (chr() === ':') { + pointer++; + if (!chr()) return; + } else if (chr()) return; + address[pieceIndex++] = value; + } + if (compress !== null) { + swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + swap = address[pieceIndex]; + address[pieceIndex--] = address[compress + swaps - 1]; + address[compress + --swaps] = swap; + } + } else if (pieceIndex !== 8) return; + return address; +}; + +var findLongestZeroSequence = function (ipv6) { + var maxIndex = null; + var maxLength = 1; + var currStart = null; + var currLength = 0; + var index = 0; + for (; index < 8; index++) { + if (ipv6[index] !== 0) { + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + currStart = null; + currLength = 0; + } else { + if (currStart === null) currStart = index; + ++currLength; + } + } + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + return maxIndex; +}; + +// https://url.spec.whatwg.org/#host-serializing +var serializeHost = function (host) { + var result, index, compress, ignore0; + // ipv4 + if (typeof host == 'number') { + result = []; + for (index = 0; index < 4; index++) { + unshift(result, host % 256); + host = floor(host / 256); + } return join(result, '.'); + // ipv6 + } else if (typeof host == 'object') { + result = ''; + compress = findLongestZeroSequence(host); + for (index = 0; index < 8; index++) { + if (ignore0 && host[index] === 0) continue; + if (ignore0) ignore0 = false; + if (compress === index) { + result += index ? ':' : '::'; + ignore0 = true; + } else { + result += numberToString(host[index], 16); + if (index < 7) result += ':'; + } + } + return '[' + result + ']'; + } return host; +}; + +var C0ControlPercentEncodeSet = {}; +var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { + ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 +}); +var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { + '#': 1, '?': 1, '{': 1, '}': 1 +}); +var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { + '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 +}); + +var percentEncode = function (chr, set) { + var code = codeAt(chr, 0); + return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr); +}; + +// https://url.spec.whatwg.org/#special-scheme +var specialSchemes = { + ftp: 21, + file: null, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; + +// https://url.spec.whatwg.org/#windows-drive-letter +var isWindowsDriveLetter = function (string, normalized) { + var second; + return string.length === 2 && exec(ALPHA, charAt(string, 0)) + && ((second = charAt(string, 1)) === ':' || (!normalized && second === '|')); +}; + +// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter +var startsWithWindowsDriveLetter = function (string) { + var third; + return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && ( + string.length === 2 || + ((third = charAt(string, 2)) === '/' || third === '\\' || third === '?' || third === '#') + ); +}; + +// https://url.spec.whatwg.org/#single-dot-path-segment +var isSingleDot = function (segment) { + return segment === '.' || toLowerCase(segment) === '%2e'; +}; + +// https://url.spec.whatwg.org/#double-dot-path-segment +var isDoubleDot = function (segment) { + segment = toLowerCase(segment); + return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; +}; + +// States: +var SCHEME_START = {}; +var SCHEME = {}; +var NO_SCHEME = {}; +var SPECIAL_RELATIVE_OR_AUTHORITY = {}; +var PATH_OR_AUTHORITY = {}; +var RELATIVE = {}; +var RELATIVE_SLASH = {}; +var SPECIAL_AUTHORITY_SLASHES = {}; +var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; +var AUTHORITY = {}; +var HOST = {}; +var HOSTNAME = {}; +var PORT = {}; +var FILE = {}; +var FILE_SLASH = {}; +var FILE_HOST = {}; +var PATH_START = {}; +var PATH = {}; +var CANNOT_BE_A_BASE_URL_PATH = {}; +var QUERY = {}; +var FRAGMENT = {}; + +var URLState = function (url, isBase, base) { + var urlString = $toString(url); + var baseState, failure, searchParams; + if (isBase) { + failure = this.parse(urlString); + if (failure) throw new TypeError(failure); + this.searchParams = null; + } else { + if (base !== undefined) baseState = new URLState(base, true); + failure = this.parse(urlString, null, baseState); + if (failure) throw new TypeError(failure); + searchParams = getInternalSearchParamsState(new URLSearchParams()); + searchParams.bindURL(this); + this.searchParams = searchParams; + } +}; + +URLState.prototype = { + type: 'URL', + // https://url.spec.whatwg.org/#url-parsing + // eslint-disable-next-line max-statements -- TODO + parse: function (input, stateOverride, base) { + var url = this; + var state = stateOverride || SCHEME_START; + var pointer = 0; + var buffer = ''; + var seenAt = false; + var seenBracket = false; + var seenPasswordToken = false; + var codePoints, chr, bufferCodePoints, failure; + + input = $toString(input); + + if (!stateOverride) { + url.scheme = ''; + url.username = ''; + url.password = ''; + url.host = null; + url.port = null; + url.path = []; + url.query = null; + url.fragment = null; + url.cannotBeABaseURL = false; + input = replace(input, LEADING_C0_CONTROL_OR_SPACE, ''); + input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1'); + } + + input = replace(input, TAB_AND_NEW_LINE, ''); + + codePoints = arrayFrom(input); + + while (pointer <= codePoints.length) { + chr = codePoints[pointer]; + switch (state) { + case SCHEME_START: + if (chr && exec(ALPHA, chr)) { + buffer += toLowerCase(chr); + state = SCHEME; + } else if (!stateOverride) { + state = NO_SCHEME; + continue; + } else return INVALID_SCHEME; + break; + + case SCHEME: + if (chr && (exec(ALPHANUMERIC, chr) || chr === '+' || chr === '-' || chr === '.')) { + buffer += toLowerCase(chr); + } else if (chr === ':') { + if (stateOverride && ( + (url.isSpecial() !== hasOwn(specialSchemes, buffer)) || + (buffer === 'file' && (url.includesCredentials() || url.port !== null)) || + (url.scheme === 'file' && !url.host) + )) return; + url.scheme = buffer; + if (stateOverride) { + if (url.isSpecial() && specialSchemes[url.scheme] === url.port) url.port = null; + return; + } + buffer = ''; + if (url.scheme === 'file') { + state = FILE; + } else if (url.isSpecial() && base && base.scheme === url.scheme) { + state = SPECIAL_RELATIVE_OR_AUTHORITY; + } else if (url.isSpecial()) { + state = SPECIAL_AUTHORITY_SLASHES; + } else if (codePoints[pointer + 1] === '/') { + state = PATH_OR_AUTHORITY; + pointer++; + } else { + url.cannotBeABaseURL = true; + push(url.path, ''); + state = CANNOT_BE_A_BASE_URL_PATH; + } + } else if (!stateOverride) { + buffer = ''; + state = NO_SCHEME; + pointer = 0; + continue; + } else return INVALID_SCHEME; + break; + + case NO_SCHEME: + if (!base || (base.cannotBeABaseURL && chr !== '#')) return INVALID_SCHEME; + if (base.cannotBeABaseURL && chr === '#') { + url.scheme = base.scheme; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + url.cannotBeABaseURL = true; + state = FRAGMENT; + break; + } + state = base.scheme === 'file' ? FILE : RELATIVE; + continue; + + case SPECIAL_RELATIVE_OR_AUTHORITY: + if (chr === '/' && codePoints[pointer + 1] === '/') { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + pointer++; + } else { + state = RELATIVE; + continue; + } break; + + case PATH_OR_AUTHORITY: + if (chr === '/') { + state = AUTHORITY; + break; + } else { + state = PATH; + continue; + } + + case RELATIVE: + url.scheme = base.scheme; + if (chr === EOF) { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + } else if (chr === '/' || (chr === '\\' && url.isSpecial())) { + state = RELATIVE_SLASH; + } else if (chr === '?') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.path.length--; + state = PATH; + continue; + } break; + + case RELATIVE_SLASH: + if (url.isSpecial() && (chr === '/' || chr === '\\')) { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + } else if (chr === '/') { + state = AUTHORITY; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + state = PATH; + continue; + } break; + + case SPECIAL_AUTHORITY_SLASHES: + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + if (chr !== '/' || charAt(buffer, pointer + 1) !== '/') continue; + pointer++; + break; + + case SPECIAL_AUTHORITY_IGNORE_SLASHES: + if (chr !== '/' && chr !== '\\') { + state = AUTHORITY; + continue; + } break; + + case AUTHORITY: + if (chr === '@') { + if (seenAt) buffer = '%40' + buffer; + seenAt = true; + bufferCodePoints = arrayFrom(buffer); + for (var i = 0; i < bufferCodePoints.length; i++) { + var codePoint = bufferCodePoints[i]; + if (codePoint === ':' && !seenPasswordToken) { + seenPasswordToken = true; + continue; + } + var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); + if (seenPasswordToken) url.password += encodedCodePoints; + else url.username += encodedCodePoints; + } + buffer = ''; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) + ) { + if (seenAt && buffer === '') return INVALID_AUTHORITY; + pointer -= arrayFrom(buffer).length + 1; + buffer = ''; + state = HOST; + } else buffer += chr; + break; + + case HOST: + case HOSTNAME: + if (stateOverride && url.scheme === 'file') { + state = FILE_HOST; + continue; + } else if (chr === ':' && !seenBracket) { + if (buffer === '') return INVALID_HOST; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PORT; + if (stateOverride === HOSTNAME) return; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) + ) { + if (url.isSpecial() && buffer === '') return INVALID_HOST; + if (stateOverride && buffer === '' && (url.includesCredentials() || url.port !== null)) return; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PATH_START; + if (stateOverride) return; + continue; + } else { + if (chr === '[') seenBracket = true; + else if (chr === ']') seenBracket = false; + buffer += chr; + } break; + + case PORT: + if (exec(DIGIT, chr)) { + buffer += chr; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) || + stateOverride + ) { + if (buffer !== '') { + var port = parseInt(buffer, 10); + if (port > 0xFFFF) return INVALID_PORT; + url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port; + buffer = ''; + } + if (stateOverride) return; + state = PATH_START; + continue; + } else return INVALID_PORT; + break; + + case FILE: + url.scheme = 'file'; + if (chr === '/' || chr === '\\') state = FILE_SLASH; + else if (base && base.scheme === 'file') { + switch (chr) { + case EOF: + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + break; + case '?': + url.host = base.host; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + break; + case '#': + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + break; + default: + if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + url.host = base.host; + url.path = arraySlice(base.path); + url.shortenPath(); + } + state = PATH; + continue; + } + } else { + state = PATH; + continue; + } break; + + case FILE_SLASH: + if (chr === '/' || chr === '\\') { + state = FILE_HOST; + break; + } + if (base && base.scheme === 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]); + else url.host = base.host; + } + state = PATH; + continue; + + case FILE_HOST: + if (chr === EOF || chr === '/' || chr === '\\' || chr === '?' || chr === '#') { + if (!stateOverride && isWindowsDriveLetter(buffer)) { + state = PATH; + } else if (buffer === '') { + url.host = ''; + if (stateOverride) return; + state = PATH_START; + } else { + failure = url.parseHost(buffer); + if (failure) return failure; + if (url.host === 'localhost') url.host = ''; + if (stateOverride) return; + buffer = ''; + state = PATH_START; + } continue; + } else buffer += chr; + break; + + case PATH_START: + if (url.isSpecial()) { + state = PATH; + if (chr !== '/' && chr !== '\\') continue; + } else if (!stateOverride && chr === '?') { + url.query = ''; + state = QUERY; + } else if (!stateOverride && chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + state = PATH; + if (chr !== '/') continue; + } break; + + case PATH: + if ( + chr === EOF || chr === '/' || + (chr === '\\' && url.isSpecial()) || + (!stateOverride && (chr === '?' || chr === '#')) + ) { + if (isDoubleDot(buffer)) { + url.shortenPath(); + if (chr !== '/' && !(chr === '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else if (isSingleDot(buffer)) { + if (chr !== '/' && !(chr === '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else { + if (url.scheme === 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { + if (url.host) url.host = ''; + buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter + } + push(url.path, buffer); + } + buffer = ''; + if (url.scheme === 'file' && (chr === EOF || chr === '?' || chr === '#')) { + while (url.path.length > 1 && url.path[0] === '') { + shift(url.path); + } + } + if (chr === '?') { + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } + } else { + buffer += percentEncode(chr, pathPercentEncodeSet); + } break; + + case CANNOT_BE_A_BASE_URL_PATH: + if (chr === '?') { + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + + case QUERY: + if (!stateOverride && chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + if (chr === "'" && url.isSpecial()) url.query += '%27'; + else if (chr === '#') url.query += '%23'; + else url.query += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + + case FRAGMENT: + if (chr !== EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet); + break; + } + + pointer++; + } + }, + // https://url.spec.whatwg.org/#host-parsing + parseHost: function (input) { + var result, codePoints, index; + if (charAt(input, 0) === '[') { + if (charAt(input, input.length - 1) !== ']') return INVALID_HOST; + result = parseIPv6(stringSlice(input, 1, -1)); + if (!result) return INVALID_HOST; + this.host = result; + // opaque host + } else if (!this.isSpecial()) { + if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST; + result = ''; + codePoints = arrayFrom(input); + for (index = 0; index < codePoints.length; index++) { + result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); + } + this.host = result; + } else { + input = toASCII(input); + if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST; + result = parseIPv4(input); + if (result === null) return INVALID_HOST; + this.host = result; + } + }, + // https://url.spec.whatwg.org/#cannot-have-a-username-password-port + cannotHaveUsernamePasswordPort: function () { + return !this.host || this.cannotBeABaseURL || this.scheme === 'file'; + }, + // https://url.spec.whatwg.org/#include-credentials + includesCredentials: function () { + return this.username !== '' || this.password !== ''; + }, + // https://url.spec.whatwg.org/#is-special + isSpecial: function () { + return hasOwn(specialSchemes, this.scheme); + }, + // https://url.spec.whatwg.org/#shorten-a-urls-path + shortenPath: function () { + var path = this.path; + var pathSize = path.length; + if (pathSize && (this.scheme !== 'file' || pathSize !== 1 || !isWindowsDriveLetter(path[0], true))) { + path.length--; + } + }, + // https://url.spec.whatwg.org/#concept-url-serializer + serialize: function () { + var url = this; + var scheme = url.scheme; + var username = url.username; + var password = url.password; + var host = url.host; + var port = url.port; + var path = url.path; + var query = url.query; + var fragment = url.fragment; + var output = scheme + ':'; + if (host !== null) { + output += '//'; + if (url.includesCredentials()) { + output += username + (password ? ':' + password : '') + '@'; + } + output += serializeHost(host); + if (port !== null) output += ':' + port; + } else if (scheme === 'file') output += '//'; + output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + if (query !== null) output += '?' + query; + if (fragment !== null) output += '#' + fragment; + return output; + }, + // https://url.spec.whatwg.org/#dom-url-href + setHref: function (href) { + var failure = this.parse(href); + if (failure) throw new TypeError(failure); + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-origin + getOrigin: function () { + var scheme = this.scheme; + var port = this.port; + if (scheme === 'blob') try { + return new URLConstructor(scheme.path[0]).origin; + } catch (error) { + return 'null'; + } + if (scheme === 'file' || !this.isSpecial()) return 'null'; + return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : ''); + }, + // https://url.spec.whatwg.org/#dom-url-protocol + getProtocol: function () { + return this.scheme + ':'; + }, + setProtocol: function (protocol) { + this.parse($toString(protocol) + ':', SCHEME_START); + }, + // https://url.spec.whatwg.org/#dom-url-username + getUsername: function () { + return this.username; + }, + setUsername: function (username) { + var codePoints = arrayFrom($toString(username)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.username = ''; + for (var i = 0; i < codePoints.length; i++) { + this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-password + getPassword: function () { + return this.password; + }, + setPassword: function (password) { + var codePoints = arrayFrom($toString(password)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.password = ''; + for (var i = 0; i < codePoints.length; i++) { + this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-host + getHost: function () { + var host = this.host; + var port = this.port; + return host === null ? '' + : port === null ? serializeHost(host) + : serializeHost(host) + ':' + port; + }, + setHost: function (host) { + if (this.cannotBeABaseURL) return; + this.parse(host, HOST); + }, + // https://url.spec.whatwg.org/#dom-url-hostname + getHostname: function () { + var host = this.host; + return host === null ? '' : serializeHost(host); + }, + setHostname: function (hostname) { + if (this.cannotBeABaseURL) return; + this.parse(hostname, HOSTNAME); + }, + // https://url.spec.whatwg.org/#dom-url-port + getPort: function () { + var port = this.port; + return port === null ? '' : $toString(port); + }, + setPort: function (port) { + if (this.cannotHaveUsernamePasswordPort()) return; + port = $toString(port); + if (port === '') this.port = null; + else this.parse(port, PORT); + }, + // https://url.spec.whatwg.org/#dom-url-pathname + getPathname: function () { + var path = this.path; + return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + }, + setPathname: function (pathname) { + if (this.cannotBeABaseURL) return; + this.path = []; + this.parse(pathname, PATH_START); + }, + // https://url.spec.whatwg.org/#dom-url-search + getSearch: function () { + var query = this.query; + return query ? '?' + query : ''; + }, + setSearch: function (search) { + search = $toString(search); + if (search === '') { + this.query = null; + } else { + if (charAt(search, 0) === '?') search = stringSlice(search, 1); + this.query = ''; + this.parse(search, QUERY); + } + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-searchparams + getSearchParams: function () { + return this.searchParams.facade; + }, + // https://url.spec.whatwg.org/#dom-url-hash + getHash: function () { + var fragment = this.fragment; + return fragment ? '#' + fragment : ''; + }, + setHash: function (hash) { + hash = $toString(hash); + if (hash === '') { + this.fragment = null; + return; + } + if (charAt(hash, 0) === '#') hash = stringSlice(hash, 1); + this.fragment = ''; + this.parse(hash, FRAGMENT); + }, + update: function () { + this.query = this.searchParams.serialize() || null; + } +}; + +// `URL` constructor +// https://url.spec.whatwg.org/#url-class +var URLConstructor = function URL(url /* , base */) { + var that = anInstance(this, URLPrototype); + var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined; + var state = setInternalState(that, new URLState(url, false, base)); + if (!DESCRIPTORS) { + that.href = state.serialize(); + that.origin = state.getOrigin(); + that.protocol = state.getProtocol(); + that.username = state.getUsername(); + that.password = state.getPassword(); + that.host = state.getHost(); + that.hostname = state.getHostname(); + that.port = state.getPort(); + that.pathname = state.getPathname(); + that.search = state.getSearch(); + that.searchParams = state.getSearchParams(); + that.hash = state.getHash(); + } +}; + +var URLPrototype = URLConstructor.prototype; + +var accessorDescriptor = function (getter, setter) { + return { + get: function () { + return getInternalURLState(this)[getter](); + }, + set: setter && function (value) { + return getInternalURLState(this)[setter](value); + }, + configurable: true, + enumerable: true + }; +}; + +if (DESCRIPTORS) { + // `URL.prototype.href` accessors pair + // https://url.spec.whatwg.org/#dom-url-href + defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref')); + // `URL.prototype.origin` getter + // https://url.spec.whatwg.org/#dom-url-origin + defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin')); + // `URL.prototype.protocol` accessors pair + // https://url.spec.whatwg.org/#dom-url-protocol + defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol')); + // `URL.prototype.username` accessors pair + // https://url.spec.whatwg.org/#dom-url-username + defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername')); + // `URL.prototype.password` accessors pair + // https://url.spec.whatwg.org/#dom-url-password + defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword')); + // `URL.prototype.host` accessors pair + // https://url.spec.whatwg.org/#dom-url-host + defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost')); + // `URL.prototype.hostname` accessors pair + // https://url.spec.whatwg.org/#dom-url-hostname + defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname')); + // `URL.prototype.port` accessors pair + // https://url.spec.whatwg.org/#dom-url-port + defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort')); + // `URL.prototype.pathname` accessors pair + // https://url.spec.whatwg.org/#dom-url-pathname + defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname')); + // `URL.prototype.search` accessors pair + // https://url.spec.whatwg.org/#dom-url-search + defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch')); + // `URL.prototype.searchParams` getter + // https://url.spec.whatwg.org/#dom-url-searchparams + defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams')); + // `URL.prototype.hash` accessors pair + // https://url.spec.whatwg.org/#dom-url-hash + defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash')); +} + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +defineBuiltIn(URLPrototype, 'toJSON', function toJSON() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); + +// `URL.prototype.toString` method +// https://url.spec.whatwg.org/#URL-stringification-behavior +defineBuiltIn(URLPrototype, 'toString', function toString() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); + +if (NativeURL) { + var nativeCreateObjectURL = NativeURL.createObjectURL; + var nativeRevokeObjectURL = NativeURL.revokeObjectURL; + // `URL.createObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL + if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL)); + // `URL.revokeObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL + if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL)); +} + +setToStringTag(URLConstructor, 'URL'); + +$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { + URL: URLConstructor +}); + + +/***/ }), +/* 761 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(34); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = !fails(function () { + // eslint-disable-next-line unicorn/relative-url-style -- required for testing + var url = new URL('b?a=1&b=2&c=3', 'http://a'); + var params = url.searchParams; + var params2 = new URLSearchParams('a=1&a=2&b=3'); + var result = ''; + url.pathname = 'c%20d'; + params.forEach(function (value, key) { + params['delete']('b'); + result += key + value; + }); + params2['delete']('a', 2); + // `undefined` case is a Chromium 117 bug + // https://bugs.chromium.org/p/v8/issues/detail?id=14222 + params2['delete']('b', undefined); + return (IS_PURE && (!url.toJSON || !params2.has('a', 1) || params2.has('a', 2) || !params2.has('a', undefined) || params2.has('b'))) + || (!params.size && (IS_PURE || !DESCRIPTORS)) + || !params.sort + || url.href !== 'http://a/c%20d?a=1&c=3' + || params.get('c') !== '3' + || String(new URLSearchParams('?a=1')) !== 'a=1' + || !params[ITERATOR] + // throws in Edge + || new URL('https://a@b').username !== 'a' + || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' + // not punycoded in Edge + || new URL('http://тест').host !== 'xn--e1aybc' + // not escaped in Chrome 62- + || new URL('http://a#б').hash !== '#%D0%B1' + // fails in Chrome 66- + || result !== 'a1c3' + // throws in Safari + || new URL('http://x', undefined).host !== 'x'; +}); + + +/***/ }), +/* 762 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js +var uncurryThis = __webpack_require__(14); + +var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 +var base = 36; +var tMin = 1; +var tMax = 26; +var skew = 38; +var damp = 700; +var initialBias = 72; +var initialN = 128; // 0x80 +var delimiter = '-'; // '\x2D' +var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars +var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators +var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; +var baseMinusTMin = base - tMin; + +var $RangeError = RangeError; +var exec = uncurryThis(regexSeparators.exec); +var floor = Math.floor; +var fromCharCode = String.fromCharCode; +var charCodeAt = uncurryThis(''.charCodeAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var split = uncurryThis(''.split); +var toLowerCase = uncurryThis(''.toLowerCase); + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + */ +var ucs2decode = function (string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = charCodeAt(string, counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + var extra = charCodeAt(string, counter++); + if ((extra & 0xFC00) === 0xDC00) { // Low surrogate. + push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + push(output, value); + counter--; + } + } else { + push(output, value); + } + } + return output; +}; + +/** + * Converts a digit/integer into a basic code point. + */ +var digitToBasic = function (digit) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + */ +var adapt = function (delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + while (delta > baseMinusTMin * tMax >> 1) { + delta = floor(delta / baseMinusTMin); + k += base; + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + */ +var encode = function (input) { + var output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + var inputLength = input.length; + + // Initialize the state. + var n = initialN; + var delta = 0; + var bias = initialBias; + var i, currentValue; + + // Handle the basic code points. + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < 0x80) { + push(output, fromCharCode(currentValue)); + } + } + + var basicLength = output.length; // number of basic code points. + var handledCPCount = basicLength; // number of code points that have been handled; + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + push(output, delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + // All non-basic code points < n have been handled already. Find the next larger one: + var m = maxInt; + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , but guard against overflow. + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + throw new $RangeError(OVERFLOW_ERROR); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < n && ++delta > maxInt) { + throw new $RangeError(OVERFLOW_ERROR); + } + if (currentValue === n) { + // Represent delta as a generalized variable-length integer. + var q = delta; + var k = base; + while (true) { + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) break; + var qMinusT = q - t; + var baseMinusT = base - t; + push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT))); + q = floor(qMinusT / baseMinusT); + k += base; + } + + push(output, fromCharCode(digitToBasic(q))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength); + delta = 0; + handledCPCount++; + } + } + + delta++; + n++; + } + return join(output, ''); +}; + +module.exports = function (input) { + var encoded = []; + var labels = split(replace(toLowerCase(input), regexSeparators, '\u002E'), '.'); + var i, label; + for (i = 0; i < labels.length; i++) { + label = labels[i]; + push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label); + } + return join(encoded, '.'); +}; + + +/***/ }), +/* 763 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(169); +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(6); +var USE_NATIVE_URL = __webpack_require__(761); +var defineBuiltIn = __webpack_require__(48); +var defineBuiltInAccessor = __webpack_require__(79); +var defineBuiltIns = __webpack_require__(210); +var setToStringTag = __webpack_require__(84); +var createIteratorConstructor = __webpack_require__(171); +var InternalStateModule = __webpack_require__(52); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(39); +var bind = __webpack_require__(86); +var classof = __webpack_require__(70); +var anObject = __webpack_require__(47); +var isObject = __webpack_require__(20); +var $toString = __webpack_require__(69); +var create = __webpack_require__(72); +var createPropertyDescriptor = __webpack_require__(11); +var getIterator = __webpack_require__(135); +var getIteratorMethod = __webpack_require__(136); +var validateArgumentsLength = __webpack_require__(329); +var wellKnownSymbol = __webpack_require__(34); +var arraySort = __webpack_require__(189); + +var ITERATOR = wellKnownSymbol('iterator'); +var URL_SEARCH_PARAMS = 'URLSearchParams'; +var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); +var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Avoid NodeJS experimental warning +var safeGetBuiltIn = function (name) { + if (!DESCRIPTORS) return global[name]; + var descriptor = getOwnPropertyDescriptor(global, name); + return descriptor && descriptor.value; +}; + +var nativeFetch = safeGetBuiltIn('fetch'); +var NativeRequest = safeGetBuiltIn('Request'); +var Headers = safeGetBuiltIn('Headers'); +var RequestPrototype = NativeRequest && NativeRequest.prototype; +var HeadersPrototype = Headers && Headers.prototype; +var RegExp = global.RegExp; +var TypeError = global.TypeError; +var decodeURIComponent = global.decodeURIComponent; +var encodeURIComponent = global.encodeURIComponent; +var charAt = uncurryThis(''.charAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var splice = uncurryThis([].splice); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); + +var plus = /\+/g; +var sequences = Array(4); + +var percentSequence = function (bytes) { + return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi')); +}; + +var percentDecode = function (sequence) { + try { + return decodeURIComponent(sequence); + } catch (error) { + return sequence; + } +}; + +var deserialize = function (it) { + var result = replace(it, plus, ' '); + var bytes = 4; + try { + return decodeURIComponent(result); + } catch (error) { + while (bytes) { + result = replace(result, percentSequence(bytes--), percentDecode); + } + return result; + } +}; + +var find = /[!'()~]|%20/g; + +var replacements = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+' +}; + +var replacer = function (match) { + return replacements[match]; +}; + +var serialize = function (it) { + return replace(encodeURIComponent(it), find, replacer); +}; + +var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { + setInternalState(this, { + type: URL_SEARCH_PARAMS_ITERATOR, + iterator: getIterator(getInternalParamsState(params).entries), + kind: kind + }); +}, 'Iterator', function next() { + var state = getInternalIteratorState(this); + var kind = state.kind; + var step = state.iterator.next(); + var entry = step.value; + if (!step.done) { + step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; + } return step; +}, true); + +var URLSearchParamsState = function (init) { + this.entries = []; + this.url = null; + + if (init !== undefined) { + if (isObject(init)) this.parseObject(init); + else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init)); + } +}; + +URLSearchParamsState.prototype = { + type: URL_SEARCH_PARAMS, + bindURL: function (url) { + this.url = url; + this.update(); + }, + parseObject: function (object) { + var iteratorMethod = getIteratorMethod(object); + var iterator, next, step, entryIterator, entryNext, first, second; + + if (iteratorMethod) { + iterator = getIterator(object, iteratorMethod); + next = iterator.next; + while (!(step = call(next, iterator)).done) { + entryIterator = getIterator(anObject(step.value)); + entryNext = entryIterator.next; + if ( + (first = call(entryNext, entryIterator)).done || + (second = call(entryNext, entryIterator)).done || + !call(entryNext, entryIterator).done + ) throw new TypeError('Expected sequence with length 2'); + push(this.entries, { key: $toString(first.value), value: $toString(second.value) }); + } + } else for (var key in object) if (hasOwn(object, key)) { + push(this.entries, { key: key, value: $toString(object[key]) }); + } + }, + parseQuery: function (query) { + if (query) { + var attributes = split(query, '&'); + var index = 0; + var attribute, entry; + while (index < attributes.length) { + attribute = attributes[index++]; + if (attribute.length) { + entry = split(attribute, '='); + push(this.entries, { + key: deserialize(shift(entry)), + value: deserialize(join(entry, '=')) + }); + } + } + } + }, + serialize: function () { + var entries = this.entries; + var result = []; + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + push(result, serialize(entry.key) + '=' + serialize(entry.value)); + } return join(result, '&'); + }, + update: function () { + this.entries.length = 0; + this.parseQuery(this.url.query); + }, + updateURL: function () { + if (this.url) this.url.update(); + } +}; + +// `URLSearchParams` constructor +// https://url.spec.whatwg.org/#interface-urlsearchparams +var URLSearchParamsConstructor = function URLSearchParams(/* init */) { + anInstance(this, URLSearchParamsPrototype); + var init = arguments.length > 0 ? arguments[0] : undefined; + var state = setInternalState(this, new URLSearchParamsState(init)); + if (!DESCRIPTORS) this.size = state.entries.length; +}; + +var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; + +defineBuiltIns(URLSearchParamsPrototype, { + // `URLSearchParams.prototype.append` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-append + append: function append(name, value) { + var state = getInternalParamsState(this); + validateArgumentsLength(arguments.length, 2); + push(state.entries, { key: $toString(name), value: $toString(value) }); + if (!DESCRIPTORS) this.length++; + state.updateURL(); + }, + // `URLSearchParams.prototype.delete` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-delete + 'delete': function (name /* , value */) { + var state = getInternalParamsState(this); + var length = validateArgumentsLength(arguments.length, 1); + var entries = state.entries; + var key = $toString(name); + var $value = length < 2 ? undefined : arguments[1]; + var value = $value === undefined ? $value : $toString($value); + var index = 0; + while (index < entries.length) { + var entry = entries[index]; + if (entry.key === key && (value === undefined || entry.value === value)) { + splice(entries, index, 1); + if (value !== undefined) break; + } else index++; + } + if (!DESCRIPTORS) this.size = entries.length; + state.updateURL(); + }, + // `URLSearchParams.prototype.get` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-get + get: function get(name) { + var entries = getInternalParamsState(this).entries; + validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) return entries[index].value; + } + return null; + }, + // `URLSearchParams.prototype.getAll` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-getall + getAll: function getAll(name) { + var entries = getInternalParamsState(this).entries; + validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var result = []; + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) push(result, entries[index].value); + } + return result; + }, + // `URLSearchParams.prototype.has` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-has + has: function has(name /* , value */) { + var entries = getInternalParamsState(this).entries; + var length = validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var $value = length < 2 ? undefined : arguments[1]; + var value = $value === undefined ? $value : $toString($value); + var index = 0; + while (index < entries.length) { + var entry = entries[index++]; + if (entry.key === key && (value === undefined || entry.value === value)) return true; + } + return false; + }, + // `URLSearchParams.prototype.set` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-set + set: function set(name, value) { + var state = getInternalParamsState(this); + validateArgumentsLength(arguments.length, 1); + var entries = state.entries; + var found = false; + var key = $toString(name); + var val = $toString(value); + var index = 0; + var entry; + for (; index < entries.length; index++) { + entry = entries[index]; + if (entry.key === key) { + if (found) splice(entries, index--, 1); + else { + found = true; + entry.value = val; + } + } + } + if (!found) push(entries, { key: key, value: val }); + if (!DESCRIPTORS) this.size = entries.length; + state.updateURL(); + }, + // `URLSearchParams.prototype.sort` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-sort + sort: function sort() { + var state = getInternalParamsState(this); + arraySort(state.entries, function (a, b) { + return a.key > b.key ? 1 : -1; + }); + state.updateURL(); + }, + // `URLSearchParams.prototype.forEach` method + forEach: function forEach(callback /* , thisArg */) { + var entries = getInternalParamsState(this).entries; + var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined); + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + boundFunction(entry.value, entry.key, this); + } + }, + // `URLSearchParams.prototype.keys` method + keys: function keys() { + return new URLSearchParamsIterator(this, 'keys'); + }, + // `URLSearchParams.prototype.values` method + values: function values() { + return new URLSearchParamsIterator(this, 'values'); + }, + // `URLSearchParams.prototype.entries` method + entries: function entries() { + return new URLSearchParamsIterator(this, 'entries'); + } +}, { enumerable: true }); + +// `URLSearchParams.prototype[@@iterator]` method +defineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' }); + +// `URLSearchParams.prototype.toString` method +// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior +defineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() { + return getInternalParamsState(this).serialize(); +}, { enumerable: true }); + +// `URLSearchParams.prototype.size` getter +// https://github.com/whatwg/url/pull/734 +if (DESCRIPTORS) defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + return getInternalParamsState(this).entries.length; + }, + configurable: true, + enumerable: true +}); + +setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); + +$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, { + URLSearchParams: URLSearchParamsConstructor +}); + +// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams` +if (!USE_NATIVE_URL && isCallable(Headers)) { + var headersHas = uncurryThis(HeadersPrototype.has); + var headersSet = uncurryThis(HeadersPrototype.set); + + var wrapRequestOptions = function (init) { + if (isObject(init)) { + var body = init.body; + var headers; + if (classof(body) === URL_SEARCH_PARAMS) { + headers = init.headers ? new Headers(init.headers) : new Headers(); + if (!headersHas(headers, 'content-type')) { + headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); + } + return create(init, { + body: createPropertyDescriptor(0, $toString(body)), + headers: createPropertyDescriptor(0, headers) + }); + } + } return init; + }; + + if (isCallable(nativeFetch)) { + $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, { + fetch: function fetch(input /* , init */) { + return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + } + }); + } + + if (isCallable(NativeRequest)) { + var RequestConstructor = function Request(input /* , init */) { + anInstance(this, RequestPrototype); + return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + }; + + RequestPrototype.constructor = RequestConstructor; + RequestConstructor.prototype = RequestPrototype; + + $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, { + Request: RequestConstructor + }); + } +} + +module.exports = { + URLSearchParams: URLSearchParamsConstructor, + getState: getInternalParamsState +}; + + +/***/ }), +/* 764 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(24); +var fails = __webpack_require__(7); +var validateArgumentsLength = __webpack_require__(329); +var toString = __webpack_require__(69); +var USE_NATIVE_URL = __webpack_require__(761); + +var URL = getBuiltIn('URL'); + +// https://github.com/nodejs/node/issues/47505 +// https://github.com/denoland/deno/issues/18893 +var THROWS_WITHOUT_ARGUMENTS = USE_NATIVE_URL && fails(function () { + URL.canParse(); +}); + +// `URL.canParse` method +// https://url.spec.whatwg.org/#dom-url-canparse +$({ target: 'URL', stat: true, forced: !THROWS_WITHOUT_ARGUMENTS }, { + canParse: function canParse(url) { + var length = validateArgumentsLength(arguments.length, 1); + var urlString = toString(url); + var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]); + try { + return !!new URL(urlString, base); + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 765 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +$({ target: 'URL', proto: true, enumerable: true }, { + toJSON: function toJSON() { + return call(URL.prototype.toString, this); + } +}); + + +/***/ }), +/* 766 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(763); + + +/***/ }), +/* 767 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineBuiltIn = __webpack_require__(48); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(69); +var validateArgumentsLength = __webpack_require__(329); + +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var append = uncurryThis(URLSearchParamsPrototype.append); +var $delete = uncurryThis(URLSearchParamsPrototype['delete']); +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); +var push = uncurryThis([].push); +var params = new $URLSearchParams('a=1&a=2&b=3'); + +params['delete']('a', 1); +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +params['delete']('b', undefined); + +if (params + '' !== 'a=2') { + defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) return $delete(this, name); + var entries = []; + forEach(this, function (v, k) { // also validates `this` + push(entries, { key: k, value: v }); + }); + validateArgumentsLength(length, 1); + var key = toString(name); + var value = toString($value); + var index = 0; + var dindex = 0; + var found = false; + var entriesLength = entries.length; + var entry; + while (index < entriesLength) { + entry = entries[index++]; + if (found || entry.key === key) { + found = true; + $delete(this, entry.key); + } else dindex++; + } + while (dindex < entriesLength) { + entry = entries[dindex++]; + if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value); + } + }, { enumerable: true, unsafe: true }); +} + + +/***/ }), +/* 768 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var defineBuiltIn = __webpack_require__(48); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(69); +var validateArgumentsLength = __webpack_require__(329); + +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var getAll = uncurryThis(URLSearchParamsPrototype.getAll); +var $has = uncurryThis(URLSearchParamsPrototype.has); +var params = new $URLSearchParams('a=1'); + +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +if (params.has('a', 2) || !params.has('a', undefined)) { + defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) return $has(this, name); + var values = getAll(this, name); // also validates `this` + validateArgumentsLength(length, 1); + var value = toString($value); + var index = 0; + while (index < values.length) { + if (values[index++] === value) return true; + } return false; + }, { enumerable: true, unsafe: true }); +} + + +/***/ }), +/* 769 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__(6); +var uncurryThis = __webpack_require__(14); +var defineBuiltInAccessor = __webpack_require__(79); + +var URLSearchParamsPrototype = URLSearchParams.prototype; +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); + +// `URLSearchParams.prototype.size` getter +// https://github.com/whatwg/url/pull/734 +if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) { + defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + var count = 0; + forEach(this, function () { count++; }); + return count; + }, + configurable: true, + enumerable: true + }); +} + + +/***/ }) +/******/ ]); }(); diff --git a/game/game.js b/game/game.js index 4c3ce75fe1..eec0df4066 100644 --- a/game/game.js +++ b/game/game.js @@ -5,19 +5,19 @@ localStorage.setItem('gplv3_noname_alerted',true); } else{ - var ua=navigator.userAgent.toLowerCase(); - var ios=ua.indexOf('iphone')!=-1||ua.indexOf('ipad')!=-1||ua.indexOf('macintosh')!=-1; + const ua=navigator.userAgent.toLowerCase(); + const ios=ua.includes('iphone')||ua.includes('ipad')||ua.includes('macintosh'); //electron if(typeof window.process=='object'&&typeof window.require=='function'){ - var versions=window.process.versions; - var electronVersion=parseFloat(versions.electron); - var remote; + const versions=window.process.versions; + const electronVersion=parseFloat(versions.electron); + let remote; if(electronVersion>=14){ remote=require('@electron/remote'); }else{ remote=require('electron').remote; } - var thisWindow=remote.getCurrentWindow(); + const thisWindow=remote.getCurrentWindow(); thisWindow.destroy(); window.process.exit(); } @@ -29,6 +29,7 @@ } } } + const nonameInitialized=localStorage.getItem('noname_inited'); const GeneratorFunction=(function*(){}).constructor; // gnc: GeNCoroutine const gnc={ @@ -115,7 +116,8 @@ updateURL:'https://raw.githubusercontent.com/libccy/noname', mirrorURL:'https://raw.fgit.cf/libccy/noname', hallURL:'47.99.105.222', - assetURL:'', + assetURL:typeof nonameInitialized!='string'||nonameInitialized=='nodejs'?'':nonameInitialized, + compatibleEdition:Boolean(typeof nonameInitialized=='string'&&nonameInitialized.match(/\/(?:com\.widget|yuri\.nakamura)\.noname\//)), changeLog:[], updates:[], canvasUpdates:[], @@ -171,9 +173,9 @@ if("color" in config&&config.color!=null){ let color1,color2,color3,color4; if (typeof config.color=="string"&&/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(config.color)){ - let c1=parseInt(`0x${item[1].slice(1, 3)}`); - let c2=parseInt(`0x${item[1].slice(3, 5)}`); - let c3=parseInt(`0x${item[1].slice(5, 7)}`); + let c1=parseInt(`0x${config.color.slice(1, 3)}`); + let c2=parseInt(`0x${config.color.slice(3, 5)}`); + let c3=parseInt(`0x${config.color.slice(5, 7)}`); color1=color2=color3=color4=[c1,c2,c3,1]; } else if(Array.isArray(config.color)&&config.color.length==4){ @@ -273,7 +275,7 @@ if(typeof order!='number') order=0; if(typeof background!='string') background=''; if(!Array.isArray(lineColor)||lineColor.length!=3) lineColor=[]; - else if(background.indexOf('ext:')==0){ + else if(background.startsWith('ext:')){ background=background.replace(/^ext:/,'extension/'); } if(linked) lib.linked.add(nature); @@ -318,9 +320,69 @@ ), }; game.dynamicStyle.addObject(result); + + const g2=cs.group( + cs.of( + cs.class("tempname",`${nature}`), + ':not([data-nature])>', + cs.class("span") + ) + ) + let result2={}; + result2[g2]={ + color:`rgba(${color1.join()})`, + }; + game.dynamicStyle.addObject(result2); } }], }, + announce:{ + init(){ + _status._announce=document.createElement("Announce"); + _status._announce_cache=new Map(); + delete lib.announce.init; + }, + //推送一个对象给所有监听了name的订阅者。 + publish(name,values){ + if(_status._announce) _status._announce.dispatchEvent(new CustomEvent(name,{ + detail:values + })); + return values; + }, + //订阅name相关的事件。 + subscribe(name,method){ + if(_status._announce&&_status._announce_cache) { + let subscribeFunction; + if(_status._announce_cache.has(method)){ + let records=_status._announce_cache.get(method); + subscribeFunction=records.get("Listener"); + records.get("EventTargets").add(name); + } + else{ + subscribeFunction=event=>method(event.detail); + let records=new Map(); + records.set("Listener",subscribeFunction); + records.set("EventTargets",[name]); + _status._announce_cache.set(method,records); + } + _status._announce.addEventListener(name,subscribeFunction); + } + return method; + }, + //取消对事件name的订阅 + unsubscribe(name,method){ + if(_status._announce&&_status._announce_cache&&_status._announce_cache.has(method)){ + let records=_status._announce_cache.get(method); + const listener=records.get("Listener"); + let eventTargets=records.get("EventTargets"); + eventTargets.remove(name); + if(eventTargets.length<=0) _status._announce_cache.remove(method); + _status._announce.removeEventListener(name,listener); + } + return method; + } + }, + objectURL:new Map(), hookmap:{}, imported:{}, layoutfixed:['chess','tafang','stone'], @@ -987,7 +1049,7 @@ init:'coding', unfrequent:true, item:{ - coding:'Github Proxy', + coding:'FastGit', github:'GitHub', }, onclick:function(item){ @@ -997,15 +1059,10 @@ }, extension_source:{ name:'获取扩展地址', - init:'Coding', + init:'GitHub Proxy', unfrequent:true, item:{}, - intro:function(){ - return '获取在线扩展时的地址。当前地址:
    '+lib.config.extension_sources[lib.config.extension_source]; - }, - onclick:function(item){ - game.saveConfig('extension_source',item); - }, + intro:()=>`获取在线扩展时的地址。当前地址:${document.createElement('br').outerHTML}${lib.config.extension_sources[lib.config.extension_source]}` }, extension_create:{ name:'添加获取扩展地址', @@ -1558,7 +1615,7 @@ ui.create.filediv('.menubutton','添加背景',node,function(file){ if(file){ var name=file.name; - if(name.indexOf('.')!=-1){ + if(name.includes('.')){ name=name.slice(0,name.indexOf('.')); } var link=(game.writeFile?'cdv_':'custom_')+name; @@ -1596,7 +1653,7 @@ if(link&&link!='default'){ var str; if(this.classList.contains('active')){ - if(link.indexOf('custom_')==0||link.indexOf('cdv_')==0){ + if(link.startsWith('custom_')||link.startsWith('cdv_')){ str='删除'; } else{ @@ -1620,10 +1677,10 @@ if(node.firstChild){ node.firstChild.innerHTML=get.verticalStr(name); } - if(link=='default'||link.indexOf('custom_')==0){ + if(link=='default'||link.startsWith('custom_')){ node.style.backgroundImage='none'; node.classList.add('dashedmenubutton'); - if(link.indexOf('custom_')==0){ + if(link.startsWith('custom_')){ game.getDB('image',link,function(fileToLoad){ if(!fileToLoad) return; var fileReader = new FileReader(); @@ -1676,7 +1733,7 @@ menu.updateBr(); lib.config.customBackgroundPack.remove(background); game.saveConfig('customBackgroundPack',lib.config.customBackgroundPack); - if(background.indexOf('cdv_')==0){ + if(background.startsWith('cdv_')){ game.removeFile('image/background/'+background+'.jpg'); } else{ @@ -2415,7 +2472,7 @@ node.className='button character dashedmenubutton'; } else{ - if(link.indexOf('dragon_')==0){ + if(link.startsWith('dragon_')){ link=link.slice(7); node.dataset.decoration=link; } @@ -2463,7 +2520,7 @@ } else if(layout!='default'&&layout!='auto'){ ui.css.border_stylesheet=lib.init.sheet(); - if(layout.indexOf('dragon_')==0){ + if(layout.startsWith('dragon_')){ layout=layout.slice(7); ui.arena.dataset.framedecoration=layout; } @@ -3186,6 +3243,16 @@ }, unfrequent:true, }, + buttoncharacter_prefix:{ + name:'武将前缀', + init:'default', + item:{ + default:'默认', + simple:'不显示颜色', + off:'不显示前缀' + }, + unfrequent:true, + }, cursor_style:{ name:'鼠标指针', init:'auto', @@ -4041,6 +4108,7 @@ showPinyin:'拼音(样式一)', showCodeIdentifier:'代码ID(样式一)', showPinyin2:'拼音(样式二)', + showCodeIdentifier2:'代码ID(样式二)', }, visualMenu:(node,link,name)=>{ node.classList.add('button','character'); @@ -4052,23 +4120,28 @@ style.display='flex'; style.height='60px'; style.justifyContent='center'; - style.width='200px'; + style.width='180px'; const firstChild=node.firstChild; firstChild.removeAttribute('class'); firstChild.style.position='initial'; - if(link=='false') return; + if(link=='doNotShow') return; const ruby=document.createElement('ruby'); ruby.textContent=name; - const leftParenthesisRP=document.createElement('rp'); - leftParenthesisRP.textContent='('; - ruby.appendChild(leftParenthesisRP); const rt=document.createElement('rt'); rt.style.fontSize='smaller'; - rt.textContent=link=='showCodeIdentifier'?link:get.pinyin(name).join(' '); - ruby.appendChild(rt); - const rightParenthesisRP=document.createElement('rp'); - rightParenthesisRP.textContent=')'; - ruby.appendChild(rightParenthesisRP); + if(link=='showPinyin2'||link=='showCodeIdentifier2'){ + rt.textContent=link=='showCodeIdentifier2'?'['+link+']':'['+get.pinyin(name)+']'; + ruby.appendChild(rt); + }else{ + const leftParenthesisRP=document.createElement('rp'); + leftParenthesisRP.textContent='('; + ruby.appendChild(leftParenthesisRP); + rt.textContent=link=='showCodeIdentifier'?link:get.pinyin(name).join(' '); + ruby.appendChild(rt); + const rightParenthesisRP=document.createElement('rp'); + rightParenthesisRP.textContent=')'; + ruby.appendChild(rightParenthesisRP); + } firstChild.innerHTML=ruby.outerHTML; } }, @@ -4188,7 +4261,7 @@ if(confirm('是否清除已导入的所有自定义背景音乐?(该操作不可撤销!)')){ for(var i in lib.config.customBackgroundMusic){ lib.config.all.background_music.remove(i); - if(i.indexOf('cdv_')==0){ + if(i.startsWith('cdv_')){ game.removeFile('audio/background/'+i+'.mp3'); } else{ @@ -4352,7 +4425,7 @@ if(!lib.db){ data={}; for(var i in localStorage){ - if(i.indexOf(lib.configprefix)==0){ + if(i.startsWith(lib.configprefix)){ data[i]=localStorage[i]; } } @@ -5141,7 +5214,7 @@ init:true, onclick:function(bool){ game.saveConfig('free_choose',bool,this._link.config.mode); - if(!_status.event.getParent().showConfig&&!_status.event.showConfig) return; + if(get.mode()!=this._link.config.mode||!_status.event.getParent().showConfig&&!_status.event.showConfig) return; if(!ui.cheat2&&get.config('free_choose')) ui.create.cheat2(); else if(ui.cheat2&&!get.config('free_choose')){ ui.cheat2.close(); @@ -5591,7 +5664,7 @@ init:true, onclick:function(bool){ game.saveConfig('free_choose',bool,this._link.config.mode); - if(get.mode()!='guozhan'||!_status.event.getParent().showConfig&&!_status.event.showConfig) return; + if(get.mode()!=this._link.config.mode||!_status.event.getParent().showConfig&&!_status.event.showConfig) return; if(!ui.cheat2&&get.config('free_choose')) ui.create.cheat2(); else if(ui.cheat2&&!get.config('free_choose')){ ui.cheat2.close(); @@ -5965,7 +6038,7 @@ onclick:function(bool){ game.saveConfig('free_choose',bool,this._link.config.mode); if(!ui.create.cheat2) return; - if(!_status.event.getParent().showConfig&&!_status.event.showConfig) return; + if(get.mode()!=this._link.config.mode||!_status.event.getParent().showConfig&&!_status.event.showConfig) return; if(!ui.cheat2&&get.config('free_choose')) ui.create.cheat2(); else if(ui.cheat2&&!get.config('free_choose')){ ui.cheat2.close(); @@ -6340,7 +6413,7 @@ frequent:true, onclick:function(bool){ game.saveConfig('free_choose',bool,this._link.config.mode); - if(!_status.event.getParent().showConfig&&!_status.event.showConfig) return; + if(get.mode()!=this._link.config.mode||!_status.event.getParent().showConfig&&!_status.event.showConfig) return; if(!ui.cheat2&&get.config('free_choose')) ui.create.cheat2(); else if(ui.cheat2&&!get.config('free_choose')){ ui.cheat2.close(); @@ -6511,7 +6584,7 @@ init:true, onclick:function(bool){ game.saveConfig('free_choose',bool,this._link.config.mode); - if(!_status.event.getParent().showConfig&&!_status.event.showConfig) return; + if(get.mode()!=this._link.config.mode||!_status.event.getParent().showConfig&&!_status.event.showConfig) return; if(!ui.cheat2&&get.config('free_choose')) ui.create.cheat2(); else if(ui.cheat2&&!get.config('free_choose')){ ui.cheat2.close(); @@ -6940,7 +7013,7 @@ init:true, onclick:function(bool){ game.saveConfig('free_choose',bool,this._link.config.mode); - if(!_status.event.getParent().showConfig&&!_status.event.showConfig) return; + if(get.mode()!=this._link.config.mode||!_status.event.getParent().showConfig&&!_status.event.showConfig) return; if(!ui.cheat2&&get.config('free_choose')) ui.create.cheat2(); else if(ui.cheat2&&!get.config('free_choose')){ ui.cheat2.close(); @@ -7228,7 +7301,7 @@ onclick:function(bool){ game.saveConfig('free_choose',bool,this._link.config.mode); if(_status.connectMode) return; - if(!_status.event.getParent().showConfig&&!_status.event.showConfig) return; + if(get.mode()!=this._link.config.mode||!_status.event.getParent().showConfig&&!_status.event.showConfig) return; if(!ui.cheat2&&get.config('free_choose')) ui.create.cheat2(); else if(ui.cheat2&&!get.config('free_choose')){ ui.cheat2.close(); @@ -7490,10 +7563,25 @@ }); //防止每次输出字符都创建以下元素 const event=_status.event; + const trigger=_status.event; const player=ui.create.player().init('sunce'); + const target=player; + const targets=[player]; + const source=player; const card=game.createCard(); - //覆盖原本的javascript提示 - CodeMirror.registerHelper('hint','javascript',(editor,options)=>{ + const cards=[card]; + const result={bool:true}; + function forEach(arr,f) { + Array.from(arr).forEach(v=>f(v)); + } + function forAllProps(obj,callback){ + if(!Object.getOwnPropertyNames||!Object.getPrototypeOf){ + for(let name in obj) callback(name); + }else{ + for(let o=obj;o;o=Object.getPrototypeOf(o)) Object.getOwnPropertyNames(o).forEach(callback); + } + } + function scriptHint(editor,keywords,getToken,options){ //Find the token at the cursor let cur=editor.getCursor(),token=editor.getTokenAt(cur); if(/\b(?:string|comment)\b/.test(token.type)) return; @@ -7523,37 +7611,132 @@ context.push(tprop); } const list=[]; + let obj; if(Array.isArray(context)){ try { const code=context.length==1?context[0].string:context.reduceRight((pre,cur)=>(pre.string||pre)+'.'+cur.string); - const obj=eval(code); + obj=eval(code); if(![null,undefined].includes(obj)){ const keys=Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertyNames(Object.getPrototypeOf(obj))).filter(key=>key.startsWith(token.string)); list.addArray(keys); } }catch(_){ return;} }else if(token&&typeof token.string=='string'){ - const javascriptKeywords=("break case catch class const continue debugger default delete do else export extends from false finally for function " + - "if in import instanceof let new null return super switch this throw true try typeof var void while with yield").split(" "); - const coffeescriptKeywords=("and break catch class continue delete do else extends false finally for " + - "if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes").split(" "); - const keys=['player','card','lib','game','ui','get','ai','_status'].concat(javascriptKeywords).concat(coffeescriptKeywords).concat(Object.getOwnPropertyNames(window)); - const start=token.string; - function maybeAdd(str){ - if(str.lastIndexOf(start,0)==0&&!list.includes(str)) list.push(str); - } + //非开发者模式下,提示这些单词 + list.addArray(['player','card','cards','result','trigger','source','target','targets','lib','game','ui','get','ai','_status']); + } + return { + list:[...new Set(getCompletions(token,context,keywords,options).concat(list))] + .filter(key=>key.startsWith(token.string)) + .sort((a,b)=>(a+'').localeCompare(b+'')) + .map(text=>{ + return { + render(elt,data,cur) { + var icon=document.createElement("span"); + var className="cm-completionIcon cm-completionIcon-"; + if(obj){ + const type=typeof obj[text]; + if(type== 'function') { + className+='function'; + } + else if(type== 'string') { + className+='text'; + } + else if(type== 'boolean') { + className+='variable'; + } + else{ + className+='namespace'; + } + }else{ + if(javascriptKeywords.includes(text)){ + className+='keyword'; + } + else if(window[text]) { + const type=typeof window[text]; + if(type=='function'){ + className+='function'; + } + else if(type=='string'){ + className+='text'; + } + else if(text=='window'||type=='boolean'){ + className+='variable'; + } + else{ + className+='namespace'; + } + }else{ + className+='namespace'; + } + } + icon.className=className; + elt.appendChild(icon); + elt.appendChild(document.createTextNode(text)); + }, + displayText: text, + text: text, + } + }), + from:CodeMirror.Pos(cur.line,token.start), + to:CodeMirror.Pos(cur.line,token.end) + }; + } + function javascriptHint(editor,options){ + return scriptHint(editor,javascriptKeywords,function(e,cur){return e.getTokenAt(cur);},options); + }; + //覆盖原本的javascript提示 + CodeMirror.registerHelper("hint","javascript",javascriptHint); + const stringProps=Object.getOwnPropertyNames(String.prototype); + const arrayProps=Object.getOwnPropertyNames(Array.prototype); + const funcProps=Object.getOwnPropertyNames(Array.prototype); + const javascriptKeywords=("break case catch class const continue debugger default delete do else export extends from false finally for function " + + "if in import instanceof let new null return super switch this throw true try typeof var void while with yield").split(" "); + function getCompletions(token,context,keywords,options){ + let found=[],start=token.string,global=options&&options.globalScope||window; + function maybeAdd(str){ + if(str.lastIndexOf(start,0)==0&&!found.includes(str)) found.push(str); + } + function gatherCompletions(obj){ + if(typeof obj=="string") forEach(stringProps,maybeAdd); + else if(obj instanceof Array) forEach(arrayProps,maybeAdd); + else if(obj instanceof Function) forEach(funcProps,maybeAdd); + forAllProps(obj, maybeAdd); + } + if(context&&context.length){ + //If this is a property, see if it belongs to some object we can + //find in the current environment. + let obj=context.pop(),base; + if (obj.type&&obj.type.indexOf("variable")=== 0){ + if(options&&options.additionalContext) + base=options.additionalContext[obj.string]; + if(!options||options.useGlobalScope!==false) + base=base||global[obj.string]; + }else if(obj.type=="string"){ + base=""; + }else if(obj.type == "atom"){ + base=1; + }else if(obj.type == "function"){ + if(global.jQuery!=null&&(obj.string=='$'||obj.string=='jQuery')&&(typeof global.jQuery=='function')) + base=global.jQuery(); + else if(global._!=null&&(obj.string=='_')&&(typeof global._=='function')) + base=global._(); + } + while(base!=null&&context.length) + base=base[context.pop().string]; + if (base!=null) gatherCompletions(base); + }else{ + //If not, just look in the global object, any local scope, and optional additional-context + //(reading into JS mode internals to get at the local and global variables) for(let v=token.state.localVars;v;v=v.next) maybeAdd(v.name); for(let c=token.state.context;c;c=c.prev) for(let v=c.vars;v;v=v.next) maybeAdd(v.name) for(let v=token.state.globalVars;v;v=v.next) maybeAdd(v.name); if(options&&options.additionalContext!=null) for(let key in options.additionalContext) maybeAdd(key); - list.addArray(keys); + if(!options||options.useGlobalScope!==false) gatherCompletions(global); + forEach(keywords,maybeAdd); } - return { - list:list.filter(key=>key.startsWith(token.string)).sort((a,b)=>(a+'').localeCompare(b+'')), - from:CodeMirror.Pos(cur.line,token.start), - to:CodeMirror.Pos(cur.line,token.end), - }; - }); + return found.sort((a,b)=>(a+'').localeCompare(b+'')); + } }, setIntro:function(node,func,left){ if(lib.config.touchscreen){ @@ -7568,7 +7751,7 @@ if(left){ node.listen(ui.click.intro); } - if(lib.config.hover_all){ + if(lib.config.hover_all&&!lib.device){ lib.setHover(node,ui.click.hoverplayer); } if(lib.config.right_info){ @@ -7805,7 +7988,7 @@ //处理id和class if(options.identity){ for(const item of options.identity){ - if (item.indexOf("#")==0) element.id = item.slice(1); + if (item.startsWith("#")) element.id = item.slice(1); else element.classList.add(item); } } @@ -7900,7 +8083,7 @@ } var links=document.head.querySelectorAll('link'); for(var i=0;i{ + this.style.backgroundImage=`url('${src}')`; + this.style.backgroundSize="cover"; + return this; }); }; HTMLDivElement.prototype.setBackgroundImage=function(img){ - this.style.backgroundImage='url("'+lib.assetURL+img+'")'; + this.style.backgroundImage=`url("${lib.assetURL}${img}")`; + return this; }, HTMLDivElement.prototype.listen=function(func){ if(lib.config.touchscreen){ @@ -8126,13 +8313,17 @@ return this; }; HTMLDivElement.prototype.listenTransition=function(func,time){ + let done=false; const callback=()=>{ - func.call(this); + if(!done){ + done=true; + func.call(this); + } clearTimeout(timer); this.removeEventListener('webkitTransitionEnd',callback); }; const timer=setTimeout(callback,time||1000); - this.addEventListener('webkitTransitionEnd',callback,{once:true}); + this.addEventListener('webkitTransitionEnd',callback); return timer; }; HTMLDivElement.prototype.setPosition=function(){ @@ -8173,6 +8364,59 @@ return this.childNodes[row].childNodes[col]; } }; + /*处理lib.nature的兼容性问题*/ + const mapHasFunc=function(item){ + return this.has(item) + }; + Object.defineProperty(Map.prototype, "contains",{ + configurable:true, + enumerable:false, + writable:true, + value:mapHasFunc + }); + Object.defineProperty(Map.prototype, "includes",{ + configurable:true, + enumerable:false, + writable:true, + value:mapHasFunc + }); + const mapAddFunc=function(item){ + this.set(item,0); + return this; + } + Object.defineProperty(Map.prototype, "add", { + configurable:true, + enumerable:false, + writable:true, + value:mapAddFunc + }); + Object.defineProperty(Map.prototype, "push", { + configurable:true, + enumerable:false, + writable:true, + value:mapAddFunc + }); + Object.defineProperty(Map.prototype, "addArray", { + configurable:true, + enumerable:false, + writable:true, + value:function(arr){ + for(var i=0;ipos.includes(get.position(card,true))); } }); + /** + * @legacy Use `Array.prototype.includes(searchElement)` instead. + */ Object.defineProperty(Array.prototype, "contains", { configurable:true, enumerable:false, writable:true, - value:function(item){ - return this.indexOf(item)!=-1; - } + value:Array.prototype.includes }); Object.defineProperty(Array.prototype, "add", { configurable:true, @@ -8229,10 +8474,10 @@ enumerable:false, writable:true, value:function(item){ - if(Array.isArray(item)){ + /*if(Array.isArray(item)){ for(var i=0;i>> 0; - if (len === 0) { - return false; - } - var n = fromIndex | 0; - var k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); - function sameValueZero(x, y) { - return x === y || (typeof x === 'number' && typeof y === 'number' && isNaN(x) && isNaN(y)); - } - while (k < len) { - if (sameValueZero(o[k], searchElement)) { - return true; - } - k++; - } - return false; - } - }); - } - if(!('flat' in Array.prototype)){ - Object.defineProperty(Array.prototype, "flat", { - configurable:true, - enumerable:false, - writable:true, - value:function(depth){ - if(typeof depth!='number') depth=1; - const arr=[]; - for(let i=0;i0&&Array.isArray(obj)){ - obj.flat(depth-1).forEach(function(item){ - arr.push(item) - }); - } - else{ - arr.push(obj); - } - } - return arr; - } - }); - } - if (!("allSettled" in Promise)){ - Object.defineProperty(Promise, "allSettled", { - configurable:true, - enumerable:false, - writable:true, - value:function allSettled(ary){ - const Promise = this; - return new Promise((resolve, reject) => { - // if (Object.prototype.toString.call(arr) != "[object Array]") - if (!Array.isArray(ary)) - return reject(new TypeError(`${typeof arr} ${ary} is not iterable(cannot read property Symbol(Symbol.iterator))`)); - let args = Array.prototype.slice.call(ary); - if (args.length == 0) return resolve([]); - let arrCount = args.length; - function resolvePromise(index, value) { - if (typeof value == "object") { - var then = value.then; - if (typeof then == "function") { - then.call(value, (val) => { - args[index] = { status: "fulfilled", value: val }; - if (--arrCount == 0) resolve(args); - }, (e) => { - args[index] = { status: "rejected", reason: e }; - if (--arrCount == 0) resolve(args); - }); - } - } - } - - for (let i = 0; i < args.length; ++i) - resolvePromise(i, args[i]); - }); - } - }); - } - if(!Object.values){ - Object.defineProperty(Object, 'values', { - configurable:true, - enumerable:false, - writable:true, - value:function(obj){ - if(obj!== Object(obj)) { - throw new TypeError('Object.values called on a non-object'); - } - var values=[]; - for(var key in obj) { - if(obj.hasOwnProperty(key)){ - values.push(obj[key]); - } - } - return values; - } - }); - } window.onkeydown=function(e){ if(!ui.menuContainer||!ui.menuContainer.classList.contains('hidden')){ if(e.keyCode==116||((e.ctrlKey||e.metaKey)&&e.keyCode==82)){ @@ -8609,39 +8750,39 @@ if(typeof line=='number'&&(typeof game.readFile=='function'||location.origin!='file://')){ function createShowCode(lines){ let showCode=''; - if(lines.length>=10){ - if(line>4){ - for(let i=line-5;i`${i+1}| ${line==i+1?'⚠️':''}${_line}\n`).toString(); + if(lines.length>=10){ + if(line>4){ + for(let i=line-5;i`${i+1}| ${line==i+1?'⚠️':''}${_line}\n`).toString(); } return showCode; } //协议名须和html一致(网页端防跨域),且文件是js if (typeof src=='string'&&src.startsWith(location.protocol)&&src.endsWith('.js')){ - //获取代码 - const codes=lib.init.reqSync('local:'+decodeURI(src).replace(lib.assetURL,'').replace(winPath,'')); - const lines=codes.split("\n"); - str+='\n'+createShowCode(lines); - str+='\n-------------'; + //获取代码 + const codes=lib.init.reqSync('local:'+decodeURI(src).replace(lib.assetURL,'').replace(winPath,'')); + const lines=codes.split("\n"); + str+='\n'+createShowCode(lines); + str+='\n-------------'; } //解析parsex里的content fun内容(通常是技能content) else if(err&&err.stack&&err.stack.split('\n')[1].trim().startsWith('at Object.eval [as content]')){ - const codes=_status.event.content; - if(typeof codes=='function'){ - const lines=codes.toString().split("\n"); - str+='\n'+createShowCode(lines); - str+='\n-------------'; - } - } - } + const codes=_status.event.content; + if(typeof codes=='function'){ + const lines=codes.toString().split("\n"); + str+='\n'+createShowCode(lines); + str+='\n-------------'; + } + } + } if(err&&err.stack) str+='\n'+decodeURI(err.stack).replace(new RegExp(lib.assetURL,'g'),'').replace(new RegExp(winPath,'g'),''); alert(str); window.ea=Array.from(arguments); @@ -8670,16 +8811,15 @@ var noname_inited=localStorage.getItem('noname_inited'); if(noname_inited&&noname_inited!=='nodejs'){ var ua=navigator.userAgent.toLowerCase(); - if(ua.indexOf('android')!=-1){ + if(ua.includes('android')){ lib.device='android'; } - else if(ua.indexOf('iphone')!=-1||ua.indexOf('ipad')!=-1||ua.indexOf('macintosh')!=-1){ + else if(ua.includes('iphone')||ua.includes('ipad')||ua.includes('macintosh')){ lib.device='ios'; } - lib.assetURL=noname_inited; } - if(lib.assetURL.indexOf('com.widget.noname.qingyao')!='-1'){ + if(lib.assetURL.includes('com.widget.noname.qingyao')){ alert('您正在一个不受信任的闭源客户端上运行《无名杀》。建议您更换为其他开源的无名杀客户端,避免给您带来不必要的损失。'); } @@ -8703,7 +8843,7 @@ lib.config.defaultcards=lib.config.cards.slice(0); } for(var i in config2){ - if(i.indexOf('_mode_config')!=-1){ + if(i.includes('_mode_config')){ var thismode=i.substr(i.indexOf('_mode_config')+13); if(!lib.config.mode_config[thismode]){ lib.config.mode_config[thismode]={}; @@ -8829,7 +8969,9 @@ fontSheet.insertRule(`@font-face {font-family: '${value}'; src: local('${font}'), url('${lib.assetURL}font/${value}.woff2');}`,0); if(suitsFont) fontSheet.insertRule(`@font-face {font-family: '${value}'; src: local('${font}'), url('${lib.assetURL}font/suits.woff2');}`,0); }); - if(suitsFont) fontSheet.insertRule(`@font-face {font-family: 'Suits'; src: local('Noname Suit'), url('${lib.assetURL}font/suits.woff2');}`,0); + if(suitsFont) fontSheet.insertRule(`@font-face {font-family: 'Suits'; src: url('${lib.assetURL}font/suits.woff2');}`,0); + fontSheet.insertRule(`@font-face {font-family: 'NonameSuits'; src: url('${lib.assetURL}font/suits.woff2');}`,0); + fontSheet.insertRule(`@font-face {font-family: 'MotoyaLMaru'; src: url('${lib.assetURL}font/motoyamaru.woff2');}`,0) appearenceConfig.cardtext_font.item.default='默认'; appearenceConfig.global_font.item.default='默认'; } @@ -8852,7 +8994,7 @@ } else if(confirm('是否切换到触屏模式?(触屏模式可提高触屏设备的响应速度,但无法使用鼠标)')){ game.saveConfig('touchscreen',true); - if(ua.indexOf('iphone')!=-1||ua.indexOf('android')!=-1){ + if(ua.includes('iphone')||ua.includes('android')){ game.saveConfig('phonelayout',true); } game.reload(); @@ -8862,7 +9004,7 @@ else if(lib.config.touchscreen){ game.saveConfig('touchscreen',false); } - if(!lib.config.toscrolled&&ua.indexOf('macintosh')!=-1){ + if(!lib.config.toscrolled&&ua.includes('macintosh')){ game.saveConfig('toscrolled',true); game.saveConfig('mousewheel',false); } @@ -8888,7 +9030,7 @@ } } for(var i=0;i{ + if (typeof module!="object"||typeof module.exports!="object") lib.init.js(`${lib.assetURL}game`,"path",()=>{ lib.path=window._noname_path; delete window._noname_path; },e=>{ @@ -9125,7 +9268,7 @@ if(lib.config.border_style&&lib.config.border_style!='default'&&lib.config.border_style!='custom'&&lib.config.border_style!='auto'){ ui.css.border_stylesheet=lib.init.sheet(); var bstyle=lib.config.border_style; - if(bstyle.indexOf('dragon_')==0){ + if(bstyle.startsWith('dragon_')){ bstyle=bstyle.slice(7); } ui.css.border_stylesheet.sheet.insertRule('#window .player>.framebg,#window #arena.long.mobile:not(.fewplayer) .player[data-position="0"]>.framebg{display:block;background-image:url("'+lib.assetURL+'theme/style/player/'+bstyle+'1.png")}',0); @@ -9198,7 +9341,7 @@ } }); document.addEventListener("resume", ()=>{ - if(ui.backgroundMusic) Promise.resolve(ui.backgroundMusic.play()).catch(()=>void 0); + if(ui.backgroundMusic) ui.backgroundMusic.play(); }); document.addEventListener("backbutton", function(){ if(ui.arena&&ui.arena.classList.contains('menupaused')){ @@ -9228,7 +9371,7 @@ }); } game.download=function(url,folder,onsuccess,onerror,dev,onprogress){ - if(url.indexOf('http')!=0){ + if(!url.startsWith('http')){ url=get.url(dev)+url; } var fileTransfer = new FileTransfer(); @@ -9399,7 +9542,7 @@ }; lib.path=lib.node.path; game.download=function(url,folder,onsuccess,onerror,dev,onprogress){ - if(url.indexOf('http')!=0){ + if(!url.startsWith('http')){ url=get.url(dev)+url; } game.ensureDirectory(folder,function(){ @@ -9415,7 +9558,7 @@ if(!lib.node.https) lib.node.https=require('https'); var opts = require('url').parse(encodeURI(url)); opts.headers={'User-Agent': 'AppleWebkit'}; - var request = (url.indexOf('https')==0?lib.node.https:lib.node.http).get(opts, function(response) { + (url.startsWith('https')?lib.node.https:lib.node.http).get(opts, function(response) { var stream=response.pipe(file); stream.on('finish',function(){ lib.config.brokenFile.remove(folder); @@ -9693,7 +9836,7 @@ ui.background=ui.create.div('.background'); ui.background.style.backgroundSize="cover"; ui.background.style.backgroundPosition='50% 50%'; - if(lib.config.image_background&&lib.config.image_background!='default'&&lib.config.image_background.indexOf('custom_')!=0){ + if(lib.config.image_background&&lib.config.image_background!='default'&&!lib.config.image_background.startsWith('custom_')){ ui.background.setBackgroundImage('image/background/'+lib.config.image_background+'.jpg'); if(lib.config.image_background_blur){ ui.background.style.filter='blur(8px)'; @@ -9721,7 +9864,7 @@ }); } - if(lib.config.image_background.indexOf('custom_')==0){ + if(lib.config.image_background.startsWith('custom_')){ ui.background.style.backgroundImage="none"; game.getDB('image',lib.config.image_background,function(fileToLoad){ if(!fileToLoad) return; @@ -10283,7 +10426,7 @@ delete lib.imported.mode; delete lib.imported.play; for(var i in lib.init){ - if(i.indexOf('setMode_')==0){ + if(i.startsWith('setMode_')){ delete lib.init[i]; } } @@ -10422,7 +10565,7 @@ var node=ui.create.div('.hidden',splash,clickNode); node.link=lib.config.all.mode[i]; ui.create.div(node,'.splashtext',get.verticalStr(get.translation(lib.config.all.mode[i]))); - if(lib.config.all.stockmode.indexOf(lib.config.all.mode[i])!=-1){ + if(lib.config.all.stockmode.includes(lib.config.all.mode[i])){ // 初始启动页设置 if(lib.config.splash_style==undefined) game.saveConfig('splash_style','style1'); splash.dataset.splash_style=lib.config.splash_style; @@ -10437,7 +10580,7 @@ else{ var avatarnode=ui.create.div(node,'.avatar'); var avatarbg=lib.mode[lib.config.all.mode[i]].splash; - if(avatarbg.indexOf('ext:')==0){ + if(avatarbg.startsWith('ext:')){ avatarnode.setBackgroundImage(avatarbg.replace(/^ext:/,'extension/')); } else{ @@ -10567,7 +10710,7 @@ if(path){ if(path[path.length-1]=='/') path=path.slice(0,path.length-1); if(file) path=`${path}${/^db:extension-[^:]*$/.test(path)?':':'/'}${file}.css`; - (path.indexOf('db:')==0?game.getDB('image',path.slice(3)).then(get.objectURL):new Promise(resolve=>resolve(path))).then(resolvedPath=>{ + (path.startsWith('db:')?game.getDB('image',path.slice(3)).then(get.objectURL):new Promise(resolve=>resolve(path))).then(resolvedPath=>{ style.href=resolvedPath; if(typeof before=='function'){ style.addEventListener('load',before); @@ -10602,8 +10745,8 @@ return; } let scriptSource=file?`${path}${/^db:extension-[^:]*$/.test(path)?':':'/'}${file}.js`:path; - if(path.indexOf('http')==0) scriptSource+=`?rand=${get.id()}`; - else if(lib.config.fuck_sojson&&scriptSource.includes('extension')!=-1&&scriptSource.indexOf(lib.assetURL)==0){ + if(path.startsWith('http')) scriptSource+=`?rand=${get.id()}`; + else if(lib.config.fuck_sojson&&scriptSource.includes('extension')!=-1&&scriptSource.startsWith(lib.assetURL)){ const pathToRead=scriptSource.slice(lib.assetURL.length); const alertMessage=`检测到您安装了使用免费版sojson进行加密的扩展。请谨慎使用这些扩展,避免游戏数据遭到破坏。\n扩展文件:${pathToRead}`; if(typeof game.readFileAsText=='function') game.readFileAsText(pathToRead,result=>{ @@ -10615,9 +10758,9 @@ },()=>void 0); } const script=document.createElement('script'); - (scriptSource.indexOf('db:')==0?game.getDB('image',scriptSource.slice(3)).then(get.objectURL):new Promise(resolve=>resolve(scriptSource))).then(resolvedScriptSource=>{ + (scriptSource.startsWith('db:')?game.getDB('image',scriptSource.slice(3)).then(get.objectURL):new Promise(resolve=>resolve(scriptSource))).then(resolvedScriptSource=>{ script.src=resolvedScriptSource; - if(path.indexOf('http')==0) script.addEventListener('load',()=>script.remove()); + if(path.startsWith('http')) script.addEventListener('load',()=>script.remove()); document.head.appendChild(script); if(typeof onLoad=='function') script.addEventListener('load',onLoad); if(typeof onError=='function') script.addEventListener('error',onError); @@ -10646,7 +10789,7 @@ let scriptSource; if(!file) scriptSource=path; else scriptSource=`${path}/${file}.js`; - if(path.indexOf('http')==0) scriptSource+=`?rand=${get.id()}`; + if(path.startsWith('http')) scriptSource+=`?rand=${get.id()}`; const xmlHttpRequest=new XMLHttpRequest(); let data; xmlHttpRequest.addEventListener("load",()=>{ @@ -10655,7 +10798,7 @@ if(typeof onError=='function') onError(new Error(`${scriptSource}加载失败!`)); return; } - if(lib.config.fuck_sojson&&scriptSource.includes('extension')!=-1&&scriptSource.indexOf(lib.assetURL)==0){ + if(lib.config.fuck_sojson&&scriptSource.includes('extension')!=-1&&scriptSource.startsWith(lib.assetURL)){ const pathToRead=scriptSource.slice(lib.assetURL.length); if(data.includes('sojson')||data.includes('jsjiami')||data.includes('var _0x')) alert(`检测到您安装了使用免费版sojson进行加密的扩展。请谨慎使用这些扩展,避免游戏数据遭到破坏。\n扩展文件:${pathToRead}`); } @@ -10673,7 +10816,7 @@ }, req:(str,onload,onerror,master)=>{ let sScriptURL; - if(str.indexOf('http')==0) sScriptURL=str; + if(str.startsWith('http')) sScriptURL=str; else if(str.startsWith('local:')){ if(lib.assetURL.length==0&&location.origin=='file://'&&typeof game.readFile=='undefined'){ const e=new Error('浏览器file协议下无法使用此api,请在http/https协议下使用此api'); @@ -10699,7 +10842,7 @@ */ reqSync:(str,onload,onerror,master)=>{ let sScriptURL; - if(str.indexOf('http')==0) sScriptURL=str; + if(str.startsWith('http')) sScriptURL=str; else if(str.startsWith('local:')){ if(lib.assetURL.length==0&&location.origin=='file://'&&typeof game.readFile=='undefined'){ const e=new Error('浏览器file协议下无法使用此api,请在http/https协议下使用此api'); @@ -10772,6 +10915,7 @@ } ui.css.styles=lib.init.sheet(); ui.css.styles.sheet.insertRule('#arena .player>.name,#arena .button.character>.name {font-family: '+(lib.config.name_font||'xinwei')+',xinwei}',0); + ui.css.styles.sheet.insertRule('#arena .player>.name,.button.character>.name {font-family: '+(lib.config.name_font||'xinwei')+',xinwei}',0); ui.css.styles.sheet.insertRule('#arena .player .identity>div {font-family: '+(lib.config.identity_font||'huangcao')+',xinwei}',0); ui.css.styles.sheet.insertRule('.button.character.newstyle>.identity {font-family: '+(lib.config.identity_font||'huangcao')+',xinwei}',0); if(lib.config.cardtext_font&&lib.config.cardtext_font!='default'){ @@ -10909,7 +11053,7 @@ list.remove(lib.config.image_background); localStorage.setItem(lib.configprefix+'background',JSON.stringify(list)); } - else if(lib.config.image_background&&lib.config.image_background!='default'&&lib.config.image_background.indexOf('custom_')!=0){ + else if(lib.config.image_background&&lib.config.image_background!='default'&&!lib.config.image_background.startsWith('custom_')){ localStorage.setItem(lib.configprefix+'background',lib.config.image_background); } else if(lib.config.image_background=='default'&&lib.config.theme=='simple'){ @@ -11156,7 +11300,7 @@ gl(str,function(folders,files){ if(files.length>1){ for(var i=0;i{ + if(!lib.config.forbidai.includes(key)&&!key.startsWith('boss_')&&!key.startsWith('tafang_')&&!list.includes(key)) console.log(get.translation(key),key); + }); }, h:function(player){ console.log(get.translation(player.getCards('h'))); @@ -11614,17 +11757,17 @@ var suit=null; var suits=['club','spade','diamond','heart']; for(var i=0;ihs.includes(card)); - var shown=player.getShownCards(); - for(var tag of event.gaintag) player.addGaintag(cards,tag); - event.cards=cards.filter(card=>!shown.includes(card)); - if(event.cards.length>0){ - game.log(player,'明置了',event.cards); - event.trigger('addShownCardsAfter') - } + addShownCards:()=>{ + var hs=player.getCards('h'),showingCards=event._cards.filter(showingCard=>hs.includes(showingCard)),shown=player.getShownCards(); + event.gaintag.forEach(tag=>player.addGaintag(showingCards,tag)); + if(!(event.cards=showingCards.filter(showingCard=>!shown.includes(showingCard))).length) return; + game.log(player,'明置了',event.cards); + if(event.animate!=false) player.$give(event.cards,player,false); + event.trigger('addShownCardsAfter'); }, //隐藏明置手牌 - hideShownCards:function(){ - var shown=player.getShownCards(),cards=event._cards.filter(card=>shown.includes(card)); - if(cards.length>0){ - if(!event.gaintag.length){ - var map={}; - cards.forEach(card=>{ - var tags=card.gaintag.filter(tag=>tag.indexOf('visible_')==0) - if(tags.length){ - tags.forEach(tag=>{ - if(!map[tag]) map[tag]=[]; - map[tag].push(card); - }) - } + hideShownCards:()=>{ + var shown=player.getShownCards(),hidingCards=event._cards.filter(hidingCard=>shown.includes(hidingCard)); + if(!hidingCards.length) return; + if(event.gaintag.length) event.gaintag.forEach(tag=>player.removeGaintag(tag,hidingCards)); + else { + var map=hidingCards.reduce((constructingMap,hidingCard)=>{ + hidingCard.gaintag.forEach(tag=>{ + if(!tag.startsWith('visible_')) return; + if(!constructingMap[tag]) constructingMap[tag]=[]; + constructingMap[tag].push(hidingCard); }); - for(var i in map){ - player.removeGaintag(i,map[i]) - } - } - else{ - event.gaintag.forEach(tag=>{ - player.removeGaintag(tag,cards); - }) - } - cards.removeArray(player.getShownCards()); - if(cards.length>0){ - event.cards=cards; - game.log(player,'取消明置了',cards); - event.trigger('hideShownCardsAfter'); - } + return constructingMap; + },{}); + Object.keys(map).forEach(key=>player.removeGaintag(key,map[key])); } + hidingCards.removeArray(player.getShownCards()); + if(!hidingCards.length) return; + game.log(player,'取消明置了',event.cards=hidingCards); + if(event.animate!=false) player.$give(hidingCards,player,false); + event.trigger('hideShownCardsAfter'); }, //Execute the delay card effect //执行延时锦囊牌效果 @@ -12511,7 +12642,7 @@ ui.create.dialog(str).videoId=id; if(ui.backgroundMusic) ui.backgroundMusic.pause(); if(lib.config.background_audio){ - if(beatmap.filename.indexOf('ext:')==0) game.playAudio(beatmap.filename); + if(beatmap.filename.startsWith('ext:')) game.playAudio(beatmap.filename); else game.playAudio('effect',beatmap.filename); } },player,event.videoId,event.beatmap); @@ -12534,7 +12665,7 @@ var custom_mapping=Array.isArray(beatmap.mapping); var mapping=custom_mapping?beatmap.mapping.slice():beatmap.mapping; var hitsound=beatmap.hitsound||'hitsound.wav'; - if(hitsound.indexOf('ext:')==0) hitsound=lib.assetURL+'extension/'+hitsound.slice(4); + if(hitsound.startsWith('ext:')) hitsound=lib.assetURL+'extension/'+hitsound.slice(4); else hitsound=lib.assetURL+'audio/effect/'+hitsound; var hitsound_audio=new Audio(hitsound); hitsound_audio.volume=0.25; @@ -12601,7 +12732,7 @@ game.resume(); _status.imchoosing=false; if(roundmenu) ui.roundmenu.style.display=''; - if(ui.backgroundMusic) Promise.resolve(ui.backgroundMusic.play()).catch(()=>void 0); + if(ui.backgroundMusic) ui.backgroundMusic.play(); hitsound_audio.remove(); },1000); }; @@ -12726,7 +12857,7 @@ game.countChoose(); setTimeout(()=>{ if(!lib.config.background_audio) return; - if(beatmap.filename.indexOf('ext:')==0) game.playAudio(beatmap.filename); + if(beatmap.filename.startsWith('ext:')) game.playAudio(beatmap.filename); else game.playAudio('effect',beatmap.filename); },Math.floor(speed*100*(0.9+beatmap.judgebar_height))+beatmap.current); setTimeout(function(){ @@ -12771,8 +12902,8 @@ var skip_timeout; var skip=()=>{ settle(); - Array.from(ui.window.getElementsByTagName('audio')).forEach(value=>{ - if(value.currentSrc.indexOf(beatmap.filename.indexOf('ext:')==0?beatmap.name:beatmap.filename)>-1) value.remove(); + Array.from(ui.window.getElementsByTagName('audio')).forEach(audio=>{ + if(audio.currentSrc.includes(beatmap.filename.startsWith('ext:')?beatmap.name:beatmap.filename)) audio.remove(); }); document.removeEventListener(lib.config.touchscreen?'touchend':'click',skip); clearTimeout(settle_timeout); @@ -12789,7 +12920,7 @@ if(dialog){ dialog.close(); } - if(ui.backgroundMusic) Promise.resolve(ui.backgroundMusic.play()).catch(()=>void 0); + if(ui.backgroundMusic) ui.backgroundMusic.play(); },event.videoId,event.time); var result=event.result||result; event.result=result; @@ -12977,12 +13108,8 @@ var range; if(!info.notarget){ var select=get.copy(info.selectTarget); - if(select==undefined){ - range=[1,1]; - } - else if(typeof select=='number') range=[select,select]; - else if(get.itemtype(select)=='select') range=select; - else if(typeof select=='function') range=select(card,player); + range=get.select(select); + if(event.selectTarget) range=get.select(event.selectTarget); game.checkMod(card,player,range,'selectTarget',player); } if(info.notarget||range[1]<=-1){ @@ -13779,11 +13906,13 @@ lib.onphase[i](); } player.phase(); - event.player=player.next; "step 2" if(!game.players.contains(event.player.next)){ event.player=game.findNext(event.player.next); } + else{ + event.player=event.player.next; + } event.goto(1); }, loadPackage:function(){ @@ -14041,7 +14170,7 @@ else{ var keep=false; for(var i in player.additionalSkills){ - if(i.indexOf('hidden:')==0&&game.expandSkills(player.additionalSkills[i]).contains(event.skill)){ + if(i.startsWith('hidden:')&&game.expandSkills(player.additionalSkills[i]).contains(event.skill)){ keep=true;break; } } @@ -14094,7 +14223,7 @@ } else if(typeof info.logTarget=='function'){ var logTarget=info.logTarget(trigger,player); - if(get.itemtype(logTarget).indexOf('player')==0) str=get.prompt(event.skill,logTarget,player); + if(get.itemtype(logTarget).startsWith('player')) str=get.prompt(event.skill,logTarget,player); } else{ str=get.prompt(event.skill,null,player); @@ -14633,7 +14762,8 @@ } event.trigger('phaseDiscard'); "step 1" - player.chooseToDiscard(num,true); + player.chooseToDiscard(num,true) + .set('useCache',true); "step 2" event.cards=result.cards; }, @@ -16095,7 +16225,11 @@ } } if(event.isMine()){ - if(event.direct&&num==selectButton[0]||event.forceDirect){ + if(event.hsskill&&!event.forced&&_status.prehidden_skills.contains(event.hsskill)){ + ui.click.cancel(); + return; + } + else if(event.direct&&num==selectButton[0]||event.forceDirect){ var buttons=buttonsx.slice(0,num); event.result={ bool:true, @@ -16108,10 +16242,6 @@ game.check(); game.pause(); } - if(event.hsskill&&!event.forced&&_status.prehidden_skills.contains(event.hsskill)){ - ui.click.cancel(); - return; - } } else if(event.isOnline()){ if(event.direct&&num==1||event.forceDirect){ @@ -17609,8 +17739,8 @@ const audio=lib.card[card.name].audio; if(typeof audio=='string'){ const audioInfo=audio.split(':'); - if(audio.indexOf('db:')==0) game.playAudio(`${audioInfo[0]}:${audioInfo[1]}`,audioInfo[2],`${card.name}_${sex}.${audioInfo[3]||'mp3'}`); - else if(audio.indexOf('ext:')==0) game.playAudio(`${audioInfo[0]}:${audioInfo[1]}`,`${card.name}_${sex}.${audioInfo[2]||'mp3'}`); + if(audio.startsWith('db:')) game.playAudio(`${audioInfo[0]}:${audioInfo[1]}`,audioInfo[2],`${card.name}_${sex}.${audioInfo[3]||'mp3'}`); + else if(audio.startsWith('ext:')) game.playAudio(`${audioInfo[0]}:${audioInfo[1]}`,`${card.name}_${sex}.${audioInfo[2]||'mp3'}`); else game.playAudio('card',sex,`${audioInfo[0]}.${audioInfo[1]||'mp3'}`); } else game.playAudio('card',sex,card.name); @@ -17666,9 +17796,9 @@ } } event.id=get.id(); - event.excluded=[]; - event.directHit=[]; - event.customArgs={default:{}}; + if(!Array.isArray(event.excluded)) event.excluded=[]; + if(!Array.isArray(event.directHit)) event.directHit=[]; + if(typeof event.customArgs!='object'||typeof event.customArgs.default!='object') event.customArgs={default:{}}; if(typeof event.baseDamage!='number') event.baseDamage=get.info(card,false).baseDamage||1; if(typeof event.effectCount!='number') event.effectCount=get.info(card,false).effectCount||1; event.effectedCount=0; @@ -18427,8 +18557,8 @@ const sex=player.sex=='female'?'female':'male',audio=lib.card[card.name].audio; if(typeof audio=='string'){ const audioInfo=audio.split(':'); - if(audio.indexOf('db:')==0) game.playAudio(`${audioInfo[0]}:${audioInfo[1]}`,audioInfo[2],`${card.name}_${sex}.${audioInfo[3]||'mp3'}`); - else if(audio.indexOf('ext:')==0) game.playAudio(`${audioInfo[0]}:${audioInfo[1]}`,`${card.name}_${sex}.${audioInfo[2]||'mp3'}`); + if(audio.startsWith('db:')) game.playAudio(`${audioInfo[0]}:${audioInfo[1]}`,audioInfo[2],`${card.name}_${sex}.${audioInfo[3]||'mp3'}`); + else if(audio.startsWith('ext:')) game.playAudio(`${audioInfo[0]}:${audioInfo[1]}`,`${card.name}_${sex}.${audioInfo[2]||'mp3'}`); else game.playAudio('card',sex,`${audioInfo[0]}.${audioInfo[1]||'mp3'}`); } else game.playAudio('card',sex,card.name); @@ -19569,9 +19699,9 @@ } } if(_status.characterlist){ - if(lib.character[player.name]&&player.name.indexOf('gz_shibing')!=0&&player.name.indexOf('gz_jun_')!=0) _status.characterlist.add(player.name); - if(lib.character[player.name1]&&player.name1.indexOf('gz_shibing')!=0&&player.name1.indexOf('gz_jun_')!=0) _status.characterlist.add(player.name1); - if(lib.character[player.name2]&&player.name2.indexOf('gz_shibing')!=0&&player.name2.indexOf('gz_jun_')!=0) _status.characterlist.add(player.name2); + if(lib.character[player.name]&&!player.name.startsWith('gz_shibing')&&!player.name.startsWith('gz_jun_')) _status.characterlist.add(player.name); + if(lib.character[player.name1]&&!player.name1.startsWith('gz_shibing')&&!player.name1.startsWith('gz_jun_')) _status.characterlist.add(player.name1); + if(lib.character[player.name2]&&!player.name2.startsWith('gz_shibing')&&!player.name2.startsWith('gz_jun_')) _status.characterlist.add(player.name2); } event.cards=player.getCards('hejsx'); if(event.cards.length){ @@ -20086,52 +20216,36 @@ }, //让一名角色明置一些手牌 addShownCards:function(){ - const cards=[]; - const tags=[]; - for(let i=0;i0){ + if(subtype.startsWith('equip')&&parseInt(subtype.slice(5))>0){ break; } else if(lib.card[subtype]){ @@ -20357,7 +20471,7 @@ else if(Array.isArray(arguments[i])){ for(var arg of arguments[i]){ if(typeof arg=='string'){ - if(arg.indexOf('equip')==0&&parseInt(arg.slice(5))>0) next.slots.push(arg); + if(arg.startsWith('equip')&&parseInt(arg.slice(5))>0) next.slots.push(arg); } else if(typeof arg=='number'){ next.slots.push('equip'+arg); @@ -20365,7 +20479,7 @@ } } else if(typeof arguments[i]=='string'){ - if(arguments[i].indexOf('equip')==0&&parseInt(arguments[i].slice(5))>0) next.slots.push(arguments[i]); + if(arguments[i].startsWith('equip')&&parseInt(arguments[i].slice(5))>0) next.slots.push(arguments[i]); } else if(typeof arguments[i]=='number'){ next.slots.push('equip'+arguments[i]); @@ -20389,7 +20503,7 @@ else if(Array.isArray(arguments[i])){ for(var arg of arguments[i]){ if(typeof arg=='string'){ - if(arg.indexOf('equip')==0&&parseInt(arg.slice(5))>0) next.slots.push(arg); + if(arg.startsWith('equip')&&parseInt(arg.slice(5))>0) next.slots.push(arg); } else if(typeof arg=='number'){ next.slots.push('equip'+arg); @@ -20397,7 +20511,7 @@ } } else if(typeof arguments[i]=='string'){ - if(arguments[i].indexOf('equip')==0&&parseInt(arguments[i].slice(5))>0) next.slots.push(arguments[i]); + if(arguments[i].startsWith('equip')&&parseInt(arguments[i].slice(5))>0) next.slots.push(arguments[i]); } else if(typeof arguments[i]=='number'){ next.slots.push('equip'+arguments[i]); @@ -20421,7 +20535,7 @@ else if(Array.isArray(arguments[i])){ for(var arg of arguments[i]){ if(typeof arg=='string'){ - if(arg.indexOf('equip')==0&&parseInt(arg.slice(5))>0) next.slots.push(arg); + if(arg.startsWith('equip')&&parseInt(arg.slice(5))>0) next.slots.push(arg); } else if(typeof arg=='number'){ next.slots.push('equip'+arg); @@ -20429,7 +20543,7 @@ } } else if(typeof arguments[i]=='string'){ - if(arguments[i].indexOf('equip')==0&&parseInt(arguments[i].slice(5))>0) next.slots.push(arguments[i]); + if(arguments[i].startsWith('equip')&&parseInt(arguments[i].slice(5))>0) next.slots.push(arguments[i]); } else if(typeof arguments[i]=='number'){ next.slots.push('equip'+arguments[i]); @@ -20474,14 +20588,14 @@ var map2=get.copy(map); var cards=Array.from(player.node.equips.childNodes); for(var card of cards){ - if(card.name.indexOf('feichu_')==0){ + if(card.name.startsWith('feichu_')){ var index=card.name.slice(7); if(!map2[index]) map2[index]=0; map2[index]--; } } for(var index in map2){ - if(index.indexOf('equip')!=0||!(parseInt(index.slice(5))>0)) continue; + if(!index.startsWith('equip')||!(parseInt(index.slice(5))>0)) continue; var num=map2[index]; if(num>0){ for(var i=0;inum)this.removeMark(name,count-num,log); + else if(countget.priority(a)-get.priority(b)); + return skills; + }; + if(!useCache)return func(this); + return game.callFuncUseStepCache("player.getModableSkills",func,[this]); + }, getSkills:function(arg2,arg3,arg4){ var skills=this.skills.slice(0); var es=[]; @@ -23243,6 +23376,12 @@ else if(get.itemtype(arguments[i])=='player'){ next.targets=[arguments[i]]; } + else if(get.itemtype(arguments[i])=='select'){ + next.selectTarget=arguments[i]; + } + else if(typeof arguments[i]=='number'){ + next.selectTarget=[arguments[i],arguments[i]]; + } else if(get.is.object(arguments[i])&&arguments[i].name){ next.card=arguments[i]; } @@ -24972,22 +25111,27 @@ if(mod!='unchanged') return mod; return true; }, - addJudgeNext:function(card){ + addJudgeNext:function(card,unlimited){ if(!card.expired){ - var target=this.next; - var name=card.viewAs||card.name; - var bool=false; - for(var iwhile=0;iwhile<20;iwhile++){ + let target=this.next; + const name=card.viewAs||card.name; + const cards=(get.itemtype(card)=='card')?[card]:card.cards; + if(get.itemtype(cards)!='cards') return; + let bool=false; + if(!unlimited&&cards.some(card=>{ + const position=get.position(card,true); + return position!='j'&&position!='o'; + })){ + game.log(card,'已被移出处理区,无法置入判定区'); + return; + } + for(let iwhile=0;iwhile<20;iwhile++){ if(target.canAddJudge(card)){ bool=true;break; } target=target.next; } - if(!bool){ - game.log(card,'进入了弃牌堆'); - game.cardsDiscard(card); - } - else{ + if(bool){ if(card.cards&&card.cards.length){ target.addJudge(name,card.cards[0]); } @@ -25485,7 +25629,7 @@ this[storage.length>0?'markSkill':'unmarkSkill'](name); } else if(typeof storage=='number'){ - this[storage.length>0?'markSkill':'unmarkSkill'](name); + this[storage>0?'markSkill':'unmarkSkill'](name); } } }, @@ -25505,8 +25649,10 @@ hasExpansions:function(tag){ return this.countExpansions(tag)>0; }, - setStorage:function(name,value){ - return this.storage[name]=value; + setStorage:function(name,value,mark){ + this.storage[name]=value; + if(mark) this.markAuto(name); + return value; }, getStorage:function(name){ return this.storage[name]||[]; @@ -25516,7 +25662,7 @@ if(typeof value=="undefined") return true; const storage=this.storage[name]; if(storage===value) return true; - return !Array.isArray(storage) || storage.contains(value); + return Array.isArray(storage) && storage.includes(value); }, hasStorageAny:function(name,values){ const storage=this.storage[name]; @@ -25532,19 +25678,24 @@ if (!Array.isArray(storage)) return false; return values.every(item => storage.contains(item)); }, - initStorage:function(name,value){ - return this.hasStorage(name)?this.getStorage(name):this.setStorage(name,value); + initStorage:function(name,value,mark){ + return this.hasStorage(name)?this.getStorage(name):this.setStorage(name,value,mark); }, - updateStorage:function(name,operation){ - return this.setStorage(name,operation(this.getStorage(name))); + updateStorage:function(name,operation,mark){ + return this.setStorage(name,operation(this.getStorage(name)),mark); }, - updateStorageAsync:function(name,operation){ + updateStorageAsync:function(name,operation,mark){ return Promise.resolve(this.getStorage(name)) .then(value=>operation(value)) - .then(value=>this.setStorage(name,value)) + .then(value=>this.setStorage(name,value,mark)); }, - removeStorage:function(name){ - return player.hasStorage(name)&&delete player.storage[name]; + removeStorage:function(name,mark){ + if(!this.hasStorage(name)) return false; + delete this.storage[name] + if(mark){ + this.unmarkSkill(name); + } + return true; }, markSkill:function(name,info,card){ if(info===true){ @@ -25664,7 +25815,7 @@ name=name.name; } var node; - if(name.indexOf('unknown')==0){ + if(name.startsWith('unknown')){ node=ui.create.div('.card.mark.drawinghidden'); ui.create.div('.background.skillmark',node).innerHTML=get.translation(name)[0]; } @@ -25960,72 +26111,60 @@ return list; }, addSkillTrigger:function(skill,hidden,triggeronly){ - var info=lib.skill[skill]; - if(!info) return; - if(typeof info.group=='string'){ - this.addSkillTrigger(info.group,hidden); - } - else if(Array.isArray(info.group)){ - for(var i=0;i{ - if(index==0) range--; - let newRange=1; - const info=get.info(card,false); - if(info.distance){ - //如果存在attackRange 则通过attackRange动态获取攻击范围 - if(typeof info.distance.attackRange=='function'){ - newRange=info.distance.attackRange(card,player); - } - //否则采用祖宗之法 - else if(typeof info.distance.attackFrom=='number'){ - newRange-=info.distance.attackFrom; - } - } - return Math.max(range,newRange) - },range)-range); + return (player.getEquipRange()-range); } let base=game.checkMod(player,'unchanged','attackRangeBase',player); if(base!='unchanged'){ range=base; } else{ - const equips=player.getCards('e',function(card){ - return !ui.selected.cards||!ui.selected.cards.contains(card); - }); - range=equips.reduce((range,card,index)=>{ - if(index==0) range--; - let newRange=1; - const info=get.info(card,false); - if(info.distance){ - //如果存在attackRange 则通过attackRange动态获取攻击范围 - if(typeof info.distance.attackRange=='function'){ - newRange=info.distance.attackRange(card,player); - } - //否则采用祖宗之法 - else if(typeof info.distance.attackFrom=='number'){ - newRange-=info.distance.attackFrom; - } - } - return Math.max(range,newRange); - },1); + range=player.getEquipRange(); } range=game.checkMod(player,range,'attackRange',player); return range; }, + getEquipRange:function(cards){ + const player=this; + if(!cards) cards=player.getCards('e',function(card){ + return !ui.selected.cards||!ui.selected.cards.contains(card); + }); + const range=cards.reduce((range,card)=>{ + let newRange=false; + const info=get.info(card,false); + if(info.distance){ + //如果存在attackRange 则通过attackRange动态获取攻击范围 + if(typeof info.distance.attackRange=='function'){ + newRange=info.distance.attackRange(card,player); + } + //否则采用祖宗之法 + else if(typeof info.distance.attackFrom=='number'){ + newRange=(1-info.distance.attackFrom); + } + } + let isN1=(typeof range=='number'); + let isN2=(typeof newRange=='number'); + if(isN1&&isN2) return Math.max(range,newRange); + else return (isN1?range:newRange); + },false); + return (typeof range=='number')?range:1; + }, getGlobalFrom:function(){ var player=this; var range=0; @@ -27303,13 +27434,13 @@ game.expandSkills(skills); for(var i=0;i2||!this.isZhu&&this.hp>1)&&this.hasSkillTag('respondSha',true,type,true)) return true; + if(get.itemtype(viewer)!=='player') viewer=_status.event.player; + let cards; + if(this===viewer||get.itemtype(viewer)==='player'&&viewer.hasSkillTag('viewHandcard',null,this,true)) cards=this.getCards('h'); + else cards=this.getShownCards(); + if(cards.some(card=>{ + let name=get.name(card,this); + if(name=='sha'||name=='hufu'||name=='yuchanqian'){ + if(type==='use') return lib.filter.cardEnabled(card,this); + if(type==='respond') return lib.filter.cardRespondable(card,this); + return true; + } + return false; + })) return true; + let hs=this.getCards('hs').removeArray(cards).length; + if(hs===0) return false; + return Math.pow(hs+(this.isPhaseUsing()?6:4),2)>100*_status.event.getRand('mayHaveSha'); + }, + mayHaveShan:function(viewer,type){ + if((this.hp>2||!this.isZhu&&this.hp>1)&&this.hasSkillTag('respondShan',true,type,true)) return true; + if(get.itemtype(viewer)!=='player') viewer=_status.event.player; + let cards; + if(this===viewer||get.itemtype(viewer)==='player'&&viewer.hasSkillTag('viewHandcard',null,this,true)) cards=this.getCards('h'); + else cards=this.getShownCards(); + if(cards.some(card=>{ + let name=get.name(card,this); + if(name==='shan'||name==='hufu'){ + if(type==='use') return lib.filter.cardEnabled(card,this); + if(type==='respond') return lib.filter.cardRespondable(card,this); + return true; + } + return false; + })) return true; + let hs=this.getCards('hs').removeArray(cards).length; + if(hs===0) return false; + return Math.pow(hs+(this.isPhaseUsing()?3:5),2)>100*_status.event.getRand('mayHaveShan'); }, hasCard:function(name,position){ if(typeof name=='function'){ @@ -27359,7 +27524,7 @@ name=parseInt(name[5]); } } - else if(typeof name=='string'&&name.indexOf('equip')==0&&name.length==6){ + else if(typeof name=='string'&&name.startsWith('equip')&&name.length==6){ name=parseInt(name[5]); } if(!name){ @@ -27586,7 +27751,7 @@ node1.style.transform='perspective(600px) rotateY(180deg) translateX(0)'; var onEnd01=function(){ - node1.removeEventListener('webkitTransitionEnd',onEnd01); + //node1.removeEventListener('webkitTransitionEnd',onEnd01); setTimeout(function(){ node1.style.transition='all ease-in 0.3s'; node1.style.transform='perspective(600px) rotateY(270deg) translateX(52px)'; @@ -27599,7 +27764,7 @@ node1.style.transition=''; ui.refresh(node1); node1.style.transform=''; - node1.removeEventListener('webkitTransitionEnd',onEnd); + //node1.removeEventListener('webkitTransitionEnd',onEnd); } node1.listenTransition(onEnd); },300); @@ -27634,7 +27799,7 @@ } node2.style.transform='perspective(600px) rotateY(180deg) translateX(0)'; var onEnd02=function(){ - node2.removeEventListener('webkitTransitionEnd',onEnd02); + //node2.removeEventListener('webkitTransitionEnd',onEnd02); setTimeout(function(){ node2.style.transition='all ease-in 0.3s'; node2.style.transform='perspective(600px) rotateY(270deg) translateX(52px)'; @@ -27647,7 +27812,7 @@ node2.style.transition=''; ui.refresh(node2); node2.style.transform=''; - node2.removeEventListener('webkitTransitionEnd',onEnd); + //node2.removeEventListener('webkitTransitionEnd',onEnd); } node2.listenTransition(onEnd); },200); @@ -27679,7 +27844,7 @@ node1.style.transform='perspective(600px) rotateY(180deg) translateX(0)'; var onEnd01=function(){ - node1.removeEventListener('webkitTransitionEnd',onEnd01); + //node1.removeEventListener('webkitTransitionEnd',onEnd01); setTimeout(function(){ node1.style.transition='all ease-in 0.3s'; node1.style.transform='perspective(600px) rotateY(270deg) translateX(52px)'; @@ -27692,7 +27857,7 @@ node1.style.transition=''; ui.refresh(node1); node1.style.transform=''; - node1.removeEventListener('webkitTransitionEnd',onEnd); + //node1.removeEventListener('webkitTransitionEnd',onEnd); } node1.listenTransition(onEnd); },300); @@ -27714,7 +27879,7 @@ } node2.style.transform='perspective(600px) rotateY(180deg) translateX(0)'; var onEnd02=function(){ - node2.removeEventListener('webkitTransitionEnd',onEnd02); + //node2.removeEventListener('webkitTransitionEnd',onEnd02); setTimeout(function(){ node2.style.transition='all ease-in 0.3s'; node2.style.transform='perspective(600px) rotateY(270deg) translateX(52px)'; @@ -27727,7 +27892,7 @@ node2.style.transition=''; ui.refresh(node2); node2.style.transform=''; - node2.removeEventListener('webkitTransitionEnd',onEnd); + //node2.removeEventListener('webkitTransitionEnd',onEnd); } node2.listenTransition(onEnd); },200); @@ -28878,10 +29043,7 @@ }, card:{ hasNature:function(nature,player){ - var natures=get.natureList(this,player); - if(!nature) return natures.length>0; - if(nature=='linked') return natures.some(n=>lib.linked.includes(n)); - return get.is.sameNature(natures,nature); + return game.hasNature(this,nature,player); }, //只针对【杀】起效果 addNature:function(nature){ @@ -28989,7 +29151,7 @@ card[3]=prefix; } } - if(card[2].indexOf('sha_')==0){ + if(card[2].startsWith('sha_')){ let suffix=card[2].slice(4); let natureList=suffix.split('_'); card[2]='sha'; @@ -29049,10 +29211,10 @@ } var img=lib.card[bg].image; if(img){ - if(img.indexOf('db:')==0){ + if(img.startsWith('db:')){ img=img.slice(3); } - else if(img.indexOf('ext:')!=0){ + else if(!img.startsWith('ext:')){ img=null; } } @@ -29068,7 +29230,7 @@ if(!lib.config.hide_card_image&&lib.card[bg].fullskin){ this.classList.add('fullskin'); if(img){ - if(img.indexOf('ext:')==0){ + if(img.startsWith('ext:')){ this.node.image.setBackgroundImage(img.replace(/^ext:/,'extension/')); } else{ @@ -29103,7 +29265,7 @@ else if(lib.card[bg].fullimage){ this.classList.add('fullimage'); if(img){ - if(img.indexOf('ext:')==0){ + if(img.startsWith('ext:')){ this.setBackgroundImage(img.replace(/^ext:/,'extension/')); this.style.backgroundSize='cover'; } @@ -29112,7 +29274,7 @@ } } else if(lib.card[bg].image){ - if(lib.card[bg].image.indexOf('character:')==0){ + if(lib.card[bg].image.startsWith('character:')){ this.setBackground(lib.card[bg].image.slice(10),'character'); } else{ @@ -29147,7 +29309,7 @@ this.insertBefore(this.node.framebg,this.firstChild); } if(img){ - if(img.indexOf('ext:')==0){ + if(img.startsWith('ext:')){ this.node.avatar.setBackgroundImage(img.replace(/^ext:/,'extension/')); this.node.avatar.style.backgroundSize='cover'; } @@ -29156,7 +29318,7 @@ } } else if(lib.card[bg].image){ - if(lib.card[bg].image.indexOf('character:')==0){ + if(lib.card[bg].image.startsWith('character:')){ this.node.avatar.setBackground(lib.card[bg].image.slice(10),'character'); } else{ @@ -29179,7 +29341,7 @@ } else if(typeof lib.card[bg].image=='string'&&!lib.card[bg].fullskin){ if(img){ - if(img.indexOf('ext:')==0){ + if(img.startsWith('ext:')){ this.setBackgroundImage(img.replace(/^ext:/,'extension/')); this.style.backgroundSize='cover'; } @@ -29512,6 +29674,33 @@ finish:function(){ this.finished=true; }, + putStepCache:function(key,value){ + if(!this._stepCache){ + this._stepCache = {}; + } + this._stepCache[key] = value; + }, + getStepCache:function(key){ + if(!this._stepCache)return undefined; + return this._stepCache[key]; + }, + clearStepCache:function(key){ + if(key !== undefined && key !== null){ + delete this._stepCache[key]; + } + delete this._stepCache; + }, + callFuncUseStepCache:function(prefix,func,params){ + if(typeof func != 'function')return; + if(_status.closeStepCache)return func.apply(null,params); + var cacheKey = "["+prefix+"]"+get.paramToCacheKey.apply(null,params); + var ret = this.getStepCache(cacheKey); + if(ret === undefined || ret === null){ + ret = func.apply(null,params); + this.putStepCache(cacheKey,ret); + } + return ret; + }, putTempCache:function(key1,key2,value){ if(!this._tempCache){ this._tempCache = {}; @@ -29912,6 +30101,7 @@ if((this.name==='gain'||this.name==='lose')&&!_status.gameDrawed) return; if(name==='gameDrawEnd') _status.gameDrawed=true; if(name==='gameStart'){ + lib.announce.publish('gameStart',{}); if(_status.brawl&&_status.brawl.gameStart){ _status.brawl.gameStart(); } @@ -29993,7 +30183,7 @@ listAdded={}; var notemp=player.skills.slice(0); for(var j in player.additionalSkills){ - if(j.indexOf('hidden:')!=0) notemp.addArray(player.additionalSkills[j]); + if(!j.startsWith('hidden:')) notemp.addArray(player.additionalSkills[j]); } for(var j in player.tempSkills){ if(notemp.contains(j)) continue; @@ -30128,7 +30318,7 @@ dialog:{ add:function(item,noclick,zoom){ if(typeof item=='string'){ - if(item.indexOf('###')==0){ + if(item.startsWith('###')){ var items=item.slice(3).split('###'); this.add(items[0],noclick,zoom); this.addText(items[1],items[1].length<=20,zoom); @@ -30176,7 +30366,7 @@ return item; }, addText:function(str,center){ - if(str&&str.indexOf(''+str+''); } @@ -31041,10 +31231,10 @@ const del=groupSort(a)-groupSort(b); if(del!=0) return del; let aa=a,bb=b; - if(a.indexOf('_')!=-1){ + if(a.includes('_')){ a=a.slice(a.indexOf('_')+1); } - if(b.indexOf('_')!=-1){ + if(b.includes('_')){ b=b.slice(b.indexOf('_')+1); } if(a!=b){ @@ -31069,10 +31259,10 @@ var del=typeSort(a)-typeSort(b); if(del!=0) return del; var aa=a,bb=b; - if(a.indexOf('_')!=-1){ + if(a.includes('_')){ a=a.slice(a.indexOf('_')+1); } - if(b.indexOf('_')!=-1){ + if(b.includes('_')){ b=b.slice(b.indexOf('_')+1); } if(a!=b){ @@ -31114,10 +31304,10 @@ }, capt:function(a,b){ var aa=a,bb=b; - if(aa.indexOf('_')!=-1){ + if(aa.includes('_')){ aa=aa.slice(aa.indexOf('_')+1); } - if(bb.indexOf('_')!=-1){ + if(bb.includes('_')){ bb=bb.slice(bb.indexOf('_')+1); } if(aa!=bb){ @@ -31864,7 +32054,7 @@ if(info[3].contains('dualside')&&info[4]){ player.storage.dualside=[list[i],player.hp,player.maxHp]; for(var j=0;j{ var numberOfCardsToDraw=cards.length; cards.forEach(value=>{ - if(lib.config.mode=='stone'&&_status.mode=='deck'&&!player.isMin()&&get.type(value).indexOf('stone')==0){ + if(lib.config.mode=='stone'&&_status.mode=='deck'&&!player.isMin()&&get.type(value).startsWith('stone')){ var stonecard=get.stonecard(1,player.career); if(stonecard.length){ numberOfCardsToDraw-=stonecard.length; @@ -33470,12 +33660,187 @@ ['stab','image/card/cisha.png'] ]), natureSeparator:'|', + namePrefix:new Map([ + ['界',{ + color:'#fdd559', + nature:'soilmm', + }], + ['谋',{ + color:'#def7ca', + nature:'woodmm', + }], + ['武',{ + color:'#fd8359', + nature:'soilmm', + }], + ['乐',{ + color:'#f7f4fc', + nature:'keymm', + }], + ['神',{ + color:'#faecd1', + nature:'orangemm', + }], + ['族',{ + color:'#ee9ac7', + nature:'firemm', + }], + ['晋',{ + color:'#f3c5ff', + nature:'blackmm', + }], + ['侠',{ + color:'#eeeeee', + nature:'qunmm', + }], + ['起',{ + color:'#c3f9ff', + nature:'thundermm', + }], + ['承',{ + color:'#c3f9ff', + nature:'thundermm', + }], + ['用间',{ + color:'#c3f9ff', + nature:'thundermm', + }], + ['战役篇',{ + color:'#c3f9ff', + nature:'thundermm', + showName:'战', + }], + ['武将传',{ + color:'#c3f9ff', + nature:'thundermm', + showName:'传', + }], + ['将',{ + nature:'firemm', + }], + ['新杀',{ + color:'#fefedc', + nature:'metalmm', + showName:'新', + }], + ['旧',{ + color:'#a4a4a4', + nature:'black', + }], + ['旧界',{ + color:'#a4a4a4', + nature:'black', + }], + ['节钺',{ + color:'#a4a4a4', + nature:'black', + }], + ['毅重',{ + color:'#a4a4a4', + nature:'black', + }], + ['★SP',{ + showName:'★', + }], + ['K系列',{ + showName:'K', + }], + ['经典',{ + showName:'典', + }], + ['君',{ + color:'#fefedc', + nature:'shenmm', + }], + ['骰子',{ + getSpan:()=>{ + return `🎲`; + } + }], + ['SP',{ + getSpan:(prefix,name)=>{ + return `SP`; + }, + }], + ['OL',{ + getSpan:(prefix,name)=>{ + return `OL`; + }, + }], + ['RE',{ + getSpan:(prefix,name)=>{ + return `RE`; + }, + }], + ['手杀',{ + getSpan:(prefix,name)=>{ + const simple=(lib.config.buttoncharacter_prefix=='simple'); + if(lib.characterPack.shiji&&name in lib.characterPack.shiji){ + for(let i in lib.characterSort.shiji){ + if(lib.characterSort.shiji[i].includes(name)){ + prefix=get.translation(i).slice(-1); + break; + } + } + if(simple) return `${prefix}`; + return `${prefix}`; + } + if(simple) return '手杀'; + return `📱`; + }, + }], + ['TW',{ + getSpan:(prefix,name)=>{ + return `TW`; + }, + }], + ['TW神',{ + getSpan:(prefix,name)=>{ + return `${get.prefixSpan('TW')}${get.prefixSpan('神')}` + }, + }], + ['TW将',{ + getSpan:(prefix,name)=>{ + return `${get.prefixSpan('TW')}${get.prefixSpan('将')}` + }, + }], + ['OL神',{ + getSpan:(prefix,name)=>{ + return `${get.prefixSpan('OL')}${get.prefixSpan('神')}` + }, + }], + ['旧神',{ + getSpan:(prefix,name)=>{ + return `${get.prefixSpan('旧')}${get.prefixSpan('神')}` + }, + }], + ['旧晋',{ + getSpan:(prefix,name)=>{ + return `${get.prefixSpan('旧')}${get.prefixSpan('晋')}` + }, + }], + ['新杀SP',{ + getSpan:(prefix,name)=>{ + return `${get.prefixSpan('新杀')}${get.prefixSpan('SP')}` + }, + }], + ['界SP',{ + getSpan:(prefix,name)=>{ + return `${get.prefixSpan('界')}${get.prefixSpan('SP')}` + }, + }], + ['S特神',{ + getSpan:(prefix,name)=>{ + return `${get.prefixSpan('★')}${get.prefixSpan('神')}` + }, + }], + ]), groupnature:{ - shen:'thunder', + shen:'shen', wei:'water', shu:'soil', wu:'wood', - qun:'metal', + qun:'qun', western:'thunder', key:'key', jin:'thunder', @@ -33532,6 +33897,13 @@ game.callHook("addNature",[nature,translation,config]); return nature; }, + //判断卡牌信息/事件是否有某个属性 + hasNature:(item,nature,player)=>{ + var natures=get.natureList(item,player); + if(!nature) return natures.length>0; + if(nature=='linked') return natures.some(n=>lib.linked.includes(n)); + return get.is.sameNature(natures,nature); + }, //设置卡牌信息/事件的属性 setNature:(item,nature,addNature)=>{ if(!nature) nature=[]; @@ -33735,48 +34107,34 @@ const backgroundMusicSetting=ui[aozhan?'aozhan_bgm':'background_music_setting'],config=backgroundMusicSetting._link.config; config.updatex.call(backgroundMusicSetting,[]); }, - updateBackground:function(){ - var background=(_status.tempBackground||lib.config.image_background); + updateBackground:()=>{ + const background=_status.tempBackground||lib.config.image_background; ui.background.delete(); - ui.background=ui.create.div('.background'); - + const uiBackground=ui.background=ui.create.div('.background'),style=uiBackground.style; if(lib.config.image_background_blur){ - ui.background.style.filter='blur(8px)'; - ui.background.style.webkitFilter='blur(8px)'; - ui.background.style.transform='scale(1.05)'; - } - else{ - ui.background.style.filter=''; - ui.background.style.webkitFilter=''; - ui.background.style.transform=''; - } - - document.body.insertBefore(ui.background,document.body.firstChild); - if(background.indexOf('ext:')==0){ - ui.background.setBackgroundImage('extension/'+background.slice(4)); + style.filter='blur(8px)'; + style.webkitFilter='blur(8px)'; + style.transform='scale(1.05)'; } + document.body.insertBefore(uiBackground,document.body.firstChild); + if(background.startsWith('db:')) uiBackground.setBackgroundDB(background.slice(3)); + else if(background.startsWith('ext:')) uiBackground.setBackgroundImage(`extension/${background.slice(4)}`); else if(background=='default'){ - ui.background.animate('start'); - ui.background.style.backgroundImage="none"; + uiBackground.animate('start'); + style.backgroundImage='none'; } - else if(background.indexOf('custom_')==0){ - ui.background.style.backgroundImage="none"; - game.getDB('image',background,function(fileToLoad){ + else if(background.startsWith('custom_')){ + style.backgroundImage='none'; + game.getDB('image',background).then(fileToLoad=>{ if(!fileToLoad) return; - var fileReader = new FileReader(); - fileReader.onload = function(fileLoadedEvent) - { - var data = fileLoadedEvent.target.result; - ui.background.style.backgroundImage='url('+data+')'; - }; + const fileReader = new FileReader(); + fileReader.onload=fileLoadedEvent=>style.backgroundImage=`url(${fileLoadedEvent.target.result})`; fileReader.readAsDataURL(fileToLoad, "UTF-8"); }); } - else{ - ui.background.setBackgroundImage('image/background/'+background+'.jpg'); - } - ui.background.style.backgroundSize='cover'; - ui.background.style.backgroundPosition='50% 50%'; + else uiBackground.setBackgroundImage(`image/background/${background}.jpg`); + style.backgroundSize='cover'; + style.backgroundPosition='50% 50%'; }, //Generate a beatmap using the given BPM, beats, and offset //用给定的BPM、节拍和偏移生成谱面 @@ -33848,6 +34206,17 @@ } return next; }, + callFuncUseStepCache:function(prefix,func,params){ + if(typeof func != 'function')return; + if(_status.closeStepCache || !_status.event)return func.apply(null,params); + var cacheKey = "["+prefix+"]"+get.paramToCacheKey.apply(null,params); + var ret = _status.event.getStepCache(cacheKey); + if(ret === undefined || ret === null){ + ret = func.apply(null,params); + _status.event.putStepCache(cacheKey,ret); + } + return ret; + }, getRarity:function(name){ var rank=lib.rank.rarity; if(rank.legend.contains(name)) return 'legend'; @@ -34077,7 +34446,7 @@ game.addVideo('changeLand',player,url); const parsedPath=lib.path.parse(url); delete parsedPath.base; - if(!parsedPath.dir) parsedPath.dir='image/card'; + if(!parsedPath.dir) parsedPath.dir='image/card/'; if(!parsedPath.ext) parsedPath.ext='.jpg'; game.broadcastAll((formattedPath,name,skill,player)=>{ const node=ui.create.div('.background.upper.land'); @@ -34425,10 +34794,10 @@ } else{ if(ui.confirm&&ui.confirm.str){ - if(ui.confirm.str.indexOf('c')!=-1){ + if(ui.confirm.str.includes('c')){ ui.click.cancel(); } - else if(ui.confirm.str.indexOf('o')!=-1){ + else if(ui.confirm.str.includes('o')){ ui.click.ok(); } } @@ -34495,7 +34864,7 @@ delete game.ws; } var str=''; - if(ip.indexOf('wss://')!=0&&ip.indexOf('ws://')!=0) str=(get.config('wss_mode','connect')?'wss://':'ws://'); + if(!ip.startsWith('wss://')&&!ip.startsWith('ws://')) str=(get.config('wss_mode','connect')?'wss://':'ws://'); game.ws=new WebSocket(str+ip+''); } catch(e){ @@ -34577,8 +34946,8 @@ else if(typeof argument=='function') onError=argument; if(_status.video) break; } - if(path.indexOf('ext:')==0) path=path.replace(/^ext:/,'extension/'); - else if(path.indexOf('db:')!=0) path=`audio/${path}`; + if(path.startsWith('ext:')) path=path.replace(/^ext:/,'extension/'); + else if(!path.startsWith('db:')) path=`audio/${path}`; if(!lib.config.repeat_audio&&_status.skillaudio.contains(path)) return; _status.skillaudio.add(path); game.addVideo('playAudio',null,path); @@ -34588,18 +34957,13 @@ audio.volume=lib.config.volumn_audio/8; audio.addEventListener('ended',()=>audio.remove()); audio.onerror=event=>{ - if(audio._changed){ - audio.remove(); - if(onError) onError(event); - return; - } - audio.src=`${lib.assetURL}audio/${path}.ogg`; - audio._changed=true; + audio.remove(); + if(onError) onError(event); }; //Some browsers do not support "autoplay", so "oncanplay" listening has been added audio.oncanplay=()=>Promise.resolve(audio.play()).catch(()=>void 0); new Promise((resolve,reject)=>{ - if(path.indexOf('db:')==0) game.getDB('image',path.slice(3)).then(octetStream=>resolve(get.objectURL(octetStream)),reject); + if(path.startsWith('db:')) game.getDB('image',path.slice(3)).then(octetStream=>resolve(get.objectURL(octetStream)),reject); else if(lib.path.extname(path)) resolve(`${lib.assetURL}${path}`); else resolve(`${lib.assetURL}${path}.mp3`); }).then(resolvedPath=>{ @@ -34658,7 +35022,7 @@ else if(info.audioname.includes(player.name2)&&(!info.audioname2||!info.audioname2[player.name2])) audioName+='_'+player.name2; } if(typeof audioInfo=='string'){ - if(audioInfo.indexOf('db:')==0){ + if(audioInfo.startsWith('db:')){ audioInfo=audioInfo.split(':'); if(audioInfo.length<4) return; if(audioInfo[3]=='true') game.playAudio(`${audioInfo[0]}:${audioInfo[1]}`,audioInfo[2],`${audioName}.${audioInfo[4]||'mp3'}`); @@ -34668,7 +35032,7 @@ game.playAudio(`${audioInfo[0]}:${audioInfo[1]}`,audioInfo[2],`${audioName}${Math.floor(audioInfo[3]*Math.random())+1}.${audioInfo[4]||'mp3'}`); } } - else if(audioInfo.indexOf('ext:')==0){ + else if(audioInfo.startsWith('ext:')){ audioInfo=audioInfo.split(':'); if(audioInfo.length<3) return; if(audioInfo[2]=='true') game.playAudio(`${audioInfo[0]}:${audioInfo[1]}`,`${audioName}.${audioInfo[3]||'mp3'}`); @@ -34737,39 +35101,35 @@ }; ui.window.appendChild(audio); }, - playBackgroundMusic:function(){ + playBackgroundMusic:()=>{ if(lib.config.background_music=='music_off'){ ui.backgroundMusic.src=''; + return; } - else if(_status._aozhan==true&&lib.config.mode_config.guozhan.aozhan_bgm!='disabled'){ - var aozhan=_status.tempAozhan||lib.config.mode_config.guozhan.aozhan_bgm; - if(Array.isArray(aozhan)){ - aozhan=aozhan.randomGet('disabled',_status.currentAozhan)||lib.config.mode_config.guozhan.aozhan_bgm; - } - if(aozhan=='random'){ - aozhan=Object.keys(lib.mode.guozhan.config.aozhan_bgm.item).randomGet('disabled','random',_status.currentAozhan); - } + if(_status._aozhan){ + const aozhanBGMConfiguration=lib.config.mode_config.guozhan.aozhan_bgm; + if(aozhanBGMConfiguration=='disabled') return; + let aozhan=_status.tempAozhan||aozhanBGMConfiguration; + if(Array.isArray(aozhan)) aozhan=aozhan.randomGet('disabled',_status.currentAozhan)||aozhanBGMConfiguration; + if(aozhan=='random') aozhan=Object.keys(lib.mode.guozhan.config.aozhan_bgm.item).randomGet('disabled','random',_status.currentAozhan); _status.currentAozhan=aozhan; - ui.backgroundMusic.src=lib.assetURL+(aozhan.indexOf('ext:')==0?'extension/'+aozhan.slice(4):'audio/background/aozhan_'+aozhan+'.mp3'); + if(aozhan.startsWith('db:')) game.getDB('image',aozhan.slice(3)).then(result=>ui.backgroundMusic.src=result); + else if(aozhan.startsWith('ext:')) ui.backgroundMusic.src=`${lib.assetURL}extension/${aozhan.slice(4)}`; + else ui.backgroundMusic.src=`${lib.assetURL}audio/background/aozhan_${aozhan}.mp3`; + return; } - else{ - var music=_status.tempMusic||lib.config.background_music; - if(Array.isArray(music)){ - music=music.randomGet('music_off',_status.currentMusic)||lib.config.background_music; - } - if(music=='music_random'){ - music=lib.config.all.background_music.randomGet('music_off','music_random',_status.currentMusic); - } - _status.currentMusic=music; - if(music=='music_custom'){ - if(lib.config.background_music_src){ - ui.backgroundMusic.src=lib.config.background_music_src; - } - } - else{ - ui.backgroundMusic.src=lib.assetURL+(music.indexOf('ext:')==0?'extension/'+music.slice(4):'audio/background/'+music+'.mp3'); - } + let music=_status.tempMusic||lib.config.background_music; + if(Array.isArray(music)) music=music.randomGet('music_off',_status.currentMusic)||lib.config.background_music; + if(music=='music_random') music=lib.config.all.background_music.randomGet('music_off','music_random',_status.currentMusic); + _status.currentMusic=music; + if(music=='music_custom'){ + const backgroundMusicSourceConfiguration=lib.config.background_music_src; + if(backgroundMusicSourceConfiguration) ui.backgroundMusic.src=backgroundMusicSourceConfiguration; + return; } + if(music.startsWith('db:')) game.getDB('image',music.slice(3)).then(result=>ui.backgroundMusic.src=result); + else if(music.startsWith('ext:')) ui.backgroundMusic.src=`${lib.assetURL}extension/${music.slice(4)}`; + else ui.backgroundMusic.src=`${lib.assetURL}audio/background/${music}.mp3`; }, import:function(type,content,url){ if(type=='extension'){ @@ -34873,7 +35233,7 @@ if(!object||!libConfig[`${extensionName}_enable`]) return; if(!noEval) lib.init.eval(object); const config=Object.keys(libConfig).reduce((constructingConfig,key)=>{ - if(key!=extensionName&&key.indexOf(extensionName)==0) constructingConfig[key.slice(11+name.length)]=libConfig[key]; + if(key!=extensionName&&key.startsWith(extensionName)) constructingConfig[key.slice(11+name.length)]=libConfig[key]; return constructingConfig; },{}); try{ @@ -35129,10 +35489,10 @@ else{ current2=current; } - if(current.indexOf('theme')==0){ + if(current.startsWith('theme')){ game.print(current.slice(6)); } - else if(current.indexOf('image/skin')==0){ + else if(current.startsWith('image/skin')){ game.print(current.slice(11)); } else{ @@ -36576,7 +36936,7 @@ }, exit:function(){ var ua=navigator.userAgent.toLowerCase(); - var ios=ua.indexOf('iphone')!=-1||ua.indexOf('ipad')!=-1||ua.indexOf('macintosh')!=-1; + var ios=ua.includes('iphone')||ua.includes('ipad')||ua.includes('macintosh'); //electron if(typeof window.process=='object'&&typeof window.require=='function'){ var versions=window.process.versions; @@ -36712,7 +37072,7 @@ noinput=true; } else if(typeof arguments[i]=='string'){ - if(arguments[i].indexOf('###')==0){ + if(arguments[i].startsWith('###')){ var list=arguments[i].slice(3).split('###'); str=list[0]; str2=list[1]; @@ -37499,7 +37859,7 @@ removeExtension:(extensionName,keepFile)=>{ const prefix=`extension_${extensionName}`; Object.keys(lib.config).forEach(key=>{ - if(key.indexOf(prefix)==0) game.saveConfig(key); + if(key.startsWith(prefix)) game.saveConfig(key); }); localStorage.removeItem(`${lib.configprefix}${prefix}`); game.deleteDB('data',prefix); @@ -38094,7 +38454,7 @@ if(modecharacters){ if(get.mode()=='guozhan'){ if(modecharacters[newvid.name1]){ - if(newvid.name1.indexOf('gz_shibing')==0){ + if(newvid.name1.startsWith('gz_shibing')){ newvid.name1=newvid.name1.slice(3,11); } else{ @@ -38102,7 +38462,7 @@ } } if(modecharacters[newvid.name2]){ - if(newvid.name2.indexOf('gz_shibing')==0){ + if(newvid.name2.startsWith('gz_shibing')){ newvid.name2=newvid.name2.slice(3,11); } else{ @@ -38119,10 +38479,10 @@ } } } - if(newvid.name1&&newvid.name1.indexOf('subplayer_')==0){ + if(newvid.name1&&newvid.name1.startsWith('subplayer_')){ newvid.name1=newvid.name1.slice(10,newvid.name1.lastIndexOf('_')); } - if(newvid.name2&&newvid.name2.indexOf('subplayer_')==0){ + if(newvid.name2&&newvid.name2.startsWith('subplayer_')){ newvid.name1=newvid.name2.slice(10,newvid.name1.lastIndexOf('_')); } lib.videos.unshift(newvid); @@ -38383,6 +38743,7 @@ _status,lib,game,ui,get,ai); } } + event.clearStepCache(); event.step++; } } @@ -38601,7 +38962,7 @@ } if(lib.config.popequip&&get.is.phoneLayout()&& - typeof event.position=='string'&&event.position.indexOf('e')!=-1&& + typeof event.position=='string'&&event.position.includes('e')&& player.node.equips.querySelector('.card.selectable')){ player.node.equips.classList.add('popequip'); auto_confirm=false; @@ -39334,6 +39695,7 @@ phaseLoop:function(player){ var next=game.createEvent('phaseLoop'); next.player=player; + next._isStandardLoop=true; next.setContent('phaseLoop'); }, gameDraw:function(player,num){ @@ -39888,7 +40250,7 @@ if(drawDeck&&drawDeck.drawDeck) players[0].draw(num2,drawDeck); else players[0].draw(num2); }, - finishSkill:(i,sub)=>{ + finishSkill:(i,history)=>{ const mode=get.mode(),info=lib.skill[i],iInfo=`${i}_info`; if(info.alter){ lib.translate[`${iInfo}_origin`]=lib.translate[iInfo]; @@ -39931,14 +40293,25 @@ }); } if(info.inherit){ - const skill=lib.skill[info.inherit]; - if(skill) Object.keys(skill).forEach(value=>{ - if(info[value]!=undefined) return; - if(value=='audio'&&(typeof info[value]=='number'||typeof info[value]=='boolean')) info[value]=info.inherit; - else info[value]=skill[value]; - }); - if(lib.translate[i]==undefined) lib.translate[i]=lib.translate[info.inherit]; - if(lib.translate[iInfo]==undefined) lib.translate[iInfo]=lib.translate[`${info.inherit}_info`]; + var inheritHistory=[]; + while(true){ + if(!info.inherit) break; + if(inheritHistory.includes(info.inherit)){ + console.trace(`Inherit Error: ${info.inherit} in ${i}'s inherit forms a deadlock`); + break; + } + inheritHistory.push(info.inherit); + + const inheritInfo=lib.skill[info.inherit]; + if(inheritInfo) Object.keys(inheritInfo).forEach(value=>{ + if(info[value]!=undefined) return; + if(value=='audio'&&(typeof info[value]=='number'||typeof info[value]=='boolean')) info[value]=info.inherit; + else info[value]=inheritInfo[value]; + }); + if(lib.translate[i]==undefined) lib.translate[i]=lib.translate[info.inherit]; + if(lib.translate[`${i}_info`]==undefined) lib.translate[`${i}_info`]=lib.translate[`${info.inherit}_info`]; + if(!inheritInfo||!inheritInfo.inherit) info.inherit=void 0; + } } if(info.limited){ if(info.mark===undefined) info.mark=true; @@ -39947,16 +40320,26 @@ if(info.skillAnimation===undefined) info.skillAnimation=true; if(info.init===undefined) info.init=(player,skill)=>player.storage[skill]=false; } - if(info.subSkill&&!sub) Object.keys(info.subSkill).forEach(value=>{ - const iValue=`${i}_${value}`; - lib.skill[iValue]=info.subSkill[value]; - lib.skill[iValue].sub=true; - if(info.subSkill[value].name) lib.translate[iValue]=info.subSkill[value].name; - else lib.translate[iValue]=lib.translate[iValue]||lib.translate[i]; - if(info.subSkill[value].description) lib.translate[`${iValue}_info`]=info.subSkill[value].description; - if(info.subSkill[value].marktext) lib.translate[`${iValue}_bg`]=info.subSkill[value].marktext; - game.finishSkill(iValue,true); - }); + if(info.subSkill){ + let subSkillHistory=Array.isArray(history)?history:[]; + for(let value in info.subSkill){ + if(subSkillHistory.includes(value)){ + console.trace(`SubSkill Error: ${value} in ${i} forms a deadlock`); + continue; + } + let history=subSkillHistory.slice(0); + history.push(value); + + const iValue=`${i}_${value}`; + lib.skill[iValue]=info.subSkill[value]; + lib.skill[iValue].sub=true; + if(info.subSkill[value].name) lib.translate[iValue]=info.subSkill[value].name; + else lib.translate[iValue]=lib.translate[iValue]||lib.translate[i]; + if(info.subSkill[value].description) lib.translate[`${iValue}_info`]=info.subSkill[value].description; + if(info.subSkill[value].marktext) lib.translate[`${iValue}_bg`]=info.subSkill[value].marktext; + game.finishSkill(iValue,history); + } + } if(info.round){ const k=`${i}_roundcount`; if(typeof info.group=='string') info.group=[info.group,k]; @@ -40082,17 +40465,12 @@ checkMod:function(){ const argumentArray=Array.from(arguments),name=argumentArray[argumentArray.length-2]; let skills=argumentArray[argumentArray.length-1]; - if(skills.getSkills) skills=skills.getSkills(); - skills=skills.concat(lib.skill.global); - game.expandSkills(skills); - skills=skills.filter(skill=>{ - const info=get.info(skill); - return (info&&info.mod&&info.mod[name]); - }) - skills.sort((a,b)=>get.priority(a)-get.priority(b)); + if(skills.getSkills) skills=skills.getModableSkills(_status.event.useCache === true); const arg=argumentArray.slice(0,-2); skills.forEach(value=>{ - const result=get.info(value).mod[name].apply(this,arg); + var mod = get.info(value).mod[name]; + if(!mod)return; + const result=mod.apply(this,arg); if(typeof arg[arg.length-1]!='object'&&result!=undefined) arg[arg.length-1]=result; }); return arg[arg.length-1]; @@ -40594,13 +40972,13 @@ const caption=lib.version==lib.config.version?'扩展更新':`${lib.version}更新内容`; let players=null,cards=null; if(lib.version!=lib.config.version) lib.changeLog.forEach(value=>{ - if(value.indexOf('players://')==0) try{ + if(value.startsWith('players://')) try{ players=JSON.parse(value.slice(10)).filter(value=>lib.character[value]); } catch(e){ players=null; } - else if(value.indexOf('cards://')==0) try{ + else if(value.startsWith('cards://')) try{ cards=JSON.parse(value.slice(8)).filter(value=>lib.card[value]); } catch(e){ @@ -40859,15 +41237,25 @@ if(!player.storage.skill_blocker||!player.storage.skill_blocker.length) return out; return out.filter(value=>exclude&&exclude.includes(value)||!get.is.blocked(value,player)); }, - expandSkills:skills=>skills.addArray(skills.reduce((previousValue,currentValue)=>{ - const info=get.info(currentValue); - if(info){ - if(Array.isArray(info.group)) previousValue.push(...info.group); - else if(info.group) previousValue.push(info.group); + expandSkills:(skill,oldHistory)=>{ + let history=[]; + if(oldHistory) history.addArray(oldHistory); + if(Array.isArray(skill)){ + return skill.reduce((previous,current)=>previous.addArray(game.expandSkills(current,history)),[]); + } + + let info=get.info(skill); + if(!info){ + console.trace(`Cannot find skill: ${skill}`); + return history; + } + history.add(skill); + if(info.group){ + let group=Array.isArray(info.group)?info.group:[info.group]; + history.addArray(game.expandSkills([].addArray(group.filter(skill=>!history.includes(skill))),history)); } - else console.log(currentValue); - return previousValue; - },[])), + return history; + }, css:style=>Object.keys(style).forEach(value=>{ let uiStyle=ui.style[value]; if(!uiStyle){ @@ -40950,11 +41338,13 @@ editor:function(container,saveInput){ const createList=[]; const containerDelete=container.delete; + const editorpage=ui.create.div(container); //删除container的时候,删除创建的ul列表 container.delete=function(){ for (let i=createList.length-1;i>=0;i--){ createList[i].parentNode&&createList[i].parentNode.removeChild(createList[i]); } + Array.from(editorpage.children).forEach(v=>{v.style.background=''}); containerDelete.apply(this, arguments); } //创建ul列表 @@ -40964,13 +41354,14 @@ if (parent){ for(let i=0;iv.createMenu).filter(Boolean).forEach(v=>{v.style.fontSize=size.slice(0,-2)/game.documentZoom+'px'}); - container.listenTransition(()=>container.editor.refresh()); + Array.from(self.parentElement.children).map(v=>v.ul).filter(Boolean).forEach(v=>{v.style.fontSize=size.slice(0,-2)/game.documentZoom+'px'}); + setTimeout(()=>container.editor.refresh(),0); game.saveConfig('codeMirror_fontSize',size); closeMenu.call(self); }; const ul=createMenu(pos,self,list,click); - this.createMenu=ul; + this.ul=ul; }else{ createMenu(null,self); } @@ -41154,6 +41544,12 @@ } } if(cardTempNameConfig=='default') getApplyNode._tempName.classList.add('vertical'); + if(datasetNature.length>0){ + node.dataset.nature=datasetNature; + }else{ + delete node.dataset.nature; + node.classList.add(datasetNature); + } }else{ if(get.position(card)=='j'&&card.viewAs&&card.viewAs!=card.name) { cardName=card.viewAs; @@ -41174,16 +41570,16 @@ node.classList.add('tempimage'); let img=lib.card[cardName].image; if(img){ - if(img.indexOf('db:')==0){ + if(img.startsWith('db:')){ img=img.slice(3); } - else if(img.indexOf('ext:')!=0){ + else if(!img.startsWith('ext:')){ img=null; } } if(lib.card[cardName].fullskin){ if(img){ - if(img.indexOf('ext:')==0){ + if(img.startsWith('ext:')){ bg.setBackgroundImage(img.replace(/^ext:/,'extension/')); } else{ @@ -41206,7 +41602,7 @@ } else if(lib.card[cardName].fullimage){ if(img){ - if(img.indexOf('ext:')==0){ + if(img.startsWith('ext:')){ bg.setBackgroundImage(img.replace(/^ext:/,'extension/')); bg.style.backgroundSize='cover'; } @@ -41215,7 +41611,7 @@ } } else if(lib.card[cardName].image){ - if(lib.card[cardName].image.indexOf('character:')==0){ + if(lib.card[cardName].image.startsWith('character:')){ bg.setBackground(lib.card[cardName].image.slice(10),'character'); } else{ @@ -41238,7 +41634,7 @@ } else if(typeof lib.card[cardName].image=='string'&&!lib.card[cardName].fullskin){ if(img){ - if(img.indexOf('ext:')==0){ + if(img.startsWith('ext:')){ bg.setBackgroundImage(img.replace(/^ext:/,'extension/')); bg.style.backgroundSize='cover'; } @@ -41253,10 +41649,9 @@ else{ console.warn('卡牌图片解析失败'); } - } - if(datasetNature.length>0){ - node.dataset.nature=datasetNature; - }else{ + if(datasetNature.length>0){ + node.classList.add(datasetNature); + } delete node.dataset.nature; } node.innerHTML+=`${cardTempNameConfig=='default'?get.verticalStr(tempname):tempname}`; @@ -42583,10 +42978,10 @@ list.sort(function(a,b){ a=a[0];b=b[0]; var aa=a,bb=b; - if(aa.indexOf('_')!=-1){ + if(aa.includes('_')){ aa=aa.slice(aa.indexOf('_')+1); } - if(bb.indexOf('_')!=-1){ + if(bb.includes('_')){ bb=bb.slice(bb.indexOf('_')+1); } if(aa!=bb){ @@ -42784,7 +43179,7 @@ if(fileToLoad){ if(!lib.config.customBackgroundMusic) lib.config.customBackgroundMusic={}; var name=fileToLoad.name; - if(name.indexOf('.')!=-1){ + if(name.includes('.')){ name=name.slice(0,name.indexOf('.')); } var link=(game.writeFile?'cdv_':'custom_')+name; @@ -42923,9 +43318,9 @@ var images=[],audios=[],fonts=[],directories={},directoryList=[]; Object.keys(zip.files).forEach(file=>{ const parsedPath=lib.path.parse(file),directory=parsedPath.dir,fileExtension=parsedPath.ext.toLowerCase(); - if(directory.indexOf('audio')==0&&(fileExtension=='.mp3'||fileExtension=='.ogg')) audios.push(file); - else if(directory.indexOf('font')==0&&fileExtension=='.woff2') fonts.push(file); - else if(directory.indexOf('image')==0&&(fileExtension=='.jpg'||fileExtension=='.png')) images.push(file); + if(directory.startsWith('audio')&&(fileExtension=='.mp3'||fileExtension=='.ogg')) audios.push(file); + else if(directory.startsWith('font')&&fileExtension=='.woff2') fonts.push(file); + else if(directory.startsWith('image')&&(fileExtension=='.jpg'||fileExtension=='.png')) images.push(file); else return; if(!directories[directory]){ directories[directory]=[]; @@ -43468,7 +43863,7 @@ for(var i=0;i该武将包不可被隐藏',page); } - else if(mode.indexOf('mode_')!=0){ + else if(!mode.startsWith('mode_')){ ui.create.div('.config.pointerspan','隐藏武将包',page,function(){ if(this.firstChild.innerHTML=='隐藏武将包'){ if(confirm('真的要隐藏“'+get.translation(mode+'_character_config')+'”武将包吗?\n建议使用“关闭”而不是“隐藏”功能,否则将会影响其他相关武将包的正常运行!')){ @@ -43830,13 +44225,9 @@ for(var i=0;i{ + if(key.startsWith('mode_')) createModeConfig(key,start.firstChild); + }); var active=start.firstChild.querySelector('.active'); if(!active){ active=start.firstChild.firstChild; @@ -43916,7 +44307,7 @@ for(var i=0;i隐藏卡牌包',page,function(){ if(this.firstChild.innerHTML=='隐藏卡牌包'){ this.firstChild.innerHTML='卡牌包将在重启后隐藏'; @@ -44106,7 +44497,7 @@ game.saveConfig('hiddenCardPack',lib.config.hiddenCardPack); }); } - if(mode.indexOf('mode_')!=0&&lib.cardPile[mode]){ + if(!mode.startsWith('mode_')&&lib.cardPile[mode]){ var cardpileNodes=[]; var cardpileexpanded=false; if(!lib.config.bannedpile[mode]){ @@ -44281,13 +44672,9 @@ if(connectMenu&&!lib.connectCardPack.contains(lib.config.all.cards[i])) continue; createModeConfig(lib.config.all.cards[i],start.firstChild); } - if(!connectMenu){ - for(var i in lib.cardPack){ - if(i.indexOf('mode_')==0){ - createModeConfig(i,start.firstChild); - } - } - } + if(!connectMenu) Object.keys(lib.cardPack).forEach(key=>{ + if(key.startsWith('mode_')) createModeConfig(key,start.firstChild); + }); var active=start.firstChild.querySelector('.active'); if(!active){ active=start.firstChild.firstChild; @@ -44478,7 +44865,7 @@ var node=start.firstChild.childNodes[i]; if(node.mode=='get') continue; if(node.mode=='create') continue; - if(node.mode&&node.mode.indexOf('extension_')==0){ + if(node.mode&&node.mode.startsWith('extension_')){ if(lib.config[node.mode+'_enable']){ node.classList.remove('off'); if(node.link) node.link.firstChild.classList.add('on'); @@ -44502,7 +44889,7 @@ } var togglePack=function(bool){ var name=this._link.config._name; - if(name.indexOf('extension_')==0){ + if(name.startsWith('extension_')){ if(bool){ game.saveConfig(name,true); } @@ -44530,7 +44917,7 @@ var page=ui.create.div(''); page.style.paddingBottom='10px'; var node; - if(mode.indexOf('extension_')==0){ + if(mode.startsWith('extension_')){ node=ui.create.div('.menubutton.large',mode.slice(10),position,clickMode); } else{ @@ -44546,7 +44933,7 @@ if(i=='game') continue; var cfg=copyObj(lib.extensionMenu[mode][i]); var j; - if(mode.indexOf('extension_')==0){ + if(mode.startsWith('extension_')){ j=mode+'_'+i; } else{ @@ -44783,7 +45170,25 @@ dash2.content.pack.list.push(dash2.pile.childNodes[i].link); } str+=',package:'+get.stringify({ - character:dash1.content.pack, + //替换die audio,加上扩展名 + character:(pack=>{ + var character=pack.character; + for (var key in character){ + var info=character[key]; + if(Array.isArray(info[4])){ + var tag=info[4].find(tag=>/^die:.+$/.test(tag)); + if(tag){ + info[4].remove(tag); + if(typeof game.readFile=='function'){ + info[4].push('die:ext:'+page.currentExtension+'/audio/die/'+tag.slice(tag.lastIndexOf('/')+1)); + }else{ + info[4].push('die:db:extension-'+page.currentExtension+':audio/die/'+tag.slice(tag.lastIndexOf('/')+1)); + } + } + } + } + return pack; + })(dash1.content.pack), card:dash2.content.pack, skill:dash3.content.pack, intro:introExtLine.querySelector('input').value||'', @@ -44792,10 +45197,13 @@ forumURL:forumExtLine.querySelector('input').value||'', version:versionExtLine.querySelector('input').value||'', }); - var files={character:[],card:[],skill:[]}; + var files={character:[],card:[],skill:[],audio:[]}; for(var i in dash1.content.image){ files.character.push(i); } + for(var i in dash1.content.audio){ + files.audio.push('audio/die/'+i); + } for(var i in dash2.content.image){ files.card.push(i); } @@ -44808,6 +45216,9 @@ for(var i in dash1.content.image){ extension[i]=dash1.content.image[i]; } + for(var i in dash1.content.audio){ + extension['audio/die/'+i]=dash1.content.audio[i]; + } for(var i in dash2.content.image){ extension[i]=dash2.content.image[i]; } @@ -45034,7 +45445,7 @@ } editnode.classList.remove('disabled'); }; - var clickButton=function(){ + var clickButton=lib.gnc.of(function*(){ if(currentButton==this){ resetEditor(); return; @@ -45065,9 +45476,34 @@ } } for(var i=0;i{ + if(typeof game.readFile=='function'){ + game.readFile(info[4][i].slice(4).replace('ext:','extension/'),arraybuffer=>{ + dieaudionode.arrayBuffer=arraybuffer; + resolve(); + },()=>{ + console.warn(`未找到${info[4][i].slice(4).replace('ext:','extension/')}阵亡配音`); + resolve(); + }); + }else{ + game.getDB('image',info[4][i].slice(7)).then(octetStream=>{ + dieaudionode.arrayBuffer=octetStream; + resolve(); + },()=>{ + console.warn(`未找到${info[4][i].slice(4)}阵亡配音`); + resolve(); + }); + } + }); + } } } @@ -45085,7 +45521,7 @@ editnode.classList.remove('disabled'); delnode.innerHTML='删除'; delnode.button=this; - } + }); var createButton=function(name,image){ var button=ui.create.div('.button.character'); button.link=name; @@ -45169,7 +45605,8 @@ character:{}, translate:{} }, - image:{} + image:{}, + audio:{} }; toggle.classList.add('on'); newCharacter.style.display=''; @@ -45185,7 +45622,8 @@ character:{}, translate:{} }, - image:{} + image:{}, + audio:{} }; var newCharacter; var toggle=ui.create.div('.config.more.on','创建武将
    >
    ',page,function(){ @@ -45255,18 +45693,65 @@ ui.create.div('.indent','姓名:',newCharacter).style.paddingTop='8px'; ui.create.div('.indent','介绍:',newCharacter).style.paddingTop='8px'; - ui.create.div('.indent','体力:',newCharacter).style.paddingTop='8px'; + ui.create.div('.indent','体力:',newCharacter).style.paddingTop='8px'; newCharacter.querySelector('input.new_name').onblur=updateButton; var sexes=ui.create.selectlist([ ['male','男'], ['female','女'], - ['none','无'], + ['double','双性'], + ['none','无'] ],null,ui.create.div('.indent','性别:',newCharacter)); - var grouplist=[]; - for(var i=0;i[lib.group[i],get.translation(lib.group[i])]); var groups=ui.create.selectlist(grouplist,null,ui.create.div('.indent','势力:',newCharacter)); + var dieaudio=ui.create.div('.die_audio',newCharacter,{textAlign:'left'}); + var dieaudiolabel=ui.create.node('label','阵亡配音:',dieaudio); + var dieaudioUpload=dieaudio.appendChild(document.createElement('input')); + dieaudioUpload.type='file'; + dieaudioUpload.accept='audio/*'; + dieaudioUpload.style.width='calc(100% - 100px)'; + dieaudioUpload.onchange=function(){ + var fileToLoad=dieaudioUpload.files[0]; + if(fileToLoad){ + console.log(fileToLoad); + var fileReader=new FileReader(); + fileReader.onload=function(fileLoadedEvent){ + var data=fileLoadedEvent.target.result; + var blob=new Blob([data]); + dieaudio.file=fileToLoad; + dieaudio.arrayBuffer=data; + dieaudio.blob=blob; + var new_name=newCharacter.querySelector('input.new_name'); + dieaudioUpload.style.display='none'; + dieaudiopreview.style.display= + dieaudiocancel.style.display=''; + dieaudiotag.src=window.URL.createObjectURL(blob); + }; + fileReader.readAsArrayBuffer(fileToLoad); + } + }; + var dieaudiotag=ui.create.node('audio',dieaudio); + var dieaudiopreview=ui.create.node('button',dieaudio,()=>{ + if(dieaudiotag.error){ + alert('您使用的客户端不支持预览此音频!') + } else dieaudiotag.play(); + }); + dieaudiopreview.innerHTML='播放'; + dieaudiopreview.style.display='none'; + var dieaudiocancel=ui.create.node('button',dieaudio,()=>{ + dieaudiopreview.style.display='none'; + dieaudiocancel.style.display='none'; + if(dieaudio.blob){ + window.URL.revokeObjectURL(dieaudio.blob); + dieaudiotag.src=null; + delete dieaudio.file; + delete dieaudio.arrayBuffer; + delete dieaudio.blob; + } + dieaudioUpload.value=''; + dieaudioUpload.style.display=''; + }); + dieaudiocancel.innerHTML='取消'; + dieaudiocancel.style.display='none'; var options=ui.create.div('.add_skill.options','主公BOSS仅点将可用
    隐匿技
    ',newCharacter); var addSkill=ui.create.div('.add_skill','添加技能
    ',newCharacter); var list=[]; @@ -45278,10 +45763,10 @@ list.sort(function(a,b){ a=a[0];b=b[0]; var aa=a,bb=b; - if(aa.indexOf('_')!=-1){ + if(aa.includes('_')){ aa=aa.slice(aa.indexOf('_')+1); } - if(bb.indexOf('_')!=-1){ + if(bb.includes('_')){ bb=bb.slice(bb.indexOf('_')+1); } if(aa!=bb){ @@ -45331,8 +45816,10 @@ } addSkillButton.onclick=function(){ for(var i=0;ivalue.text()).then(eval).then(loaded).catch(reason=>{ + }).then(response=>response.text()).then(eval).then(loaded).catch(reason=>{ console.log(reason); delete window.extension; loading.innerHTML='连接失败:'+(reason instanceof Error?reason.message:String(reason)); @@ -47057,47 +47552,31 @@ var li1=document.createElement('li'); var li2=document.createElement('li'); var li3=document.createElement('li'); - var trimurl=function(str){ - if(str==lib.updateURLS.github){ - return 'GitHub'; - } - if(str==lib.updateURLS.coding){ - return 'Coding'; - } - var index; - index=str.indexOf('://'); - if(index!=-1){ - str=str.slice(index+3); - } - index=str.indexOf('/'); - if(index!=-1){ - str=str.slice(0,index); - } - if(str.length>15){ - var list=str.split('.'); - if(list.length>1){ - list.shift(); - } - str=list[0]; - for(var i=1;i15){ - var list=str.split('.'); - if(list.length>1){ - list.pop(); - } - str=list[0]; - for(var i=1;i{ + const updateURLS=lib.updateURLS; + for(const key in updateURLS){ + const updateURL=updateURLS[key]; + if(url==updateURL) return lib.configMenu.general.config.update_link.item[key]; + } + let index=url.indexOf('://'); + if(index!=-1) url=url.slice(index+3); + index=url.indexOf('/'); + if(index!=-1) url=url.slice(0,index); + if(url.length>15){ + const list=url.split('.'); + if(list.length>1) list.shift(); + url=list.join('.'); + } + if(url.length>15){ + const list=url.split('.'); + if(list.length>1) list.pop(); + url=list.join('.'); + } + return url; } li1.innerHTML='游戏版本:'+lib.version+'

    '; li2.innerHTML='素材版本:'+(lib.config.asset_version||'无')+'

    '; - li3.innerHTML='更新地址:'+trimurl(lib.config.updateURL||lib.updateURL)+'

    '; + li3.innerHTML='更新地址:'+trimURL(lib.config.updateURL||lib.updateURL)+'

    '; li3.style.whiteSpace='nowrap'; li3.style.display='none';// coding @@ -47153,7 +47632,7 @@ str=files[i].slice(0,str); files.splice(i--,1); for(var j=0;jvoid 0); + if(!ui.backgroundMusic.played.length && lib.config.background_music != 'music_off') ui.backgroundMusic.play(); }, false); if(lib.config.cursor_style=='pointer'){ ui.window.classList.add('nopointer'); @@ -49824,7 +50303,7 @@ if(lib.config.change_skin_auto!='off'){ _status.skintimeout=setTimeout(ui.click.autoskin,parseInt(lib.config.change_skin_auto)); } - if(lib.config.border_style&&lib.config.border_style.indexOf('dragon_')==0){ + if(lib.config.border_style&&lib.config.border_style.startsWith('dragon_')){ ui.arena.dataset.framedecoration=lib.config.border_style.slice(7); } @@ -50615,7 +51094,7 @@ name:ui.create.div('.name',node), intro:ui.create.div('.intro',node) } - if(item.name&&item.name.indexOf('unknown')==0){ + if(item.name&&item.name.startsWith('unknown')){ if(item.node&&item.node.name_seat){ node.classList.add('cardbg'); ui.create.div('.avatar_name',node,get.translation(item.name)); @@ -50688,7 +51167,7 @@ str=item; link=item; } - if(str.indexOf(''; + if(!str.startsWith(''; var next=dialog.add(str); if(!noclick) next.firstChild.addEventListener(lib.config.touchscreen?'touchend':'click',ui.click.button); next.firstChild.link=link; @@ -51479,7 +51958,7 @@ }, skin:function(avatar,name,callback){ var num=1; - if(name.indexOf('gz_')==0){ + if(name.startsWith('gz_')){ name=name.slice(3); } if(lib.config.skin[name]){ @@ -54013,10 +54492,10 @@ var nameskin=name; var nameskin2=name; var gzbool=false; - if(nameskin.indexOf('gz_shibing')==0){ + if(nameskin.startsWith('gz_shibing')){ nameskin=nameskin.slice(3,11); } - else if(nameskin.indexOf('gz_')==0){ + else if(nameskin.startsWith('gz_')){ nameskin=nameskin.slice(3); gzbool=true; } @@ -54159,11 +54638,11 @@ } // 样式二 - if(lib.config.show_characternamepinyin=='showPinyin2'||lib.config.show_skillnamepinyin=='showPinyin2'){ + if(lib.config.show_characternamepinyin=='showPinyin2'||lib.config.show_skillnamepinyin=='showPinyin2'||lib.config.show_characternamepinyin=='showCodeIdentifier2'||lib.config.show_skillnamepinyin=='showCodeIdentifier2'){ var intro=ui.create.div('.characterintro',get.characterIntro(name),uiintro); - if(lib.config.show_characternamepinyin=='showPinyin2'){ - var charactername=get.rawName(name); - var characterpinyin=get.pinyin(charactername); + if(lib.config.show_characternamepinyin=='showPinyin2'||lib.config.show_characternamepinyin=='showCodeIdentifier2'){ + var charactername=get.rawName2(name); + var characterpinyin=lib.config.show_characternamepinyin=='showCodeIdentifier2'?name:get.pinyin(charactername); var nameinfo=get.character(name); var charactersex=get.translation(nameinfo[0]); const charactergroups=get.is.double(name,true); @@ -54199,8 +54678,8 @@ this.classList.add('active'); var skillname=get.translation(this.link); var skilltranslationinfo=get.skillInfoTranslation(this.link); - if(lib.config.show_skillnamepinyin=='showPinyin2'&&skillname!='阵亡'){ - var skillpinyin=get.pinyin(skillname); + if((lib.config.show_skillnamepinyin=='showPinyin2'||lib.config.show_skillnamepinyin=='showCodeIdentifier2')&&skillname!='阵亡'){ + var skillpinyin=lib.config.show_skillnamepinyin=='showCodeIdentifier2'?this.link:get.pinyin(skillname); intro2.innerHTML=''+skillname+''+''+'['+skillpinyin+']'+''+' '+skilltranslationinfo; }else{ intro2.innerHTML=''+skillname+''+skilltranslationinfo; @@ -54217,8 +54696,8 @@ for(var i=0;i'+''+'['+derivationpinyin+']'+''+' '+derivationtranslationinfo; }else{ intro2.innerHTML+='

    '+derivationname+''+derivationtranslationinfo; @@ -54247,7 +54726,66 @@ clickSkill.call(skillnode,'init'); }); } - if(e!=='init') game.trySkillAudio(this.link,playername); + // if(e!=='init') game.trySkillAudio(this.link,playername); + // 有bug,先用旧版 + if(lib.config.background_speak&&e!=='init'){ + var audioname=this.link; + if(info.audioname2&&info.audioname2[playername]){ + audioname=info.audioname2[playername]; + info=lib.skill[audioname]; + } + var audioinfo=info.audio; + var that=this; + var getIndex=function(i){ + if(typeof that.audioindex!='number'){ + that.audioindex=i; + } + that.audioindex++; + if(that.audioindex>i){ + that.audioindex=1; + } + return that.audioindex; + }; + if(typeof audioinfo=='string'){ + if(audioinfo.indexOf('ext:')==0){ + audioinfo=audioinfo.split(':'); + if(audioinfo.length==3){ + if(audioinfo[2]=='true'){ + game.playAudio('..','extension',audioinfo[1],audioname); + } + else{ + audioinfo[2]=parseInt(audioinfo[2]); + if(audioinfo[2]){ + game.playAudio('..','extension',audioinfo[1],audioname+getIndex(audioinfo[2])); + } + } + } + return; + } + else{ + audioname=audioinfo; + if(lib.skill[audioinfo]){ + audioinfo=lib.skill[audioinfo].audio; + } + } + } + else if(Array.isArray(audioinfo)){ + audioname=audioinfo[0]; + audioinfo=audioinfo[1]; + } + if(typeof audioinfo=='number'){ + if(Array.isArray(info.audioname)&&info.audioname.contains(playername)) audioname=audioname+'_'+playername; + game.playAudio('skill',audioname+getIndex(audioinfo)); + } + else if(audioinfo){ + if(Array.isArray(info.audioname)&&info.audioname.contains(playername)) audioname=audioname+'_'+playername; + game.playAudio('skill',audioname); + } + else if(true&&info.audio!==false){ + if(Array.isArray(info.audioname)&&info.audioname.contains(playername)) audioname=audioname+'_'+playername; + game.playSkillAudio(audioname,getIndex(2)); + } + } } }else{ // 样式一 @@ -54255,7 +54793,7 @@ if(showCharacterNamePinyin!='doNotShow'){ const characterIntroTable=ui.create.div('.character-intro-table',introduction),span=document.createElement('span'); span.style.fontWeight='bold'; - const nameInfo=get.character(name),exInfo=nameInfo[4],characterName=exInfo&&exInfo.includes('ruby')?lib.translate[name]:get.rawName(name); + const nameInfo=get.character(name),exInfo=nameInfo[4],characterName=exInfo&&exInfo.includes('ruby')?lib.translate[name]:get.rawName2(name); span.innerHTML=characterName; const ruby=document.createElement('ruby'); ruby.appendChild(span); @@ -54269,14 +54807,17 @@ rightParenthesisRP.textContent=')'; ruby.appendChild(rightParenthesisRP); characterIntroTable.appendChild(ruby); - const characterSexDiv=ui.create.div('.character-sex',characterIntroTable),exInfoSex=exInfo&&exInfo.find(value=>value.indexOf('sex:')==0),characterSex=exInfoSex?exInfoSex.split(':').pop():nameInfo[0]; + const characterSexDiv=ui.create.div('.character-sex',characterIntroTable),exInfoSex=exInfo&&exInfo.find(value=>value.startsWith('sex:')),characterSex=exInfoSex?exInfoSex.split(':').pop():nameInfo[0]; new Promise((resolve,reject)=>{ const imageName=`sex_${characterSex}`,information=lib.card[imageName]; - if(!information) resolve(`${lib.assetURL}image/card/${imageName}.png`); + if(!information) { + resolve(`${lib.assetURL}image/card/${imageName}.png`) + return; + }; const image=information.image; if(!image) resolve(`${lib.assetURL}image/card/${imageName}.png`); - else if(image.indexOf('db:')==0) game.getDB('image',image.slice(3)).then(resolve,reject); - else if(image.indexOf('ext:')==0) resolve(`${lib.assetURL}${image.replace(/^ext:/,'extension/')}`); + else if(image.startsWith('db:')) game.getDB('image',image.slice(3)).then(resolve,reject); + else if(image.startsWith('ext:')) resolve(`${lib.assetURL}${image.replace(/^ext:/,'extension/')}`); else resolve(`${lib.assetURL}${image}`); }).then(source=>new Promise((resolve,reject)=>{ const image=new Image(); @@ -54290,8 +54831,8 @@ if(!information) resolve(`${lib.assetURL}image/card/${imageName}.png`); const image=information.image; if(!image) resolve(`${lib.assetURL}image/card/${imageName}.png`); - else if(image.indexOf('db:')==0) game.getDB('image',image.slice(3)).then(resolve,reject); - else if(image.indexOf('ext:')==0) resolve(`${lib.assetURL}${image.replace(/^ext:/,'extension/')}`); + else if(image.startsWith('db:')) game.getDB('image',image.slice(3)).then(resolve,reject); + else if(image.startsWith('ext:')) resolve(`${lib.assetURL}${image.replace(/^ext:/,'extension/')}`); else resolve(`${lib.assetURL}${image}`); }).then(source=>new Promise((resolve,reject)=>{ const image=new Image(); @@ -54310,8 +54851,8 @@ if(!information) resolve(`${lib.assetURL}image/card/${imageName}.png`); const image=information.image; if(!image) resolve(`${lib.assetURL}image/card/${imageName}.png`); - else if(image.indexOf('db:')==0) game.getDB('image',image.slice(3)).then(resolve,reject); - else if(image.indexOf('ext:')==0) resolve(`${lib.assetURL}${image.replace(/^ext:/,'extension/')}`); + else if(image.startsWith('db:')) game.getDB('image',image.slice(3)).then(resolve,reject); + else if(image.startsWith('ext:')) resolve(`${lib.assetURL}${image.replace(/^ext:/,'extension/')}`); else resolve(`${lib.assetURL}${image}`); }).then(source=>new Promise((resolve,reject)=>{ const image=new Image(); @@ -54446,7 +54987,66 @@ clickSkill.call(skillnode,'init'); }); } - if(e!=='init') game.trySkillAudio(this.link,playername); + // if(e!=='init') game.trySkillAudio(this.link,playername); + // 有bug,先用旧版 + if(lib.config.background_speak&&e!=='init'){ + var audioname=this.link; + if(info.audioname2&&info.audioname2[playername]){ + audioname=info.audioname2[playername]; + info=lib.skill[audioname]; + } + var audioinfo=info.audio; + var that=this; + var getIndex=function(i){ + if(typeof that.audioindex!='number'){ + that.audioindex=i; + } + that.audioindex++; + if(that.audioindex>i){ + that.audioindex=1; + } + return that.audioindex; + }; + if(typeof audioinfo=='string'){ + if(audioinfo.indexOf('ext:')==0){ + audioinfo=audioinfo.split(':'); + if(audioinfo.length==3){ + if(audioinfo[2]=='true'){ + game.playAudio('..','extension',audioinfo[1],audioname); + } + else{ + audioinfo[2]=parseInt(audioinfo[2]); + if(audioinfo[2]){ + game.playAudio('..','extension',audioinfo[1],audioname+getIndex(audioinfo[2])); + } + } + } + return; + } + else{ + audioname=audioinfo; + if(lib.skill[audioinfo]){ + audioinfo=lib.skill[audioinfo].audio; + } + } + } + else if(Array.isArray(audioinfo)){ + audioname=audioinfo[0]; + audioinfo=audioinfo[1]; + } + if(typeof audioinfo=='number'){ + if(Array.isArray(info.audioname)&&info.audioname.contains(playername)) audioname=audioname+'_'+playername; + game.playAudio('skill',audioname+getIndex(audioinfo)); + } + else if(audioinfo){ + if(Array.isArray(info.audioname)&&info.audioname.contains(playername)) audioname=audioname+'_'+playername; + game.playAudio('skill',audioname); + } + else if(true&&info.audio!==false){ + if(Array.isArray(info.audioname)&&info.audioname.contains(playername)) audioname=audioname+'_'+playername; + game.playSkillAudio(audioname,getIndex(2)); + } + } } } @@ -54455,7 +55055,7 @@ if(!get.info(list[i])||get.info(list[i]).nopop) continue; if(!lib.translate[list[i]]||!lib.translate[list[i]+'_info']) continue; var skilltrans=get.translation(list[i]); - if(skilltrans.indexOf(' ')==0){ + if(skilltrans.startsWith(' ')){ skilltrans=skilltrans.slice(6); } var current=ui.create.div('.menubutton.large',skills,clickSkill,skilltrans); @@ -55429,7 +56029,13 @@ const get={ //Generate an object URL from the Base64-encoded octet stream //从Base64编码的八位字节流生成对象URL - objectURL:octetStream=>URL.createObjectURL(new Blob([Uint8Array.from(atob(octetStream.replace(/^data:[\s\S]*\/[\s\S]*;base64,/,'')),v=>v.charCodeAt())])), + objectURL:octetStream=>{ + const objectURLMap=lib.objectURL; + if(objectURLMap.has(octetStream)) return objectURLMap.get(octetStream); + const objectURL=URL.createObjectURL(new Blob([Uint8Array.from(atob(octetStream.replace(/^data:[\s\S]*\/[\s\S]*;base64,/,'')),character=>character.charCodeAt())])); + objectURLMap.set(octetStream,objectURL); + return objectURL; + }, //Get the card name length //获取此牌的字数 cardNameLength:(card,player)=>{ @@ -55510,7 +56116,7 @@ } //排除声母 for(let i of lib.pinyins._metadata.shengmu){ - if(str.indexOf(i)==0){ + if(str.startsWith(i)){ str=str.slice(i.length); if(str[0]=='u'&&lib.pinyins._metadata.special_shengmu.contains(i)) str='ü'+str.slice(1); break; @@ -55522,7 +56128,7 @@ if(str[0]==i){ let goon=false; for(let j of lib.pinyins._metadata.feijiemu[i]){ - if(str.indexOf(j)==0) goon=true; + if(str.startsWith(j)) goon=true; } if(!goon) str=str.slice(1); break; @@ -55531,6 +56137,27 @@ } return str; }, + //用于将参数转换为字符串,作为缓存的key。 + paramToCacheKey:function(){ + var str = ""; + for(var arg of arguments){ + if(arg === null || arg === undefined){ + str += (arg + "-"); + continue; + } + if(arg.playerid){ + str += "p:"+arg.playerid; + }else if(arg.cardid){ + str += "c:"+arg.cardid; + }else if(arg.name){ + str += "n:"+arg.name; + }else{ + str += "s:"+arg; + } + str+="-"; + } + return str; + }, yunjiao:function(str){ const util=window.pinyinUtilx; if(util) str=util.removeTone(str) @@ -55539,7 +56166,7 @@ } else{ for(let i of lib.pinyins._metadata.shengmu){ - if(str.indexOf(i)==0){ + if(str.startsWith(i)){ str=str.slice(i.length); if(str[0]=='u'&&lib.pinyins._metadata.special_shengmu.contains(i)) str='ü'+str.slice(1); break; @@ -55557,8 +56184,7 @@ if(get.is.locked(skill,player)) list.add('锁定技'); if(info.zhuSkill) list.add('主公技'); if(info.limited) list.add('限定技'); - if(info.juexingji||info.limited) list.add('觉醒技'); - if(info.limited) list.add('限定技'); + if(info.juexingji) list.add('觉醒技'); if(info.zhuanhuanji) list.add('转换技'); if(info.hiddenSkill) list.add('隐匿技'); if(info.clanSkill) list.add('宗族技'); @@ -55610,20 +56236,20 @@ }, infoHp:function(hp){ if(typeof hp=='number') return hp; - else if(typeof hp=='string'&&hp.indexOf('/')!=-1){ + else if(typeof hp=='string'&&hp.includes('/')){ return parseInt(hp.split('/')[0]); } return 0; }, infoMaxHp:function(hp){ if(typeof hp=='number') return hp; - else if(typeof hp=='string'&&hp.indexOf('/')!=-1){ + else if(typeof hp=='string'&&hp.includes('/')){ return parseInt(hp.split('/')[1]); } return 0; }, infoHujia:function(hp){ - if(typeof hp=='string'&&hp.indexOf('/')!=-1){ + if(typeof hp=='string'&&hp.includes('/')){ var splited=hp.split('/'); if(splited.length>2) return parseInt(splited[2]); } @@ -55693,11 +56319,10 @@ }); }, //判断一张牌是否为明置手牌 - shownCard:function(card){ - if(card&&Array.isArray(card.gaintag)){ - return card.gaintag.some(tag=>tag.indexOf('visible_')==0) - } - return false; + shownCard:card=>{ + if(!card) return false; + const gaintag=card.gaintag; + return Array.isArray(gaintag)&&gaintag.some(tag=>tag.startsWith('visible_')); }, //是否是虚拟牌 vituralCard:card=>card.isCard||(!("cards" in card)||!Array.isArray(card.cards)||card.cards.length==0), @@ -55722,13 +56347,11 @@ return false; }, double:(name,array)=>{ - let info=get.character(name,4); - if(!info) return false; - for(let i of info){ - if(i.indexOf('doublegroup:')==0){ - if(!array) return true; - return i.split(':').slice(1); - } + const extraInformations=get.character(name,4); + if(!extraInformations) return false; + for(const extraInformation of extraInformations){ + if(!extraInformation.startsWith('doublegroup:')) continue; + return array?extraInformation.split(':').slice(1):true; } return false; }, @@ -55805,7 +56428,7 @@ banWords:function(str){ if(get.is.emoji(str)) return true; for(var i of window.bannedKeyWords){ - if(str.indexOf(i)!=-1) return true; + if(str.includes(i)) return true; } return false; }, @@ -55890,7 +56513,7 @@ if(name.isUnseen&&name.isUnseen(0)) return false; name=name.name1; } - if(typeof name=='string'&&name.indexOf('gz_jun_')==0){ + if(typeof name=='string'&&name.startsWith('gz_jun_')){ return true; } } @@ -56013,7 +56636,7 @@ next.set('prompt2',str); } else{ - if(str.indexOf('###')==0){ + if(str.startsWith('###')){ var prompts=str.slice(3).split('###'); if(prompts[0]) next.set('prompt',prompts[0]); if(prompts[1]) next.set('prompt2',prompts[1]); @@ -56188,12 +56811,12 @@ var tags=get.character(name,4); if(tags){ for(var i=0;i1&&threaten>1){ num+=Math.sqrt(threaten)-1; } } - if(type&&type.indexOf('out')!=-1){ + if(type&&type.includes('out')){ if(threaten<1){ num*=1/Math.sqrt(threaten); } @@ -56830,12 +57453,12 @@ var list=Array.isArray(info.trigger.global)?info.trigger.global:[info.trigger.global]; num+=Math.min(3,list.length)/10; for(var i of list){ - if(i.indexOf('lose')==0||i.indexOf('use')==0) num+=0.3; - if(i.indexOf('cardsDiscard')==0) num+=0.4; + if(i.startsWith('lose')||i.startsWith('use')) num+=0.3; + if(i.startsWith('cardsDiscard')) num+=0.4; } } if(info.trigger.target||(typeof info.trigger.player=='string'&& - (info.trigger.player.indexOf('damage')==0||info.trigger.player.indexOf('lose')==0))) num+=0.1; + (info.trigger.player.startsWith('damage')||info.trigger.player.startsWith('lose')))) num+=0.1; } if(info.ai){ if(info.ai.maixie||info.ai.maixie_hp||info.ai.maixie_defend){ @@ -57075,16 +57698,16 @@ parsedResult:function(item){ if(!item) return item; if(typeof item=='string'){ - if(item.indexOf('_noname_func:')==0){ + if(item.startsWith('_noname_func:')){ return get.infoFuncOL(item); } - else if(item.indexOf('_noname_card:')==0){ + else if(item.startsWith('_noname_card:')){ return get.infoCardOL(item); } - else if(item.indexOf('_noname_player:')==0){ + else if(item.startsWith('_noname_player:')){ return get.infoPlayerOL(item); } - else if(item.indexOf('_noname_event:')==0){ + else if(item.startsWith('_noname_event:')){ return get.infoEventOL(item); } else if(item=='_noname_infinity'){ @@ -57125,94 +57748,54 @@ return num.toString(); }, rawName:function(str){ - if(lib.translate[str+'_ab']) return lib.translate[str+'_ab']; - var str2=lib.translate[str]; + let str2=lib.translate[str]; + if(lib.translate[str+'_ab']) str2=lib.translate[str+'_ab']; if(!str2) return ''; - if(str2.indexOf('SP')==0){ - str2=str2.slice(2); - } - else if(str2.indexOf('TW')==0){ - str2=str2.slice(2); - } - else if(str2.indexOf('OL')==0){ - str2=str2.slice(2); - } - else if(str2.indexOf('JSP')==0){ - str2=str2.slice(3); - } - else if(str2.indexOf('☆SP')==0){ - str2=str2.slice(3); - } - else if(str2.indexOf('手杀')==0){ - str2=str2.slice(2); - } - else if(str2.indexOf('新杀')==0){ - str2=str2.slice(2); - } - else if(str2.indexOf('界')==0&&lib.characterPack.refresh&&lib.characterPack.refresh[str]){ - str2=str2.slice(1); - } - else if(str2.indexOf('旧')==0&&(lib.characterPack.old||lib.characterPack.mobile)&&(lib.characterPack.old[str]||lib.characterPack.mobile[str])){ - str2=str2.slice(1); - } - else if(str2.indexOf('新')==0&&(str.indexOf('re_')==0||str.indexOf('new_')==0)){ - str2=str2.slice(1); + if(lib.translate[str+'_prefix']&&str2.startsWith(lib.translate[str+'_prefix'])){ + return str2.slice(lib.translate[str+'_prefix'].length); } return str2; }, + //作用修改:只读前缀 不读_ab rawName2:function(str){ - if(lib.translate[str+'_ab']) return lib.translate[str+'_ab']; - var str2=lib.translate[str]; + let str2=lib.translate[str]; if(!str2) return ''; - if(str2.indexOf('SP')==0){ - str2=str2.slice(2); - } - else if(str2.indexOf('TW')==0){ - str2=str2.slice(2); - } - else if(str2.indexOf('OL')==0){ - str2=str2.slice(2); - } - else if(str2.indexOf('JSP')==0){ - str2=str2.slice(3); - } - else if(str2.indexOf('☆SP')==0){ - str2=str2.slice(3); - } - else if(str2.indexOf('手杀')==0){ - str2=str2.slice(2); - } - else if(str2.indexOf('新杀')==0){ - str2=str2.slice(2); + if(lib.translate[str+'_prefix']&&str2.startsWith(lib.translate[str+'_prefix'])){ + return str2.slice(lib.translate[str+'_prefix'].length); } return str2; }, + slimNameHorizontal:str=>{ + const slimName=lib.translate[`${str}_ab`]||lib.translate[str]; + if(!slimName) return ''; + const prefix=lib.translate[`${str}_prefix`]; + if(prefix&&slimName.startsWith(prefix)){ + //兼容版特化处理 + if(lib.compatibleEdition) return `${get.prefixSpan(prefix,str)}${slimName.slice(prefix.length)} `; + return `${get.prefixSpan(prefix,str)}${slimName.slice(prefix.length)}`; + } + return slimName; + }, + /** + * @param {string} prefix + * @param {string} name + * @returns {string} + */ + prefixSpan:(prefix,name)=>{ + let color='#ffffff',nature=false; + const map=lib.namePrefix.get(prefix),config=lib.config.buttoncharacter_prefix; + if(config=='off') return ''; + if(map){ + if(map.getSpan) return map.getSpan(prefix,name); + if(map.color) color=map.color; + if(map.nature) nature=map.nature; + if(map.showName) prefix=map.showName; + } + if(config=='simple') return `${prefix}` + return `${prefix}` + }, slimName:function(str){ - var str2=lib.translate[str]; - if(lib.translate[str+'_ab']) str2=lib.translate[str+'_ab']; - if(!str2) return ''; - if(str2.indexOf('SP')==0){ - str2=str2.slice(2); - } - else if(str2.indexOf('TW')==0){ - str2=str2.slice(2); - } - else if(str2.indexOf('OL')==0){ - str2=str2.slice(2); - } - else if(str2.indexOf('JSP')==0){ - str2=str2.slice(3); - } - else if(str2.indexOf('☆SP')==0){ - str2=str2.slice(3); - } - else if(str2.indexOf('手杀')==0){ - str2=str2.slice(2); - } - else if(str2.indexOf('新杀')==0){ - str2=str2.slice(2); - } - return get.verticalStr(str2,true); + return get.verticalStr(get.slimNameHorizontal(str),true); }, time:function(){ if(lib.status.dateDelaying){ @@ -57245,7 +57828,7 @@ } if(bool) return 'position'; } - if(obj.indexOf(lib.natureSeparator)!=-1&&obj.split(lib.natureSeparator).every(n=>lib.nature.has(n))) return 'natures'; + if(obj.includes(lib.natureSeparator)&&obj.split(lib.natureSeparator).every(n=>lib.nature.has(n))) return 'natures'; if(lib.nature.has(obj)) return 'nature'; } if(Array.isArray(obj)&&obj.length){ @@ -57320,7 +57903,7 @@ }, equiptype:function(card,player){ var subtype=get.subtype(card,player); - if(subtype.indexOf('equip')==0) return parseInt(subtype[5]); + if(subtype.startsWith('equip')) return parseInt(subtype[5]); return 0; }, name:function(card,player){ @@ -57521,22 +58104,7 @@ m=game.checkMod(from,to,m,'attackFrom',from); m=game.checkMod(from,to,m,'attackTo',to); return m; - const attakRange=equips1.reduce((range,card,index)=>{ - if(index==0) range--; - let newRange=1; - const info=get.info(card,false); - if(info.distance){ - //如果存在attackRange 则通过attackRange动态获取攻击范围 - if(typeof info.distance.attackRange=='function'){ - newRange=info.distance.attackRange(card,player); - } - //否则采用祖宗之法 - else if(typeof info.distance.attackFrom=='number'){ - newRange-=info.distance.attackFrom; - } - } - return Math.max(range,newRange) - },1); + const attakRange=from.getEquipRange(); m+=(1-attakRange); for(let i=0;i
    '+es[i].outerHTML+'
    '+cardinfo.cardPrompt(es[i])+'
    '); else uiintro.add('
    '+es[i].outerHTML+'
    '+lib.translate[es[i].name+'_info']+'
    '); uiintro.content.lastChild.querySelector('.skill>.card').style.transform=''; + + if(lib.translate[es[i].name+'_append']){ + uiintro.add('
    '+lib.translate[es[i].name+'_append']+'
    '); + } } var js=node.getCards('j'); for(var i=0;i'+stint+''); - if(stint.indexOf('
    '+stint+'
    '); - if(stint.indexOf('
    '+str+'
    '); - if(str.indexOf('
    '+lib.translate[name+'_info']+'
    '); - if(lib.translate[name+'_info'].indexOf('
    !node.classList.contains('feichu')),true); uiintro.clickintro=true; ui.control.hide(); uiintro._onclose=function(){ @@ -59310,7 +59882,7 @@ else{ this.classList.remove('selected'); } - if(ui.confirm&&ui.confirm.str&&ui.confirm.str.indexOf('o')!=-1){ + if(ui.confirm&&ui.confirm.str&&ui.confirm.str.includes('o')){ confirmbutton.classList.remove('disabled'); } else{ @@ -59321,14 +59893,14 @@ var buttoncontainer=uiintro.add(ui.create.div()); buttoncontainer.style.display='block'; confirmbutton=ui.create.div('.menubutton.large.pointerdiv','确定',function(){ - if(ui.confirm&&ui.confirm.str&&ui.confirm.str.indexOf('o')!=-1){ + if(ui.confirm&&ui.confirm.str&&ui.confirm.str.includes('o')){ uiintro._clickintro(); ui.click.ok(ui.confirm.firstChild); } },buttoncontainer); confirmbutton.style.position='relative'; setTimeout(function(){ - if(ui.confirm&&ui.confirm.str&&ui.confirm.str.indexOf('o')!=-1){ + if(ui.confirm&&ui.confirm.str&&ui.confirm.str.includes('o')){ confirmbutton.classList.remove('disabled'); } else{ @@ -59399,7 +59971,7 @@ dialog.add('
    已横置
    '); var list=[]; for(var i=0;i 2) { + var lastSlashIndex = res.lastIndexOf('/'); + if (lastSlashIndex !== res.length - 1) { + if (lastSlashIndex === -1) { + res = ''; + lastSegmentLength = 0; + } else { + res = res.slice(0, lastSlashIndex); + lastSegmentLength = res.length - 1 - res.lastIndexOf('/'); + } + lastSlash = i; + dots = 0; + continue; + } + } else if (res.length === 2 || res.length === 1) { + res = ''; + lastSegmentLength = 0; + lastSlash = i; + dots = 0; + continue; + } + } + if (allowAboveRoot) { + if (res.length > 0) + res += '/..'; + else + res = '..'; + lastSegmentLength = 2; + } + } else { + if (res.length > 0) + res += '/' + path.slice(lastSlash + 1, i); + else + res = path.slice(lastSlash + 1, i); + lastSegmentLength = i - lastSlash - 1; + } + lastSlash = i; + dots = 0; + } else if (code === 46 /*.*/ && dots !== -1) { + ++dots; + } else { + dots = -1; + } + } + return res; + } + + function _format(sep, pathObject) { + var dir = pathObject.dir || pathObject.root; + var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || ''); + if (!dir) { + return base; + } + if (dir === pathObject.root) { + return dir + base; + } + return dir + sep + base; + } + + var posix = { + // path.resolve([from ...], to) + resolve: function resolve() { + var resolvedPath = ''; + var resolvedAbsolute = false; + var cwd; + + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path; + if (i >= 0) + path = arguments[i]; + else { + if (cwd === undefined) + cwd = process.cwd(); + path = cwd; + } + + assertPath(path); + + // Skip empty entries + if (path.length === 0) { + continue; + } + + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/; + } + + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + + // Normalize the path + resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute); + + if (resolvedAbsolute) { + if (resolvedPath.length > 0) + return '/' + resolvedPath; + else + return '/'; + } else if (resolvedPath.length > 0) { + return resolvedPath; + } else { + return '.'; + } + }, + + normalize: function normalize(path) { + assertPath(path); + + if (path.length === 0) return '.'; + + var isAbsolute = path.charCodeAt(0) === 47 /*/*/; + var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/; + + // Normalize the path + path = normalizeStringPosix(path, !isAbsolute); + + if (path.length === 0 && !isAbsolute) path = '.'; + if (path.length > 0 && trailingSeparator) path += '/'; + + if (isAbsolute) return '/' + path; + return path; + }, + + isAbsolute: function isAbsolute(path) { + assertPath(path); + return path.length > 0 && path.charCodeAt(0) === 47 /*/*/; + }, + + join: function join() { + if (arguments.length === 0) + return '.'; + var joined; + for (var i = 0; i < arguments.length; ++i) { + var arg = arguments[i]; + assertPath(arg); + if (arg.length > 0) { + if (joined === undefined) + joined = arg; + else + joined += '/' + arg; + } + } + if (joined === undefined) + return '.'; + return posix.normalize(joined); + }, + + relative: function relative(from, to) { + assertPath(from); + assertPath(to); + + if (from === to) return ''; + + from = posix.resolve(from); + to = posix.resolve(to); + + if (from === to) return ''; + + // Trim any leading backslashes + var fromStart = 1; + for (; fromStart < from.length; ++fromStart) { + if (from.charCodeAt(fromStart) !== 47 /*/*/) + break; + } + var fromEnd = from.length; + var fromLen = fromEnd - fromStart; + + // Trim any leading backslashes + var toStart = 1; + for (; toStart < to.length; ++toStart) { + if (to.charCodeAt(toStart) !== 47 /*/*/) + break; + } + var toEnd = to.length; + var toLen = toEnd - toStart; + + // Compare paths to find the longest common path from root + var length = fromLen < toLen ? fromLen : toLen; + var lastCommonSep = -1; + var i = 0; + for (; i <= length; ++i) { + if (i === length) { + if (toLen > length) { + if (to.charCodeAt(toStart + i) === 47 /*/*/) { + // We get here if `from` is the exact base path for `to`. + // For example: from='/foo/bar'; to='/foo/bar/baz' + return to.slice(toStart + i + 1); + } else if (i === 0) { + // We get here if `from` is the root + // For example: from='/'; to='/foo' + return to.slice(toStart + i); + } + } else if (fromLen > length) { + if (from.charCodeAt(fromStart + i) === 47 /*/*/) { + // We get here if `to` is the exact base path for `from`. + // For example: from='/foo/bar/baz'; to='/foo/bar' + lastCommonSep = i; + } else if (i === 0) { + // We get here if `to` is the root. + // For example: from='/foo'; to='/' + lastCommonSep = 0; + } + } + break; + } + var fromCode = from.charCodeAt(fromStart + i); + var toCode = to.charCodeAt(toStart + i); + if (fromCode !== toCode) + break; + else if (fromCode === 47 /*/*/) + lastCommonSep = i; + } + + var out = ''; + // Generate the relative path based on the path difference between `to` + // and `from` + for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { + if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) { + if (out.length === 0) + out += '..'; + else + out += '/..'; + } + } + + // Lastly, append the rest of the destination (`to`) path that comes after + // the common path parts + if (out.length > 0) + return out + to.slice(toStart + lastCommonSep); + else { + toStart += lastCommonSep; + if (to.charCodeAt(toStart) === 47 /*/*/) + ++toStart; + return to.slice(toStart); + } + }, + + _makeLong: function _makeLong(path) { + return path; + }, + + dirname: function dirname(path) { + assertPath(path); + if (path.length === 0) return '.'; + var code = path.charCodeAt(0); + var hasRoot = code === 47 /*/*/; + var end = -1; + var matchedSlash = true; + for (var i = path.length - 1; i >= 1; --i) { + code = path.charCodeAt(i); + if (code === 47 /*/*/) { + if (!matchedSlash) { + end = i; + break; + } + } else { + // We saw the first non-path separator + matchedSlash = false; + } + } + + if (end === -1) return hasRoot ? '/' : '.'; + if (hasRoot && end === 1) return '//'; + return path.slice(0, end); + }, + + basename: function basename(path, ext) { + if (ext !== undefined && typeof ext !== 'string') throw new TypeError('"ext" argument must be a string'); + assertPath(path); + + var start = 0; + var end = -1; + var matchedSlash = true; + var i; + + if (ext !== undefined && ext.length > 0 && ext.length <= path.length) { + if (ext.length === path.length && ext === path) return ''; + var extIdx = ext.length - 1; + var firstNonSlashEnd = -1; + for (i = path.length - 1; i >= 0; --i) { + var code = path.charCodeAt(i); + if (code === 47 /*/*/) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + start = i + 1; + break; + } + } else { + if (firstNonSlashEnd === -1) { + // We saw the first non-path separator, remember this index in case + // we need it if the extension ends up not matching + matchedSlash = false; + firstNonSlashEnd = i + 1; + } + if (extIdx >= 0) { + // Try to match the explicit extension + if (code === ext.charCodeAt(extIdx)) { + if (--extIdx === -1) { + // We matched the extension, so mark this as the end of our path + // component + end = i; + } + } else { + // Extension does not match, so our result is the entire path + // component + extIdx = -1; + end = firstNonSlashEnd; + } + } + } + } + + if (start === end) end = firstNonSlashEnd; else if (end === -1) end = path.length; + return path.slice(start, end); + } else { + for (i = path.length - 1; i >= 0; --i) { + if (path.charCodeAt(i) === 47 /*/*/) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + start = i + 1; + break; + } + } else if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // path component + matchedSlash = false; + end = i + 1; + } + } + + if (end === -1) return ''; + return path.slice(start, end); + } + }, + + extname: function extname(path) { + assertPath(path); + var startDot = -1; + var startPart = 0; + var end = -1; + var matchedSlash = true; + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + var preDotState = 0; + for (var i = path.length - 1; i >= 0; --i) { + var code = path.charCodeAt(i); + if (code === 47 /*/*/) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === 46 /*.*/) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) + startDot = i; + else if (preDotState !== 1) + preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if (startDot === -1 || end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { + return ''; + } + return path.slice(startDot, end); + }, + + format: function format(pathObject) { + if (pathObject === null || typeof pathObject !== 'object') { + throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof pathObject); + } + return _format('/', pathObject); + }, + + parse: function parse(path) { + assertPath(path); + + var ret = { root: '', dir: '', base: '', ext: '', name: '' }; + if (path.length === 0) return ret; + var code = path.charCodeAt(0); + var isAbsolute = code === 47 /*/*/; + var start; + if (isAbsolute) { + ret.root = '/'; + start = 1; + } else { + start = 0; + } + var startDot = -1; + var startPart = 0; + var end = -1; + var matchedSlash = true; + var i = path.length - 1; + + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + var preDotState = 0; + + // Get non-dir info + for (; i >= start; --i) { + code = path.charCodeAt(i); + if (code === 47 /*/*/) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === 46 /*.*/) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i; else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if (startDot === -1 || end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { + if (end !== -1) { + if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end); else ret.base = ret.name = path.slice(startPart, end); + } + } else { + if (startPart === 0 && isAbsolute) { + ret.name = path.slice(1, startDot); + ret.base = path.slice(1, end); + } else { + ret.name = path.slice(startPart, startDot); + ret.base = path.slice(startPart, end); + } + ret.ext = path.slice(startDot, end); + } + + if (startPart > 0) ret.dir = path.slice(0, startPart - 1); else if (isAbsolute) ret.dir = '/'; + + return ret; + }, + + sep: '/', + delimiter: ':', + win32: null, + posix: null + }; + + posix.posix = posix; + + window._noname_path = posix; +} diff --git a/game/path.min.js b/game/path.min.js deleted file mode 100644 index a5010844ca..0000000000 --- a/game/path.min.js +++ /dev/null @@ -1,24 +0,0 @@ -// 'path' module extracted from Node.js v8.11.1 (only the posix part) -// transplited with Babel - -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. -(()=>{"use strict";function assertPath(path){if(typeof path!=="string"){throw new TypeError("Path must be a string. Received "+JSON.stringify(path))}}function normalizeStringPosix(path,allowAboveRoot){var res="";var lastSegmentLength=0;var lastSlash=-1;var dots=0;var code;for(var i=0;i<=path.length;++i){if(i2){var lastSlashIndex=res.lastIndexOf("/");if(lastSlashIndex!==res.length-1){if(lastSlashIndex===-1){res="";lastSegmentLength=0}else{res=res.slice(0,lastSlashIndex);lastSegmentLength=res.length-1-res.lastIndexOf("/")}lastSlash=i;dots=0;continue}}else if(res.length===2||res.length===1){res="";lastSegmentLength=0;lastSlash=i;dots=0;continue}}if(allowAboveRoot){if(res.length>0)res+="/..";else res="..";lastSegmentLength=2}}else{if(res.length>0)res+="/"+path.slice(lastSlash+1,i);else res=path.slice(lastSlash+1,i);lastSegmentLength=i-lastSlash-1}lastSlash=i;dots=0}else if(code===46&&dots!==-1){++dots}else{dots=-1}}return res}function _format(sep,pathObject){var dir=pathObject.dir||pathObject.root;var base=pathObject.base||(pathObject.name||"")+(pathObject.ext||"");if(!dir){return base}if(dir===pathObject.root){return dir+base}return dir+sep+base}var posix={resolve:function resolve(){var resolvedPath="";var resolvedAbsolute=false;var cwd;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path;if(i>=0)path=arguments[i];else{if(cwd===undefined)cwd=process.cwd();path=cwd}assertPath(path);if(path.length===0){continue}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charCodeAt(0)===47}resolvedPath=normalizeStringPosix(resolvedPath,!resolvedAbsolute);if(resolvedAbsolute){if(resolvedPath.length>0)return"/"+resolvedPath;else return"/"}else if(resolvedPath.length>0){return resolvedPath}else{return"."}},normalize:function normalize(path){assertPath(path);if(path.length===0)return".";var isAbsolute=path.charCodeAt(0)===47;var trailingSeparator=path.charCodeAt(path.length-1)===47;path=normalizeStringPosix(path,!isAbsolute);if(path.length===0&&!isAbsolute)path=".";if(path.length>0&&trailingSeparator)path+="/";if(isAbsolute)return"/"+path;return path},isAbsolute:function isAbsolute(path){assertPath(path);return path.length>0&&path.charCodeAt(0)===47},join:function join(){if(arguments.length===0)return".";var joined;for(var i=0;i0){if(joined===undefined)joined=arg;else joined+="/"+arg}}if(joined===undefined)return".";return posix.normalize(joined)},relative:function relative(from,to){assertPath(from);assertPath(to);if(from===to)return"";from=posix.resolve(from);to=posix.resolve(to);if(from===to)return"";var fromStart=1;for(;fromStartlength){if(to.charCodeAt(toStart+i)===47){return to.slice(toStart+i+1)}else if(i===0){return to.slice(toStart+i)}}else if(fromLen>length){if(from.charCodeAt(fromStart+i)===47){lastCommonSep=i}else if(i===0){lastCommonSep=0}}break}var fromCode=from.charCodeAt(fromStart+i);var toCode=to.charCodeAt(toStart+i);if(fromCode!==toCode)break;else if(fromCode===47)lastCommonSep=i}var out="";for(i=fromStart+lastCommonSep+1;i<=fromEnd;++i){if(i===fromEnd||from.charCodeAt(i)===47){if(out.length===0)out+="..";else out+="/.."}}if(out.length>0)return out+to.slice(toStart+lastCommonSep);else{toStart+=lastCommonSep;if(to.charCodeAt(toStart)===47)++toStart;return to.slice(toStart)}},_makeLong:function _makeLong(path){return path},dirname:function dirname(path){assertPath(path);if(path.length===0)return".";var code=path.charCodeAt(0);var hasRoot=code===47;var end=-1;var matchedSlash=true;for(var i=path.length-1;i>=1;--i){code=path.charCodeAt(i);if(code===47){if(!matchedSlash){end=i;break}}else{matchedSlash=false}}if(end===-1)return hasRoot?"/":".";if(hasRoot&&end===1)return"//";return path.slice(0,end)},basename:function basename(path,ext){if(ext!==undefined&&typeof ext!=="string")throw new TypeError('"ext" argument must be a string');assertPath(path);var start=0;var end=-1;var matchedSlash=true;var i;if(ext!==undefined&&ext.length>0&&ext.length<=path.length){if(ext.length===path.length&&ext===path)return"";var extIdx=ext.length-1;var firstNonSlashEnd=-1;for(i=path.length-1;i>=0;--i){var code=path.charCodeAt(i);if(code===47){if(!matchedSlash){start=i+1;break}}else{if(firstNonSlashEnd===-1){matchedSlash=false;firstNonSlashEnd=i+1}if(extIdx>=0){if(code===ext.charCodeAt(extIdx)){if(--extIdx===-1){end=i}}else{extIdx=-1;end=firstNonSlashEnd}}}}if(start===end)end=firstNonSlashEnd;else if(end===-1)end=path.length;return path.slice(start,end)}else{for(i=path.length-1;i>=0;--i){if(path.charCodeAt(i)===47){if(!matchedSlash){start=i+1;break}}else if(end===-1){matchedSlash=false;end=i+1}}if(end===-1)return"";return path.slice(start,end)}},extname:function extname(path){assertPath(path);var startDot=-1;var startPart=0;var end=-1;var matchedSlash=true;var preDotState=0;for(var i=path.length-1;i>=0;--i){var code=path.charCodeAt(i);if(code===47){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1){matchedSlash=false;end=i+1}if(code===46){if(startDot===-1)startDot=i;else if(preDotState!==1)preDotState=1}else if(startDot!==-1){preDotState=-1}}if(startDot===-1||end===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1){return""}return path.slice(startDot,end)},format:function format(pathObject){if(pathObject===null||typeof pathObject!=="object"){throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof pathObject)}return _format("/",pathObject)},parse:function parse(path){assertPath(path);var ret={root:"",dir:"",base:"",ext:"",name:""};if(path.length===0)return ret;var code=path.charCodeAt(0);var isAbsolute=code===47;var start;if(isAbsolute){ret.root="/";start=1}else{start=0}var startDot=-1;var startPart=0;var end=-1;var matchedSlash=true;var i=path.length-1;var preDotState=0;for(;i>=start;--i){code=path.charCodeAt(i);if(code===47){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1){matchedSlash=false;end=i+1}if(code===46){if(startDot===-1)startDot=i;else if(preDotState!==1)preDotState=1}else if(startDot!==-1){preDotState=-1}}if(startDot===-1||end===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1){if(end!==-1){if(startPart===0&&isAbsolute)ret.base=ret.name=path.slice(1,end);else ret.base=ret.name=path.slice(startPart,end)}}else{if(startPart===0&&isAbsolute){ret.name=path.slice(1,startDot);ret.base=path.slice(1,end)}else{ret.name=path.slice(startPart,startDot);ret.base=path.slice(startPart,end)}ret.ext=path.slice(startDot,end)}if(startPart>0)ret.dir=path.slice(0,startPart-1);else if(isAbsolute)ret.dir="/";return ret},sep:"/",delimiter:":",win32:null,posix:null};posix.posix=posix;window._noname_path=posix})(); \ No newline at end of file diff --git a/game/pinyinjs.js b/game/pinyinjs.js index 70be09dc4c..6bb5c691f5 100644 --- a/game/pinyinjs.js +++ b/game/pinyinjs.js @@ -7,8 +7,6 @@ var pinyin_dict_polyphone = { // noname's pinyin // START // 武将名 - "乐蔡琰": "yuè ", - "乐周妃": "yuè fēi", "用间": " jiàn", "乐进": "yuè ", @@ -41583,17 +41581,21 @@ var pinyin_dict_withtone = "yī,dīng zhēng,kǎo qiǎo yú,qī,shàng,xià,hǎn } return result; } - for (var i = 0; i < chinese.length; i++) { + var m=0; + for (var i = 0; i < chinese.length;(i++,m++)) { temp = ''; for (var j = 0; j < max && (i + j) < chinese.length; j++) { - if (!/^[\u2E80-\u9FFF]+$/.test(chinese[i + j])) break; // 如果碰到非汉字直接停止本次查找 + if (!dict.withtone[chinese[i]]) { + i+=(result[i].length-1); + break; + } // 如果碰到非汉字直接停止本次查找 temp += chinese[i + j]; var res = poly[temp]; if (res) // 如果找到了多音字词语 { res = res.split(' '); for (var k = 0; k <= j; k++) { - if (res[k]) result[i + k] = withtone ? res[k] : pinyinUtilx.removeTone(res[k]); + if (res[k]) result[m + k] = withtone ? res[k] : pinyinUtilx.removeTone(res[k]); } break; } diff --git a/game/source.js b/game/source.js index d8c161df24..2a278f74ce 100644 --- a/game/source.js +++ b/game/source.js @@ -49,10 +49,12 @@ window.noname_source_list=[ 'character/yingbian.js', 'character/yxs.js', 'character/zhuogui.js', + 'font/motoyamaru.woff2', 'font/suits.woff2', 'game/asset.js', 'game/codemirror.js', 'game/config.js', + 'game/core-js-bundle.js', 'game/directory.js', 'game/game.js', 'game/http.js', @@ -60,7 +62,7 @@ window.noname_source_list=[ 'game/keyWords.js', 'game/NoSleep.js', 'game/package.js', - 'game/path.min.js', + 'game/path.js', 'game/phantom.js', 'game/pinyinjs.js', 'game/pressure.js', diff --git a/game/update.js b/game/update.js index c17ea8f1dd..b3da5bebb8 100644 --- a/game/update.js +++ b/game/update.js @@ -1,28 +1,59 @@ window.noname_update={ - version:'1.10.2.1', - update:'1.10.2', + version:'1.10.3', + update:'1.10.2.1', changeLog:[ - '整合@rintim @mengxinzxz @lieren2023 @PZ157 @Tipx-L @kuangshen04 @nonameShijian @copcap的Pull Request', - '新武将:界钟繇、武陆逊、界文聘、许靖、孟优、陈式、费曜、孙礼、夏侯楙、OL陆郁生、☆周不疑、', - '音效优化:增加不同属性伤害的不同音效', - '技能优化:神典韦、手杀南华老仙等', - '机制更新: 属性【杀】机制完善优化等', - '界面更新: 优化自带代码编辑器;启动页增加新样式;武将资料页美化等', - '其他技能修改与bug修复', + '整合@nonameShijian @PZ157 @MDYY1 @mengxinzxz @lieren2023 @Lucilor @kuangshen04 @BauxiteAI @copcap @Tipx-L @xiaoas @Rintim @universe-st的Pull Request', + '新机制:武将名称前缀的高亮显示', + '将谋攻篇武将加入同名武将切换', + 'lib.nature向下兼容和相关函数更改', + '其他AI优化与bug修复', ], files:[ + 'card/extra.js', + 'card/guozhan.js', + 'card/standard.js', 'card/yingbian.js', + 'character/clan.js', + 'character/collab.js', + 'character/ddd.js', + 'character/diy.js', 'character/extra.js', + 'character/gwent.js', + 'character/hearth.js', 'character/huicui.js', 'character/jsrg.js', + 'character/mobile.js', + 'character/offline.js', + 'character/old.js', + 'character/refresh.js', + 'character/sb.js', 'character/shenhua.js', 'character/shiji.js', + 'character/sp.js', + 'character/sp2.js', + 'character/standard.js', + 'character/tw.js', 'character/xianding.js', + 'character/xinghuoliaoyuan.js', 'character/yijiang.js', + 'character/yingbian.js', + 'font/motoyamaru.woff2', + 'font/suits.woff2', + 'game/codemirror.js', + 'game/config.js', + 'game/core-js-bundle.js', 'game/game.js', - 'mode/doudizhu.js', + 'game/path.js', + 'game/pinyinjs.js', + 'layout/default/codemirror.css', + 'layout/default/layout.css', + 'layout/default/menu.css', + 'layout/mobile/layout.css', + 'layout/mode/stone.css', + 'layout/newlayout/global.css', + 'mode/boss.js', + 'mode/brawl.js', 'mode/guozhan.js', 'mode/identity.js', - 'mode/single.js', ] }; diff --git a/layout/default/codemirror.css b/layout/default/codemirror.css index 4451eeabde..38a59d3663 100644 --- a/layout/default/codemirror.css +++ b/layout/default/codemirror.css @@ -468,14 +468,9 @@ div.cm-s-mdn-like span.CodeMirror-matchingbracket { outline:1px solid grey; colo display: block; } -@media (max-width: 1000px) { - .CodeMirror-hints::-webkit-scrollbar { - width: 25px; - } -} - .CodeMirror-hints::-webkit-scrollbar-thumb { background-color: rgb(218, 215, 215); + border-radius: 5px; height: 50px; } @@ -496,3 +491,28 @@ li.CodeMirror-hint-active { background: #08f; color: white; } + +.cm-completionIcon { + position: relative; + font-size: 90%; + font-family: monospace; + width: .8em; + display: inline-block; + text-align: center; + padding-right: .6em; + opacity: 0.6; + box-sizing: content-box; +} + +.cm-completionIcon-function:after, +.cm-completionIcon-method:after {content: 'ƒ';} +.cm-completionIcon-class:after {content: '○';} +.cm-completionIcon-interface:after {content: '◌';} +.cm-completionIcon-variable:after {content: '𝑥';} +.cm-completionIcon-constant:after {content: '𝐶';} +.cm-completionIcon-type:after {content: '𝑡';} +.cm-completionIcon-enum:after {content: '∪';} +.cm-completionIcon-property:after {content: '□';} +.cm-completionIcon-keyword:after {content: '🔑︎';} +.cm-completionIcon-namespace:after {content: '▢';} +.cm-completionIcon-text:after {content: 'abc'; font-size: 50%; vertical-align: middle;} \ No newline at end of file diff --git a/layout/default/layout.css b/layout/default/layout.css index bbc324e8fa..1fb12685f1 100644 --- a/layout/default/layout.css +++ b/layout/default/layout.css @@ -1766,7 +1766,9 @@ div:not(.handcards)>.card>.info>span, margin-left: 4px; margin-right: 4px; position: relative; - /* width: calc(100% - 8px); */ +} +.content>div:not(.pointerdiv) { + width: calc(100% - 8px); } .content>.caption + .buttons:not(*:last-child){ margin-top: 0; @@ -3967,6 +3969,38 @@ span[data-nature='keymm'] { rgba(203, 177, 255,1) 0 0 2px,black 0 0 1px; } + +div[data-nature='shen'], +span[data-nature='shen'] { + text-shadow: rgba(243, 171, 27, 1) 0 0 2px,rgba(243, 171, 27, 1) 0 0 5px,rgba(243, 171, 27, 1) 0 0 10px, + rgba(243, 171, 27, 1) 0 0 10px,rgba(243, 171, 27, 1) 0 0 20px,rgba(243, 171, 27, 1) 0 0 20px,black 0 0 1px; +} +div[data-nature='shenm'], +span[data-nature='shenm'] { + text-shadow: rgba(243, 171, 27, 1) 0 0 2px,rgba(243, 171, 27, 1) 0 0 5px,rgba(243, 171, 27, 1) 0 0 5px, + rgba(243, 171, 27, 1) 0 0 5px,black 0 0 1px; +} +div[data-nature='shenmm'], +span[data-nature='shenmm'] { + text-shadow: rgba(243, 171, 27, 1) 0 0 2px,rgba(243, 171, 27, 1) 0 0 2px,rgba(243, 171, 27, 1) 0 0 2px, + rgba(243, 171, 27, 1) 0 0 2px,black 0 0 1px; +} +div[data-nature='qun'], +span[data-nature='qun'] { + text-shadow: rgba(164, 164, 164, 1) 0 0 2px,rgba(164, 164, 164, 1) 0 0 5px,rgba(164, 164, 164, 1) 0 0 10px, + rgba(164, 164, 164, 1) 0 0 10px,rgba(164, 164, 164, 1) 0 0 20px,rgba(164, 164, 164, 1) 0 0 20px,black 0 0 1px; +} +div[data-nature='qunm'], +span[data-nature='qunm'] { + text-shadow: rgba(164, 164, 164, 1) 0 0 2px,rgba(164, 164, 164, 1) 0 0 5px,rgba(164, 164, 164, 1) 0 0 5px, + rgba(164, 164, 164, 1) 0 0 5px,black 0 0 1px; +} +div[data-nature='qunmm'], +span[data-nature='qunmm'] { + text-shadow: rgba(164, 164, 164, 1) 0 0 2px,rgba(164, 164, 164, 1) 0 0 2px,rgba(164, 164, 164, 1) 0 0 2px, + rgba(164, 164, 164, 1) 0 0 2px,black 0 0 1px; +} + .player .identity[data-color="nei"], .player .identity[data-color="ye"], .player .identity[data-color="rYe"], @@ -4611,6 +4645,21 @@ div[data-decoration="bronze"]::after{ left: 3px; top: 6px; } +.tempname.kami:not([data-nature])>span { + color: #1F3C38; +} +.tempname.ice:not([data-nature])>span { + color: #3B6273; +} +.tempname.fire:not([data-nature])>span { + color: #631515; +} +.tempname.thunder:not([data-nature])>span { + color: #152E63; +} +.tempname.poison:not([data-nature])>span { + color: #00312d; +} /*.card.equip1 .wunature, .card.equip3 .wunature, .card.equip4 .wunature{ diff --git a/layout/default/menu.css b/layout/default/menu.css index 0409ff3e15..c3280f8d8c 100644 --- a/layout/default/menu.css +++ b/layout/default/menu.css @@ -1019,7 +1019,7 @@ input.fileinput::-webkit-file-upload-button { } .config { - height: 25px; + /* height: 25px; */ line-height: 25px; position: relative; } @@ -1316,17 +1316,33 @@ input.fileinput::-webkit-file-upload-button { margin-right: 3px; } +.menu-buttons>.new_character>.die_audio { + position: absolute; + left: 12px; + top: 160px; + height: 45px; + width: calc(100% - 12px); +} + +.menu-buttons>.new_character>.die_audio>input { + width: calc(100% - 100px); +} + +.menu-buttons>.new_character>.die_audio>button { + margin-right: 12px; +} + .menu-buttons>.new_character>.add_skill { position: absolute; left: 12px; - top: 205px; + top: 250px; text-align: left; line-height: 20px; white-space: nowrap; } .menu-buttons>.new_character>.add_skill.options { - top: 160px; + top: 205px; } .menu-buttons>.new_character>.add_skill.options>span { @@ -1859,7 +1875,7 @@ input.fileinput::-webkit-file-upload-button { } #create-extension>.menu-buttons>.new_character>.skill_list { - top: 245px; + top: 290px; } #create-extension>.menu-buttons>.new_character>.skill_list>div:first-child { @@ -1876,6 +1892,9 @@ input.fileinput::-webkit-file-upload-button { margin-bottom: 3px; } +div.popup-container.editor,div.popup-container.editor div{ + transition: none; +} .popup-container.editor>div { width: 80%; height: 90%; diff --git a/layout/mobile/layout.css b/layout/mobile/layout.css index 49bcaab0ce..46818aaae5 100644 --- a/layout/mobile/layout.css +++ b/layout/mobile/layout.css @@ -224,7 +224,7 @@ #arena:not(.chess) .player[data-position='0'].linked>.name.name2{ left:69px; } -#arena:not(.chess) .player[data-position='0']>.identity{ +#arena:not(.chess):not(.stone) .player[data-position='0']>.identity{ left: 0; width: 130px; } diff --git a/layout/mode/stone.css b/layout/mode/stone.css index d699af79c2..f43c03880c 100644 --- a/layout/mode/stone.css +++ b/layout/mode/stone.css @@ -1,348 +1,514 @@ -#arena.stone>.player.minskin[data-position='4']{top:calc(100% - 305px);left:calc(100% - 120px);} -#arena.stone>.card[data-position='4']{top:calc(100% - 297px);left:calc(100% - 112px);} -#arena.stone>.popup[data-position='4']{top:calc(100% - 340px);left:calc(100% - 112px);} -#arena.stone>.player.minskin[data-position='6']{top:calc(100% - 305px);left:calc(100% - 260px);} -#arena.stone>.card[data-position='6']{top:calc(100% - 297px);left:calc(100% - 252px);} -#arena.stone>.popup[data-position='6']{top:calc(100% - 340px);left:calc(100% - 252px);} -#arena.stone>.player.minskin[data-position='7']{top:calc(100% - 305px);left:140px;} -#arena.stone>.card[data-position='7']{top:calc(100% - 297px);left:148px;} -#arena.stone>.popup[data-position='7']{top:calc(100% - 340px);left:148px;} -#arena.stone>.player.minskin[data-position='5']{top:calc(100% - 305px);left:0;} -#arena.stone>.card[data-position='5']{top:calc(100% - 297px);left:8px;} -#arena.stone>.popup[data-position='5']{top:calc(100% - 340px);left:8px;} - -#arena.stone>.player.minskin[data-position='9']{top:30px;left:calc(100% - 120px);} -#arena.stone>.card[data-position='9']{top:38px;left:calc(100% - 112px);} -#arena.stone>.popup[data-position='9']{top:160px;left:calc(100% - 112px);} -#arena.stone>.player.minskin[data-position='11']{top:10px;left:calc(100% - 260px);} -#arena.stone>.card[data-position='11']{top:18px;left:calc(100% - 252px);} -#arena.stone>.popup[data-position='11']{top:140px;left:calc(100% - 252px);} -#arena.stone>.player.minskin[data-position='10']{top:10px;left:140px;} -#arena.stone>.card[data-position='10']{top:18px;left:148px;} -#arena.stone>.popup[data-position='10']{top:140px;left:148px;} -#arena.stone>.player.minskin[data-position='8']{top:30px;left:0;} -#arena.stone>.card[data-position='8']{top:38px;left:8px;} -#arena.stone>.popup[data-position='8']{top:160px;left:8px;} -#arena:not(.chess).mobile>.player[data-position='0']>.name{ - top:30px; -} -#arena .player>.name{ - top:36px; -} -#arena.slim_player .player>.name{ - top:33px; -} -#arena .player.linked>.name{ - transform: rotate(90deg) translate(120px,-96px); -} -#arena .player.linked>.name.name2{ - transform: rotate(90deg) translate(98px,-31px); -} - -#arena.oldlayout .player.linked>.name{ - transform: none !important; -} -#arena.oldlayout .player.linked>.name.name2{ - transform: none !important; -} - -.player.minskin .judges{ - top:14px; -} -.player>.identity.menubutton.round{ - padding: 0; - transform: scale(1.2) translate(-2px,2px); -} -.card .wunature{ - top:74px; - left:6px; - right: auto; +#arena.stone>.player.minskin[data-position='4'] { + top: calc(100% - 305px); + left: calc(100% - 120px); } + +#arena.stone>.card[data-position='4'] { + top: calc(100% - 297px); + left: calc(100% - 112px); +} + +#arena.stone>.popup[data-position='4'] { + top: calc(100% - 340px); + left: calc(100% - 112px); +} + +#arena.stone>.player.minskin[data-position='6'] { + top: calc(100% - 305px); + left: calc(100% - 260px); +} + +#arena.stone>.card[data-position='6'] { + top: calc(100% - 297px); + left: calc(100% - 252px); +} + +#arena.stone>.popup[data-position='6'] { + top: calc(100% - 340px); + left: calc(100% - 252px); +} + +#arena.stone>.player.minskin[data-position='7'] { + top: calc(100% - 305px); + left: 140px; +} + +#arena.stone>.card[data-position='7'] { + top: calc(100% - 297px); + left: 148px; +} + +#arena.stone>.popup[data-position='7'] { + top: calc(100% - 340px); + left: 148px; +} + +#arena.stone>.player.minskin[data-position='5'] { + top: calc(100% - 305px); + left: 0; +} + +#arena.stone>.card[data-position='5'] { + top: calc(100% - 297px); + left: 8px; +} + +#arena.stone>.popup[data-position='5'] { + top: calc(100% - 340px); + left: 8px; +} + +#arena.stone>.player.minskin[data-position='9'] { + top: 30px; + left: calc(100% - 120px); +} + +#arena.stone>.card[data-position='9'] { + top: 38px; + left: calc(100% - 112px); +} + +#arena.stone>.popup[data-position='9'] { + top: 160px; + left: calc(100% - 112px); +} + +#arena.stone>.player.minskin[data-position='11'] { + top: 10px; + left: calc(100% - 260px); +} + +#arena.stone>.card[data-position='11'] { + top: 18px; + left: calc(100% - 252px); +} + +#arena.stone>.popup[data-position='11'] { + top: 140px; + left: calc(100% - 252px); +} + +#arena.stone>.player.minskin[data-position='10'] { + top: 10px; + left: 140px; +} + +#arena.stone>.card[data-position='10'] { + top: 18px; + left: 148px; +} + +#arena.stone>.popup[data-position='10'] { + top: 140px; + left: 148px; +} + +#arena.stone>.player.minskin[data-position='8'] { + top: 30px; + left: 0; +} + +#arena.stone>.card[data-position='8'] { + top: 38px; + left: 8px; +} + +#arena.stone>.popup[data-position='8'] { + top: 160px; + left: 8px; +} + +#arena:not(.chess).mobile>.player[data-position='0']>.name { + top: 30px; +} + +#arena .player>.name { + top: 36px; +} + +#arena.slim_player .player>.name { + top: 33px; +} + +#arena .player.linked>.name { + transform: rotate(90deg) translate(120px, -96px); +} + +#arena .player.linked>.name.name2 { + transform: rotate(90deg) translate(98px, -31px); +} + +#arena.oldlayout .player.linked>.name { + transform: none !important; +} + +#arena.oldlayout .player.linked>.name.name2 { + transform: none !important; +} + +.player.minskin .judges { + top: 14px; +} + +.player>.identity.menubutton.round { + padding: 0; + transform: scale(1.2) translate(-2px, 2px); +} + +.card .wunature { + top: 74px; + left: 6px; + right: auto; +} + /* .player .equips{ */ - /*z-index: 4;*/ +/*z-index: 4;*/ /* } */ -#arena:not(.chess).mobile .player[data-position='0']:not(.minskin)>.identity{ - left: 102px; - top: -7px; +#arena:not(.chess).mobile .player[data-position='0']:not(.minskin)>.identity { + left: 100px; + top: -7px; } -#deck-builder{ - overflow: hidden; +#deck-builder { + overflow: hidden; } -#deck-builder>.shadowed.list{ - width: 200px; - height: 100%; - right: 0; - top:0; - border-radius: 0px; - transform: translateX(200px); - opacity: 0; + +#deck-builder>.shadowed.list { + width: 200px; + height: 100%; + right: 0; + top: 0; + border-radius: 0px; + transform: translateX(200px); + opacity: 0; } -#deck-builder.shown>.shadowed.list{ - transform: none; - opacity: 1; + +#deck-builder.shown>.shadowed.list { + transform: none; + opacity: 1; } -#deck-builder>.shadowed.list>.menubutton.large.create{ - position: absolute; - bottom: 10px; - left: auto; - right: 10px; - margin: 0; - padding: 0; - width: 180px; - height: 50px; - font-size: 36px; - line-height: 50px; - z-index: 2; -} -#deck-builder>.shadowed.list>.list-container{ - width:100%; - left:0; - height: calc(100% - 60px); - overflow-y: scroll; - overflow-x: visible; - text-align: left; -} -#deck-builder>.shadowed.list>.list-container:not(.deck){ - z-index: 1; -} -#deck-builder>.shadowed.list>.list-container.deck{ - pointer-events: none; - opacity: 0; -} -#deck-builder>.shadowed.list>.list-container.deck.shown{ - pointer-events: auto; - opacity: 1; + +#deck-builder>.shadowed.list>.menubutton.large.create { + position: absolute; + bottom: 10px; + left: auto; + right: 10px; + margin: 0; + padding: 0; + width: 180px; + height: 50px; + font-size: 36px; + line-height: 50px; + z-index: 2; } -#deck-builder>.shadowed.list>.list-container.deck>.card{ - zoom:0.8; - margin-bottom: 15px; - margin-top: 0; - transition: all 0s; + +#deck-builder>.shadowed.list>.list-container { + width: 100%; + left: 0; + height: calc(100% - 60px); + overflow-y: scroll; + overflow-x: visible; + text-align: left; } -#deck-builder>.shadowed.list>.list-container.deck>.card:nth-child(2n+1){ - margin-left: 15px; + +#deck-builder>.shadowed.list>.list-container:not(.deck) { + z-index: 1; } -#deck-builder>.shadowed.list>.list-container.deck>.card:nth-child(2n){ - margin-left: 7px; + +#deck-builder>.shadowed.list>.list-container.deck { + pointer-events: none; + opacity: 0; +} + +#deck-builder>.shadowed.list>.list-container.deck.shown { + pointer-events: auto; + opacity: 1; +} + +#deck-builder>.shadowed.list>.list-container.deck>.card { + zoom: 0.8; + margin-bottom: 15px; + margin-top: 0; + transition: all 0s; } + +#deck-builder>.shadowed.list>.list-container.deck>.card:nth-child(2n+1) { + margin-left: 15px; +} + +#deck-builder>.shadowed.list>.list-container.deck>.card:nth-child(2n) { + margin-left: 7px; +} + #deck-builder>.shadowed.list>.list-container.deck>.card:first-child, -#deck-builder>.shadowed.list>.list-container.deck>.card:first-child+div{ - margin-top: 15px; -} -.deckitem{ - position: relative; - width: 170px; - margin-left: 15px; - margin-right: 0; - padding-left: 0; - padding-right: 0; - padding-top: 5px; - padding-bottom: 5px; - margin-top: 15px; - margin-bottom: 0px; - text-align: left; - font-size:24px; - line-height:30px; - font-family:'xinwei'; - border-radius: 40px 4px 4px 40px; - background-size: cover; - white-space: nowrap; - transition: all 0s; +#deck-builder>.shadowed.list>.list-container.deck>.card:first-child+div { + margin-top: 15px; } + +.deckitem { + position: relative; + width: 170px; + margin-left: 15px; + margin-right: 0; + padding-left: 0; + padding-right: 0; + padding-top: 5px; + padding-bottom: 5px; + margin-top: 15px; + margin-bottom: 0px; + text-align: left; + font-size: 24px; + line-height: 30px; + font-family: 'xinwei'; + border-radius: 40px 4px 4px 40px; + background-size: cover; + white-space: nowrap; + transition: all 0s; +} + #window:not(.nopointer) .deckitem, #window:not(.nopointer) #deck-builder>.shadowed.list>.menubutton.large.create, -#window:not(.nopointer) #deck-builder>.controls>div:not(*:last-child){ - cursor: pointer; -} -.dialog .deckitem{ - margin-left: 8px; - margin-right: 9px; -} -.deckitem.random{ - border-radius: 4px; - text-align: center; -} -.deckitem.random>span{ - margin-left: 0; -} -.deckitem:last-child{ - margin-bottom: 15px; -} -.deckitem>span{ - margin-left: 46px; -} -.deckitem>.menubutton.round{ - position: absolute; - left: -1px; - top: -2px; - width: 34px; - height: 34px; -} -#deck-builder>.shadowed.career{ - width: 240px; - height: 240px; - right: 220px; - bottom: 20px; - opacity: 0; - transform: scale(0) translateX(300px); - transform-origin: right bottom; - transition-duration: 0.3s; - z-index: 8; -} -#deck-builder>.shadowed.career.shown{ - transform: scale(1) translateX(0); - opacity: 1; +#window:not(.nopointer) #deck-builder>.controls>div:not(*:last-child) { + cursor: pointer; } -#deck-builder>.shadowed.career>div{ - width: 80px; - height: 80px; - margin: 0; - padding: 0; - position: relative; - display: inline-block; -} -#deck-builder>.shadowed.career>div>.menubutton.round{ - left: 15px; - top: 5px; -} -#deck-builder>.shadowed.career>div>.text{ - font-size: 12px; - width: 100%; - text-align: center; - top: 58px; -} -#deck-builder>.dialog.fixed{ - left: auto; - right: 240px; - width: calc(100% - 280px); - /*opacity: 0;*/ - animation: none; - -webkit-animation:none; - /*transform: scale(0.8);*/ - /*pointer-events: none;*/ - /*-webkit-animation:dialog_start2 0.5s;*/ - transition: all 0.5s; -} -#deck-builder:not(.shown)>.dialog.fixed{ - opacity: 0; - transform: scale(0.8); - pointer-events: none; -} -#deck-builder>.dialog.fixed.shown{ - opacity: 1; - transform: scale(1); - pointer-events: auto; -} -#deck-builder>.controls{ - opacity: 0; - height: 50px; - width: calc(100% - 200px); - bottom: 10px; - left: 0; - text-align: right; - z-index: 9; - pointer-events: none; -} -#deck-builder>.controls>div{ - position: relative; - margin-top:5px; - margin-left: 5px; - margin-right: 5px; -} -#deck-builder>.controls>.card-count{ - position: absolute; - width: 100px; - height: 100%; - left: calc(50% - 50px); - text-align: center; - font-family: 'xinwei'; - font-size: 24px; - line-height: 50px; - margin: 0; -} -#deck-builder>.controls>div:last-child{ - margin-right: 40px; - white-space: nowrap; - -webkit-user-select: text; -} -#deck-builder>.controls.shown{ - opacity: 1; - pointer-events: auto; + +.dialog .deckitem { + margin-left: 8px; + margin-right: 9px; } -#arena>.player.stone_deck{ - transform: scale(1) translateX(100px); - opacity: 0; - transition: all 0.5s; - left: calc(5% + 50px); - top:calc(50% - 90px); + +.deckitem.random { + border-radius: 4px; + text-align: center; } -#arena>.player.stone_deck.shown{ - transform: scale(0.8); - opacity: 1; + +.deckitem.random>span { + margin-left: 0; +} + +.deckitem:last-child { + margin-bottom: 15px; +} + +.deckitem>span { + margin-left: 46px; +} + +.deckitem>.menubutton.round { + position: absolute; + left: -1px; + top: -2px; + width: 34px; + height: 34px; +} + +#deck-builder>.shadowed.career { + width: 240px; + height: 240px; + right: 220px; + bottom: 20px; + opacity: 0; + transform: scale(0) translateX(300px); + transform-origin: right bottom; + transition-duration: 0.3s; + z-index: 8; } -#arena>.player.stone_deck.shown.removing{ - transform: scale(0.6) translateX(-100px); + +#deck-builder>.shadowed.career.shown { + transform: scale(1) translateX(0); + opacity: 1; } -#arena>.player.stone_deck>div:not(.avatar):not(.avatar2){ - display: none !important; + +#deck-builder>.shadowed.career>div { + width: 80px; + height: 80px; + margin: 0; + padding: 0; + position: relative; + display: inline-block; +} + +#deck-builder>.shadowed.career>div>.menubutton.round { + left: 15px; + top: 5px; +} + +#deck-builder>.shadowed.career>div>.text { + font-size: 12px; + width: 100%; + text-align: center; + top: 58px; +} + +#deck-builder>.dialog.fixed { + left: auto; + right: 240px; + width: calc(100% - 280px); + /*opacity: 0;*/ + animation: none; + -webkit-animation: none; + /*transform: scale(0.8);*/ + /*pointer-events: none;*/ + /*-webkit-animation:dialog_start2 0.5s;*/ + transition: all 0.5s; +} + +#deck-builder:not(.shown)>.dialog.fixed { + opacity: 0; + transform: scale(0.8); + pointer-events: none; +} + +#deck-builder>.dialog.fixed.shown { + opacity: 1; + transform: scale(1); + pointer-events: auto; +} + +#deck-builder>.controls { + opacity: 0; + height: 50px; + width: calc(100% - 200px); + bottom: 10px; + left: 0; + text-align: right; + z-index: 9; + pointer-events: none; +} + +#deck-builder>.controls>div { + position: relative; + margin-top: 5px; + margin-left: 5px; + margin-right: 5px; +} + +#deck-builder>.controls>.card-count { + position: absolute; + width: 100px; + height: 100%; + left: calc(50% - 50px); + text-align: center; + font-family: 'xinwei'; + font-size: 24px; + line-height: 50px; + margin: 0; +} + +#deck-builder>.controls>div:last-child { + margin-right: 40px; + white-space: nowrap; + user-select: text; + -webkit-user-select: text; +} + +#deck-builder>.controls.shown { + opacity: 1; + pointer-events: auto; +} + +#arena>.player.stone_deck { + transform: scale(1) translateX(100px); + opacity: 0; + transition: all 0.5s; + left: calc(5% + 50px); + top: calc(50% - 90px); +} + +#arena>.player.stone_deck.shown { + transform: scale(0.8); + opacity: 1; +} + +#arena>.player.stone_deck.shown.removing { + transform: scale(0.6) translateX(-100px); +} + +#arena>.player.stone_deck>div:not(.avatar):not(.avatar2) { + display: none !important; } /*#arena>.skillbar>.skillbartext:hover{ opacity: 1; }*/ -@keyframes skillbarglow{ - 0%{box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px} - 50%{box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px,rgba(255, 0, 0, 0.4) 0 0 5px, - rgba(255, 0, 0, 0.4) 0 0 12px, rgba(255, 0, 0, 1) 0 0 30px, rgba(255, 0, 0, 0.2) 0 0 30px} - 100%{box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px} -} -@-webkit-keyframes skillbarglow{ - 0%{box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px} - 50%{box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px,rgba(255, 0, 0, 0.4) 0 0 5px, - rgba(255, 0, 0, 0.4) 0 0 12px, rgba(255, 0, 0, 1) 0 0 30px, rgba(255, 0, 0, 0.2) 0 0 30px} - 100%{box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px} +@keyframes skillbarglow { + 0% { + box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px + } + + 50% { + box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px, + rgba(255, 0, 0, 0.4) 0 0 12px, rgba(255, 0, 0, 1) 0 0 30px, rgba(255, 0, 0, 0.2) 0 0 30px + } + + 100% { + box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px + } } -div[data-career='mage']{ - background-image: url('../../../image/mode/stone/career/mage.png'); - background-size:cover; +@-webkit-keyframes skillbarglow { + 0% { + box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px + } + + 50% { + box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px, + rgba(255, 0, 0, 0.4) 0 0 12px, rgba(255, 0, 0, 1) 0 0 30px, rgba(255, 0, 0, 0.2) 0 0 30px + } + + 100% { + box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px + } } -div[data-career='druid']{ - background-image: url('../../../image/mode/stone/career/druid.png'); - background-size:cover; + +div[data-career='mage'] { + background-image: url('../../image/mode/stone/career/mage.png'); + background-size: cover; } -div[data-career='hunter']{ - background-image: url('../../../image/mode/stone/career/hunter.png'); - background-size:cover; + +div[data-career='druid'] { + background-image: url('../../image/mode/stone/career/druid.png'); + background-size: cover; } -div[data-career='shaman']{ - background-image: url('../../../image/mode/stone/career/shaman.png'); - background-size:cover; + +div[data-career='hunter'] { + background-image: url('../../image/mode/stone/career/hunter.png'); + background-size: cover; } -div[data-career='paladin']{ - background-image: url('../../../image/mode/stone/career/paladin.png'); - background-size:cover; + +div[data-career='shaman'] { + background-image: url('../../image/mode/stone/career/shaman.png'); + background-size: cover; } -div[data-career='rogue']{ - background-image: url('../../../image/mode/stone/career/rogue.png'); - background-size:cover; + +div[data-career='paladin'] { + background-image: url('../../image/mode/stone/career/paladin.png'); + background-size: cover; } -div[data-career='priest']{ - background-image: url('../../../image/mode/stone/career/priest.png'); - background-size:cover; + +div[data-career='rogue'] { + background-image: url('../../image/mode/stone/career/rogue.png'); + background-size: cover; } -div[data-career='warrior']{ - background-image: url('../../../image/mode/stone/career/warrior.png'); - background-size:cover; + +div[data-career='priest'] { + background-image: url('../../image/mode/stone/career/priest.png'); + background-size: cover; } -div[data-career='warlock']{ - background-image: url('../../../image/mode/stone/career/warlock.png'); - background-size:cover; + +div[data-career='warrior'] { + background-image: url('../../image/mode/stone/career/warrior.png'); + background-size: cover; } -div[data-career='knight']{ - background-image: url('../../../image/mode/stone/career/knight.png'); - background-size:cover; + +div[data-career='warlock'] { + background-image: url('../../image/mode/stone/career/warlock.png'); + background-size: cover; } + +div[data-career='knight'] { + background-image: url('../../image/mode/stone/career/knight.png'); + background-size: cover; +} \ No newline at end of file diff --git a/layout/newlayout/global.css b/layout/newlayout/global.css index 7c13c8be8d..691d4bc6ea 100644 --- a/layout/newlayout/global.css +++ b/layout/newlayout/global.css @@ -322,6 +322,7 @@ .player .identity{ right: -6px; top: -5px; + left: auto; } .player.minskin .identity{ left:102px; diff --git a/mode/boss.js b/mode/boss.js index 8e0f9ff06a..1c60a36a56 100644 --- a/mode/boss.js +++ b/mode/boss.js @@ -2659,7 +2659,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ if(!player.hasEmptySlot('equip2')) return false; if(event.card.name=='nanman') return true; if(event.card.name=='wanjian') return true; - return event.card.name=='sha'&&event.card.hasNature(); + return event.card.name=='sha'&&game.hasNature(event.card); }, content:function(){ trigger.cancel(); @@ -2672,7 +2672,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ if(card.name=='sha'){ var equip1=player.getEquip(1); if(equip1&&equip1.name=='zhuque') return 1.9; - if(!card.hasNature()) return 'zerotarget'; + if(!game.hasNature(card)) return 'zerotarget'; } } } @@ -4683,14 +4683,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ equipSkill:true, inherit:'cixiong_skill', filter:function(event,player){ - return event.card.hasNature('linked'); + return game.hasNature(event.card,'linked'); }, }, qicaishenlu:{ trigger:{source:'damageBegin1'}, forced:true, filter:function(event,player){ - return event.card.hasNature('linked'); + return game.hasNature(event.card,'linked'); }, content:function(){ trigger.num++; diff --git a/mode/brawl.js b/mode/brawl.js index 66744ee27e..493536c680 100644 --- a/mode/brawl.js +++ b/mode/brawl.js @@ -1883,8 +1883,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ var list=[['guanyu','guanping','guansuo','guanyinping'], ['caocao','caopi','caozhi','caorui'],['liubei','liushan','liuchen'], ['re_xiahouyuan','xiahouba','xiahoushi'],['sunjian','sunquan','sunce'], - ['sp_zhangjiao','zhangliang','zhangbao'],['zhugeliang','zhugeguo','zhugejin','zhugeke'], - ['mateng','machao','madai','mayunlu']]; + ['sp_zhangjiao','re_zhangliang','zhangbao'],['zhugeliang','zhugeguo','zhugejin','zhugeke'], + ['mateng','machao','old_madai','mayunlu']]; list.randomSort(); var list2=[]; for(var i=0;i0; + }) }).setHiddenSkill('gzhuyuan'); 'step 1' if(result.bool){ @@ -12169,7 +12174,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ return target.hasCard(function(card){ return lib.filter.canBeDiscarded(card,player,target); },'ej'); - }); + }).set('ai',function(target){ + const player=_status.event.player; + return get.effect(target,{name:'guohe_copy',position:'ej'},player,player); + }) } else event.finish(); 'step 3' @@ -14561,6 +14569,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ gzcongjian:'从谏', gzcongjian_info:'锁定技,当你于回合外造成伤害,或于回合内受到伤害时,此伤害+1。', gz_jun_caocao:'君曹操', + gz_jun_caocao_prefix:'君', jianan:'建安', jianan_info:'君主技,只要此武将处于明置状态,你便拥有“五子良将纛”。', g_jianan:'五子良将纛', @@ -14653,8 +14662,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ "_mingzhisuodingji_info":"出牌阶段,你可以明置拥有“锁定技”的武将牌。", gz_jun_liubei:'君刘备', + gz_jun_liubei_prefix:'君', gz_jun_zhangjiao:'君张角', + gz_jun_zhangjiao_prefix:'君', gz_jun_sunquan:'君孙权', + gz_jun_sunquan_prefix:'君', gz_liqueguosi:'李傕郭汜', gz_bianfuren:'卞夫人', gz_lvfan:'吕范', diff --git a/mode/identity.js b/mode/identity.js index 30d72fcacd..5dac34c85f 100644 --- a/mode/identity.js +++ b/mode/identity.js @@ -2332,7 +2332,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ if(get.population('zhong')+get.population('nei')==0|| get.population('zhong')+get.population('fan')==0){ game.broadcastAll(function(){ - game.showIdentity(); + if(game.showIdentity) game.showIdentity(); if(game.zhu&&game.zhu.isAlive()&&get.population('nei')==1&&get.config('nei_fullscreenpop')) game.me.$fullscreenpop('主公 vs 内奸',null,null,false); }); } @@ -2399,9 +2399,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ var effect=0,c,shown; var info=get.info(card); if(info.ai&&info.ai.expose){ - if(_status.event.name=='_wuxie'){ - if(_status.event.source&&_status.event.source.ai.shown){ - this.ai.shown+=0.2; + if(_status.event.name=='_wuxie'&&card.name=='wuxie'){ + const infomap=_status.event._info_map; + if(infomap){ + if(this!=infomap.target&&infomap.player&&infomap.player.ai.shown){ + this.ai.shown+=0.2; + } } } else{