powergrid-viewer 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,7 +23,7 @@ object-assign
23
23
  * (c) 2015-present Evan You
24
24
  * @license MIT
25
25
  */
26
- function I(e){return I="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},I(e)}function U(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function K(e){return Y(e)||H(e)||W()}function Y(e){if(Array.isArray(e)){for(var n=0,t=new Array(e.length);n<e.length;n++)t[n]=e[n];return t}}function H(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function W(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function V(){return"undefined"!==typeof Reflect&&Reflect.defineMetadata&&Reflect.getOwnMetadataKeys}function F(e,n){J(e,n),Object.getOwnPropertyNames(n.prototype).forEach((function(t){J(e.prototype,n.prototype,t)})),Object.getOwnPropertyNames(n).forEach((function(t){J(e,n,t)}))}function J(e,n,t){var r=t?Reflect.getOwnMetadataKeys(n,t):Reflect.getOwnMetadataKeys(n);r.forEach((function(r){var o=t?Reflect.getOwnMetadata(r,n,t):Reflect.getOwnMetadata(r,n);t?Reflect.defineMetadata(r,o,e,t):Reflect.defineMetadata(r,o,e)}))}var $={__proto__:[]},q=$ instanceof Array;function Z(e){return function(n,t,r){var o="function"===typeof n?n:n.constructor;o.__decorators__||(o.__decorators__=[]),"number"!==typeof r&&(r=void 0),o.__decorators__.push((function(n){return e(n,t,r)}))}}function Q(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];return c.a.extend({mixins:n})}function X(e){var n=I(e);return null==e||"object"!==n&&"function"!==n}function ee(e,n){var t=n.prototype._init;n.prototype._init=function(){var n=this,t=Object.getOwnPropertyNames(e);if(e.$options.props)for(var r in e.$options.props)e.hasOwnProperty(r)||t.push(r);t.forEach((function(t){Object.defineProperty(n,t,{get:function(){return e[t]},set:function(n){e[t]=n},configurable:!0})}))};var r=new n;n.prototype._init=t;var o={};return Object.keys(r).forEach((function(e){void 0!==r[e]&&(o[e]=r[e])})),o}var ne=["data","beforeCreate","created","beforeMount","mounted","beforeDestroy","destroyed","beforeUpdate","updated","activated","deactivated","render","errorCaptured","serverPrefetch"];function te(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n.name=n.name||e._componentTag||e.name;var t=e.prototype;Object.getOwnPropertyNames(t).forEach((function(e){if("constructor"!==e)if(ne.indexOf(e)>-1)n[e]=t[e];else{var r=Object.getOwnPropertyDescriptor(t,e);void 0!==r.value?"function"===typeof r.value?(n.methods||(n.methods={}))[e]=r.value:(n.mixins||(n.mixins=[])).push({data:function(){return U({},e,r.value)}}):(r.get||r.set)&&((n.computed||(n.computed={}))[e]={get:r.get,set:r.set})}})),(n.mixins||(n.mixins=[])).push({data:function(){return ee(this,e)}});var r=e.__decorators__;r&&(r.forEach((function(e){return e(n)})),delete e.__decorators__);var o=Object.getPrototypeOf(e.prototype),a=o instanceof c.a?o.constructor:c.a,i=a.extend(n);return oe(i,e,a),V()&&F(i,e),i}var re={prototype:!0,arguments:!0,callee:!0,caller:!0};function oe(e,n,t){Object.getOwnPropertyNames(n).forEach((function(r){if(!re[r]){var o=Object.getOwnPropertyDescriptor(e,r);if(!o||o.configurable){var a=Object.getOwnPropertyDescriptor(n,r);if(!q){if("cid"===r)return;var i=Object.getOwnPropertyDescriptor(t,r);if(!X(a.value)&&i&&i.value===a.value)return}0,Object.defineProperty(e,r,a)}}}))}function ae(e){return"function"===typeof e?te(e):function(n){return te(n,e)}}ae.registerHooks=function(e){ne.push.apply(ne,K(e))};var ie=ae,se="__reactiveInject__";function ce(e){return Z((function(n,t){"undefined"===typeof n.inject&&(n.inject={}),Array.isArray(n.inject)||(n.inject[t]=e||t)}))}function ue(e){return Z((function(n,t){if("undefined"===typeof n.inject&&(n.inject={}),!Array.isArray(n.inject)){var r=e?e.from||e:t,o=!!e&&e.default||void 0;n.computed||(n.computed={}),n.computed[t]=function(){var e=this[se];return e?e[r]:o},n.inject[se]=se}}))}function le(e){var n=function(){var t=this,r="function"===typeof e?e.call(this):e;for(var o in r=Object.create(r||null),r[se]=this[se]||{},n.managed)r[n.managed[o]]=this[o];var a=function(e){r[n.managedReactive[e]]=i[e],Object.defineProperty(r[se],n.managedReactive[e],{enumerable:!0,get:function(){return t[e]}})},i=this;for(var o in n.managedReactive)a(o);return r};return n.managed={},n.managedReactive={},n}function de(e){return"function"!==typeof e||!e.managed&&!e.managedReactive}function fe(e){return Z((function(n,t){var r=n.provide;de(r)&&(r=n.provide=le(r)),r.managed[t]=e||t}))}function he(e){return Z((function(n,t){var r=n.provide;Array.isArray(n.inject)||(n.inject=n.inject||{},n.inject[se]={from:se,default:{}}),de(r)&&(r=n.provide=le(r)),r.managedReactive[t]=e||t}))}var pe="undefined"!==typeof Reflect&&"undefined"!==typeof Reflect.getMetadata;function ge(e,n,t){if(pe&&!Array.isArray(e)&&"function"!==typeof e&&"undefined"===typeof e.type){var r=Reflect.getMetadata("design:type",n,t);r!==Object&&(e.type=r)}}function ye(e){return void 0===e&&(e={}),function(n,t){ge(e,n,t),Z((function(n,t){(n.props||(n.props={}))[t]=e}))(n,t)}}function me(e,n){void 0===n&&(n={});var t=n.deep,r=void 0!==t&&t,o=n.immediate,a=void 0!==o&&o;return Z((function(n,t){"object"!==typeof n.watch&&(n.watch=Object.create(null));var o=n.watch;"object"!==typeof o[e]||Array.isArray(o[e])?"undefined"===typeof o[e]&&(o[e]=[]):o[e]=[o[e]],o[e].push({handler:t,deep:r,immediate:a})}))}function ve(e){return Z((function(n,t){n.computed=n.computed||{},n.computed[t]={cache:!1,get:function(){return this.$refs[e||t]}}}))}var be,we=function(){var e=this,n=e.$createElement,t=e._self._c||n;return 99==e.powerPlant.number?t("g",{attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")"}},[t("rect",{attrs:{width:"60",height:"40",fill:e.getColor(),stroke:"black","stroke-width":"2",rx:"4"}}),t("text",{attrs:{"text-anchor":"middle",x:"30",y:"20",fill:"black"}},[e._v("Step 3")])]):t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")"},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("rect",{attrs:{width:"60",height:"40",fill:e.getColor(),stroke:e.hasDiscount?"palegreen":"black","stroke-width":"2",rx:"4"}}),e.hasDiscount?t("g",[t("rect",{attrs:{width:"12",height:"12",rx:"4",fill:"palegreen"}}),t("text",{staticStyle:{"font-size":"12px"},attrs:{"text-anchor":"middle",x:"6",y:"6",fill:"black"}},[e._v("$")])]):e._e(),t("g",{attrs:{transform:"translate(30, 10)"}},[t("text",{attrs:{"text-anchor":"middle",x:"1",y:"1",fill:"gray"}},[e._v(e._s(e.powerPlant.number))]),t("text",{attrs:{"text-anchor":"middle",fill:"white"}},[e._v(e._s(e.powerPlant.number))])]),t("g",{class:["piece"],attrs:{id:e.elId,transform:"translate(40, 20) scale(0.035)"}},[t("path",{attrs:{d:"M187.698 263.636V456.017L3 341.204V169.522L80.8579 108.141L187.698 263.636Z",fill:"white",stroke:"white","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361V300.164L187.698 456.017V263.636L395.724 136.361Z",fill:"white",stroke:"white","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361L187.698 263.636L80.8579 108.141L304.771 4L395.724 136.361Z",fill:"white",stroke:"white","stroke-width":"12","stroke-miterlimit":"10"}})]),t("text",{staticStyle:{"font-size":"12px"},attrs:{"text-anchor":"middle",x:"47",y:"28",fill:"black"}},[e._v(" "+e._s(e.powerPlant.citiesPowered)+" ")]),t("g",{attrs:{transform:"translate(5, 20)"}},[t("path",{attrs:{d:e.getResourcePath(),fill:"white"}})]),e.powerPlant.cost>0?t("text",{staticStyle:{"font-size":"12px"},attrs:{"text-anchor":"middle",x:"12.5",y:"27.5",fill:"black"}},[e._v(" "+e._s(e.powerPlant.cost)+" ")]):e._e(),t("g",{attrs:{transform:"translate(24, 22)"}},[t("path",{attrs:{d:"M0,3 L8,3 L8,0 L14,6 L8,12 L8,9 L0,9Z",fill:"white"}})]),t("defs",[t("linearGradient",{attrs:{id:"hybrid",x1:"0",y1:"0",x2:"100%",y2:"100%"}},[t("stop",{attrs:{offset:"50%","stop-color":"#8b4513"}}),t("stop",{attrs:{offset:"50%","stop-color":"#445"}})],1)],1)])},xe=[];(function(e){e[e["House"]=0]="House",e[e["Card"]=1]="Card",e[e["Coal"]=2]="Coal",e[e["Oil"]=3]="Oil",e[e["Garbage"]=4]="Garbage",e[e["Uranium"]=5]="Uranium",e[e["Hybrid"]=6]="Hybrid"})(be||(be={}));var ke,Me,Pe,_e=["limegreen","mediumorchid","red","dodgerblue","yellow","brown"];function Se(e,n){return"Australia"===e.map.name&&n.type===Me.Uranium}function Ce(e,n){var t,r=void 0!=e.clockStartedAt&&void 0!=n?Math.max(0,n-e.clockStartedAt):0;return(null!==(t=e.totalTimeUsed)&&void 0!==t?t:0)+r}function Be(e,n){return n.powerPlants.filter((function(n){return!Se(e,n)})).length}(function(e){e["Coal"]="coal",e["Oil"]="oil",e["Garbage"]="garbage",e["Uranium"]="uranium"})(ke||(ke={})),function(e){e[e["Coal"]=0]="Coal",e[e["Oil"]=1]="Oil",e[e["Garbage"]=2]="Garbage",e[e["Uranium"]=3]="Uranium",e[e["Hybrid"]=4]="Hybrid",e[e["Wind"]=5]="Wind",e[e["Nuclear"]=6]="Nuclear",e[e["Step3"]=7]="Step3"}(Me||(Me={})),function(e){e["ColorSelection"]="Color Selection",e["RegionSelection"]="Region Selection",e["Order"]="Order",e["Auction"]="Auction",e["Resources"]="Resources",e["Building"]="Building",e["Bureaucracy"]="Bureaucracy",e["GameEnd"]="Game End"}(Pe||(Pe={}));var Le=[2,3,4,5,6,7];function Re(e){for(var n=e.length-1;n>=0;n--)if(e[n]<2)return n;return-1}function Ae(e,n){if(!e.uraniumMineMarket)return{income:0,price:0,mines:0,cities:0};var t=n.powerPlants.filter((function(n){return Se(e,n)}));if(0===t.length)return{income:0,price:0,mines:0,cities:0};var r=t.reduce((function(e,n){return e+n.citiesPowered}),0),o=Re(e.uraniumMineMarket);if(o<0)return{income:0,price:0,mines:t.length,cities:r};var a=Le[o],i=a*r;n.money+=i,e.options.trackTotalSpent&&(n.totalIncome+=i);for(var s=0;s<t.length;s++){var c=Re(e.uraniumMineMarket);if(c<0)break;e.uraniumMineMarket[c]++}return{income:i,price:a,mines:t.length,cities:r}}function Oe(e,n){if(!e.uraniumMineMarket)return 0;for(var t=0,r=0;r<n;r++){for(var o=-1,a=0;a<e.uraniumMineMarket.length;a++)if(e.uraniumMineMarket[a]>0){o=a;break}if(o<0)break;e.uraniumMineMarket[o]--,t++}return t}var je=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"targetState",void 0),m(B(e),"pieceId",void 0),m(B(e),"transparent",void 0),m(B(e),"restorable",void 0),m(B(e),"communicator",void 0),m(B(e),"ui",void 0),m(B(e),"pieceType",void 0),m(B(e),"currentX",0),m(B(e),"currentY",0),m(B(e),"mounted",!1),m(B(e),"transitioning",!1),m(B(e),"transitionCount",0),m(B(e),"moving",!1),e}return C(t,[{key:"pieceOpacity",get:function(){return this.transparent?this.restorable?.6:.3:1}},{key:"startTransitioning",value:function(){var e=this;if(!this.transitioning){this.ui.waitingAnimations+=1,this.transitioning=!0,this.transitionCount+=1;var n=this.transitionCount;setTimeout((function(){n===e.transitionCount&&e.onTransitionEnd()}),1e3)}}},{key:"onTargetChanged",value:function(e,n){var t=this;this.targetState.x===this.currentX&&this.targetState.y===this.currentY||(!this.transitioning&&this.mounted&&(!n||e?this.startTransitioning():(this.moving=!0,setTimeout((function(){return t.moving=!1}),800))),this.mounted?setTimeout((function(){t.currentX=t.targetState.x,t.currentY=t.targetState.y})):(this.currentX=this.targetState.x,this.currentY=this.targetState.y))}},{key:"onTransitionEnd",value:function(){this.transitioning&&(this.transitioning=!1,this.ui.waitingAnimations=Math.max(this.ui.waitingAnimations-1,0))}},{key:"elId",get:function(){return this.transitioning||this.moving?"moving":void 0}}]),t}(c.a);z([ye({default:function(){return{x:0,y:0,rotate:0}}})],je.prototype,"targetState",void 0),z([ye()],je.prototype,"pieceId",void 0),z([ye()],je.prototype,"transparent",void 0),z([ye()],je.prototype,"restorable",void 0),z([ce()],je.prototype,"communicator",void 0),z([ce()],je.prototype,"ui",void 0),z([me("dragging"),me("targetState",{immediate:!0})],je.prototype,"onTargetChanged",null),je=z([ie({created:function(){},mounted:function(){this.mounted=!0},beforeDestroy:function(){this.onTransitionEnd()}})],je);var Ne,De,Te=je,ze=Te;function Ge(e,n,t,r,o,a,i,s){var c,u="function"===typeof e?e.options:e;if(n&&(u.render=n,u.staticRenderFns=t,u._compiled=!0),r&&(u.functional=!0),a&&(u._scopeId="data-v-"+a),i?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},u._ssrRegister=c):o&&(c=s?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(u.functional){u._injectStyles=c;var l=u.render;u.render=function(e,n){return c.call(n),l(e,n)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,c):[c]}return{exports:e,options:u}}var Ee=Ge(ze,Ne,De,!1,null,null,null),Ie=Ee.exports,Ue=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"owner",void 0),m(B(e),"powerPlant",void 0),m(B(e),"canClick",void 0),m(B(e),"hasDiscount",void 0),e}return C(t,[{key:"getColor",value:function(){var e;switch(null===(e=this.powerPlant)||void 0===e?void 0:e.type){case Me.Coal:return"#8b4513";case Me.Oil:return"#445";case Me.Garbage:return"goldenrod";case Me.Uranium:return"red";case Me.Hybrid:return"url(#hybrid)";case Me.Wind:return"limegreen";case Me.Nuclear:return"dodgerblue";case Me.Step3:return"dodgerblue"}}},{key:"getResourcePath",value:function(){var e;switch(null===(e=this.powerPlant)||void 0===e?void 0:e.type){case Me.Coal:return"M0,3 L7.5,0 L15,3 L15,12 L7.5,15 L0,12Z";case Me.Oil:return"M3,2 A6,3 0 0,1 12,2 L12,12 A6,3 0 0,1 3,12Z";case Me.Garbage:return"M0,3 A7.5,3 0 0,1 15,3 L15,12 A7.5,3 0 0,1 0,12Z";case Me.Uranium:return"M1,2 l4,-2 l6,0 l4,2 l0,11 l-4,2 l-6,0 l-4,-2Z";case Me.Hybrid:return"M0,3 L7.5,0 L15,3 L15,12 L7.5,15 L0,12Z M9,1 A6,3 0 0,1 18,1 L18,10 A6,3 0 0,1 10,10Z";case Me.Wind:return"";case Me.Nuclear:return"";case Me.Step3:return""}}}]),t}(Q(Ie));z([ye()],Ue.prototype,"owner",void 0),z([ye()],Ue.prototype,"powerPlant",void 0),z([ye()],Ue.prototype,"canClick",void 0),z([ye({default:!1})],Ue.prototype,"hasDiscount",void 0),Ue=z([ie({created:function(){this.pieceType=be.Card}})],Ue);var Ke,Ye,He=Ue,We=He,Ve=(t("11ac"),Ge(We,we,xe,!1,null,null,null)),Fe=Ve.exports,Je=(t("7f32"),t("22ea"),t("ec9f"),t("da71"),t("4311"),t("4cd2")),$e=t.n(Je),qe=t("0b6f"),Ze=t("3a04"),Qe=t.n(Ze);(function(e){e["ChoosePowerPlant"]="ChoosePowerPlant",e["Bid"]="Bid",e["DiscardPowerPlant"]="DiscardPowerPlant",e["DiscardResources"]="DiscardResources",e["BuyResource"]="BuyResource",e["Build"]="Build",e["UsePowerPlant"]="UsePowerPlant",e["ChooseRegion"]="ChooseRegion",e["ChooseColor"]="ChooseColor",e["Pass"]="Pass"})(Ke||(Ke={}));var Xe,en,nn=(Ye={},m(Ye,ke.Coal,[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8]),m(Ye,ke.Oil,[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8]),m(Ye,ke.Garbage,[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8]),m(Ye,ke.Uranium,[1,2,3,4,5,6,7,8,10,12,14,16]),Ye),tn=nn;t("9cd8");function rn(e){}function on(e,n){var t,r,o=1/0,a=w(e);try{for(a.s();!(r=a.n()).done;){var i=r.value,s=n(i);s<o&&(t=i,o=s)}}catch(c){a.e(c)}finally{a.f()}return t}function an(e,n){var t=Qe.a.alea(n),r=new Map;return e.forEach((function(e,n){var o=t.int32();while(r.has(o))o=t.int32();r.set(o,n)})),P(r.keys()).sort().map((function(n){return e[r.get(n)]}))}function sn(e){var n=[],t=e.hybridCapacity>0?Math.max(0,e.oilLeft-e.oilCapacity):0;e.coalLeft>0&&e.coalCapacity+e.hybridCapacity<e.coalLeft+t&&n.push(ke.Coal);var r=e.hybridCapacity>0?Math.max(0,e.coalLeft-e.coalCapacity):0;return e.oilLeft>0&&e.oilCapacity+e.hybridCapacity<e.oilLeft+r&&n.push(ke.Oil),n}function cn(e,n){var t={};switch(e.phase){case Pe.Auction:if(Be(e,n)>4||e.players.length>2&&Be(e,n)>3)t[Ke.DiscardPowerPlant]=n.powerPlants.filter((function(t,r){return r!=n.powerPlants.length-1&&!Se(e,t)})).map((function(e){return e.number}));else{var r=sn(n);if(n.garbageCapacity<n.garbageLeft&&r.push(ke.Garbage),n.uraniumCapacity<n.uraniumLeft&&r.push(ke.Uranium),r.length>0)t[Ke.DiscardResources]=r;else if(void 0==e.chosenPowerPlant){var o=e.actualMarket.filter((function(e){return n.money>=e.number}));if("Spain & Portugal"==e.map.name){var a=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));a.every((function(e){return"yellow"==e.region}))&&(o=o.filter((function(e){return e.type!=Me.Uranium})))}if("Central Europe"==e.map.name){var i=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"green"==e.region||"brown"==e.region||"purple"==e.region}));0==i.length&&(o=o.filter((function(e){return e.type!=Me.Uranium})))}if("UK & Ireland"==e.map.name){var s=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));s.every((function(e){return"green"==e.region}))&&(o=o.filter((function(e){return e.type!=Me.Uranium})))}if("Northern Europe"==e.map.name){var c=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"purple"==e.region||"yellow"==e.region||"brown"==e.region||"pink"==e.region}));0==c.length&&(o=o.filter((function(e){return e.type!=Me.Uranium})))}o.length>0&&(t[Ke.ChoosePowerPlant]=o.map((function(e){return e.number}))),(e.round>1||e.discountBonusPlayer==n.id)&&(t[Ke.Pass]=[!0])}else{if(e.options.fastBid?e.minimunBid<=n.money&&(t[Ke.Bid]=Object(qe["range"])(e.minimunBid,n.money+1)):e.currentBid?e.currentBid<n.money&&(t[Ke.Bid]=Object(qe["range"])(e.currentBid+1,n.money+1)):t[Ke.Bid]=Object(qe["range"])(e.minimunBid,n.money+1),"Spain & Portugal"==e.map.name){var u=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));u.every((function(e){return"yellow"==e.region}))&&e.chosenPowerPlant.type==Me.Uranium&&(t[Ke.Bid]=void 0)}if("Central Europe"==e.map.name){var l=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"green"==e.region||"brown"==e.region||"purple"==e.region}));0==l.length&&e.chosenPowerPlant.type==Me.Uranium&&(t[Ke.Bid]=void 0)}if("UK & Ireland"==e.map.name){var d=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));d.every((function(e){return"green"==e.region}))&&e.chosenPowerPlant.type==Me.Uranium&&(t[Ke.Bid]=void 0)}if("Northern Europe"==e.map.name){var f=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"purple"==e.region||"yellow"==e.region||"brown"==e.region||"pink"==e.region}));0==f.length&&e.chosenPowerPlant.type==Me.Uranium&&(t[Ke.Bid]=void 0)}e.options.fastBid?n.id!=e.auctioningPlayer&&(t[Ke.Pass]=[!0]):null!=e.currentBid&&(t[Ke.Pass]=[!0])}}break;case Pe.Resources:if("India"==e.map.name&&void 0!==e.chosenResource){t[Ke.Pass]=[!0];break}var h,p=[];h=e.map.maxPriceAvailable?e.map.maxPriceAvailable[e.step-1]:16;var g=void 0!==e.coalResupplyNorth,y=!g||"north"!==e.chosenSide,m=g&&"south"!==e.chosenSide;if(y&&e.coalMarket>0){var v,b=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0,w=null!==(v=e.coalPrices)&&void 0!==v?v:tn[ke.Coal],x=w[w.length-e.coalMarket];n.money>=x&&n.coalCapacity+n.hybridCapacity>b+n.coalLeft&&x<=h&&p.push(g?{resource:ke.Coal,side:"south"}:{resource:ke.Coal})}else if(y&&"recharged"==e.options.variant&&"USA"==e.map.name&&e.coalSupply>0){var k=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0;n.money>=8&&n.coalCapacity+n.hybridCapacity>k+n.coalLeft&&p.push({resource:ke.Coal})}if(y&&void 0!==e.coalStorage&&e.coalStorage>0){var M,_=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0,S=null!==(M=e.coalPrices)&&void 0!==M?M:tn[ke.Coal],C=e.coalMarket>0?S[S.length-e.coalMarket]:Number.POSITIVE_INFINITY;n.money>=8&&n.coalCapacity+n.hybridCapacity>_+n.coalLeft&&8<=h&&C>=8&&p.push({resource:ke.Coal,fromStorage:!0})}if(m&&e.coalMarketNorth>0){var B=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0,L=e.coalPricesNorth,R=L[L.length-e.coalMarketNorth];n.money>=R&&n.coalCapacity+n.hybridCapacity>B+n.coalLeft&&R<=h&&p.push({resource:ke.Coal,side:"north"})}if(y&&e.oilMarket>0){var A,O=n.hybridCapacity>0?Math.max(0,n.coalLeft-n.coalCapacity):0,j=null!==(A=e.oilPrices)&&void 0!==A?A:tn[ke.Oil],N=j[j.length-e.oilMarket];n.money>=N&&n.oilCapacity+n.hybridCapacity>O+n.oilLeft&&N<=h&&p.push(g?{resource:ke.Oil,side:"south"}:{resource:ke.Oil})}if(m&&e.oilMarketNorth>0){var D=n.hybridCapacity>0?Math.max(0,n.coalLeft-n.coalCapacity):0,T=e.oilPricesNorth,z=T[T.length-e.oilMarketNorth];n.money>=z&&n.oilCapacity+n.hybridCapacity>D+n.oilLeft&&z<=h&&p.push({resource:ke.Oil,side:"north"})}if(y&&e.garbageMarket>0){var G,E=null!==(G=e.garbagePrices)&&void 0!==G?G:tn[ke.Garbage],I=E[E.length-e.garbageMarket];if("Central Europe"==e.map.name){var U=n.cities.filter((function(e){return"Wien"==e.name}));(null===U||void 0===U?void 0:U.length)>0&&I--}n.money>=I&&n.garbageCapacity>n.garbageLeft&&I<=h&&p.push(g?{resource:ke.Garbage,side:"south"}:{resource:ke.Garbage})}if(m&&e.garbageMarketNorth>0){var K=e.garbagePricesNorth,Y=K[K.length-e.garbageMarketNorth];n.money>=Y&&n.garbageCapacity>n.garbageLeft&&Y<=h&&p.push({resource:ke.Garbage,side:"north"})}if(y&&e.uraniumMarket>0){var H,W=null!==(H=e.uraniumPrices)&&void 0!==H?H:tn[ke.Uranium],V=W[W.length-e.uraniumMarket];n.money>=V&&n.uraniumCapacity>n.uraniumLeft&&V<=h&&p.push(g?{resource:ke.Uranium,side:"south"}:{resource:ke.Uranium})}p.length>0&&(t[Ke.BuyResource]=p),t[Ke.Pass]=[!0];break;case Pe.Building:if(n.cities.length<21){var F,J,$="Japan"===e.map.name,q=$?new Set(null!==(F=e.map.startingCities)&&void 0!==F?F:[]):new Set;if(0==n.cities.length){var Z=$?e.map.cities.filter((function(e){return q.has(e.name)})):e.map.cities;J=Z.map((function(e){return{name:e.name,price:0}}))}else if($&&1===e.round)J=n.usedFreeJump?[]:e.map.cities.filter((function(e){return q.has(e.name)})).map((function(e){return{name:e.name,price:0}}));else if(J=dn(e,n).map((function(e){return{name:e.name,price:e.price}})),$&&!n.usedFreeJump){var Q=[];q.forEach((function(e){n.cities.find((function(n){return n.name===e}))||Q.push({name:e,price:0,freeJump:!0})})),J=[].concat(P(J),Q)}J.forEach((function(t){var r,o=e.map.cities.find((function(e){return e.name==t.name}));if(o)if(null!==(r=e.blockedCities)&&void 0!==r&&r.includes(t.name))t.price=9999;else{var a=e.players.filter((function(e){return e.cities.find((function(e){return t.name==e.name}))})).length;if(o.transregional){if(e.step<2)return void(t.price=9999);var i=o.slotCosts,s=o.stepSlots?o.stepSlots[e.step-1]:e.step,c=i?i.length:3;return a>=s||a>=c?t.price=9999:t.price+=i?i[a]:3==e.step?20:15,void(n.cities.find((function(e){return e.name==t.name}))&&(t.price=9999))}if(o.island&&void 0!==e.map.crossIslandSurcharge&&n.cities.length>0){var u=new Set(n.cities.map((function(n){var t;return null===(t=e.map.cities.find((function(e){return e.name==n.name})))||void 0===t?void 0:t.island})).filter((function(e){return!!e})));if(!u.has(o.island))return void(t.price=a>0?9999:10+e.map.crossIslandSurcharge)}if(o.singleOccupancy)return 0==n.cities.length||a>=1?void(t.price=9999):void(n.cities.find((function(e){return e.name==t.name}))&&(t.price=9999));"Australia"==e.map.name&&n.cities.length>0&&(t.price=Math.min(t.price,20)),"Manhattan"==e.map.name&&n.cities.length>0&&(t.price=Math.max(0,t.price-5));var l=o.slotCosts,d=o.stepSlots?o.stepSlots[e.step-1]:e.step,f=l?l.length:3;a>=d||a>=f?t.price=9999:t.price+=l?l[a]:10+5*a,n.cities.find((function(e){return e.name==t.name}))&&(t.price=9999)}else t.price=9999})),J=J.filter((function(e){return e.price<=n.money})),J.length>0&&(t[Ke.Build]=J)}t[Ke.Pass]=[!0];break;case Pe.Bureaucracy:var X=[];n.powerPlants.forEach((function(t){if(!Se(e,t)&&n.powerPlantsNotUsed.includes(t.number))switch(t.type){case Me.Coal:n.coalLeft>=t.cost&&X.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(ke.Coal),citiesPowered:t.citiesPowered});break;case Me.Oil:n.oilLeft>=t.cost&&X.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(ke.Oil),citiesPowered:t.citiesPowered});break;case Me.Garbage:n.garbageLeft>=t.cost&&X.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(ke.Garbage),citiesPowered:t.citiesPowered});break;case Me.Uranium:n.uraniumLeft>=t.cost&&X.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(ke.Uranium),citiesPowered:t.citiesPowered});break;case Me.Wind:case Me.Nuclear:X.push({powerPlant:t.number,resourcesSpent:[],citiesPowered:t.citiesPowered});break;case Me.Hybrid:var r;if(n.coalLeft+n.oilLeft>=t.cost)r=1==t.cost?[[ke.Coal],[ke.Oil]]:2==t.cost?[[ke.Coal,ke.Coal],[ke.Coal,ke.Oil],[ke.Oil,ke.Oil]]:[[ke.Coal,ke.Coal,ke.Coal],[ke.Coal,ke.Coal,ke.Oil],[ke.Coal,ke.Oil,ke.Oil],[ke.Oil,ke.Oil,ke.Oil]],r.forEach((function(e){e.filter((function(e){return e==ke.Coal})).length<=n.coalLeft&&e.filter((function(e){return e==ke.Oil})).length<=n.oilLeft&&X.push({powerPlant:t.number,resourcesSpent:e,citiesPowered:t.citiesPowered})}))}})),X.length>0&&(t[Ke.UsePowerPlant]=X),("India"!=e.map.name||n.citiesPowered>=n.targetCitiesPowered||n.isAI||0===X.length)&&(t[Ke.Pass]=[!0]);break;case Pe.RegionSelection:var ee,ne,te=null!==(ee=null===(ne=e.regionDraft)||void 0===ne?void 0:ne.picked)&&void 0!==ee?ee:[],re=un(e.map);t[Ke.ChooseRegion]=re.regions.filter((function(n){return ln(e.map.name,re,te,n)}));break;case Pe.ColorSelection:var oe,ae,ie=null!==(oe=null===(ae=e.colorDraft)||void 0===ae?void 0:ae.picked)&&void 0!==oe?oe:[];t[Ke.ChooseColor]=_e.filter((function(e){return!ie.includes(e)}));break}return t}function un(e){var n,t=e.cities.filter((function(n,t){return e.cities.findIndex((function(e){return e.region==n.region}))==t})).map((function(e){return e.region})),r=e.connections.map((function(n){return n.nodes.map((function(n){return e.cities.find((function(e){return e.name==n})).region}))})),o=t.map((function(e){return t.filter((function(n){return e!=n&&r.some((function(t){return t.includes(e)&&t.includes(n)}))}))})),a={},i=w(e.cities);try{for(i.s();!(n=i.n()).done;){var s=n.value;s.island&&void 0===a[s.region]&&(a[s.region]=s.island)}}catch(c){i.e(c)}finally{i.f()}return{regions:t,regionConnections:o,regionIsland:a}}function ln(e,n,t,r){var o=new Set(t);if(o.has(r))return!1;if(0==o.size)return!0;var a=n.regions.indexOf(r);if(-1==a)return!1;if(n.regionConnections[a].some((function(e){return o.has(e)})))return!0;if("UK & Ireland"===e){var i=new Set(P(o).map((function(e){return n.regionIsland[e]})));if(!i.has(n.regionIsland[r]))return!0}return"Australia"===e}function dn(e,n){var t=e.map.cities.map((function(e){return{name:e.name,price:n.cities.find((function(n){return n.name==e.name}))?0:9999,visited:!1}})),r=t.find((function(e){return e.name==n.cities[0].name}));if(!r)return t;r.price=0;var o=r;while(1){var a=e.map.connections.filter((function(e){return e.nodes.includes(o.name)}));a.forEach((function(r){var a,i=r.nodes.filter((function(e){return e!=o.name}))[0],s=t.find((function(e){return e.name==i})),c=e.map.cities.find((function(e){return e.name==i})),u=null!==(a=null===c||void 0===c?void 0:c.connectionCost)&&void 0!==a?a:r.cost,l=n.cities.find((function(e){return e.name==s.name}))?0:o.price+u;!s.visited&&s.price>l&&(s.price=l)})),o.visited=!0;var i=t.filter((function(e){return!e.visited})),s=on(i,(function(e){return e.price}));if(!s||s.price>n.money)break;o=s}return t}(function(e){e["Purple"]="purple",e["Green"]="green",e["Red"]="red",e["Yellow"]="yellow",e["Cyan"]="cyan",e["Brown"]="brown"})(Xe||(Xe={})),function(e){e["Seattle"]="Seattle",e["Portland"]="Portland",e["Boise"]="Boise",e["Billings"]="Billings",e["Cheyenne"]="Cheyenne",e["Denver"]="Denver",e["Omaha"]="Omaha",e["SanFrancisco"]="San Francisco",e["LosAngeles"]="Los Angeles",e["SanDiego"]="San Diego",e["LasVegas"]="Las Vegas",e["SaltLakeCity"]="Salt Lake City",e["Phoenix"]="Phoenix",e["SantaFe"]="Santa Fe",e["KansasCity"]="Kansas City",e["OklahomaCity"]="Oklahoma City",e["Dallas"]="Dallas",e["Houston"]="Houston",e["Memphis"]="Memphis",e["Birmingham"]="Birmingham",e["NewOrleans"]="New Orleans",e["Fargo"]="Fargo",e["Duluth"]="Duluth",e["Minneapolis"]="Minneapolis",e["Chicago"]="Chicago",e["StLouis"]="St. Louis",e["Cincinnati"]="Cincinnati",e["Knoxvile"]="Knoxvile",e["Detroit"]="Detroit",e["Buffalo"]="Buffalo",e["Pittsburgh"]="Pittsburgh",e["Boston"]="Boston",e["NewYork"]="New York",e["Philadelphia"]="Philadelphia",e["Washington"]="Washington",e["Norfolk"]="Norfolk",e["Raleigh"]="Raleigh",e["Atlanta"]="Atlanta",e["Savannah"]="Savannah",e["Jacksonvile"]="Jacksonvile",e["Tampa"]="Tampa",e["Miami"]="Miami"}(en||(en={}));var fn,hn,pn={name:"USA",cities:[{name:en.Seattle,region:Xe.Purple,x:74,y:99},{name:en.Portland,region:Xe.Purple,x:45,y:167},{name:en.Boise,region:Xe.Purple,x:180,y:220},{name:en.Billings,region:Xe.Purple,x:345,y:180},{name:en.Cheyenne,region:Xe.Purple,x:410,y:280},{name:en.Denver,region:Xe.Purple,x:400,y:333},{name:en.Omaha,region:Xe.Purple,x:566,y:293},{name:en.SanFrancisco,region:Xe.Cyan,x:48,y:371},{name:en.LosAngeles,region:Xe.Cyan,x:116,y:460},{name:en.SanDiego,region:Xe.Cyan,x:157,y:507},{name:en.LasVegas,region:Xe.Cyan,x:200,y:410},{name:en.SaltLakeCity,region:Xe.Cyan,x:266,y:311},{name:en.Phoenix,region:Xe.Cyan,x:260,y:486},{name:en.SantaFe,region:Xe.Cyan,x:371,y:435},{name:en.KansasCity,region:Xe.Red,x:587,y:356},{name:en.OklahomaCity,region:Xe.Red,x:550,y:437},{name:en.Dallas,region:Xe.Red,x:560,y:504},{name:en.Houston,region:Xe.Red,x:569,y:571},{name:en.Memphis,region:Xe.Red,x:678,y:449},{name:en.Birmingham,region:Xe.Red,x:739,y:486},{name:en.NewOrleans,region:Xe.Red,x:674,y:570},{name:en.Fargo,region:Xe.Yellow,x:551,y:152},{name:en.Duluth,region:Xe.Yellow,x:637,y:133},{name:en.Minneapolis,region:Xe.Yellow,x:621,y:190},{name:en.Chicago,region:Xe.Yellow,x:716,y:281},{name:en.StLouis,region:Xe.Yellow,x:678,y:362},{name:en.Cincinnati,region:Xe.Yellow,x:795,y:348},{name:en.Knoxvile,region:Xe.Yellow,x:796,y:422},{name:en.Detroit,region:Xe.Brown,x:803,y:262},{name:en.Buffalo,region:Xe.Brown,x:913,y:251},{name:en.Pittsburgh,region:Xe.Brown,x:884,y:316},{name:en.Boston,region:Xe.Brown,x:1052,y:252},{name:en.NewYork,region:Xe.Brown,x:1010,y:290},{name:en.Philadelphia,region:Xe.Brown,x:985,y:330},{name:en.Washington,region:Xe.Brown,x:934,y:357},{name:en.Norfolk,region:Xe.Green,x:969,y:405},{name:en.Raleigh,region:Xe.Green,x:915,y:437},{name:en.Atlanta,region:Xe.Green,x:801,y:487},{name:en.Savannah,region:Xe.Green,x:867,y:507},{name:en.Jacksonvile,region:Xe.Green,x:861,y:559},{name:en.Tampa,region:Xe.Green,x:819,y:621},{name:en.Miami,region:Xe.Green,x:883,y:670}],connections:[{nodes:[en.Seattle,en.Portland],cost:3},{nodes:[en.Seattle,en.Boise],cost:12},{nodes:[en.Seattle,en.Billings],cost:9},{nodes:[en.Portland,en.Boise],cost:13},{nodes:[en.Portland,en.SanFrancisco],cost:24},{nodes:[en.Boise,en.Billings],cost:12},{nodes:[en.Boise,en.Cheyenne],cost:24},{nodes:[en.Boise,en.SanFrancisco],cost:23},{nodes:[en.Boise,en.SaltLakeCity],cost:8},{nodes:[en.Billings,en.Cheyenne],cost:9},{nodes:[en.Billings,en.Fargo],cost:17},{nodes:[en.Billings,en.Minneapolis],cost:18},{nodes:[en.Cheyenne,en.Denver],cost:0},{nodes:[en.Cheyenne,en.Omaha],cost:14},{nodes:[en.Cheyenne,en.Minneapolis],cost:18},{nodes:[en.Denver,en.SaltLakeCity],cost:21},{nodes:[en.Denver,en.SantaFe],cost:13},{nodes:[en.Denver,en.KansasCity],cost:16},{nodes:[en.Omaha,en.KansasCity],cost:5},{nodes:[en.Omaha,en.Minneapolis],cost:8},{nodes:[en.Omaha,en.Chicago],cost:13},{nodes:[en.SanFrancisco,en.LosAngeles],cost:9},{nodes:[en.SanFrancisco,en.LasVegas],cost:14},{nodes:[en.SanFrancisco,en.SaltLakeCity],cost:27},{nodes:[en.LosAngeles,en.SanDiego],cost:3},{nodes:[en.LosAngeles,en.LasVegas],cost:9},{nodes:[en.SanDiego,en.LasVegas],cost:9},{nodes:[en.SanDiego,en.Phoenix],cost:14},{nodes:[en.LasVegas,en.SaltLakeCity],cost:18},{nodes:[en.LasVegas,en.Phoenix],cost:15},{nodes:[en.LasVegas,en.SantaFe],cost:27},{nodes:[en.SaltLakeCity,en.SantaFe],cost:28},{nodes:[en.Phoenix,en.SantaFe],cost:18},{nodes:[en.SantaFe,en.KansasCity],cost:16},{nodes:[en.SantaFe,en.OklahomaCity],cost:15},{nodes:[en.SantaFe,en.Dallas],cost:16},{nodes:[en.SantaFe,en.Houston],cost:21},{nodes:[en.KansasCity,en.OklahomaCity],cost:8},{nodes:[en.KansasCity,en.Memphis],cost:12},{nodes:[en.KansasCity,en.Chicago],cost:8},{nodes:[en.KansasCity,en.StLouis],cost:6},{nodes:[en.OklahomaCity,en.Dallas],cost:3},{nodes:[en.OklahomaCity,en.Memphis],cost:14},{nodes:[en.Dallas,en.Houston],cost:5},{nodes:[en.Dallas,en.Memphis],cost:12},{nodes:[en.Dallas,en.NewOrleans],cost:12},{nodes:[en.Houston,en.NewOrleans],cost:8},{nodes:[en.Memphis,en.Birmingham],cost:6},{nodes:[en.Memphis,en.NewOrleans],cost:7},{nodes:[en.Memphis,en.StLouis],cost:7},{nodes:[en.Birmingham,en.NewOrleans],cost:11},{nodes:[en.Birmingham,en.Atlanta],cost:3},{nodes:[en.Birmingham,en.Jacksonvile],cost:9},{nodes:[en.NewOrleans,en.Jacksonvile],cost:16},{nodes:[en.Fargo,en.Duluth],cost:6},{nodes:[en.Fargo,en.Minneapolis],cost:6},{nodes:[en.Duluth,en.Minneapolis],cost:5},{nodes:[en.Duluth,en.Chicago],cost:12},{nodes:[en.Duluth,en.Detroit],cost:15},{nodes:[en.Minneapolis,en.Chicago],cost:8},{nodes:[en.Chicago,en.StLouis],cost:10},{nodes:[en.Chicago,en.Cincinnati],cost:7},{nodes:[en.Chicago,en.Detroit],cost:7},{nodes:[en.StLouis,en.Cincinnati],cost:12},{nodes:[en.StLouis,en.Atlanta],cost:12},{nodes:[en.Cincinnati,en.Knoxvile],cost:6},{nodes:[en.Cincinnati,en.Detroit],cost:4},{nodes:[en.Cincinnati,en.Pittsburgh],cost:7},{nodes:[en.Cincinnati,en.Raleigh],cost:15},{nodes:[en.Knoxvile,en.Atlanta],cost:5},{nodes:[en.Detroit,en.Buffalo],cost:7},{nodes:[en.Detroit,en.Pittsburgh],cost:6},{nodes:[en.Buffalo,en.Pittsburgh],cost:7},{nodes:[en.Buffalo,en.NewYork],cost:8},{nodes:[en.Pittsburgh,en.Washington],cost:6},{nodes:[en.Pittsburgh,en.Raleigh],cost:7},{nodes:[en.Boston,en.NewYork],cost:3},{nodes:[en.NewYork,en.Philadelphia],cost:0},{nodes:[en.Philadelphia,en.Washington],cost:3},{nodes:[en.Washington,en.Norfolk],cost:5},{nodes:[en.Norfolk,en.Raleigh],cost:3},{nodes:[en.Raleigh,en.Atlanta],cost:7},{nodes:[en.Raleigh,en.Savannah],cost:7},{nodes:[en.Atlanta,en.Savannah],cost:7},{nodes:[en.Savannah,en.Jacksonvile],cost:0},{nodes:[en.Jacksonvile,en.Tampa],cost:4},{nodes:[en.Tampa,en.Miami],cost:4}],layout:"Landscape",polygons:[{region:Xe.Brown,points:[[930,423],[1082,331],[1075,231],[716,249],[758,303],[897,406]]},{region:Xe.Green,points:[[898,405],[762,499],[758,643],[887,744],[938,688],[889,618],[1014,432],[985,387],[929,420]]},{region:Xe.Yellow,points:[[895,403],[760,499],[630,393],[607,345],[608,275],[439,162],[654,114],[771,245],[716,247],[758,301]]},{region:Xe.Red,points:[[606,344],[476,371],[445,597],[546,664],[758,641],[760,497],[629,391]]},{region:Xe.Purple,points:[[606,342],[476,369],[347,395],[313,301],[18,287],[18,165],[76,74],[438,160],[607,275]]},{region:Xe.Cyan,points:[[18,285],[20,429],[142,583],[445,594],[476,368],[346,392],[312,300]]}]},gn={name:"USA",cities:[{name:en.Seattle,region:Xe.Purple,x:74,y:99},{name:en.Portland,region:Xe.Purple,x:45,y:167},{name:en.Boise,region:Xe.Purple,x:180,y:220},{name:en.Billings,region:Xe.Purple,x:345,y:180},{name:en.Cheyenne,region:Xe.Purple,x:410,y:280},{name:en.Denver,region:Xe.Purple,x:400,y:333},{name:en.Omaha,region:Xe.Purple,x:566,y:293},{name:en.SanFrancisco,region:Xe.Cyan,x:48,y:371},{name:en.LosAngeles,region:Xe.Cyan,x:116,y:460},{name:en.SanDiego,region:Xe.Cyan,x:157,y:507},{name:en.LasVegas,region:Xe.Cyan,x:200,y:410},{name:en.SaltLakeCity,region:Xe.Cyan,x:266,y:311},{name:en.Phoenix,region:Xe.Cyan,x:260,y:486},{name:en.SantaFe,region:Xe.Cyan,x:371,y:435},{name:en.KansasCity,region:Xe.Red,x:587,y:356},{name:en.OklahomaCity,region:Xe.Red,x:550,y:437},{name:en.Dallas,region:Xe.Red,x:560,y:504},{name:en.Houston,region:Xe.Red,x:569,y:571},{name:en.Memphis,region:Xe.Red,x:678,y:449},{name:en.Birmingham,region:Xe.Red,x:739,y:486},{name:en.NewOrleans,region:Xe.Red,x:674,y:570},{name:en.Fargo,region:Xe.Yellow,x:551,y:152},{name:en.Duluth,region:Xe.Yellow,x:637,y:133},{name:en.Minneapolis,region:Xe.Yellow,x:621,y:190},{name:en.Chicago,region:Xe.Yellow,x:716,y:281},{name:en.StLouis,region:Xe.Yellow,x:678,y:362},{name:en.Cincinnati,region:Xe.Yellow,x:795,y:348},{name:en.Knoxvile,region:Xe.Yellow,x:796,y:422},{name:en.Detroit,region:Xe.Brown,x:803,y:262},{name:en.Buffalo,region:Xe.Brown,x:913,y:251},{name:en.Pittsburgh,region:Xe.Brown,x:884,y:316},{name:en.Boston,region:Xe.Brown,x:1052,y:252},{name:en.NewYork,region:Xe.Brown,x:1010,y:290},{name:en.Philadelphia,region:Xe.Brown,x:985,y:330},{name:en.Washington,region:Xe.Brown,x:934,y:357},{name:en.Norfolk,region:Xe.Green,x:969,y:405},{name:en.Raleigh,region:Xe.Green,x:915,y:437},{name:en.Atlanta,region:Xe.Green,x:801,y:487},{name:en.Savannah,region:Xe.Green,x:867,y:507},{name:en.Jacksonvile,region:Xe.Green,x:861,y:559},{name:en.Tampa,region:Xe.Green,x:819,y:621},{name:en.Miami,region:Xe.Green,x:883,y:670}],connections:[{nodes:[en.Seattle,en.Portland],cost:3},{nodes:[en.Seattle,en.Boise],cost:12},{nodes:[en.Seattle,en.Billings],cost:9},{nodes:[en.Portland,en.Boise],cost:13},{nodes:[en.Portland,en.SanFrancisco],cost:24},{nodes:[en.Boise,en.Billings],cost:12},{nodes:[en.Boise,en.SanFrancisco],cost:23},{nodes:[en.Boise,en.SaltLakeCity],cost:8},{nodes:[en.Billings,en.Cheyenne],cost:9},{nodes:[en.Billings,en.Fargo],cost:17},{nodes:[en.Billings,en.Minneapolis],cost:18},{nodes:[en.Cheyenne,en.Denver],cost:0},{nodes:[en.Cheyenne,en.Omaha],cost:14},{nodes:[en.Cheyenne,en.Minneapolis],cost:18},{nodes:[en.Denver,en.SaltLakeCity],cost:21},{nodes:[en.Denver,en.SantaFe],cost:13},{nodes:[en.Denver,en.KansasCity],cost:16},{nodes:[en.Omaha,en.KansasCity],cost:5},{nodes:[en.Omaha,en.Minneapolis],cost:8},{nodes:[en.Omaha,en.Chicago],cost:12},{nodes:[en.SanFrancisco,en.LosAngeles],cost:9},{nodes:[en.SanFrancisco,en.LasVegas],cost:14},{nodes:[en.SanFrancisco,en.SaltLakeCity],cost:27},{nodes:[en.LosAngeles,en.SanDiego],cost:3},{nodes:[en.LosAngeles,en.LasVegas],cost:9},{nodes:[en.SanDiego,en.LasVegas],cost:9},{nodes:[en.SanDiego,en.Phoenix],cost:14},{nodes:[en.LasVegas,en.SaltLakeCity],cost:18},{nodes:[en.LasVegas,en.Phoenix],cost:15},{nodes:[en.LasVegas,en.SantaFe],cost:27},{nodes:[en.SaltLakeCity,en.SantaFe],cost:28},{nodes:[en.Phoenix,en.SantaFe],cost:18},{nodes:[en.SantaFe,en.KansasCity],cost:16},{nodes:[en.SantaFe,en.OklahomaCity],cost:15},{nodes:[en.SantaFe,en.Dallas],cost:16},{nodes:[en.SantaFe,en.Houston],cost:20},{nodes:[en.KansasCity,en.OklahomaCity],cost:8},{nodes:[en.KansasCity,en.Memphis],cost:12},{nodes:[en.KansasCity,en.Chicago],cost:8},{nodes:[en.KansasCity,en.StLouis],cost:6},{nodes:[en.OklahomaCity,en.Dallas],cost:3},{nodes:[en.OklahomaCity,en.Memphis],cost:14},{nodes:[en.Dallas,en.Houston],cost:5},{nodes:[en.Dallas,en.Memphis],cost:12},{nodes:[en.Dallas,en.NewOrleans],cost:12},{nodes:[en.Houston,en.NewOrleans],cost:8},{nodes:[en.Memphis,en.Birmingham],cost:6},{nodes:[en.Memphis,en.NewOrleans],cost:7},{nodes:[en.Memphis,en.StLouis],cost:7},{nodes:[en.Birmingham,en.NewOrleans],cost:11},{nodes:[en.Birmingham,en.Atlanta],cost:3},{nodes:[en.Birmingham,en.Jacksonvile],cost:9},{nodes:[en.NewOrleans,en.Jacksonvile],cost:16},{nodes:[en.Fargo,en.Duluth],cost:6},{nodes:[en.Fargo,en.Minneapolis],cost:6},{nodes:[en.Duluth,en.Minneapolis],cost:5},{nodes:[en.Duluth,en.Chicago],cost:12},{nodes:[en.Duluth,en.Detroit],cost:15},{nodes:[en.Minneapolis,en.Chicago],cost:8},{nodes:[en.Chicago,en.StLouis],cost:10},{nodes:[en.Chicago,en.Cincinnati],cost:7},{nodes:[en.Chicago,en.Detroit],cost:7},{nodes:[en.StLouis,en.Cincinnati],cost:12},{nodes:[en.StLouis,en.Atlanta],cost:12},{nodes:[en.Cincinnati,en.Knoxvile],cost:6},{nodes:[en.Cincinnati,en.Detroit],cost:4},{nodes:[en.Cincinnati,en.Pittsburgh],cost:7},{nodes:[en.Knoxvile,en.Atlanta],cost:5},{nodes:[en.Knoxvile,en.Raleigh],cost:11},{nodes:[en.Detroit,en.Buffalo],cost:7},{nodes:[en.Detroit,en.Pittsburgh],cost:6},{nodes:[en.Buffalo,en.Pittsburgh],cost:7},{nodes:[en.Buffalo,en.NewYork],cost:8},{nodes:[en.Pittsburgh,en.Washington],cost:6},{nodes:[en.Pittsburgh,en.Raleigh],cost:7},{nodes:[en.Boston,en.NewYork],cost:3},{nodes:[en.NewYork,en.Philadelphia],cost:0},{nodes:[en.Philadelphia,en.Washington],cost:3},{nodes:[en.Washington,en.Norfolk],cost:5},{nodes:[en.Norfolk,en.Raleigh],cost:3},{nodes:[en.Raleigh,en.Atlanta],cost:7},{nodes:[en.Raleigh,en.Savannah],cost:7},{nodes:[en.Atlanta,en.Savannah],cost:7},{nodes:[en.Savannah,en.Jacksonvile],cost:0},{nodes:[en.Jacksonvile,en.Tampa],cost:4},{nodes:[en.Tampa,en.Miami],cost:4}],layout:"Landscape",mapSpecificRules:"You can buy coal from the supply for $8."},yn=[{number:3,type:Me.Oil,cost:2,citiesPowered:1},{number:4,type:Me.Coal,cost:2,citiesPowered:1},{number:5,type:Me.Hybrid,cost:2,citiesPowered:1},{number:6,type:Me.Garbage,cost:1,citiesPowered:1},{number:7,type:Me.Oil,cost:3,citiesPowered:2},{number:8,type:Me.Coal,cost:3,citiesPowered:2},{number:9,type:Me.Oil,cost:1,citiesPowered:1},{number:10,type:Me.Coal,cost:2,citiesPowered:2},{number:11,type:Me.Uranium,cost:1,citiesPowered:2},{number:12,type:Me.Hybrid,cost:2,citiesPowered:2},{number:13,type:Me.Wind,cost:0,citiesPowered:1},{number:14,type:Me.Garbage,cost:2,citiesPowered:2},{number:15,type:Me.Coal,cost:2,citiesPowered:3},{number:16,type:Me.Oil,cost:2,citiesPowered:3},{number:17,type:Me.Uranium,cost:1,citiesPowered:2},{number:18,type:Me.Wind,cost:0,citiesPowered:2},{number:19,type:Me.Garbage,cost:2,citiesPowered:3},{number:20,type:Me.Coal,cost:3,citiesPowered:5},{number:21,type:Me.Hybrid,cost:2,citiesPowered:4},{number:22,type:Me.Wind,cost:0,citiesPowered:2},{number:23,type:Me.Uranium,cost:1,citiesPowered:3},{number:24,type:Me.Garbage,cost:2,citiesPowered:4},{number:25,type:Me.Coal,cost:2,citiesPowered:5},{number:26,type:Me.Oil,cost:2,citiesPowered:5},{number:27,type:Me.Wind,cost:0,citiesPowered:3},{number:28,type:Me.Uranium,cost:1,citiesPowered:4},{number:29,type:Me.Hybrid,cost:1,citiesPowered:4},{number:30,type:Me.Garbage,cost:3,citiesPowered:6},{number:31,type:Me.Coal,cost:3,citiesPowered:6},{number:32,type:Me.Oil,cost:3,citiesPowered:6},{number:33,type:Me.Wind,cost:0,citiesPowered:4},{number:34,type:Me.Uranium,cost:1,citiesPowered:5},{number:35,type:Me.Oil,cost:1,citiesPowered:5},{number:36,type:Me.Coal,cost:3,citiesPowered:7},{number:37,type:Me.Wind,cost:0,citiesPowered:4},{number:38,type:Me.Garbage,cost:3,citiesPowered:7},{number:39,type:Me.Uranium,cost:1,citiesPowered:6},{number:40,type:Me.Oil,cost:2,citiesPowered:6},{number:42,type:Me.Coal,cost:2,citiesPowered:6},{number:44,type:Me.Wind,cost:0,citiesPowered:5},{number:46,type:Me.Hybrid,cost:3,citiesPowered:7},{number:50,type:Me.Nuclear,cost:0,citiesPowered:6},{number:99,type:Me.Step3,cost:0,citiesPowered:6}],mn=Object(qe["cloneDeep"])(yn).filter((function(e){return 11!=e.number}));mn.forEach((function(e){e.type==Me.Garbage&&(e.storage=2*e.cost,e.cost++)})),function(e){e["Pink"]="pink",e["Brown"]="brown",e["Green"]="green",e["Red"]="red",e["Yellow"]="yellow"}(fn||(fn={})),function(e){e["Hobart"]="Hobart",e["Launceston"]="Launceston",e["Geelong"]="Geelong",e["Melbourne1"]="Melbourne 1",e["Melbourne2"]="Melbourne 2",e["Bendigo"]="Bendigo",e["Albury"]="Albury",e["Wollongong"]="Wollongong",e["Mildura"]="Mildura",e["Dubbo"]="Dubbo",e["Canberra"]="Canberra",e["Sydney1"]="Sydney 1",e["Sydney2"]="Sydney 2",e["Newcastle"]="Newcastle",e["Toowoomba"]="Toowoomba",e["Goldcoast"]="Gold Coast",e["Brisbane"]="Brisbane",e["Rockhampton"]="Rockhampton",e["Mackay"]="Mackay",e["Townsville"]="Townsville",e["Cairns"]="Cairns",e["Porthedland"]="Port Hedland",e["Broome"]="Broome",e["Albany"]="Albany",e["Bunbury"]="Bunbury",e["Perth"]="Perth",e["Kalgoorlie"]="Kalgoorlie",e["Geraldton"]="Geraldton",e["Darwin"]="Darwin",e["Katherine"]="Katherine",e["Tennantcreek"]="Tennant Creek",e["Alicesprings"]="Alice Springs",e["Portaugusta"]="Port Augusta",e["CooberPedy"]="Coober Pedy",e["Adelaide"]="Adelaide"}(hn||(hn={}));var vn,bn,wn={name:"Australia",layout:"Landscape",adjustRatio:[.33,.33],mapPosition:[40,-30],mapRotation:180,cities:[{name:hn.Hobart,region:fn.Pink,x:540,y:467},{name:hn.Launceston,region:fn.Pink,x:720,y:500},{name:hn.Geelong,region:fn.Pink,x:988,y:712},{name:hn.Melbourne1,region:fn.Pink,x:790,y:650},{name:hn.Melbourne2,region:fn.Pink,x:790,y:790},{name:hn.Bendigo,region:fn.Pink,x:1052,y:870},{name:hn.Albury,region:fn.Brown,x:810,y:983},{name:hn.Wollongong,region:fn.Brown,x:530,y:1080},{name:hn.Mildura,region:fn.Pink,x:1185,y:1010},{name:hn.Dubbo,region:fn.Brown,x:891,y:1364},{name:hn.Canberra,region:fn.Brown,x:804,y:1188},{name:hn.Sydney1,region:fn.Brown,x:550,y:1230},{name:hn.Sydney2,region:fn.Brown,x:550,y:1380},{name:hn.Newcastle,region:fn.Brown,x:530,y:1545},{name:hn.Toowoomba,region:fn.Green,x:1010,y:1660},{name:hn.Goldcoast,region:fn.Green,x:660,y:1730},{name:hn.Brisbane,region:fn.Green,x:740,y:1885},{name:hn.Rockhampton,region:fn.Green,x:1040,y:1987},{name:hn.Mackay,region:fn.Green,x:1260,y:2101},{name:hn.Townsville,region:fn.Green,x:1445,y:2193},{name:hn.Cairns,region:fn.Green,x:1652,y:2209},{name:hn.Porthedland,region:fn.Red,x:2741,y:2002},{name:hn.Broome,region:fn.Red,x:2503,y:2175},{name:hn.Albany,region:fn.Red,x:2400,y:850},{name:hn.Bunbury,region:fn.Red,x:2700,y:1030},{name:hn.Perth,region:fn.Red,x:2680,y:1230},{name:hn.Kalgoorlie,region:fn.Red,x:2177,y:1295},{name:hn.Geraldton,region:fn.Red,x:2747,y:1557},{name:hn.Darwin,region:fn.Yellow,x:2264,y:2016},{name:hn.Katherine,region:fn.Yellow,x:2105,y:1947},{name:hn.Tennantcreek,region:fn.Yellow,x:1905,y:1736},{name:hn.Alicesprings,region:fn.Yellow,x:1803,y:1512},{name:hn.Portaugusta,region:fn.Yellow,x:1520,y:1094},{name:hn.CooberPedy,region:fn.Yellow,x:1850,y:1232},{name:hn.Adelaide,region:fn.Yellow,x:1430,y:863}],connections:[{nodes:[hn.Broome,hn.Porthedland],cost:13},{nodes:[hn.Kalgoorlie,hn.Geraldton],cost:16},{nodes:[hn.Geraldton,hn.Perth],cost:9},{nodes:[hn.Perth,hn.Kalgoorlie],cost:12},{nodes:[hn.Kalgoorlie,hn.Albany],cost:16},{nodes:[hn.Albany,hn.Perth],cost:9},{nodes:[hn.Perth,hn.Bunbury],cost:4},{nodes:[hn.Bunbury,hn.Albany],cost:6},{nodes:[hn.Cairns,hn.Townsville],cost:9},{nodes:[hn.Townsville,hn.Mackay],cost:9},{nodes:[hn.Mackay,hn.Rockhampton],cost:8},{nodes:[hn.Rockhampton,hn.Toowoomba],cost:15},{nodes:[hn.Toowoomba,hn.Brisbane],cost:5},{nodes:[hn.Brisbane,hn.Rockhampton],cost:15},{nodes:[hn.Brisbane,hn.Goldcoast],cost:2},{nodes:[hn.Goldcoast,hn.Toowoomba],cost:6},{nodes:[hn.Goldcoast,hn.Newcastle],cost:15},{nodes:[hn.Newcastle,hn.Sydney2],cost:4},{nodes:[hn.Sydney2,hn.Sydney1],cost:0},{nodes:[hn.Newcastle,hn.Dubbo],cost:10},{nodes:[hn.Dubbo,hn.Toowoomba],cost:18},{nodes:[hn.Sydney1,hn.Wollongong],cost:2},{nodes:[hn.Sydney1,hn.Canberra],cost:8},{nodes:[hn.Canberra,hn.Dubbo],cost:11},{nodes:[hn.Canberra,hn.Newcastle],cost:10},{nodes:[hn.Dubbo,hn.Mildura],cost:16},{nodes:[hn.Mildura,hn.Canberra],cost:16},{nodes:[hn.Canberra,hn.Albury],cost:7},{nodes:[hn.Mildura,hn.Bendigo],cost:7},{nodes:[hn.Bendigo,hn.Melbourne2],cost:3},{nodes:[hn.Melbourne2,hn.Albury],cost:9},{nodes:[hn.Mildura,hn.Adelaide],cost:8},{nodes:[hn.Adelaide,hn.Portaugusta],cost:7},{nodes:[hn.Portaugusta,hn.CooberPedy],cost:11},{nodes:[hn.Mildura,hn.Portaugusta],cost:11},{nodes:[hn.Adelaide,hn.Geelong],cost:13},{nodes:[hn.Geelong,hn.Bendigo],cost:5},{nodes:[hn.Bendigo,hn.Albury],cost:6},{nodes:[hn.Wollongong,hn.Melbourne1],cost:19},{nodes:[hn.Melbourne1,hn.Launceston],cost:19},{nodes:[hn.Launceston,hn.Hobart],cost:5},{nodes:[hn.Melbourne1,hn.Geelong],cost:2},{nodes:[hn.Melbourne2,hn.Melbourne1],cost:0},{nodes:[hn.CooberPedy,hn.Alicesprings],cost:13},{nodes:[hn.Alicesprings,hn.Tennantcreek],cost:10},{nodes:[hn.Tennantcreek,hn.Katherine],cost:14},{nodes:[hn.Katherine,hn.Darwin],cost:6}],resupply:[[[3,5,4],[4,6,4],[4,7,5],[5,9,6],[7,10,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]],uraniumMineResupply:[[1,2,3],[1,2,3],[2,2,4],[2,3,5],[3,3,6]],startingResources:[24,18,15,0],startingSupply:[24,24,24,0],setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(yn).filter((function(e){return 17!==e.number}));if("original"==n){a=a.slice(8);var i=a.findIndex((function(e){return 13==e.number})),s=a.splice(i,1)[0],c=a.pop();a=an(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a.unshift(s),a.push(c),r=[Ar(3),Ar(4),Ar(5),Ar(6)],o=[Ar(7),Ar(8),Ar(9),Ar(10)]}else{var u=an(a.splice(0,13),t()+""),l=u.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=u.shift(),f=a.pop();a=an(a,t()+""),2==e?(u=u.slice(1),a=an(a.slice(5).concat(u),t()+"")):3==e?(u=u.slice(2),a=an(a.slice(6).concat(u),t()+"")):4==e?(u=u.slice(1),a=an(a.slice(3).concat(u),t()+"")):a=an(a.concat(u),t()+""),a.unshift(d),a.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},mapSpecificRules:"Uranium mines: the five uranium power plants (11, 23, 28, 34, 39) are replaced by uranium mines. Power plant 17 is removed from the deck. Mines are bought in the normal power-plant auctions but do not power cities and do not count toward the 3-power-plant hand limit (a player may hold any number of mines plus up to 3 power plants). Mines DO count for player order. Instead of powering cities, during Bureaucracy each mine produces uranium for sale on the separate uranium market. Uranium market: a separate market of 12 slots (prices $2–$7, two slots each), all filled at game start. When selling, a player earns the highest available (empty-slot) price times the total cities their mines could power, then places one uranium token per mine on the highest empty slots. The resource-market refill REMOVES uranium tokens from the cheapest filled slots. Selling happens AUTOMATICALLY during Bureaucracy, in reverse turn order (the last player in turn order sells first). The printed rules let a player decline to sell; for simplicity this implementation always sells, so no player action is required. Unlike city income, uranium income is still paid in the final round. Main resource market: there is no uranium row — coal, oil and garbage only. Step 3 CO2 tax: when Step 3 begins, the six cheapest tokens of each resource move into new $9 and $10 spaces, and the $1 and $2 spaces become inactive for the rest of the game (the market shifts up by $2). General connection: any single build may connect a city for a flat 20 Elektro instead of the shortest-path connection cost, and this may be used multiple times in one turn. Metropolises: Melbourne and Sydney each consist of two cities (1 and 2) connected by a 0-cost edge. Regions need not be adjacent: any combination of regions may be in play.\n",deckBuild:"power plant 17 is removed from the game; the five uranium mines (11, 23, 28, 34, 39) stay in the deck. Otherwise standard setup for both variants."};(function(e){e["Purple"]="purple",e["Green"]="green",e["Red"]="red",e["Blue"]="blue",e["Yellow"]="yellow"})(vn||(vn={})),function(e){e["Friedrichshafen"]="Friedrichshafen",e["Ravensburg"]="Ravensburg",e["Biberach"]="Biberach",e["Sigmarincen"]="Sigmaringen",e["Konstanz"]="Konstanz",e["Ulm"]="Ulm",e["Augsburg"]="Augsburg",e["Basel"]="Basel",e["Waldshuttiencen"]="Waldshut-Tiengen",e["Singen"]="Singen",e["Tuttlincen"]="Tuttlingen",e["Donaueschingen"]="Donaueschingen",e["Freiburg"]="Freiburg",e["Lorrach"]="Lorrach",e["Tauberbischofsheim"]="Tauberbischofsheim",e["Schwabischhall"]="Schwabisch Hall",e["Heilbronn"]="Heilbronn",e["Sinsheim"]="Sinsheim",e["Heidelber"]="Heidelberg",e["Mannheim"]="Mannheim",e["Luowigshafen"]="Ludwigshafen",e["Nurnberg"]="Nurnberg",e["Ellwangen"]="Ellwangen",e["Coppingen"]="Göppingen",e["Reutlincen"]="Reutlingen",e["Stuttgart"]="Stuttgart",e["Ludwigsburg"]="Ludwigsburg",e["Boblingen"]="Boblingen",e["Laha"]="Lahr",e["Badenbaden"]="Baden-Baden",e["Offenburg"]="Offenburg",e["Strasbourg"]="Strasbourg",e["Pforzheim"]="Pforzheim",e["Rastatt"]="Rastatt",e["Karlsruhf"]="Karlsruhe"}(bn||(bn={}));var xn,kn,Mn={name:"Baden-Württemberg",cities:[{name:bn.Friedrichshafen,region:vn.Purple,x:1286,y:2177},{name:bn.Ravensburg,region:vn.Purple,x:1365,y:2023},{name:bn.Biberach,region:vn.Purple,x:1451,y:1779},{name:bn.Sigmarincen,region:vn.Purple,x:1111,y:1803},{name:bn.Konstanz,region:vn.Purple,x:1088,y:2163},{name:bn.Ulm,region:vn.Purple,x:1541,y:1499},{name:bn.Augsburg,region:vn.Purple,x:1830,y:1505,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:bn.Basel,region:vn.Green,x:103,y:2271,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:bn.Waldshuttiencen,region:vn.Green,x:502,y:2166},{name:bn.Singen,region:vn.Green,x:874,y:2084},{name:bn.Tuttlincen,region:vn.Green,x:870,y:1854},{name:bn.Donaueschingen,region:vn.Green,x:669,y:1923},{name:bn.Freiburg,region:vn.Green,x:290,y:1828},{name:bn.Lorrach,region:vn.Green,x:212,y:2141},{name:bn.Tauberbischofsheim,region:vn.Red,x:1354,y:450},{name:bn.Schwabischhall,region:vn.Red,x:1415,y:899},{name:bn.Heilbronn,region:vn.Red,x:1115,y:872},{name:bn.Sinsheim,region:vn.Red,x:920,y:785},{name:bn.Heidelber,region:vn.Red,x:817,y:660},{name:bn.Mannheim,region:vn.Red,x:710,y:540},{name:bn.Luowigshafen,region:vn.Red,x:579,y:588,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:bn.Nurnberg,region:vn.Blue,x:1837,y:771,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:bn.Ellwangen,region:vn.Blue,x:1637,y:1030},{name:bn.Coppingen,region:vn.Blue,x:1387,y:1233},{name:bn.Reutlincen,region:vn.Blue,x:1107,y:1443},{name:bn.Stuttgart,region:vn.Blue,x:1106,y:1217},{name:bn.Ludwigsburg,region:vn.Blue,x:1099,y:1047},{name:bn.Boblingen,region:vn.Blue,x:956,y:1277},{name:bn.Laha,region:vn.Yellow,x:296,y:1575},{name:bn.Badenbaden,region:vn.Yellow,x:554,y:1259},{name:bn.Offenburg,region:vn.Yellow,x:395,y:1422},{name:bn.Strasbourg,region:vn.Yellow,x:211,y:1330,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:bn.Pforzheim,region:vn.Yellow,x:794,y:1095},{name:bn.Rastatt,region:vn.Yellow,x:509,y:1109},{name:bn.Karlsruhf,region:vn.Yellow,x:638,y:974}],connections:[{nodes:[bn.Luowigshafen,bn.Mannheim],cost:0},{nodes:[bn.Mannheim,bn.Heidelber],cost:4},{nodes:[bn.Mannheim,bn.Karlsruhf],cost:10},{nodes:[bn.Karlsruhf,bn.Heidelber],cost:9},{nodes:[bn.Heidelber,bn.Sinsheim],cost:5},{nodes:[bn.Sinsheim,bn.Tauberbischofsheim],cost:15},{nodes:[bn.Tauberbischofsheim,bn.Heilbronn],cost:13},{nodes:[bn.Heilbronn,bn.Sinsheim],cost:6},{nodes:[bn.Sinsheim,bn.Karlsruhf],cost:9},{nodes:[bn.Karlsruhf,bn.Rastatt],cost:4},{nodes:[bn.Karlsruhf,bn.Pforzheim],cost:6},{nodes:[bn.Pforzheim,bn.Sinsheim],cost:10},{nodes:[bn.Tauberbischofsheim,bn.Schwabischhall],cost:13},{nodes:[bn.Schwabischhall,bn.Ellwangen],cost:8},{nodes:[bn.Ellwangen,bn.Nurnberg],cost:18},{nodes:[bn.Schwabischhall,bn.Coppingen],cost:11},{nodes:[bn.Coppingen,bn.Ellwangen],cost:10},{nodes:[bn.Ludwigsburg,bn.Heilbronn],cost:5},{nodes:[bn.Heilbronn,bn.Schwabischhall],cost:9},{nodes:[bn.Schwabischhall,bn.Ludwigsburg],cost:10},{nodes:[bn.Ludwigsburg,bn.Coppingen],cost:9},{nodes:[bn.Coppingen,bn.Stuttgart],cost:8},{nodes:[bn.Ludwigsburg,bn.Sinsheim],cost:10},{nodes:[bn.Ludwigsburg,bn.Pforzheim],cost:8},{nodes:[bn.Pforzheim,bn.Badenbaden],cost:9},{nodes:[bn.Badenbaden,bn.Rastatt],cost:2},{nodes:[bn.Strasbourg,bn.Offenburg],cost:5},{nodes:[bn.Offenburg,bn.Badenbaden],cost:8},{nodes:[bn.Pforzheim,bn.Stuttgart],cost:8},{nodes:[bn.Stuttgart,bn.Ludwigsburg],cost:2},{nodes:[bn.Stuttgart,bn.Boblingen],cost:4},{nodes:[bn.Boblingen,bn.Pforzheim],cost:7},{nodes:[bn.Boblingen,bn.Badenbaden],cost:15},{nodes:[bn.Reutlincen,bn.Stuttgart],cost:9},{nodes:[bn.Boblingen,bn.Reutlincen],cost:8},{nodes:[bn.Reutlincen,bn.Badenbaden],cost:22},{nodes:[bn.Offenburg,bn.Reutlincen],cost:30},{nodes:[bn.Reutlincen,bn.Coppingen],cost:10},{nodes:[bn.Coppingen,bn.Ulm],cost:10},{nodes:[bn.Ulm,bn.Reutlincen],cost:16},{nodes:[bn.Ellwangen,bn.Ulm],cost:19},{nodes:[bn.Ulm,bn.Augsburg],cost:16},{nodes:[bn.Reutlincen,bn.Tuttlincen],cost:17},{nodes:[bn.Reutlincen,bn.Sigmarincen],cost:11},{nodes:[bn.Sigmarincen,bn.Ulm],cost:14},{nodes:[bn.Ulm,bn.Biberach],cost:8},{nodes:[bn.Biberach,bn.Sigmarincen],cost:11},{nodes:[bn.Biberach,bn.Ravensburg],cost:9},{nodes:[bn.Ravensburg,bn.Sigmarincen],cost:10},{nodes:[bn.Sigmarincen,bn.Tuttlincen],cost:7},{nodes:[bn.Tuttlincen,bn.Offenburg],cost:27},{nodes:[bn.Offenburg,bn.Laha],cost:3},{nodes:[bn.Laha,bn.Freiburg],cost:8},{nodes:[bn.Laha,bn.Donaueschingen],cost:19},{nodes:[bn.Donaueschingen,bn.Tuttlincen],cost:6},{nodes:[bn.Tuttlincen,bn.Singen],cost:7},{nodes:[bn.Singen,bn.Donaueschingen],cost:7},{nodes:[bn.Donaueschingen,bn.Freiburg],cost:13},{nodes:[bn.Freiburg,bn.Lorrach],cost:10},{nodes:[bn.Freiburg,bn.Waldshuttiencen],cost:15},{nodes:[bn.Waldshuttiencen,bn.Lorrach],cost:9},{nodes:[bn.Lorrach,bn.Basel],cost:2},{nodes:[bn.Waldshuttiencen,bn.Donaueschingen],cost:11},{nodes:[bn.Singen,bn.Konstanz],cost:6},{nodes:[bn.Konstanz,bn.Friedrichshafen],cost:9},{nodes:[bn.Friedrichshafen,bn.Ravensburg],cost:3},{nodes:[bn.Friedrichshafen,bn.Sigmarincen],cost:11},{nodes:[bn.Sigmarincen,bn.Konstanz],cost:14},{nodes:[bn.Konstanz,bn.Tuttlincen],cost:11}],layout:"Portrait",adjustRatio:[.425,.425],mapPosition:[100,-90],resupply:[[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],mapSpecificRules:"Phase order change: buy power plants first, then determine player order. If no power plant is sold in a round, remove the two lowest-numbered plants from the market and replace them from the draw stack. Never remove a power plant whose number is equal to or lower than the number of cities any player has powered. Transregional cities (e.g. Strasbourg) are only available starting in Step 2. Step 2 begins when any player connects to 9 cities (2 players), 6 cities (3–5 players), or 5 cities (6 players)."};(function(e){e["Green"]="green",e["Brown"]="brown",e["Yellow"]="yellow",e["Red"]="red",e["Blue"]="blue"})(xn||(xn={})),function(e){e["Groningen"]="Groningen",e["Enschede"]="Enschede",e["Apeldoorn"]="Apeldoorn",e["Arnhem"]="Arnhem",e["Leeuwarden"]="Leeuwarden",e["Nijmegen"]="Nijmegen",e["Denhelder"]="Den Helder",e["Zaanstad"]="Zaanstad",e["Amsterdam"]="Amsterdam",e["Utrecht"]="Utrecht",e["Haarlem"]="Haarlem",e["Leiden"]="Leiden",e["Denhaas"]="Den Haas",e["Rotterdam"]="Rotterdam",e["Enbosch"]="En Bosch",e["Venlo"]="Venlo",e["Eindhoven"]="Eindhoven",e["Tilburg"]="Tilburg",e["Breda"]="Breda",e["Middelburg"]="Middelburg",e["Maastricht"]="Maastricht",e["Leuven"]="Leuven",e["Brussel"]="Brussel",e["Antwerpen"]="Antwerpen",e["Gent"]="Gent",e["Kortrijk"]="Kortrijk",e["Brugge"]="Brugge",e["Dostende"]="Dostende",e["Liege"]="Liege",e["Namur"]="Namur",e["Bruxelles"]="Bruxelles",e["Charleroi"]="Charleroi",e["Mons"]="Mons",e["Arlon"]="Arlon",e["Luxembourg"]="Luxembourg"}(kn||(kn={}));var Pn,_n,Sn={name:"Benelux",cities:[{name:kn.Groningen,region:xn.Green,x:654,y:147},{name:kn.Enschede,region:xn.Green,x:659,y:369},{name:kn.Apeldoorn,region:xn.Green,x:552,y:329},{name:kn.Arnhem,region:xn.Green,x:541,y:386},{name:kn.Leeuwarden,region:xn.Green,x:560,y:136},{name:kn.Nijmegen,region:xn.Green,x:518,y:445},{name:kn.Denhelder,region:xn.Green,x:411,y:169},{name:kn.Zaanstad,region:xn.Brown,x:432,y:245},{name:kn.Amsterdam,region:xn.Brown,x:437,y:299},{name:kn.Utrecht,region:xn.Brown,x:429,y:361},{name:kn.Haarlem,region:xn.Brown,x:373,y:259},{name:kn.Leiden,region:xn.Brown,x:355,y:322},{name:kn.Denhaas,region:xn.Brown,x:300,y:347},{name:kn.Rotterdam,region:xn.Brown,x:338,y:400},{name:kn.Enbosch,region:xn.Yellow,x:448,y:447},{name:kn.Venlo,region:xn.Yellow,x:550,y:526},{name:kn.Eindhoven,region:xn.Yellow,x:463,y:539},{name:kn.Tilburg,region:xn.Yellow,x:404,y:497},{name:kn.Breda,region:xn.Yellow,x:349,y:466},{name:kn.Middelburg,region:xn.Yellow,x:210,y:453},{name:kn.Maastricht,region:xn.Yellow,x:480,y:640},{name:kn.Leuven,region:xn.Red,x:352,y:619},{name:kn.Brussel,region:xn.Red,x:286,y:595},{name:kn.Antwerpen,region:xn.Red,x:304,y:526},{name:kn.Gent,region:xn.Red,x:206,y:562},{name:kn.Kortrijk,region:xn.Red,x:132,y:589},{name:kn.Brugge,region:xn.Red,x:160,y:511},{name:kn.Dostende,region:xn.Red,x:94,y:495},{name:kn.Liege,region:xn.Blue,x:445,y:705},{name:kn.Namur,region:xn.Blue,x:361,y:713},{name:kn.Bruxelles,region:xn.Blue,x:283,y:642},{name:kn.Charleroi,region:xn.Blue,x:278,y:725},{name:kn.Mons,region:xn.Blue,x:212,y:686},{name:kn.Arlon,region:xn.Blue,x:431,y:876},{name:kn.Luxembourg,region:xn.Blue,x:502,y:918}],connections:[{nodes:[kn.Denhelder,kn.Leeuwarden],cost:13},{nodes:[kn.Leeuwarden,kn.Groningen],cost:6},{nodes:[kn.Groningen,kn.Enschede],cost:12},{nodes:[kn.Enschede,kn.Apeldoorn],cost:9},{nodes:[kn.Apeldoorn,kn.Arnhem],cost:3},{nodes:[kn.Arnhem,kn.Nijmegen],cost:2},{nodes:[kn.Nijmegen,kn.Enbosch],cost:6},{nodes:[kn.Nijmegen,kn.Venlo],cost:7},{nodes:[kn.Nijmegen,kn.Eindhoven],cost:7},{nodes:[kn.Eindhoven,kn.Enbosch],cost:4},{nodes:[kn.Enbosch,kn.Utrecht],cost:8},{nodes:[kn.Apeldoorn,kn.Leeuwarden],cost:15},{nodes:[kn.Leeuwarden,kn.Enschede],cost:13},{nodes:[kn.Enschede,kn.Arnhem],cost:7},{nodes:[kn.Arnhem,kn.Utrecht],cost:6},{nodes:[kn.Utrecht,kn.Amsterdam],cost:4},{nodes:[kn.Amsterdam,kn.Haarlem],cost:2},{nodes:[kn.Haarlem,kn.Zaanstad],cost:2},{nodes:[kn.Zaanstad,kn.Denhelder],cost:6},{nodes:[kn.Denhelder,kn.Haarlem],cost:7},{nodes:[kn.Haarlem,kn.Leiden],cost:3},{nodes:[kn.Leiden,kn.Denhaas],cost:2},{nodes:[kn.Denhaas,kn.Rotterdam],cost:3},{nodes:[kn.Rotterdam,kn.Leiden],cost:3},{nodes:[kn.Leiden,kn.Amsterdam],cost:4},{nodes:[kn.Leiden,kn.Utrecht],cost:4},{nodes:[kn.Utrecht,kn.Rotterdam],cost:5},{nodes:[kn.Rotterdam,kn.Enbosch],cost:11},{nodes:[kn.Breda,kn.Rotterdam],cost:8},{nodes:[kn.Breda,kn.Middelburg],cost:9},{nodes:[kn.Middelburg,kn.Antwerpen],cost:8},{nodes:[kn.Antwerpen,kn.Brugge],cost:9},{nodes:[kn.Brugge,kn.Dostende],cost:2},{nodes:[kn.Amsterdam,kn.Zaanstad],cost:1},{nodes:[kn.Amsterdam,kn.Apeldoorn],cost:7},{nodes:[kn.Apeldoorn,kn.Utrecht],cost:6},{nodes:[kn.Venlo,kn.Eindhoven],cost:5},{nodes:[kn.Eindhoven,kn.Tilburg],cost:4},{nodes:[kn.Tilburg,kn.Breda],cost:2},{nodes:[kn.Breda,kn.Enbosch],cost:5},{nodes:[kn.Breda,kn.Antwerpen],cost:5},{nodes:[kn.Antwerpen,kn.Tilburg],cost:6},{nodes:[kn.Antwerpen,kn.Eindhoven],cost:8},{nodes:[kn.Eindhoven,kn.Maastricht],cost:8},{nodes:[kn.Maastricht,kn.Venlo],cost:10},{nodes:[kn.Maastricht,kn.Leuven],cost:7},{nodes:[kn.Leuven,kn.Eindhoven],cost:9},{nodes:[kn.Leuven,kn.Brussel],cost:2},{nodes:[kn.Brussel,kn.Bruxelles],cost:0},{nodes:[kn.Bruxelles,kn.Charleroi],cost:5},{nodes:[kn.Charleroi,kn.Namur],cost:3},{nodes:[kn.Namur,kn.Bruxelles],cost:5},{nodes:[kn.Leuven,kn.Namur],cost:5},{nodes:[kn.Leuven,kn.Liege],cost:7},{nodes:[kn.Liege,kn.Namur],cost:6},{nodes:[kn.Liege,kn.Maastricht],cost:3},{nodes:[kn.Kortrijk,kn.Dostende],cost:5},{nodes:[kn.Brugge,kn.Kortrijk],cost:4},{nodes:[kn.Kortrijk,kn.Gent],cost:4},{nodes:[kn.Gent,kn.Brugge],cost:3},{nodes:[kn.Kortrijk,kn.Bruxelles],cost:10},{nodes:[kn.Bruxelles,kn.Mons],cost:5},{nodes:[kn.Mons,kn.Kortrijk],cost:8},{nodes:[kn.Gent,kn.Antwerpen],cost:5},{nodes:[kn.Antwerpen,kn.Brussel],cost:4},{nodes:[kn.Brussel,kn.Gent],cost:7},{nodes:[kn.Antwerpen,kn.Leuven],cost:4},{nodes:[kn.Mons,kn.Charleroi],cost:4},{nodes:[kn.Charleroi,kn.Arlon],cost:18},{nodes:[kn.Arlon,kn.Luxembourg],cost:5},{nodes:[kn.Luxembourg,kn.Liege],cost:20},{nodes:[kn.Liege,kn.Arlon],cost:18},{nodes:[kn.Arlon,kn.Namur],cost:16},{nodes:[kn.Tilburg,kn.Enbosch],cost:3}],layout:"Portrait",mapPosition:[0,-50],adjustRatio:[1.15,1.15],resupply:[[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[1,2,3],[2,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[18,24,6,2],viewBox:[1530,1060],playerOrderPosition:[1225,140],buttonsPosition:[1370,0],playerBoardsPosition:[1170,200],actualMarketWidth:495,mapSpecificRules:"Ecological plants can enter the market earlier. Remove smallest power plant after each round (unless discount plant was removed)."};(function(e){e["Red"]="red",e["Pink"]="pink",e["Purple"]="purple",e["Green"]="green",e["Brown"]="brown",e["Yellow"]="yellow"})(Pn||(Pn={})),function(e){e["Parnaiba"]="Parnaiba",e["Fortaleza"]="Fortaleza",e["Sadluis"]="Sadluis",e["Belem"]="Belem",e["Teresina"]="Teresina",e["Imperatriz"]="Imperatriz",e["Maraba"]="Maraba",e["Campinagrande"]="Campina Grande",e["Petrolina"]="Petrolina",e["Natal"]="Natal",e["Joaopessoa"]="Joaopessoa",e["Recife"]="Recife",e["Maceio"]="Maceio",e["Aracaju"]="Aracaju",e["Salvadordabahia"]="Salvador Da Bahia",e["Montesclaros"]="Montes Claros",e["Brasilia"]="Brasilia",e["Palmas"]="Palmas",e["Porangatu"]="Porangatu",e["Goiania"]="Goiania",e["Uberlandia"]="Uberlandia",e["Vitoria"]="Vitoria",e["Riodejaneiro"]="Rio De Janeiro",e["Saogoncalo"]="Sao Goncalo",e["Saopaulo"]="Sao Paulo",e["Guarulhos"]="Guarulhos",e["Campinas"]="Campinas",e["Belohorizonte"]="Belo Horizonte",e["Curitiba"]="Curitiba",e["Florianopolis"]="Florianopolis",e["Portoalecre"]="Porto Alecre",e["Pelotas"]="Pelotas",e["Urucuaiana"]="Urucuaiana",e["Londrina"]="Londrina",e["Campogrande"]="Campo Grande",e["Macapa"]="Macapa",e["Boavista"]="Boavista",e["Manaus"]="Manaus",e["Portovelho"]="Porto Velho",e["Cuiaba"]="Cuiaba",e["Vilhena"]="Vilhena",e["Riobranco"]="Rio Branco"}(_n||(_n={}));var Cn,Bn,Ln={name:"Brazil",cities:[{name:_n.Parnaiba,region:Pn.Red,x:855,y:458},{name:_n.Fortaleza,region:Pn.Red,x:961,y:478},{name:_n.Sadluis,region:Pn.Red,x:772,y:418},{name:_n.Belem,region:Pn.Red,x:655,y:378},{name:_n.Teresina,region:Pn.Red,x:846,y:548},{name:_n.Imperatriz,region:Pn.Red,x:697,y:535},{name:_n.Maraba,region:Pn.Red,x:581,y:492},{name:_n.Campinagrande,region:Pn.Pink,x:976,y:587},{name:_n.Petrolina,region:Pn.Pink,x:872,y:648},{name:_n.Natal,region:Pn.Pink,x:1061,y:518},{name:_n.Joaopessoa,region:Pn.Pink,x:1097,y:576},{name:_n.Recife,region:Pn.Pink,x:1083,y:637},{name:_n.Maceio,region:Pn.Pink,x:1040,y:699},{name:_n.Aracaju,region:Pn.Pink,x:995,y:750},{name:_n.Salvadordabahia,region:Pn.Purple,x:960,y:808},{name:_n.Montesclaros,region:Pn.Purple,x:795,y:847},{name:_n.Brasilia,region:Pn.Purple,x:671,y:817},{name:_n.Palmas,region:Pn.Purple,x:648,y:663},{name:_n.Porangatu,region:Pn.Purple,x:598,y:762},{name:_n.Goiania,region:Pn.Purple,x:601,y:889},{name:_n.Uberlandia,region:Pn.Purple,x:646,y:964},{name:_n.Vitoria,region:Pn.Green,x:910,y:971},{name:_n.Riodejaneiro,region:Pn.Green,x:795,y:1076},{name:_n.Saogoncalo,region:Pn.Green,x:843,y:1033},{name:_n.Saopaulo,region:Pn.Green,x:721,y:1134},{name:_n.Guarulhos,region:Pn.Green,x:678,y:1089},{name:_n.Campinas,region:Pn.Green,x:629,y:1037},{name:_n.Belohorizonte,region:Pn.Green,x:771,y:960},{name:_n.Curitiba,region:Pn.Brown,x:615,y:1144},{name:_n.Florianopolis,region:Pn.Brown,x:665,y:1214},{name:_n.Portoalecre,region:Pn.Brown,x:590,y:1281},{name:_n.Pelotas,region:Pn.Brown,x:551,y:1346},{name:_n.Urucuaiana,region:Pn.Brown,x:444,y:1250},{name:_n.Londrina,region:Pn.Brown,x:516,y:1075},{name:_n.Campogrande,region:Pn.Brown,x:440,y:983},{name:_n.Macapa,region:Pn.Yellow,x:561,y:317},{name:_n.Boavista,region:Pn.Yellow,x:308,y:269},{name:_n.Manaus,region:Pn.Yellow,x:258,y:466},{name:_n.Portovelho,region:Pn.Yellow,x:238,y:620},{name:_n.Cuiaba,region:Pn.Yellow,x:432,y:850},{name:_n.Vilhena,region:Pn.Yellow,x:328,y:741},{name:_n.Riobranco,region:Pn.Yellow,x:87,y:666}],connections:[{nodes:[_n.Boavista,_n.Macapa],cost:22},{nodes:[_n.Macapa,_n.Belem],cost:10},{nodes:[_n.Belem,_n.Sadluis],cost:10},{nodes:[_n.Sadluis,_n.Imperatriz],cost:9},{nodes:[_n.Belem,_n.Imperatriz],cost:9},{nodes:[_n.Belem,_n.Maraba],cost:9},{nodes:[_n.Macapa,_n.Maraba],cost:16},{nodes:[_n.Maraba,_n.Manaus],cost:22},{nodes:[_n.Macapa,_n.Manaus],cost:18},{nodes:[_n.Boavista,_n.Manaus],cost:13},{nodes:[_n.Boavista,_n.Riobranco],cost:30},{nodes:[_n.Riobranco,_n.Manaus],cost:23},{nodes:[_n.Manaus,_n.Portovelho],cost:15},{nodes:[_n.Portovelho,_n.Riobranco],cost:10},{nodes:[_n.Riobranco,_n.Vilhena],cost:18},{nodes:[_n.Portovelho,_n.Vilhena],cost:12},{nodes:[_n.Manaus,_n.Vilhena],cost:21},{nodes:[_n.Vilhena,_n.Cuiaba],cost:10},{nodes:[_n.Vilhena,_n.Maraba],cost:31},{nodes:[_n.Maraba,_n.Imperatriz],cost:4},{nodes:[_n.Sadluis,_n.Teresina],cost:8},{nodes:[_n.Teresina,_n.Imperatriz],cost:11},{nodes:[_n.Imperatriz,_n.Palmas],cost:9},{nodes:[_n.Palmas,_n.Maraba],cost:10},{nodes:[_n.Maraba,_n.Porangatu],cost:17},{nodes:[_n.Porangatu,_n.Goiania],cost:8},{nodes:[_n.Porangatu,_n.Vilhena],cost:23},{nodes:[_n.Cuiaba,_n.Porangatu],cost:16},{nodes:[_n.Porangatu,_n.Palmas],cost:8},{nodes:[_n.Palmas,_n.Brasilia],cost:13},{nodes:[_n.Brasilia,_n.Porangatu],cost:6},{nodes:[_n.Brasilia,_n.Goiania],cost:4},{nodes:[_n.Goiania,_n.Cuiaba],cost:15},{nodes:[_n.Sadluis,_n.Parnaiba],cost:5},{nodes:[_n.Parnaiba,_n.Teresina],cost:5},{nodes:[_n.Parnaiba,_n.Fortaleza],cost:7},{nodes:[_n.Fortaleza,_n.Natal],cost:8},{nodes:[_n.Natal,_n.Joaopessoa],cost:3},{nodes:[_n.Joaopessoa,_n.Recife],cost:2},{nodes:[_n.Recife,_n.Maceio],cost:3},{nodes:[_n.Maceio,_n.Aracaju],cost:3},{nodes:[_n.Aracaju,_n.Salvadordabahia],cost:4},{nodes:[_n.Natal,_n.Campinagrande],cost:4},{nodes:[_n.Fortaleza,_n.Teresina],cost:10},{nodes:[_n.Teresina,_n.Petrolina],cost:12},{nodes:[_n.Petrolina,_n.Palmas],cost:19},{nodes:[_n.Petrolina,_n.Brasilia],cost:22},{nodes:[_n.Petrolina,_n.Montesclaros],cost:19},{nodes:[_n.Montesclaros,_n.Salvadordabahia],cost:16},{nodes:[_n.Salvadordabahia,_n.Petrolina],cost:10},{nodes:[_n.Petrolina,_n.Campinagrande],cost:12},{nodes:[_n.Petrolina,_n.Aracaju],cost:11},{nodes:[_n.Vitoria,_n.Salvadordabahia],cost:16},{nodes:[_n.Montesclaros,_n.Vitoria],cost:14},{nodes:[_n.Vitoria,_n.Saogoncalo],cost:6},{nodes:[_n.Vitoria,_n.Belohorizonte],cost:9},{nodes:[_n.Belohorizonte,_n.Montesclaros],cost:8},{nodes:[_n.Montesclaros,_n.Brasilia],cost:9},{nodes:[_n.Brasilia,_n.Uberlandia],cost:8},{nodes:[_n.Uberlandia,_n.Goiania],cost:7},{nodes:[_n.Goiania,_n.Campogrande],cost:16},{nodes:[_n.Campogrande,_n.Cuiaba],cost:13},{nodes:[_n.Campogrande,_n.Londrina],cost:10},{nodes:[_n.Campogrande,_n.Uberlandia],cost:13},{nodes:[_n.Uberlandia,_n.Londrina],cost:12},{nodes:[_n.Londrina,_n.Campinas],cost:9},{nodes:[_n.Campinas,_n.Uberlandia],cost:9},{nodes:[_n.Uberlandia,_n.Belohorizonte],cost:10},{nodes:[_n.Uberlandia,_n.Brasilia],cost:8},{nodes:[_n.Brasilia,_n.Belohorizonte],cost:14},{nodes:[_n.Belohorizonte,_n.Saogoncalo],cost:7},{nodes:[_n.Saogoncalo,_n.Riodejaneiro],cost:0},{nodes:[_n.Riodejaneiro,_n.Saopaulo],cost:7},{nodes:[_n.Saopaulo,_n.Guarulhos],cost:0},{nodes:[_n.Guarulhos,_n.Campinas],cost:0},{nodes:[_n.Campinas,_n.Curitiba],cost:6},{nodes:[_n.Curitiba,_n.Londrina],cost:7},{nodes:[_n.Saopaulo,_n.Florianopolis],cost:9},{nodes:[_n.Florianopolis,_n.Curitiba],cost:4},{nodes:[_n.Londrina,_n.Urucuaiana],cost:18},{nodes:[_n.Urucuaiana,_n.Pelotas],cost:9},{nodes:[_n.Pelotas,_n.Portoalecre],cost:4},{nodes:[_n.Portoalecre,_n.Urucuaiana],cost:10},{nodes:[_n.Londrina,_n.Portoalecre],cost:16},{nodes:[_n.Portoalecre,_n.Curitiba],cost:11},{nodes:[_n.Portoalecre,_n.Florianopolis],cost:7},{nodes:[_n.Guarulhos,_n.Belohorizonte],cost:10},{nodes:[_n.Maceio,_n.Campinagrande],cost:6},{nodes:[_n.Petrolina,_n.Fortaleza],cost:14},{nodes:[_n.Recife,_n.Campinagrande],cost:3}],layout:"Portrait",adjustRatio:[.85,.85],mapPosition:[-20,-130],resupply:[[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[24,18,6,2],setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(yn),i=a.filter((function(e){return e.type==Me.Garbage&&e.number>14}));if("original"==n){a=a.slice(8);var s=a.splice(2,1)[0],c=a.splice(2,1)[0],u=a.pop();a=an(a.filter((function(e){return e.type!=Me.Garbage})),t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a=a.concat(i),a=an(a,t()+""),a.unshift(c),a.unshift(s),a.push(u),r=[Ar(3),Ar(4),Ar(5),Ar(6)],o=[Ar(7),Ar(8),Ar(9),Ar(10)]}else{var l=a.splice(3,1)[0],d=a.splice(10,1)[0],f=an(a.splice(0,11),t()+""),h=f.splice(0,6);h.push(l,d),h=h.sort((function(e,n){return e.number-n.number})),r=h.slice(0,4),o=h.slice(4);var p=f.shift(),g=a.pop();a=an(a.filter((function(e){return e.type!=Me.Garbage})),t()+""),2==e?(f=f.slice(1),a=an(a.slice(5).concat(f),t()+"")):3==e?(f=f.slice(2),a=an(a.slice(6).concat(f),t()+"")):4==e?(f=f.slice(1),a=an(a.slice(3).concat(f),t()+"")):a=an(a.concat(f),t()+""),a=a.concat(i),a=an(a,t()+""),a.unshift(p),a.push(g)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},mapSpecificRules:"Play with all garbage power plants.\n",deckBuild:{recharged:"power plants 6 and 14 always start in the market; the other six market plants are drawn from the remaining low plants. Garbage plants above 14 are set aside during the player-count removal and shuffled back in, so no garbage plant ever leaves the game.",original:"both 13 and 14 are set aside; after the player-count removal (garbage plants excluded and shuffled back in), 13 goes on top of the deck with 14 directly below it."}};(function(e){e["Blue"]="blue",e["Pink"]="pink",e["Purple"]="purple",e["Red"]="red",e["Orange"]="orange"})(Cn||(Cn={})),function(e){e["Borgfeld"]="Borgfeld",e["Oberneuland"]="Oberneuland",e["Osterholz"]="Osterholz",e["HornLehe"]="Horn-Lehe",e["Vahr"]="Vahr",e["Schwachhausen"]="Schwachhausen",e["OstlicheVorstadt"]="Östliche Vorstadt",e["Findorff"]="Findorff",e["Walle"]="Walle",e["Mitte"]="Mitte",e["Hemelingen"]="Hemelingen",e["Mahndorf"]="Mahndorf",e["Neustadt"]="Neustadt",e["Obervieland"]="Obervieland",e["Huchting"]="Huchting",e["Hofen"]="Höfen",e["Pusdorf"]="Pusdorf",e["Neustadtshafen"]="Neustadtshafen",e["Strom"]="Strom",e["Seehausen"]="Seehausen",e["Blockland"]="Blockland",e["Gropelingen"]="Gröpelingen",e["Burglesum"]="Burglesum",e["Vegesack"]="Vegesack",e["Blumenthal"]="Blumenthal"}(Bn||(Bn={}));var Rn,An,On={name:"Bremen",cities:[{name:Bn.Borgfeld,region:Cn.Blue,connectionCost:15,slotCosts:[8,14],x:645,y:273},{name:Bn.Oberneuland,region:Cn.Blue,connectionCost:14,slotCosts:[8,14,20],x:652,y:342},{name:Bn.Osterholz,region:Cn.Blue,connectionCost:11,slotCosts:[8,14,20],x:660,y:434},{name:Bn.HornLehe,region:Cn.Blue,connectionCost:9,slotCosts:[8,14,20],x:572,y:322},{name:Bn.Vahr,region:Cn.Blue,connectionCost:6,slotCosts:[8,14,20],x:583,y:376},{name:Bn.Schwachhausen,region:Cn.Pink,connectionCost:5,slotCosts:[8,14,20],x:517,y:357},{name:Bn.OstlicheVorstadt,region:Cn.Pink,connectionCost:2,slotCosts:[8,14,20],x:536,y:409},{name:Bn.Findorff,region:Cn.Pink,connectionCost:3,slotCosts:[8,14],x:488,y:311},{name:Bn.Walle,region:Cn.Pink,connectionCost:6,slotCosts:[8,14,20],x:438,y:342},{name:Bn.Mitte,region:Cn.Pink,connectionCost:1,slotCosts:[8,14,20],x:472,y:388},{name:Bn.Hemelingen,region:Cn.Purple,connectionCost:8,slotCosts:[8,14,20],x:600,y:453},{name:Bn.Mahndorf,region:Cn.Purple,connectionCost:10,slotCosts:[8,14,20],x:666,y:499},{name:Bn.Neustadt,region:Cn.Purple,connectionCost:5,slotCosts:[8,14,20],x:464,y:452},{name:Bn.Obervieland,region:Cn.Purple,connectionCost:10,slotCosts:[8,14,20],x:529,y:479},{name:Bn.Huchting,region:Cn.Purple,connectionCost:12,slotCosts:[8,14],x:386,y:442},{name:Bn.Hofen,region:Cn.Red,connectionCost:9,slotCosts:[8,14,20],x:352,y:272},{name:Bn.Pusdorf,region:Cn.Red,connectionCost:7,slotCosts:[8,14,20],x:399,y:386},{name:Bn.Neustadtshafen,region:Cn.Red,connectionCost:8,slotCosts:[8,14,20],x:375,y:340},{name:Bn.Strom,region:Cn.Red,connectionCost:14,slotCosts:[8,14,20],x:328,y:393},{name:Bn.Seehausen,region:Cn.Red,connectionCost:14,slotCosts:[8,14],x:290,y:321},{name:Bn.Blockland,region:Cn.Orange,connectionCost:11,slotCosts:[8,14,20],x:476,y:251},{name:Bn.Gropelingen,region:Cn.Orange,connectionCost:8,slotCosts:[8,14,20],x:426,y:280},{name:Bn.Burglesum,region:Cn.Orange,connectionCost:13,slotCosts:[8,14,20],x:337,y:197},{name:Bn.Vegesack,region:Cn.Orange,connectionCost:10,slotCosts:[8,14,20],x:248,y:170},{name:Bn.Blumenthal,region:Cn.Orange,connectionCost:15,slotCosts:[8,14],x:154,y:135}],connections:[{nodes:[Bn.Borgfeld,Bn.Oberneuland],cost:0},{nodes:[Bn.Oberneuland,Bn.Osterholz],cost:0},{nodes:[Bn.Borgfeld,Bn.HornLehe],cost:0},{nodes:[Bn.Oberneuland,Bn.HornLehe],cost:0},{nodes:[Bn.Oberneuland,Bn.Vahr],cost:0},{nodes:[Bn.Osterholz,Bn.Vahr],cost:0},{nodes:[Bn.HornLehe,Bn.Vahr],cost:0},{nodes:[Bn.HornLehe,Bn.Schwachhausen],cost:0},{nodes:[Bn.HornLehe,Bn.Findorff],cost:0},{nodes:[Bn.Vahr,Bn.Hemelingen],cost:0},{nodes:[Bn.Osterholz,Bn.Mahndorf],cost:0},{nodes:[Bn.Hofen,Bn.Neustadtshafen],cost:0},{nodes:[Bn.Hofen,Bn.Seehausen],cost:0},{nodes:[Bn.Pusdorf,Bn.Neustadtshafen],cost:0},{nodes:[Bn.Neustadtshafen,Bn.Seehausen],cost:0},{nodes:[Bn.Neustadtshafen,Bn.Strom],cost:0},{nodes:[Bn.Seehausen,Bn.Strom],cost:0},{nodes:[Bn.Blockland,Bn.Gropelingen],cost:0},{nodes:[Bn.Blockland,Bn.Burglesum],cost:0},{nodes:[Bn.Gropelingen,Bn.Burglesum],cost:0},{nodes:[Bn.Burglesum,Bn.Vegesack],cost:0},{nodes:[Bn.Vegesack,Bn.Blumenthal],cost:0},{nodes:[Bn.Mahndorf,Bn.Hemelingen],cost:0},{nodes:[Bn.Hemelingen,Bn.Obervieland],cost:0},{nodes:[Bn.Obervieland,Bn.Neustadt],cost:0},{nodes:[Bn.Neustadt,Bn.Huchting],cost:0},{nodes:[Bn.Hemelingen,Bn.OstlicheVorstadt],cost:0},{nodes:[Bn.Obervieland,Bn.OstlicheVorstadt],cost:0},{nodes:[Bn.Neustadt,Bn.Mitte],cost:0},{nodes:[Bn.Neustadt,Bn.OstlicheVorstadt],cost:0},{nodes:[Bn.Huchting,Bn.Strom],cost:0},{nodes:[Bn.Huchting,Bn.Pusdorf],cost:0},{nodes:[Bn.Findorff,Bn.Walle],cost:0},{nodes:[Bn.Findorff,Bn.Mitte],cost:0},{nodes:[Bn.Findorff,Bn.Schwachhausen],cost:0},{nodes:[Bn.Schwachhausen,Bn.OstlicheVorstadt],cost:0},{nodes:[Bn.Schwachhausen,Bn.Mitte],cost:0},{nodes:[Bn.Walle,Bn.Mitte],cost:0},{nodes:[Bn.Mitte,Bn.OstlicheVorstadt],cost:0},{nodes:[Bn.Strom,Bn.Pusdorf],cost:0},{nodes:[Bn.Vahr,Bn.Schwachhausen],cost:0},{nodes:[Bn.Blockland,Bn.HornLehe],cost:0},{nodes:[Bn.Hemelingen,Bn.Osterholz],cost:0},{nodes:[Bn.Hofen,Bn.Gropelingen],cost:0},{nodes:[Bn.Hofen,Bn.Burglesum],cost:0},{nodes:[Bn.Burglesum,Bn.Seehausen],cost:0},{nodes:[Bn.Walle,Bn.Gropelingen],cost:0},{nodes:[Bn.Walle,Bn.Blockland],cost:0},{nodes:[Bn.Findorff,Bn.Blockland],cost:0},{nodes:[Bn.Walle,Bn.Hofen],cost:0},{nodes:[Bn.Walle,Bn.Neustadtshafen],cost:0},{nodes:[Bn.Walle,Bn.Pusdorf],cost:0},{nodes:[Bn.Pusdorf,Bn.Neustadt],cost:0}],layout:"Landscape",adjustRatio:[1.75,1.75],mapPosition:[-120,-140],mapRotation:0,resupply:[[[4,5,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,3,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,1],[1,2,1],[2,3,2],[3,3,3],[3,5,3]],[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]],coalPrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],oilPrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],garbagePrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],startingResources:[22,16,16,0],startingSupply:[22,22,22,0],setupDeck:function(e,n,t){var r=new Set([11,17,23,28,34,36,38,39,46]);e<=4&&(r.add(31),r.add(50));var o,a,i=Object(qe["cloneDeep"])(yn).filter((function(e){return!r.has(e.number)})),s=i.pop();if("original"==n){o=[Ar(3),Ar(4),Ar(5),Ar(6)],a=[Ar(7),Ar(8),Ar(9),Ar(10)];var c=new Set([3,4,5,6,7,8,9,10]),u=i.find((function(e){return 13==e.number})),l=i.filter((function(e){return!c.has(e.number)&&13!=e.number}));return l=an(l,t()+""),l.unshift(u),l.push(s),{actualMarket:o,futureMarket:a,powerPlantsDeck:l}}var d=an(i.filter((function(e){return e.number<=15})),t()+""),f=i.filter((function(e){return e.number>15})),h=d.splice(0,8).sort((function(e,n){return e.number-n.number}));o=h.slice(0,4),a=h.slice(4);var p=d.shift();return f=an(f.concat(d),t()+""),f.unshift(p),f.push(s),{actualMarket:o,futureMarket:a,powerPlantsDeck:f}},mapSpecificRules:"Flat district costs: instead of connection costs between cities, each district has a single cost. Connecting a new district to your network costs the sum of the district costs along the cheapest path from your network (you pay for each district entered, including ones you only pass through), plus the cheapest building cost (8 / 14 / 20 Elektro) in the new district. (on your 1st placement if A has 1 and B has 3 then A to B is 8+3+8=19, and B to A is 8+1+8=17, meaning it is asymmetrical) Small districts have only two spaces (8 / 14) and can hold just two networks.\nNo uranium: uranium is never sold, and every plant that burns it is removed from the game. Plant 50 needs no fuel, so it stays in the deck with 5 or 6 players.\nStep 2 begins once a player has 5 connected districts (4 for 6 players); the game ends when a player connects 13 districts (12 for 5 players, 11 for 6).\n",deckBuild:{recharged:"power plants 11, 17, 23, 28, 34, 36, 38, 39 and 46 are removed before setup — the six uranium plants plus the three plants that power 7 cities. With 2 to 4 players, plants 31 and 50 are removed as well. No further power plants are removed for the number of players. The opening market of eight is then drawn from the low plants (numbered 15 or less); of the low plants left over, one is placed on top of the draw deck and the rest are shuffled into it, with the Step 3 card on the bottom.",original:"same removals; the market is the fixed 3-6 / 7-10 (none of these are removed on Bremen), plant 13 is placed on top of the deck and the Step 3 card on the bottom."}};(function(e){e["Blue"]="blue",e["Brown"]="brown",e["Purple"]="purple",e["Red"]="red",e["Yellow"]="yellow",e["Green"]="green"})(Rn||(Rn={})),function(e){e["Bialystok"]="Bialystok",e["Lublin"]="Lublin",e["Warszawa"]="Warszawa",e["Krakow"]="Krakow",e["Sosnowiec"]="Sosnowiec",e["Katowice"]="Katowice",e["Czestochowa"]="Czesto Chowa",e["Presov"]="Presov",e["Kosice"]="Kosice",e["Poprad"]="Poprad",e["Zilina"]="Zilina",e["Bratislava"]="Bratislava",e["Trnava"]="Trnava",e["Nyiregyhaza"]="Nyiregyhaza",e["Miskolc"]="Miskolc",e["Szeged"]="Szeged",e["Kecskeme"]="Kecskeme",e["Budapest"]="Budapest",e["Pecs"]="Pecs",e["Gyor"]="Gyor",e["Banskabystrica"]="Banska Bystrica",e["Goansk"]="Goansk",e["Goynia"]="Goynia",e["Byogoszcz"]="Byogoszcz",e["Wroclaw"]="Wroclaw",e["Poznan"]="Poznan",e["Szczecin"]="Szczecin",e["Lodz"]="Lodz",e["Graz"]="Graz",e["Klagenfurt"]="Klagenfurt",e["Villach"]="Villach",e["Innsbruck"]="Innsbruck",e["Salzburg"]="Salzburg",e["Linz"]="Linz",e["Wien"]="Wien",e["Hradeckralove"]="Hradec Kralove",e["Brno"]="Brno",e["Ceskebudejovice"]="Ceske Budejovice",e["Praha"]="Praha",e["Ostrava"]="Ostrava",e["Plzen"]="Plzen",e["Ustinadlaben"]="Ustinad Laben"}(An||(An={}));var jn,Nn,Dn={name:"Central Europe",noUraniumRegions:[Rn.Blue,Rn.Red,Rn.Yellow],cities:[{name:An.Bialystok,region:Rn.Blue,x:543,y:135},{name:An.Lublin,region:Rn.Blue,x:590,y:294},{name:An.Warszawa,region:Rn.Blue,x:482,y:253},{name:An.Krakow,region:Rn.Blue,x:533,y:443},{name:An.Sosnowiec,region:Rn.Blue,x:468,y:443},{name:An.Katowice,region:Rn.Blue,x:446,y:483},{name:An.Czestochowa,region:Rn.Blue,x:419,y:397},{name:An.Presov,region:Rn.Brown,x:619,y:487},{name:An.Kosice,region:Rn.Brown,x:646,y:538},{name:An.Poprad,region:Rn.Brown,x:565,y:529},{name:An.Zilina,region:Rn.Brown,x:476,y:551},{name:An.Bratislava,region:Rn.Brown,x:423,y:693},{name:An.Trnava,region:Rn.Brown,x:452,y:638},{name:An.Nyiregyhaza,region:Rn.Purple,x:698,y:582},{name:An.Miskolc,region:Rn.Purple,x:621,y:597},{name:An.Szeged,region:Rn.Purple,x:680,y:764},{name:An.Kecskeme,region:Rn.Purple,x:630,y:727},{name:An.Budapest,region:Rn.Purple,x:557,y:689},{name:An.Pecs,region:Rn.Purple,x:566,y:832},{name:An.Gyor,region:Rn.Purple,x:489,y:729},{name:An.Banskabystrica,region:Rn.Brown,x:525,y:601},{name:An.Goansk,region:Rn.Red,x:286,y:158},{name:An.Goynia,region:Rn.Red,x:249,y:131},{name:An.Byogoszcz,region:Rn.Red,x:297,y:257},{name:An.Wroclaw,region:Rn.Red,x:321,y:445},{name:An.Poznan,region:Rn.Red,x:261,y:342},{name:An.Szczecin,region:Rn.Red,x:110,y:316},{name:An.Lodz,region:Rn.Red,x:420,y:337},{name:An.Graz,region:Rn.Yellow,x:376,y:811},{name:An.Klagenfurt,region:Rn.Yellow,x:340,y:875},{name:An.Villach,region:Rn.Yellow,x:272,y:875},{name:An.Innsbruck,region:Rn.Yellow,x:140,y:879},{name:An.Salzburg,region:Rn.Yellow,x:209,y:805},{name:An.Linz,region:Rn.Yellow,x:265,y:744},{name:An.Wien,region:Rn.Yellow,x:366,y:701},{name:An.Hradeckralove,region:Rn.Green,x:291,y:546},{name:An.Brno,region:Rn.Green,x:354,y:597},{name:An.Ceskebudejovice,region:Rn.Green,x:248,y:670},{name:An.Praha,region:Rn.Green,x:220,y:593},{name:An.Ostrava,region:Rn.Green,x:413,y:535},{name:An.Plzen,region:Rn.Green,x:158,y:645},{name:An.Ustinadlaben,region:Rn.Green,x:165,y:537}],connections:[{nodes:[An.Goynia,An.Goansk],cost:0},{nodes:[An.Goansk,An.Byogoszcz],cost:8},{nodes:[An.Goynia,An.Szczecin],cost:17},{nodes:[An.Szczecin,An.Poznan],cost:14},{nodes:[An.Szczecin,An.Wroclaw],cost:22},{nodes:[An.Wroclaw,An.Poznan],cost:9},{nodes:[An.Poznan,An.Lodz],cost:13},{nodes:[An.Lodz,An.Byogoszcz],cost:12},{nodes:[An.Byogoszcz,An.Szczecin],cost:15},{nodes:[An.Wroclaw,An.Lodz],cost:12},{nodes:[An.Lodz,An.Czestochowa],cost:7},{nodes:[An.Czestochowa,An.Wroclaw],cost:9},{nodes:[An.Wroclaw,An.Ostrava],cost:11},{nodes:[An.Ostrava,An.Hradeckralove],cost:16},{nodes:[An.Hradeckralove,An.Wroclaw],cost:10},{nodes:[An.Wroclaw,An.Ustinadlaben],cost:17},{nodes:[An.Ustinadlaben,An.Hradeckralove],cost:10},{nodes:[An.Hradeckralove,An.Brno],cost:9},{nodes:[An.Brno,An.Ostrava],cost:12},{nodes:[An.Ostrava,An.Katowice],cost:4},{nodes:[An.Czestochowa,An.Lublin],cost:17},{nodes:[An.Lublin,An.Presov],cost:20},{nodes:[An.Presov,An.Krakow],cost:13},{nodes:[An.Krakow,An.Poprad],cost:11},{nodes:[An.Poprad,An.Zilina],cost:11},{nodes:[An.Zilina,An.Krakow],cost:12},{nodes:[An.Krakow,An.Sosnowiec],cost:4},{nodes:[An.Warszawa,An.Bialystok],cost:14},{nodes:[An.Bialystok,An.Goansk],cost:20},{nodes:[An.Byogoszcz,An.Warszawa],cost:15},{nodes:[An.Warszawa,An.Lublin],cost:10},{nodes:[An.Lodz,An.Warszawa],cost:7},{nodes:[An.Bialystok,An.Lublin],cost:15},{nodes:[An.Lublin,An.Krakow],cost:16},{nodes:[An.Poprad,An.Kosice],cost:6},{nodes:[An.Kosice,An.Nyiregyhaza],cost:8},{nodes:[An.Kosice,An.Miskolc],cost:4},{nodes:[An.Miskolc,An.Poprad],cost:9},{nodes:[An.Poprad,An.Banskabystrica],cost:11},{nodes:[An.Banskabystrica,An.Zilina],cost:6},{nodes:[An.Zilina,An.Trnava],cost:10},{nodes:[An.Zilina,An.Brno],cost:14},{nodes:[An.Brno,An.Wien],cost:8},{nodes:[An.Bratislava,An.Brno],cost:10},{nodes:[An.Brno,An.Trnava],cost:10},{nodes:[An.Trnava,An.Banskabystrica],cost:10},{nodes:[An.Banskabystrica,An.Miskolc],cost:11},{nodes:[An.Miskolc,An.Nyiregyhaza],cost:7},{nodes:[An.Nyiregyhaza,An.Szeged],cost:16},{nodes:[An.Szeged,An.Kecskeme],cost:5},{nodes:[An.Budapest,An.Trnava],cost:9},{nodes:[An.Trnava,An.Bratislava],cost:2},{nodes:[An.Bratislava,An.Wien],cost:3},{nodes:[An.Wien,An.Ceskebudejovice],cost:14},{nodes:[An.Ceskebudejovice,An.Praha],cost:10},{nodes:[An.Praha,An.Brno],cost:13},{nodes:[An.Brno,An.Ceskebudejovice],cost:15},{nodes:[An.Ceskebudejovice,An.Plzen],cost:11},{nodes:[An.Plzen,An.Praha],cost:7},{nodes:[An.Praha,An.Ustinadlaben],cost:6},{nodes:[An.Ustinadlaben,An.Plzen],cost:9},{nodes:[An.Ceskebudejovice,An.Linz],cost:8},{nodes:[An.Linz,An.Wien],cost:11},{nodes:[An.Wien,An.Graz],cost:12},{nodes:[An.Graz,An.Linz],cost:16},{nodes:[An.Linz,An.Salzburg],cost:9},{nodes:[An.Salzburg,An.Graz],cost:22},{nodes:[An.Graz,An.Gyor],cost:14},{nodes:[An.Gyor,An.Wien],cost:8},{nodes:[An.Bratislava,An.Gyor],cost:6},{nodes:[An.Gyor,An.Trnava],cost:5},{nodes:[An.Banskabystrica,An.Budapest],cost:12},{nodes:[An.Budapest,An.Gyor],cost:5},{nodes:[An.Budapest,An.Kecskeme],cost:6},{nodes:[An.Kecskeme,An.Miskolc],cost:10},{nodes:[An.Miskolc,An.Budapest],cost:9},{nodes:[An.Szeged,An.Pecs],cost:12},{nodes:[An.Pecs,An.Kecskeme],cost:11},{nodes:[An.Budapest,An.Pecs],cost:12},{nodes:[An.Pecs,An.Gyor],cost:15},{nodes:[An.Graz,An.Pecs],cost:19},{nodes:[An.Graz,An.Klagenfurt],cost:10},{nodes:[An.Klagenfurt,An.Villach],cost:4},{nodes:[An.Klagenfurt,An.Salzburg],cost:20},{nodes:[An.Salzburg,An.Innsbruck],cost:15},{nodes:[An.Innsbruck,An.Villach],cost:22},{nodes:[An.Poznan,An.Byogoszcz],cost:7},{nodes:[An.Lublin,An.Lodz],cost:16},{nodes:[An.Czestochowa,An.Sosnowiec],cost:4},{nodes:[An.Sosnowiec,An.Katowice],cost:0},{nodes:[An.Czestochowa,An.Krakow],cost:6},{nodes:[An.Poprad,An.Presov],cost:7},{nodes:[An.Presov,An.Kosice],cost:2},{nodes:[An.Ostrava,An.Zilina],cost:7},{nodes:[An.Ostrava,An.Krakow],cost:7},{nodes:[An.Praha,An.Hradeckralove],cost:8}],layout:"Portrait",mapPosition:[70,-60],adjustRatio:[1.15,1.15],startingResources:[24,18,6,5],resupply:[[[4,5,3],[5,6,3],[6,7,5],[7,8,5],[8,10,6]],[[1,2,3],[2,2,3],[2,3,4],[3,4,5],[4,5,6]],[[1,3,3],[1,3,3],[2,4,4],[3,4,5],[3,6,6]],[[1,1,1],[1,1,1],[1,2,1],[2,2,2],[2,3,2]]]};(function(e){e["Pink"]="pink",e["Green"]="green",e["Red"]="red",e["Brown"]="brown",e["Purple"]="purple",e["Yellow"]="yellow"})(jn||(jn={})),function(e){e["Hegang"]="Hegang",e["Qiqhaer"]="Qiqha'er",e["Haerbin"]="Haerbin",e["Jilin"]="Jilin",e["Fushun"]="Fushun",e["Anshan"]="Anshan",e["Dalian"]="Dalian",e["Shanghai"]="Shanghai",e["Hangzhou"]="Hangzhou",e["Nanjing"]="Nanjing",e["Qingdao"]="Qingdao",e["Jinan"]="Jinan",e["Zhengzhou"]="Zhengzhou",e["Shijiazhuang"]="Shijiazhuang",e["Changchun"]="Changchun",e["Shenyang"]="Shenyang",e["Tangshan"]="Tangshan",e["Tianjin"]="Tianjin",e["Beijing"]="Beijing",e["Taiyuan"]="Taiyuan",e["Baotou"]="Baotou",e["Fuzhou"]="Fuzhou",e["Nanchang"]="Nanchang",e["Chaozhou"]="Chaozhou",e["Hongkong"]="Hong Kong",e["Guangzhou"]="Guangzhou",e["Changsha"]="Changsha",e["Wuhan"]="Wuhan",e["Hami"]="Hami",e["Karamay"]="Karamay",e["Wulumuqi"]="Wulumuqi",e["Kuerle"]="Ku'erle",e["Yinchuan"]="Yinchuan",e["Xining"]="Xining",e["Lanzhou"]="Lanzhou",e["Kunming"]="Kunming",e["Chengou"]="Chengou",e["Xian"]="Xi'an",e["Chongqing"]="Chongqing",e["Nanning"]="Nanning",e["Haikou"]="Haikou",e["Guiyang"]="Guiyang"}(Nn||(Nn={}));var Tn,zn,Gn={name:"China",cities:[{name:Nn.Hegang,region:jn.Pink,x:3920,y:290},{name:Nn.Qiqhaer,region:jn.Pink,x:3422,y:262},{name:Nn.Haerbin,region:jn.Pink,x:3672,y:434},{name:Nn.Jilin,region:jn.Pink,x:3744,y:614},{name:Nn.Fushun,region:jn.Pink,x:3712,y:784},{name:Nn.Anshan,region:jn.Pink,x:3510,y:902},{name:Nn.Dalian,region:jn.Pink,x:3424,y:1052},{name:Nn.Shanghai,region:jn.Green,x:3462,y:1672},{name:Nn.Hangzhou,region:jn.Green,x:3280,y:1824},{name:Nn.Nanjing,region:jn.Green,x:3130,y:1632},{name:Nn.Qingdao,region:jn.Green,x:3322,y:1316},{name:Nn.Jinan,region:jn.Green,x:3002,y:1292},{name:Nn.Zhengzhou,region:jn.Green,x:2778,y:1438},{name:Nn.Shijiazhuang,region:jn.Green,x:2866,y:1152},{name:Nn.Changchun,region:jn.Red,x:3504,y:590},{name:Nn.Shenyang,region:jn.Red,x:3458,y:778},{name:Nn.Tangshan,region:jn.Red,x:3158,y:908},{name:Nn.Tianjin,region:jn.Red,x:3134,y:1016},{name:Nn.Beijing,region:jn.Red,x:2886,y:910},{name:Nn.Taiyuan,region:jn.Red,x:2588,y:1130},{name:Nn.Baotou,region:jn.Red,x:2500,y:862},{name:Nn.Fuzhou,region:jn.Brown,x:3290,y:2132},{name:Nn.Nanchang,region:jn.Brown,x:3004,y:1974},{name:Nn.Chaozhou,region:jn.Brown,x:3096,y:2322},{name:Nn.Hongkong,region:jn.Brown,x:2902,y:2552},{name:Nn.Guangzhou,region:jn.Brown,x:2694,y:2352},{name:Nn.Changsha,region:jn.Brown,x:2682,y:1988},{name:Nn.Wuhan,region:jn.Brown,x:2810,y:1786},{name:Nn.Hami,region:jn.Purple,x:1816,y:698},{name:Nn.Karamay,region:jn.Purple,x:1304,y:372},{name:Nn.Wulumuqi,region:jn.Purple,x:1520,y:558},{name:Nn.Kuerle,region:jn.Purple,x:1326,y:756},{name:Nn.Yinchuan,region:jn.Purple,x:2208,y:1058},{name:Nn.Xining,region:jn.Purple,x:1868,y:1226},{name:Nn.Lanzhou,region:jn.Purple,x:2142,y:1328},{name:Nn.Kunming,region:jn.Yellow,x:1840,y:2248},{name:Nn.Chengou,region:jn.Yellow,x:1988,y:1736},{name:Nn.Xian,region:jn.Yellow,x:2440,y:1478},{name:Nn.Chongqing,region:jn.Yellow,x:2300,y:1880},{name:Nn.Nanning,region:jn.Yellow,x:2318,y:2452},{name:Nn.Haikou,region:jn.Yellow,x:2524,y:2680},{name:Nn.Guiyang,region:jn.Yellow,x:2212,y:2112}],connections:[{nodes:[Nn.Kunming,Nn.Chengou],cost:16},{nodes:[Nn.Nanning,Nn.Haikou],cost:10},{nodes:[Nn.Guangzhou,Nn.Hongkong],cost:4},{nodes:[Nn.Guangzhou,Nn.Chaozhou],cost:7},{nodes:[Nn.Chaozhou,Nn.Hongkong],cost:7},{nodes:[Nn.Guangzhou,Nn.Haikou],cost:13},{nodes:[Nn.Nanning,Nn.Guangzhou],cost:11},{nodes:[Nn.Xining,Nn.Chengou],cost:20},{nodes:[Nn.Chengou,Nn.Chongqing],cost:6},{nodes:[Nn.Chongqing,Nn.Guiyang],cost:9},{nodes:[Nn.Guiyang,Nn.Kunming],cost:12},{nodes:[Nn.Guiyang,Nn.Nanning],cost:12},{nodes:[Nn.Guiyang,Nn.Guangzhou],cost:18},{nodes:[Nn.Guangzhou,Nn.Changsha],cost:14},{nodes:[Nn.Changsha,Nn.Chongqing],cost:16},{nodes:[Nn.Changsha,Nn.Wuhan],cost:6},{nodes:[Nn.Wuhan,Nn.Nanchang],cost:6},{nodes:[Nn.Nanchang,Nn.Changsha],cost:7},{nodes:[Nn.Changsha,Nn.Guiyang],cost:15},{nodes:[Nn.Guiyang,Nn.Chengou],cost:13},{nodes:[Nn.Guangzhou,Nn.Nanchang],cost:16},{nodes:[Nn.Nanchang,Nn.Chaozhou],cost:14},{nodes:[Nn.Chaozhou,Nn.Fuzhou],cost:9},{nodes:[Nn.Fuzhou,Nn.Nanchang],cost:13},{nodes:[Nn.Wuhan,Nn.Hangzhou],cost:13},{nodes:[Nn.Hangzhou,Nn.Fuzhou],cost:13},{nodes:[Nn.Hangzhou,Nn.Shanghai],cost:4},{nodes:[Nn.Shanghai,Nn.Nanjing],cost:6},{nodes:[Nn.Nanjing,Nn.Hangzhou],cost:5},{nodes:[Nn.Hangzhou,Nn.Nanchang],cost:10},{nodes:[Nn.Chongqing,Nn.Wuhan],cost:18},{nodes:[Nn.Lanzhou,Nn.Chengou],cost:16},{nodes:[Nn.Chengou,Nn.Xian],cost:14},{nodes:[Nn.Xian,Nn.Chongqing],cost:14},{nodes:[Nn.Xian,Nn.Wuhan],cost:15},{nodes:[Nn.Wuhan,Nn.Zhengzhou],cost:10},{nodes:[Nn.Zhengzhou,Nn.Xian],cost:10},{nodes:[Nn.Xian,Nn.Lanzhou],cost:15},{nodes:[Nn.Lanzhou,Nn.Yinchuan],cost:9},{nodes:[Nn.Yinchuan,Nn.Xining],cost:11},{nodes:[Nn.Lanzhou,Nn.Taiyuan],cost:18},{nodes:[Nn.Taiyuan,Nn.Xian],cost:12},{nodes:[Nn.Taiyuan,Nn.Zhengzhou],cost:11},{nodes:[Nn.Taiyuan,Nn.Shijiazhuang],cost:5},{nodes:[Nn.Shijiazhuang,Nn.Tianjin],cost:5},{nodes:[Nn.Shijiazhuang,Nn.Jinan],cost:6},{nodes:[Nn.Shijiazhuang,Nn.Zhengzhou],cost:9},{nodes:[Nn.Zhengzhou,Nn.Jinan],cost:7},{nodes:[Nn.Zhengzhou,Nn.Nanjing],cost:12},{nodes:[Nn.Nanjing,Nn.Wuhan],cost:10},{nodes:[Nn.Jinan,Nn.Nanjing],cost:11},{nodes:[Nn.Nanjing,Nn.Qingdao],cost:12},{nodes:[Nn.Qingdao,Nn.Jinan],cost:6},{nodes:[Nn.Jinan,Nn.Tianjin],cost:6},{nodes:[Nn.Xining,Nn.Lanzhou],cost:6},{nodes:[Nn.Yinchuan,Nn.Baotou],cost:9},{nodes:[Nn.Baotou,Nn.Taiyuan],cost:9},{nodes:[Nn.Taiyuan,Nn.Yinchuan],cost:14},{nodes:[Nn.Yinchuan,Nn.Hami],cost:25},{nodes:[Nn.Hami,Nn.Xining],cost:25},{nodes:[Nn.Wulumuqi,Nn.Kuerle],cost:9},{nodes:[Nn.Kuerle,Nn.Karamay],cost:12},{nodes:[Nn.Karamay,Nn.Wulumuqi],cost:7},{nodes:[Nn.Wulumuqi,Nn.Hami],cost:12},{nodes:[Nn.Hami,Nn.Kuerle],cost:15},{nodes:[Nn.Taiyuan,Nn.Beijing],cost:10},{nodes:[Nn.Beijing,Nn.Shijiazhuang],cost:6},{nodes:[Nn.Beijing,Nn.Tangshan],cost:3},{nodes:[Nn.Tangshan,Nn.Tianjin],cost:0},{nodes:[Nn.Beijing,Nn.Baotou],cost:14},{nodes:[Nn.Tangshan,Nn.Shenyang],cost:11},{nodes:[Nn.Dalian,Nn.Anshan],cost:6},{nodes:[Nn.Qiqhaer,Nn.Hegang],cost:11},{nodes:[Nn.Hegang,Nn.Haerbin],cost:7},{nodes:[Nn.Haerbin,Nn.Qiqhaer],cost:6},{nodes:[Nn.Changchun,Nn.Jilin],cost:2},{nodes:[Nn.Jilin,Nn.Haerbin],cost:5},{nodes:[Nn.Haerbin,Nn.Changchun],cost:5},{nodes:[Nn.Changchun,Nn.Shenyang],cost:5},{nodes:[Nn.Shenyang,Nn.Anshan],cost:2},{nodes:[Nn.Jilin,Nn.Fushun],cost:6},{nodes:[Nn.Fushun,Nn.Shenyang],cost:0},{nodes:[Nn.Changchun,Nn.Qiqhaer],cost:9}],layout:"Portrait",mapPosition:[-400,70],adjustRatio:[.35,.35],resupply:[[[4,4,3],[5,5,3],[6,6,4],[7,7,5],[9,9,6]],[[2,2,4],[3,3,4],[4,4,5],[5,5,6],[6,6,7]],[[2,2,1],[2,2,1],[3,3,2],[3,3,3],[5,5,3]],[[1,1,1],[1,1,1],[2,2,2],[3,3,2],[3,3,3]]],startingResources:[12,12,6,0],setupDeck:function(e,n,t){var r=Object(qe["cloneDeep"])(yn),o=[];2==e||3==e?o=[3,4,9,11,16,18,20,24,30,33,46]:4==e?o=[3,4,11,18,24,33,46]:5!=e&&6!=e||(o=[3,4,33]);var a=r.filter((function(e){return!o.includes(e.number)})),i=a.filter((function(e){return e.number<=30})),s=a.filter((function(e){return e.type==Me.Step3})),c=an(a.filter((function(e){return e.number>=31&&e.number<=35})).concat(s),t()+""),u=an(a.filter((function(e){return e.number>=36&&e.number<=50})),t()+""),l=i.splice(0,e),d=[],f=i.concat(c).concat(u);return{actualMarket:l,futureMarket:d,powerPlantsDeck:f}},mapSpecificRules:"There are several changes to when new plants are drawn. In particular, during steps 1 and 2, plants are only drawn from the deck during the bureaucracy phase.\n",deckBuild:"the same plants are removed every game: with 2-3 players 3, 4, 9, 11, 16, 18, 20, 24, 30, 33, 46; with 4 players 3, 4, 11, 18, 24, 33, 46; with 5-6 players 3, 4, 33. The deck is ordered, not shuffled: plants 5-30 in ascending order on top, then plants 31-35 shuffled together with the Step 3 card, then plants 36-50 shuffled on the bottom. The starting market has one plant per player and the future market starts empty."};(function(e){e["Pink"]="pink",e["Red"]="red",e["Brown"]="brown",e["Yellow"]="yellow",e["Orange"]="orange",e["Blue"]="blue",e["Green"]="green"})(Tn||(Tn={})),function(e){e["Glasgow"]="Glasgow",e["Dublin"]="Dublin",e["Birmingham"]="Birmingham",e["London"]="London",e["Randstad"]="Randstad",e["Vlaanderen"]="Vlaanderen",e["RheinRuhr"]="Rhein-Ruhr",e["Paris"]="Paris",e["Bordeaux"]="Bordeaux",e["Lyon"]="Lyon",e["Marseille"]="Marseille",e["Lisboa"]="Lisboa",e["Madrid"]="Madrid",e["Barcelona"]="Barcelona",e["Bremen"]="Bremen",e["Berlin"]="Berlin",e["RheinMain"]="Rhein-Main",e["Stuttgart"]="Stuttgart",e["Praha"]="Praha",e["Katowice"]="Katowice",e["München"]="München",e["Zürich"]="Zürich",e["Milano"]="Milano",e["Roma"]="Roma",e["Napoli"]="Napoli",e["Wien"]="Wien",e["Budapest"]="Budapest",e["Zagreb"]="Zagreb",e["Oslo"]="Oslo",e["Stockholm"]="Stockholm",e["Helsinki"]="Helsinki",e["Tallinn"]="Tallinn",e["Kobenhavn"]="København",e["Riga"]="Riga",e["StPetersburg"]="St. Petersburg",e["Minsk"]="Minsk",e["Moskwa"]="Moskwa",e["Warszawa"]="Warszawa",e["Kyjiv"]="Kyjiv",e["Kharkiv"]="Kharkiv",e["Odessa"]="Odessa",e["Bucuresti"]="Bucureşti",e["Beograd"]="Beograd",e["Sofia"]="Sofia",e["Tirana"]="Tirana",e["Athina"]="Athina",e["Istanbul"]="Istanbul",e["Izmir"]="Izmir",e["Ankara"]="Ankara"}(zn||(zn={}));var En,In,Un={name:"Europe",cities:[{name:zn.Glasgow,region:Tn.Pink,x:490,y:510},{name:zn.Dublin,region:Tn.Pink,x:390,y:660},{name:zn.Birmingham,region:Tn.Pink,x:485,y:695},{name:zn.London,region:Tn.Pink,x:545,y:800},{name:zn.Randstad,region:Tn.Pink,x:786,y:594},{name:zn.Vlaanderen,region:Tn.Pink,x:794,y:756},{name:zn.RheinRuhr,region:Tn.Pink,x:820,y:884},{name:zn.Paris,region:Tn.Red,x:632,y:926},{name:zn.Bordeaux,region:Tn.Red,x:655,y:1095},{name:zn.Lyon,region:Tn.Red,x:785,y:1100},{name:zn.Marseille,region:Tn.Red,x:815,y:1240},{name:zn.Barcelona,region:Tn.Red,x:650,y:1280},{name:zn.Madrid,region:Tn.Red,x:435,y:1335},{name:zn.Lisboa,region:Tn.Red,x:255,y:1335},{name:zn.Bremen,region:Tn.Brown,x:1010,y:770},{name:zn.Berlin,region:Tn.Brown,x:1180,y:800},{name:zn.RheinMain,region:Tn.Brown,x:982,y:898},{name:zn.Stuttgart,region:Tn.Brown,x:995,y:1e3},{name:zn.München,region:Tn.Brown,x:1114,y:1020},{name:zn.Praha,region:Tn.Brown,x:1235,y:940},{name:zn.Katowice,region:Tn.Brown,x:1380,y:940},{name:zn.Zürich,region:Tn.Yellow,x:1010,y:1100},{name:zn.Milano,region:Tn.Yellow,x:1075,y:1180},{name:zn.Roma,region:Tn.Yellow,x:1180,y:1310},{name:zn.Napoli,region:Tn.Yellow,x:1235,y:1430},{name:zn.Wien,region:Tn.Yellow,x:1265,y:1080},{name:zn.Budapest,region:Tn.Yellow,x:1390,y:1080},{name:zn.Zagreb,region:Tn.Yellow,x:1300,y:1180},{name:zn.Oslo,region:Tn.Orange,x:1015,y:365},{name:zn.Stockholm,region:Tn.Orange,x:1170,y:415},{name:zn.Helsinki,region:Tn.Orange,x:1395,y:360},{name:zn.Tallinn,region:Tn.Orange,x:1410,y:470},{name:zn.Riga,region:Tn.Orange,x:1395,y:575},{name:zn.Kobenhavn,region:Tn.Orange,x:1180,y:660},{name:zn.StPetersburg,region:Tn.Orange,x:1620,y:460},{name:zn.Warszawa,region:Tn.Blue,x:1500,y:815},{name:zn.Minsk,region:Tn.Blue,x:1610,y:815},{name:zn.Moskwa,region:Tn.Blue,x:1830,y:600},{name:zn.Kyjiv,region:Tn.Blue,x:1690,y:980},{name:zn.Kharkiv,region:Tn.Blue,x:1860,y:980},{name:zn.Odessa,region:Tn.Blue,x:1720,y:1100},{name:zn.Bucuresti,region:Tn.Blue,x:1610,y:1175},{name:zn.Beograd,region:Tn.Green,x:1390,y:1175},{name:zn.Sofia,region:Tn.Green,x:1505,y:1240},{name:zn.Tirana,region:Tn.Green,x:1370,y:1330},{name:zn.Athina,region:Tn.Green,x:1480,y:1450},{name:zn.Istanbul,region:Tn.Green,x:1665,y:1335},{name:zn.Izmir,region:Tn.Green,x:1730,y:1430},{name:zn.Ankara,region:Tn.Green,x:1850,y:1380}],connections:[{nodes:[zn.Dublin,zn.Glasgow],cost:17},{nodes:[zn.Glasgow,zn.Birmingham],cost:13},{nodes:[zn.Dublin,zn.Birmingham],cost:15},{nodes:[zn.Birmingham,zn.London],cost:4},{nodes:[zn.London,zn.Vlaanderen],cost:15},{nodes:[zn.London,zn.Randstad],cost:18},{nodes:[zn.Randstad,zn.Vlaanderen],cost:4},{nodes:[zn.Vlaanderen,zn.RheinRuhr],cost:4},{nodes:[zn.Paris,zn.Bordeaux],cost:12},{nodes:[zn.Paris,zn.Lyon],cost:11},{nodes:[zn.Bordeaux,zn.Lyon],cost:12},{nodes:[zn.Lyon,zn.Marseille],cost:8},{nodes:[zn.Bordeaux,zn.Marseille],cost:12},{nodes:[zn.Marseille,zn.Barcelona],cost:11},{nodes:[zn.Bordeaux,zn.Barcelona],cost:15},{nodes:[zn.Bordeaux,zn.Madrid],cost:15},{nodes:[zn.Madrid,zn.Barcelona],cost:14},{nodes:[zn.Madrid,zn.Lisboa],cost:13},{nodes:[zn.Paris,zn.London],cost:16},{nodes:[zn.Paris,zn.Vlaanderen],cost:7},{nodes:[zn.Paris,zn.RheinRuhr],cost:10},{nodes:[zn.Bremen,zn.Berlin],cost:6},{nodes:[zn.Bremen,zn.RheinMain],cost:9},{nodes:[zn.Berlin,zn.RheinMain],cost:10},{nodes:[zn.Berlin,zn.Praha],cost:7},{nodes:[zn.RheinMain,zn.Praha],cost:10},{nodes:[zn.RheinMain,zn.München],cost:6},{nodes:[zn.RheinMain,zn.Stuttgart],cost:3},{nodes:[zn.Stuttgart,zn.München],cost:5},{nodes:[zn.München,zn.Praha],cost:6},{nodes:[zn.Praha,zn.Katowice],cost:8},{nodes:[zn.Bremen,zn.Randstad],cost:8},{nodes:[zn.Bremen,zn.Vlaanderen],cost:10},{nodes:[zn.RheinMain,zn.Vlaanderen],cost:6},{nodes:[zn.RheinMain,zn.RheinRuhr],cost:3},{nodes:[zn.Stuttgart,zn.Paris],cost:14},{nodes:[zn.Zürich,zn.Milano],cost:11},{nodes:[zn.Milano,zn.Zagreb],cost:17},{nodes:[zn.Milano,zn.Roma],cost:19},{nodes:[zn.Roma,zn.Napoli],cost:7},{nodes:[zn.Wien,zn.Budapest],cost:5},{nodes:[zn.Wien,zn.Zagreb],cost:8},{nodes:[zn.Budapest,zn.Zagreb],cost:7},{nodes:[zn.Paris,zn.Zürich],cost:14},{nodes:[zn.Lyon,zn.Zürich],cost:14},{nodes:[zn.Lyon,zn.Milano],cost:11},{nodes:[zn.Marseille,zn.Milano],cost:13},{nodes:[zn.Zürich,zn.München],cost:8},{nodes:[zn.Zürich,zn.Stuttgart],cost:5},{nodes:[zn.München,zn.Wien],cost:9},{nodes:[zn.Praha,zn.Wien],cost:7},{nodes:[zn.Wien,zn.Katowice],cost:8},{nodes:[zn.Budapest,zn.Katowice],cost:11},{nodes:[zn.Oslo,zn.Kobenhavn],cost:17},{nodes:[zn.Oslo,zn.Stockholm],cost:13},{nodes:[zn.Stockholm,zn.Kobenhavn],cost:18},{nodes:[zn.Stockholm,zn.Helsinki],cost:21},{nodes:[zn.Helsinki,zn.StPetersburg],cost:11},{nodes:[zn.Tallinn,zn.StPetersburg],cost:9},{nodes:[zn.Tallinn,zn.Riga],cost:7},{nodes:[zn.Riga,zn.StPetersburg],cost:13},{nodes:[zn.Kobenhavn,zn.Bremen],cost:12},{nodes:[zn.Kobenhavn,zn.Berlin],cost:15},{nodes:[zn.Warszawa,zn.Minsk],cost:10},{nodes:[zn.Warszawa,zn.Kyjiv],cost:14},{nodes:[zn.Minsk,zn.Moskwa],cost:14},{nodes:[zn.Minsk,zn.Kyjiv],cost:10},{nodes:[zn.Moskwa,zn.Kharkiv],cost:16},{nodes:[zn.Kyjiv,zn.Kharkiv],cost:9},{nodes:[zn.Kyjiv,zn.Odessa],cost:9},{nodes:[zn.Kharkiv,zn.Odessa],cost:13},{nodes:[zn.Odessa,zn.Bucuresti],cost:10},{nodes:[zn.Berlin,zn.Warszawa],cost:11},{nodes:[zn.Praha,zn.Warszawa],cost:11},{nodes:[zn.Katowice,zn.Warszawa],cost:5},{nodes:[zn.Kobenhavn,zn.Warszawa],cost:25},{nodes:[zn.Riga,zn.Warszawa],cost:12},{nodes:[zn.Riga,zn.Minsk],cost:8},{nodes:[zn.Riga,zn.Moskwa],cost:18},{nodes:[zn.StPetersburg,zn.Moskwa],cost:14},{nodes:[zn.Kyjiv,zn.Budapest],cost:21},{nodes:[zn.Odessa,zn.Budapest],cost:25},{nodes:[zn.Bucuresti,zn.Budapest],cost:16},{nodes:[zn.Beograd,zn.Sofia],cost:11},{nodes:[zn.Beograd,zn.Tirana],cost:15},{nodes:[zn.Sofia,zn.Tirana],cost:13},{nodes:[zn.Sofia,zn.Athina],cost:17},{nodes:[zn.Sofia,zn.Istanbul],cost:13},{nodes:[zn.Tirana,zn.Athina],cost:16},{nodes:[zn.Istanbul,zn.Izmir],cost:8},{nodes:[zn.Istanbul,zn.Ankara],cost:9},{nodes:[zn.Izmir,zn.Ankara],cost:10},{nodes:[zn.Bucuresti,zn.Beograd],cost:12},{nodes:[zn.Bucuresti,zn.Sofia],cost:9},{nodes:[zn.Bucuresti,zn.Istanbul],cost:13},{nodes:[zn.Beograd,zn.Zagreb],cost:9},{nodes:[zn.Beograd,zn.Napoli],cost:18},{nodes:[zn.Beograd,zn.Budapest],cost:10},{nodes:[zn.Tirana,zn.Napoli],cost:25}],layout:"Landscape",adjustRatio:[.5,.5],mapPosition:[-30,-50],mapRotation:10,resupply:[[[2,6,2],[2,6,2],[3,7,4],[3,8,4],[5,10,5]],[[2,2,3],[2,2,3],[3,3,4],[4,3,5],[4,5,6]],[[2,3,5],[2,3,5],[3,4,5],[3,5,7],[4,6,8]],[[1,1,2],[1,1,2],[1,2,2],[2,3,3],[2,3,4]]],coalPrices:[1,1,1,1,2,2,2,2,3,3,3,3,4,4,5,5,6,6,7,7,8,8,9,9],oilPrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,9,9],garbagePrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],uraniumPrices:[1,2,3,4,5,6,7,7,8,8,9,9],startingResources:[20,16,18,4],startingSupply:[24,24,24,12],setupDeck:function(e,n,t){var r=Object(qe["cloneDeep"])(yn),o=r.findIndex((function(e){return e.type===Me.Step3})),a=r.splice(o,1)[0],i=an(r.splice(0,13),t()+""),s=an(r,t()+""),c=i.splice(0,9).sort((function(e,n){return e.number-n.number})),u=c.slice(0,4),l=c.slice(4),d=0,f=0;2==e?(d=1,f=5):3==e?(d=2,f=6):4==e&&(d=1,f=3);var h=Math.max(0,d-i.length),p=i.slice(d),g=s.slice(f+h),y=an(p.concat(g),t()+"");if(y.length>0&&y[0].number<=15){var m=y.findIndex((function(e){return e.number>15}));if(m>0){var v=[y[m],y[0]];y[0]=v[0],y[m]=v[1]}}return y.push(a),{actualMarket:u,futureMarket:l,powerPlantsDeck:y}},mapSpecificRules:"When Step 2 begins, remove the lowest-numbered plant from the current market from the game once and do not replace it; the future market then has 4 plants instead of 5.\n",deckBuild:"Europe uses the New Power Plants Set 2 deck (cards with a plug on the back). The power plant market starts as 4 current + 5 future power plants (9 total), all drawn from the plug plants; the top card of the draw deck is never a plug plant."};(function(e){e["Brown"]="brown",e["Purple"]="purple",e["Blue"]="blue",e["Yellow"]="yellow",e["Green"]="green",e["Red"]="red"})(En||(En={})),function(e){e["Calais"]="Calais",e["Lile"]="Lile",e["Amiens"]="Amiens",e["Reims"]="Reims",e["Metz"]="Metz",e["Nancy"]="Nancy",e["Strasbourg"]="Strasbourg",e["Havre"]="Havre",e["Caen"]="Caen",e["Brest"]="Brest",e["Rennes"]="Rennes",e["Lemans"]="Le Mans",e["Angers"]="Angers",e["Rouen"]="Rouen",e["Paris1"]="Paris 1",e["Paris2"]="Paris 2",e["Paris3"]="Paris 3",e["Orleans"]="Orleans",e["Tours"]="Tours",e["Limoges"]="Limoges",e["Clermontferrand"]="Clermont-Ferrand",e["Besancon"]="Besancon",e["Dijon"]="Dijon",e["Lyon"]="Lyon",e["Chamonix"]="Chamonix",e["Mulhouse"]="Mulhouse",e["Grenoble"]="Grenoble",e["Saintetienne"]="Saint-Etienne",e["Nice"]="Nice",e["Toulon"]="Toulon",e["Aimenprovence"]="Aim-En-Provence",e["Marseille"]="Marseille",e["Nimes"]="Nimes",e["Montpellier"]="Montpellier",e["Perpignan"]="Perpignan",e["Nantes"]="Nantes",e["Larochelle"]="La Rochelle",e["Bordeaux"]="Bordeaux",e["Biarritz"]="Biarritz",e["Toulous"]="Toulous",e["Carcassone"]="Carcas Sone",e["Lourdes"]="Lourdes"}(In||(In={}));var Kn,Yn,Hn={name:"France",cities:[{name:In.Calais,region:En.Brown,x:661,y:294},{name:In.Lile,region:En.Brown,x:791,y:328},{name:In.Amiens,region:En.Brown,x:700,y:433},{name:In.Reims,region:En.Brown,x:888,y:531},{name:In.Metz,region:En.Brown,x:1076,y:528},{name:In.Nancy,region:En.Brown,x:1078,y:643},{name:In.Strasbourg,region:En.Brown,x:1208,y:615},{name:In.Havre,region:En.Purple,x:487,y:471},{name:In.Caen,region:En.Purple,x:423,y:567},{name:In.Brest,region:En.Purple,x:79,y:654},{name:In.Rennes,region:En.Purple,x:326,y:695},{name:In.Lemans,region:En.Purple,x:516,y:699},{name:In.Angers,region:En.Purple,x:446,y:798},{name:In.Rouen,region:En.Purple,x:598,y:506},{name:In.Paris1,region:En.Blue,x:693,y:553},{name:In.Paris2,region:En.Blue,x:779,y:566},{name:In.Paris3,region:En.Blue,x:722,y:633},{name:In.Orleans,region:En.Blue,x:684,y:736},{name:In.Tours,region:En.Blue,x:564,y:813},{name:In.Limoges,region:En.Blue,x:605,y:1009},{name:In.Clermontferrand,region:En.Blue,x:777,y:1017},{name:In.Besancon,region:En.Yellow,x:1084,y:828},{name:In.Dijon,region:En.Yellow,x:964,y:801},{name:In.Lyon,region:En.Yellow,x:964,y:973},{name:In.Chamonix,region:En.Yellow,x:1153,y:987},{name:In.Mulhouse,region:En.Yellow,x:1180,y:742},{name:In.Grenoble,region:En.Yellow,x:1048,y:1116},{name:In.Saintetienne,region:En.Yellow,x:892,y:1088},{name:In.Nice,region:En.Green,x:1178,y:1302},{name:In.Toulon,region:En.Green,x:1070,y:1397},{name:In.Aimenprovence,region:En.Green,x:1016,y:1304},{name:In.Marseille,region:En.Green,x:954,y:1369},{name:In.Nimes,region:En.Green,x:889,y:1256},{name:In.Montpellier,region:En.Green,x:816,y:1330},{name:In.Perpignan,region:En.Green,x:767,y:1460},{name:In.Nantes,region:En.Red,x:330,y:833},{name:In.Larochelle,region:En.Red,x:379,y:959},{name:In.Bordeaux,region:En.Red,x:435,y:1148},{name:In.Biarritz,region:En.Red,x:345,y:1328},{name:In.Toulous,region:En.Red,x:621,y:1309},{name:In.Carcassone,region:En.Red,x:700,y:1382},{name:In.Lourdes,region:En.Red,x:479,y:1393}],connections:[{nodes:[In.Calais,In.Havre],cost:13},{nodes:[In.Calais,In.Lile],cost:7},{nodes:[In.Calais,In.Amiens],cost:8},{nodes:[In.Lile,In.Reims],cost:9},{nodes:[In.Havre,In.Rouen],cost:5},{nodes:[In.Havre,In.Caen],cost:5},{nodes:[In.Caen,In.Rennes],cost:12},{nodes:[In.Rennes,In.Brest],cost:16},{nodes:[In.Brest,In.Nantes],cost:19},{nodes:[In.Rennes,In.Nantes],cost:7},{nodes:[In.Rennes,In.Angers],cost:7},{nodes:[In.Rennes,In.Lemans],cost:9},{nodes:[In.Caen,In.Lemans],cost:10},{nodes:[In.Lemans,In.Paris3],cost:10},{nodes:[In.Paris3,In.Caen],cost:12},{nodes:[In.Caen,In.Rouen],cost:9},{nodes:[In.Rouen,In.Paris1],cost:9},{nodes:[In.Rouen,In.Amiens],cost:6},{nodes:[In.Lile,In.Amiens],cost:7},{nodes:[In.Amiens,In.Reims],cost:11},{nodes:[In.Reims,In.Metz],cost:12},{nodes:[In.Metz,In.Strasbourg],cost:11},{nodes:[In.Strasbourg,In.Nancy],cost:10},{nodes:[In.Strasbourg,In.Mulhouse],cost:6},{nodes:[In.Mulhouse,In.Besancon],cost:8},{nodes:[In.Besancon,In.Nancy],cost:14},{nodes:[In.Nancy,In.Dijon],cost:15},{nodes:[In.Reims,In.Nancy],cost:13},{nodes:[In.Nancy,In.Paris2],cost:21},{nodes:[In.Paris1,In.Paris2],cost:0},{nodes:[In.Paris1,In.Paris3],cost:0},{nodes:[In.Paris2,In.Dijon],cost:20},{nodes:[In.Dijon,In.Orleans],cost:18},{nodes:[In.Orleans,In.Lemans],cost:8},{nodes:[In.Lemans,In.Tours],cost:5},{nodes:[In.Tours,In.Orleans],cost:7},{nodes:[In.Paris1,In.Amiens],cost:9},{nodes:[In.Dijon,In.Clermontferrand],cost:19},{nodes:[In.Clermontferrand,In.Limoges],cost:12},{nodes:[In.Limoges,In.Toulous],cost:19},{nodes:[In.Toulous,In.Clermontferrand],cost:24},{nodes:[In.Clermontferrand,In.Montpellier],cost:22},{nodes:[In.Montpellier,In.Nimes],cost:3},{nodes:[In.Saintetienne,In.Grenoble],cost:10},{nodes:[In.Grenoble,In.Chamonix],cost:12},{nodes:[In.Chamonix,In.Besancon],cost:19},{nodes:[In.Besancon,In.Dijon],cost:6},{nodes:[In.Dijon,In.Lyon],cost:13},{nodes:[In.Lyon,In.Clermontferrand],cost:11},{nodes:[In.Saintetienne,In.Montpellier],cost:18},{nodes:[In.Saintetienne,In.Nimes],cost:16},{nodes:[In.Nimes,In.Aimenprovence],cost:8},{nodes:[In.Aimenprovence,In.Nice],cost:8},{nodes:[In.Nice,In.Toulon],cost:7},{nodes:[In.Toulon,In.Marseille],cost:3},{nodes:[In.Marseille,In.Aimenprovence],cost:0},{nodes:[In.Nice,In.Grenoble],cost:19},{nodes:[In.Grenoble,In.Aimenprovence],cost:17},{nodes:[In.Grenoble,In.Nimes],cost:18},{nodes:[In.Montpellier,In.Toulous],cost:14},{nodes:[In.Toulous,In.Bordeaux],cost:14},{nodes:[In.Bordeaux,In.Limoges],cost:13},{nodes:[In.Limoges,In.Tours],cost:13},{nodes:[In.Tours,In.Larochelle],cost:13},{nodes:[In.Larochelle,In.Angers],cost:12},{nodes:[In.Angers,In.Lemans],cost:5},{nodes:[In.Angers,In.Nantes],cost:5},{nodes:[In.Nantes,In.Larochelle],cost:9},{nodes:[In.Larochelle,In.Bordeaux],cost:13},{nodes:[In.Bordeaux,In.Biarritz],cost:12},{nodes:[In.Bordeaux,In.Lourdes],cost:14},{nodes:[In.Lourdes,In.Biarritz],cost:9},{nodes:[In.Lourdes,In.Toulous],cost:10},{nodes:[In.Lourdes,In.Carcassone],cost:15},{nodes:[In.Lourdes,In.Perpignan],cost:20},{nodes:[In.Perpignan,In.Carcassone],cost:6},{nodes:[In.Carcassone,In.Toulous],cost:6},{nodes:[In.Carcassone,In.Montpellier],cost:9},{nodes:[In.Montpellier,In.Perpignan],cost:11},{nodes:[In.Orleans,In.Limoges],cost:19},{nodes:[In.Orleans,In.Clermontferrand],cost:18},{nodes:[In.Paris3,In.Orleans],cost:7},{nodes:[In.Angers,In.Tours],cost:6},{nodes:[In.Larochelle,In.Limoges],cost:13},{nodes:[In.Nancy,In.Metz],cost:3},{nodes:[In.Nancy,In.Mulhouse],cost:12},{nodes:[In.Besancon,In.Lyon],cost:16},{nodes:[In.Lyon,In.Grenoble],cost:7},{nodes:[In.Lyon,In.Chamonix],cost:13},{nodes:[In.Lyon,In.Saintetienne],cost:6},{nodes:[In.Saintetienne,In.Clermontferrand],cost:10},{nodes:[In.Paris2,In.Reims],cost:9},{nodes:[In.Paris3,In.Paris2],cost:0}],layout:"Portrait",mapPosition:[50,-100],adjustRatio:[.7,.7],resupply:[[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[24,18,6,8],setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(yn);if("original"==n){a=a.slice(8);var i=a.splice(0,1)[0];a.splice(1,1)[0];var s=a.pop();a=an(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a.unshift(i),a.push(s),r=[Ar(3),Ar(4),Ar(5),Ar(6)],o=[Ar(7),Ar(8),Ar(9),Ar(10)]}else{a.splice(10,1)[0];var c=a.splice(8,1)[0],u=an(a.splice(0,11),t()+""),l=u.splice(0,7);l.push(c),l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=u.shift(),f=a.pop();a=an(a,t()+""),2==e?a=an(a.slice(6).concat(u),t()+""):3==e?(u=u.slice(1),a=an(a.slice(6).concat(u),t()+"")):a=an(4==e?a.slice(3).concat(u):a.concat(u),t()+""),a.unshift(d),a.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},deckBuild:{recharged:"power plant 13 is removed from the game and power plant 11 always starts in the market. Removal by player count: 2 players remove 6 higher plants, 3 players remove 1 low and 6 higher, 4 players remove 3 higher.",original:"power plant 13 is removed from the game; power plant 11 is placed on top of the deck in its place."}};(function(e){e["Purple"]="purple",e["Green"]="green",e["Red"]="red",e["Yellow"]="yellow",e["Cyan"]="cyan",e["Brown"]="brown"})(Kn||(Kn={})),function(e){e["Flensburg"]="Flensburg",e["Kiel"]="Kiel",e["Hamburg"]="Hamburg",e["Hannover"]="Hannover",e["Bremen"]="Bremen",e["Wilhelmshaven"]="Wilhelmshaven",e["Cuxhaven"]="Cuxhaven",e["Lubeck"]="Lubeck",e["Rostock"]="Rostock",e["Schwerin"]="Schwerin",e["Torgelow"]="Torgelow",e["Magdeburg"]="Magdeburg",e["Berlin"]="Berlin",e["FrankfurtO"]="Frankfurt-O",e["Halle"]="Halle",e["Leipzig"]="Leipzig",e["Dresden"]="Dresden",e["Erfurt"]="Erfurt",e["Fulda"]="Fulda",e["Würzburg"]="Würzburg",e["Nurnberg"]="Nurnberg",e["Osnabrück"]="Osnabrück",e["Münster"]="Münster",e["Essen"]="Essen",e["Duisburg"]="Duisburg",e["Dortmund"]="Dortmund",e["Dusseldorf"]="Dusseldorf",e["Kassel"]="Kassel",e["Aachen"]="Aachen",e["Köln"]="Köln",e["Trier"]="Trier",e["Wiesbaden"]="Wiesbaden",e["FrankfurtM"]="Frankfurt-M",e["Saarbrücken"]="Saarbrücken",e["Mannheim"]="Mannheim",e["Freiburg"]="Freiburg",e["Stuttgart"]="Stuttgart",e["Konstanz"]="Konstanz",e["Augsburg"]="Augsburg",e["Regensburg"]="Regensburg",e["München"]="München",e["Passau"]="Passau",e["Stralsund"]="Stralsund",e["Mainz"]="Mainz"}(Yn||(Yn={}));var Wn,Vn,Fn={name:"Germany",cities:[{name:Yn.Flensburg,region:Kn.Green,x:37,y:427},{name:Yn.Kiel,region:Kn.Green,x:106,y:392},{name:Yn.Hamburg,region:Kn.Green,x:212,y:396},{name:Yn.Hannover,region:Kn.Green,x:378,y:395},{name:Yn.Bremen,region:Kn.Green,x:276,y:463},{name:Yn.Wilhelmshaven,region:Kn.Green,x:211,y:521},{name:Yn.Cuxhaven,region:Kn.Green,x:168,y:474},{name:Yn.Lubeck,region:Kn.Brown,x:153,y:341},{name:Yn.Rostock,region:Kn.Brown,x:128,y:256},{name:Yn.Schwerin,region:Kn.Brown,x:217,y:297},{name:Yn.Torgelow,region:Kn.Brown,x:210,y:126},{name:Yn.Magdeburg,region:Kn.Brown,x:389,y:271},{name:Yn.Berlin,region:Kn.Brown,x:355,y:170},{name:Yn.FrankfurtO,region:Kn.Brown,x:381,y:99},{name:Yn.Halle,region:Kn.Yellow,x:493,y:259},{name:Yn.Leipzig,region:Kn.Yellow,x:526,y:222},{name:Yn.Dresden,region:Kn.Yellow,x:572,y:126},{name:Yn.Erfurt,region:Kn.Yellow,x:567,y:309},{name:Yn.Fulda,region:Kn.Yellow,x:628,y:398},{name:Yn.Würzburg,region:Kn.Yellow,x:735,y:386},{name:Yn.Nurnberg,region:Kn.Yellow,x:780,y:309},{name:Yn.Osnabrück,region:Kn.Red,x:359,y:516},{name:Yn.Münster,region:Kn.Red,x:427,y:554},{name:Yn.Essen,region:Kn.Red,x:475,y:603},{name:Yn.Duisburg,region:Kn.Red,x:456,y:645},{name:Yn.Dortmund,region:Kn.Red,x:505,y:543},{name:Yn.Dusseldorf,region:Kn.Red,x:537,y:635},{name:Yn.Kassel,region:Kn.Red,x:524,y:430},{name:Yn.Aachen,region:Kn.Cyan,x:614,y:654},{name:Yn.Köln,region:Kn.Cyan,x:590,y:589},{name:Yn.Trier,region:Kn.Cyan,x:739,y:628},{name:Yn.Wiesbaden,region:Kn.Cyan,x:697,y:514},{name:Yn.FrankfurtM,region:Kn.Cyan,x:672,y:473},{name:Yn.Saarbrücken,region:Kn.Cyan,x:818,y:568},{name:Yn.Mannheim,region:Kn.Cyan,x:796,y:479},{name:Yn.Freiburg,region:Kn.Purple,x:966,y:537},{name:Yn.Stuttgart,region:Kn.Purple,x:884,y:458},{name:Yn.Konstanz,region:Kn.Purple,x:1011,y:459},{name:Yn.Augsburg,region:Kn.Purple,x:911,y:346},{name:Yn.Regensburg,region:Kn.Purple,x:846,y:256},{name:Yn.München,region:Kn.Purple,x:967,y:278},{name:Yn.Passau,region:Kn.Purple,x:904,y:153}],connections:[{nodes:[Yn.Flensburg,Yn.Kiel],cost:4},{nodes:[Yn.Kiel,Yn.Hamburg],cost:8},{nodes:[Yn.Kiel,Yn.Lubeck],cost:4},{nodes:[Yn.Hamburg,Yn.Hannover],cost:17},{nodes:[Yn.Hamburg,Yn.Bremen],cost:11},{nodes:[Yn.Hamburg,Yn.Cuxhaven],cost:11},{nodes:[Yn.Hamburg,Yn.Lubeck],cost:6},{nodes:[Yn.Hamburg,Yn.Schwerin],cost:8},{nodes:[Yn.Bremen,Yn.Wilhelmshaven],cost:11},{nodes:[Yn.Bremen,Yn.Hannover],cost:10},{nodes:[Yn.Bremen,Yn.Cuxhaven],cost:8},{nodes:[Yn.Bremen,Yn.Osnabrück],cost:11},{nodes:[Yn.Hannover,Yn.Schwerin],cost:19},{nodes:[Yn.Hannover,Yn.Magdeburg],cost:15},{nodes:[Yn.Hannover,Yn.Erfurt],cost:19},{nodes:[Yn.Hannover,Yn.Osnabrück],cost:16},{nodes:[Yn.Hannover,Yn.Kassel],cost:15},{nodes:[Yn.Wilhelmshaven,Yn.Osnabrück],cost:14},{nodes:[Yn.Lubeck,Yn.Schwerin],cost:6},{nodes:[Yn.Schwerin,Yn.Rostock],cost:6},{nodes:[Yn.Schwerin,Yn.Torgelow],cost:19},{nodes:[Yn.Schwerin,Yn.Berlin],cost:18},{nodes:[Yn.Schwerin,Yn.Magdeburg],cost:16},{nodes:[Yn.Torgelow,Yn.Rostock],cost:19},{nodes:[Yn.Torgelow,Yn.Berlin],cost:15},{nodes:[Yn.Berlin,Yn.Magdeburg],cost:10},{nodes:[Yn.Berlin,Yn.FrankfurtO],cost:6},{nodes:[Yn.Berlin,Yn.Halle],cost:17},{nodes:[Yn.Magdeburg,Yn.Halle],cost:11},{nodes:[Yn.FrankfurtO,Yn.Leipzig],cost:21},{nodes:[Yn.FrankfurtO,Yn.Dresden],cost:16},{nodes:[Yn.Halle,Yn.Leipzig],cost:0},{nodes:[Yn.Leipzig,Yn.Dresden],cost:13},{nodes:[Yn.Erfurt,Yn.Halle],cost:6},{nodes:[Yn.Erfurt,Yn.Dresden],cost:19},{nodes:[Yn.Erfurt,Yn.Nurnberg],cost:21},{nodes:[Yn.Erfurt,Yn.Fulda],cost:13},{nodes:[Yn.Erfurt,Yn.Kassel],cost:15},{nodes:[Yn.Fulda,Yn.Würzburg],cost:11},{nodes:[Yn.Fulda,Yn.Kassel],cost:8},{nodes:[Yn.Fulda,Yn.FrankfurtM],cost:8},{nodes:[Yn.Würzburg,Yn.Nurnberg],cost:8},{nodes:[Yn.Würzburg,Yn.FrankfurtM],cost:13},{nodes:[Yn.Würzburg,Yn.Mannheim],cost:10},{nodes:[Yn.Würzburg,Yn.Stuttgart],cost:12},{nodes:[Yn.Würzburg,Yn.Augsburg],cost:19},{nodes:[Yn.Nurnberg,Yn.Augsburg],cost:18},{nodes:[Yn.Nurnberg,Yn.Regensburg],cost:12},{nodes:[Yn.Osnabrück,Yn.Münster],cost:7},{nodes:[Yn.Osnabrück,Yn.Kassel],cost:20},{nodes:[Yn.Münster,Yn.Essen],cost:6},{nodes:[Yn.Münster,Yn.Dortmund],cost:2},{nodes:[Yn.Essen,Yn.Duisburg],cost:0},{nodes:[Yn.Essen,Yn.Dusseldorf],cost:2},{nodes:[Yn.Essen,Yn.Dortmund],cost:4},{nodes:[Yn.Dortmund,Yn.Kassel],cost:18},{nodes:[Yn.Dortmund,Yn.Köln],cost:10},{nodes:[Yn.Dortmund,Yn.FrankfurtM],cost:20},{nodes:[Yn.Kassel,Yn.FrankfurtM],cost:13},{nodes:[Yn.Dusseldorf,Yn.Aachen],cost:9},{nodes:[Yn.Dusseldorf,Yn.Köln],cost:4},{nodes:[Yn.Aachen,Yn.Köln],cost:7},{nodes:[Yn.Aachen,Yn.Trier],cost:19},{nodes:[Yn.Trier,Yn.Köln],cost:20},{nodes:[Yn.Trier,Yn.Wiesbaden],cost:18},{nodes:[Yn.Trier,Yn.Saarbrücken],cost:11},{nodes:[Yn.Wiesbaden,Yn.FrankfurtM],cost:0},{nodes:[Yn.Wiesbaden,Yn.Köln],cost:21},{nodes:[Yn.Wiesbaden,Yn.Saarbrücken],cost:10},{nodes:[Yn.Wiesbaden,Yn.Mannheim],cost:11},{nodes:[Yn.Mannheim,Yn.Saarbrücken],cost:11},{nodes:[Yn.Mannheim,Yn.Stuttgart],cost:6},{nodes:[Yn.Stuttgart,Yn.Saarbrücken],cost:17},{nodes:[Yn.Stuttgart,Yn.Freiburg],cost:16},{nodes:[Yn.Stuttgart,Yn.Konstanz],cost:16},{nodes:[Yn.Stuttgart,Yn.Augsburg],cost:15},{nodes:[Yn.Konstanz,Yn.Freiburg],cost:14},{nodes:[Yn.Konstanz,Yn.Augsburg],cost:17},{nodes:[Yn.Regensburg,Yn.Augsburg],cost:13},{nodes:[Yn.Regensburg,Yn.München],cost:10},{nodes:[Yn.Regensburg,Yn.Passau],cost:12},{nodes:[Yn.Augsburg,Yn.München],cost:6},{nodes:[Yn.Passau,Yn.München],cost:14}],layout:"Landscape",mapPosition:[20,20]},Jn={name:"Germany",cities:[{name:Yn.Flensburg,region:Kn.Green,x:37,y:427},{name:Yn.Kiel,region:Kn.Green,x:106,y:392},{name:Yn.Hamburg,region:Kn.Green,x:212,y:396},{name:Yn.Hannover,region:Kn.Green,x:378,y:395},{name:Yn.Bremen,region:Kn.Green,x:276,y:463},{name:Yn.Wilhelmshaven,region:Kn.Green,x:211,y:521},{name:Yn.Cuxhaven,region:Kn.Green,x:168,y:474},{name:Yn.Lubeck,region:Kn.Brown,x:153,y:341},{name:Yn.Rostock,region:Kn.Brown,x:128,y:256},{name:Yn.Schwerin,region:Kn.Brown,x:217,y:297},{name:Yn.Stralsund,region:Kn.Brown,x:210,y:126},{name:Yn.Magdeburg,region:Kn.Brown,x:389,y:271},{name:Yn.Berlin,region:Kn.Brown,x:355,y:170},{name:Yn.FrankfurtO,region:Kn.Brown,x:381,y:99},{name:Yn.Halle,region:Kn.Yellow,x:493,y:259},{name:Yn.Leipzig,region:Kn.Yellow,x:526,y:222},{name:Yn.Dresden,region:Kn.Yellow,x:572,y:126},{name:Yn.Erfurt,region:Kn.Yellow,x:567,y:309},{name:Yn.Fulda,region:Kn.Yellow,x:628,y:398},{name:Yn.Würzburg,region:Kn.Yellow,x:735,y:386},{name:Yn.Nurnberg,region:Kn.Yellow,x:780,y:309},{name:Yn.Osnabrück,region:Kn.Red,x:359,y:516},{name:Yn.Münster,region:Kn.Red,x:427,y:554},{name:Yn.Essen,region:Kn.Red,x:475,y:603},{name:Yn.Duisburg,region:Kn.Red,x:456,y:645},{name:Yn.Dortmund,region:Kn.Red,x:505,y:543},{name:Yn.Dusseldorf,region:Kn.Red,x:537,y:635},{name:Yn.Kassel,region:Kn.Red,x:524,y:430},{name:Yn.Aachen,region:Kn.Cyan,x:614,y:654},{name:Yn.Köln,region:Kn.Cyan,x:590,y:589},{name:Yn.Trier,region:Kn.Cyan,x:739,y:628},{name:Yn.Mainz,region:Kn.Cyan,x:697,y:514},{name:Yn.FrankfurtM,region:Kn.Cyan,x:672,y:473},{name:Yn.Saarbrücken,region:Kn.Cyan,x:818,y:568},{name:Yn.Mannheim,region:Kn.Cyan,x:796,y:479},{name:Yn.Freiburg,region:Kn.Purple,x:966,y:537},{name:Yn.Stuttgart,region:Kn.Purple,x:884,y:458},{name:Yn.Konstanz,region:Kn.Purple,x:1011,y:459},{name:Yn.Augsburg,region:Kn.Purple,x:911,y:346},{name:Yn.Regensburg,region:Kn.Purple,x:846,y:256},{name:Yn.München,region:Kn.Purple,x:967,y:278},{name:Yn.Passau,region:Kn.Purple,x:904,y:153}],connections:[{nodes:[Yn.Flensburg,Yn.Kiel],cost:4},{nodes:[Yn.Kiel,Yn.Hamburg],cost:8},{nodes:[Yn.Kiel,Yn.Lubeck],cost:4},{nodes:[Yn.Hamburg,Yn.Hannover],cost:17},{nodes:[Yn.Hamburg,Yn.Bremen],cost:11},{nodes:[Yn.Hamburg,Yn.Cuxhaven],cost:11},{nodes:[Yn.Hamburg,Yn.Lubeck],cost:6},{nodes:[Yn.Hamburg,Yn.Schwerin],cost:8},{nodes:[Yn.Bremen,Yn.Wilhelmshaven],cost:11},{nodes:[Yn.Bremen,Yn.Hannover],cost:10},{nodes:[Yn.Bremen,Yn.Cuxhaven],cost:8},{nodes:[Yn.Bremen,Yn.Osnabrück],cost:11},{nodes:[Yn.Hannover,Yn.Schwerin],cost:19},{nodes:[Yn.Hannover,Yn.Magdeburg],cost:15},{nodes:[Yn.Hannover,Yn.Erfurt],cost:19},{nodes:[Yn.Hannover,Yn.Osnabrück],cost:16},{nodes:[Yn.Hannover,Yn.Kassel],cost:15},{nodes:[Yn.Wilhelmshaven,Yn.Osnabrück],cost:14},{nodes:[Yn.Lubeck,Yn.Schwerin],cost:6},{nodes:[Yn.Schwerin,Yn.Rostock],cost:6},{nodes:[Yn.Schwerin,Yn.Stralsund],cost:19},{nodes:[Yn.Schwerin,Yn.Berlin],cost:18},{nodes:[Yn.Schwerin,Yn.Magdeburg],cost:16},{nodes:[Yn.Stralsund,Yn.Rostock],cost:19},{nodes:[Yn.Stralsund,Yn.Berlin],cost:15},{nodes:[Yn.Berlin,Yn.Magdeburg],cost:10},{nodes:[Yn.Berlin,Yn.FrankfurtO],cost:6},{nodes:[Yn.Berlin,Yn.Halle],cost:17},{nodes:[Yn.Magdeburg,Yn.Halle],cost:11},{nodes:[Yn.FrankfurtO,Yn.Leipzig],cost:21},{nodes:[Yn.FrankfurtO,Yn.Dresden],cost:16},{nodes:[Yn.Halle,Yn.Leipzig],cost:0},{nodes:[Yn.Leipzig,Yn.Dresden],cost:13},{nodes:[Yn.Erfurt,Yn.Halle],cost:6},{nodes:[Yn.Erfurt,Yn.Dresden],cost:19},{nodes:[Yn.Erfurt,Yn.Nurnberg],cost:21},{nodes:[Yn.Erfurt,Yn.Fulda],cost:13},{nodes:[Yn.Erfurt,Yn.Kassel],cost:15},{nodes:[Yn.Fulda,Yn.Würzburg],cost:11},{nodes:[Yn.Fulda,Yn.Kassel],cost:8},{nodes:[Yn.Fulda,Yn.FrankfurtM],cost:8},{nodes:[Yn.Würzburg,Yn.Nurnberg],cost:8},{nodes:[Yn.Würzburg,Yn.FrankfurtM],cost:13},{nodes:[Yn.Würzburg,Yn.Mannheim],cost:10},{nodes:[Yn.Würzburg,Yn.Stuttgart],cost:12},{nodes:[Yn.Würzburg,Yn.Augsburg],cost:19},{nodes:[Yn.Nurnberg,Yn.Augsburg],cost:18},{nodes:[Yn.Nurnberg,Yn.Regensburg],cost:12},{nodes:[Yn.Osnabrück,Yn.Münster],cost:7},{nodes:[Yn.Osnabrück,Yn.Kassel],cost:20},{nodes:[Yn.Münster,Yn.Essen],cost:6},{nodes:[Yn.Münster,Yn.Dortmund],cost:2},{nodes:[Yn.Essen,Yn.Duisburg],cost:0},{nodes:[Yn.Essen,Yn.Dusseldorf],cost:2},{nodes:[Yn.Essen,Yn.Dortmund],cost:5},{nodes:[Yn.Dortmund,Yn.Kassel],cost:18},{nodes:[Yn.Dortmund,Yn.Köln],cost:10},{nodes:[Yn.Dortmund,Yn.FrankfurtM],cost:20},{nodes:[Yn.Kassel,Yn.FrankfurtM],cost:13},{nodes:[Yn.Dusseldorf,Yn.Aachen],cost:9},{nodes:[Yn.Dusseldorf,Yn.Köln],cost:4},{nodes:[Yn.Aachen,Yn.Köln],cost:7},{nodes:[Yn.Aachen,Yn.Trier],cost:19},{nodes:[Yn.Trier,Yn.Köln],cost:20},{nodes:[Yn.Trier,Yn.Mainz],cost:18},{nodes:[Yn.Trier,Yn.Saarbrücken],cost:11},{nodes:[Yn.Mainz,Yn.FrankfurtM],cost:0},{nodes:[Yn.Mainz,Yn.Köln],cost:21},{nodes:[Yn.Mainz,Yn.Saarbrücken],cost:10},{nodes:[Yn.Mainz,Yn.Mannheim],cost:11},{nodes:[Yn.Mannheim,Yn.Saarbrücken],cost:16},{nodes:[Yn.Mannheim,Yn.Stuttgart],cost:6},{nodes:[Yn.Stuttgart,Yn.Saarbrücken],cost:17},{nodes:[Yn.Stuttgart,Yn.Freiburg],cost:16},{nodes:[Yn.Stuttgart,Yn.Konstanz],cost:16},{nodes:[Yn.Stuttgart,Yn.Augsburg],cost:15},{nodes:[Yn.Konstanz,Yn.Freiburg],cost:14},{nodes:[Yn.Konstanz,Yn.Augsburg],cost:17},{nodes:[Yn.Regensburg,Yn.Augsburg],cost:13},{nodes:[Yn.Regensburg,Yn.München],cost:10},{nodes:[Yn.Regensburg,Yn.Passau],cost:12},{nodes:[Yn.Augsburg,Yn.München],cost:6},{nodes:[Yn.Passau,Yn.München],cost:14}],layout:"Landscape",mapPosition:[20,20],mapSpecificRules:"Stop resupplying uranium after power plant 39 has been bought."};(function(e){e["Red"]="red",e["Brown"]="brown",e["Green"]="green",e["Orange"]="orange",e["Yellow"]="yellow",e["Pink"]="pink"})(Wn||(Wn={})),function(e){e["Thiruvananthapuram"]="Thiruvananthapuram",e["Madurai"]="Madurai",e["Coimbatore"]="Coimbatore",e["Chennai"]="Chennai",e["Hyderabad"]="Hyderabad",e["Bangalore1"]="Bangalore 1",e["Bangalore2"]="Bangalore 2",e["Dibrugarh"]="Dibrugarh",e["Imphal"]="Imphal",e["Aizawi"]="Aizawi",e["Chittagong"]="Chittagong",e["Shillong"]="Shillong",e["Dhaka"]="Dhaka",e["Khulna"]="Khulna",e["Darjeeling"]="Darjeeling",e["Kathmandu"]="Kathmandu",e["Patna"]="Patna",e["Lakhnau"]="Lakhnau",e["Varanasi"]="Varanasi",e["Agra"]="Agra",e["Kanpur"]="Kanpur",e["Srinagar"]="Srinagar",e["Ludhiana"]="Ludhiana",e["Delhi1"]="Delhi 1",e["Delhi2"]="Delhi 2",e["Jaipur"]="Jaipur",e["Udaipur"]="Udaipur",e["Ahmedabad"]="Ahmedabad",e["Dhanbad"]="Dhanbad",e["Kolkata"]="Kolkata",e["Bhudaneswar"]="Bhudaneswar",e["Sambalpur"]="Sambalpur",e["Jabalpur"]="Jabalpur",e["Nagpur"]="Nagpur",e["Visakhapatnam"]="Visakhapatnam",e["Goa"]="Goa",e["Pune"]="Pune",e["Surat"]="Surat",e["Indore"]="Indore",e["Bhopal"]="Bhopal",e["Mumbai1"]="Mumbai 1",e["Mumbai2"]="Mumbai 2"}(Vn||(Vn={}));var $n,qn,Zn={name:"India",cities:[{name:Vn.Thiruvananthapuram,region:Wn.Red,x:217,y:868},{name:Vn.Madurai,region:Wn.Red,x:230,y:829},{name:Vn.Coimbatore,region:Wn.Red,x:197,y:797},{name:Vn.Chennai,region:Wn.Red,x:289,y:740},{name:Vn.Hyderabad,region:Wn.Red,x:232,y:618},{name:Vn.Bangalore1,region:Wn.Red,x:205,y:710},{name:Vn.Bangalore2,region:Wn.Red,x:205,y:735},{name:Vn.Dibrugarh,region:Wn.Brown,x:669,y:328},{name:Vn.Imphal,region:Wn.Brown,x:658,y:392},{name:Vn.Aizawi,region:Wn.Brown,x:625,y:427},{name:Vn.Chittagong,region:Wn.Brown,x:589,y:483},{name:Vn.Shillong,region:Wn.Brown,x:586,y:395},{name:Vn.Dhaka,region:Wn.Brown,x:548,y:432},{name:Vn.Khulna,region:Wn.Brown,x:528,y:468},{name:Vn.Darjeeling,region:Wn.Green,x:496,y:333},{name:Vn.Kathmandu,region:Wn.Green,x:418,y:307},{name:Vn.Patna,region:Wn.Green,x:416,y:373},{name:Vn.Lakhnau,region:Wn.Green,x:310,y:338},{name:Vn.Varanasi,region:Wn.Green,x:350,y:385},{name:Vn.Agra,region:Wn.Green,x:228,y:335},{name:Vn.Kanpur,region:Wn.Green,x:269,y:373},{name:Vn.Srinagar,region:Wn.Orange,x:135,y:115},{name:Vn.Ludhiana,region:Wn.Orange,x:186,y:215},{name:Vn.Delhi1,region:Wn.Orange,x:190,y:281},{name:Vn.Delhi2,region:Wn.Orange,x:190,y:303},{name:Vn.Jaipur,region:Wn.Orange,x:158,y:341},{name:Vn.Udaipur,region:Wn.Orange,x:105,y:410},{name:Vn.Ahmedabad,region:Wn.Orange,x:75,y:456},{name:Vn.Dhanbad,region:Wn.Yellow,x:424,y:427},{name:Vn.Kolkata,region:Wn.Yellow,x:463,y:477},{name:Vn.Bhudaneswar,region:Wn.Yellow,x:428,y:533},{name:Vn.Sambalpur,region:Wn.Yellow,x:376,y:494},{name:Vn.Jabalpur,region:Wn.Yellow,x:293,y:478},{name:Vn.Nagpur,region:Wn.Yellow,x:250,y:510},{name:Vn.Visakhapatnam,region:Wn.Yellow,x:358,y:597},{name:Vn.Goa,region:Wn.Pink,x:109,y:677},{name:Vn.Pune,region:Wn.Pink,x:133,y:587},{name:Vn.Surat,region:Wn.Pink,x:80,y:510},{name:Vn.Indore,region:Wn.Pink,x:160,y:476},{name:Vn.Bhopal,region:Wn.Pink,x:208,y:437},{name:Vn.Mumbai1,region:Wn.Pink,x:58,y:570},{name:Vn.Mumbai2,region:Wn.Pink,x:58,y:593}],connections:[{nodes:[Vn.Srinagar,Vn.Ludhiana],cost:15},{nodes:[Vn.Ludhiana,Vn.Delhi1],cost:9},{nodes:[Vn.Delhi1,Vn.Delhi2],cost:0},{nodes:[Vn.Delhi2,Vn.Jaipur],cost:7},{nodes:[Vn.Delhi2,Vn.Agra],cost:6},{nodes:[Vn.Jaipur,Vn.Bhopal],cost:12},{nodes:[Vn.Jaipur,Vn.Kanpur],cost:12},{nodes:[Vn.Agra,Vn.Lakhnau],cost:8},{nodes:[Vn.Lakhnau,Vn.Kathmandu],cost:15},{nodes:[Vn.Kathmandu,Vn.Darjeeling],cost:13},{nodes:[Vn.Darjeeling,Vn.Shillong],cost:12},{nodes:[Vn.Shillong,Vn.Patna],cost:18},{nodes:[Vn.Patna,Vn.Kathmandu],cost:10},{nodes:[Vn.Imphal,Vn.Dibrugarh],cost:11},{nodes:[Vn.Dibrugarh,Vn.Shillong],cost:9},{nodes:[Vn.Shillong,Vn.Imphal],cost:12},{nodes:[Vn.Imphal,Vn.Aizawi],cost:7},{nodes:[Vn.Shillong,Vn.Dhaka],cost:10},{nodes:[Vn.Dhaka,Vn.Khulna],cost:6},{nodes:[Vn.Khulna,Vn.Kolkata],cost:3},{nodes:[Vn.Dhanbad,Vn.Dhaka],cost:14},{nodes:[Vn.Jabalpur,Vn.Sambalpur],cost:13},{nodes:[Vn.Sambalpur,Vn.Nagpur],cost:13},{nodes:[Vn.Nagpur,Vn.Visakhapatnam],cost:17},{nodes:[Vn.Visakhapatnam,Vn.Sambalpur],cost:12},{nodes:[Vn.Jabalpur,Vn.Kanpur],cost:11},{nodes:[Vn.Varanasi,Vn.Jabalpur],cost:11},{nodes:[Vn.Kanpur,Vn.Varanasi],cost:8},{nodes:[Vn.Varanasi,Vn.Patna],cost:5},{nodes:[Vn.Patna,Vn.Lakhnau],cost:11},{nodes:[Vn.Kanpur,Vn.Bhopal],cost:13},{nodes:[Vn.Ahmedabad,Vn.Bhopal],cost:11},{nodes:[Vn.Bhopal,Vn.Udaipur],cost:11},{nodes:[Vn.Udaipur,Vn.Jaipur],cost:9},{nodes:[Vn.Ahmedabad,Vn.Surat],cost:7},{nodes:[Vn.Ahmedabad,Vn.Indore],cost:8},{nodes:[Vn.Indore,Vn.Surat],cost:10},{nodes:[Vn.Mumbai1,Vn.Mumbai2],cost:0},{nodes:[Vn.Mumbai2,Vn.Pune],cost:4},{nodes:[Vn.Pune,Vn.Hyderabad],cost:13},{nodes:[Vn.Pune,Vn.Nagpur],cost:17},{nodes:[Vn.Pune,Vn.Indore],cost:15},{nodes:[Vn.Goa,Vn.Coimbatore],cost:18},{nodes:[Vn.Bangalore1,Vn.Bangalore2],cost:0},{nodes:[Vn.Bangalore2,Vn.Coimbatore],cost:9},{nodes:[Vn.Coimbatore,Vn.Thiruvananthapuram],cost:10},{nodes:[Vn.Thiruvananthapuram,Vn.Madurai],cost:7},{nodes:[Vn.Madurai,Vn.Chennai],cost:12},{nodes:[Vn.Chennai,Vn.Bangalore1],cost:9},{nodes:[Vn.Bangalore1,Vn.Hyderabad],cost:14},{nodes:[Vn.Hyderabad,Vn.Goa],cost:15},{nodes:[Vn.Goa,Vn.Bangalore2],cost:14},{nodes:[Vn.Mumbai2,Vn.Goa],cost:11},{nodes:[Vn.Indore,Vn.Nagpur],cost:10},{nodes:[Vn.Sambalpur,Vn.Dhanbad],cost:8},{nodes:[Vn.Sambalpur,Vn.Bhudaneswar],cost:7},{nodes:[Vn.Bhudaneswar,Vn.Kolkata],cost:11},{nodes:[Vn.Kolkata,Vn.Dhanbad],cost:9},{nodes:[Vn.Dhanbad,Vn.Patna],cost:8},{nodes:[Vn.Nagpur,Vn.Hyderabad],cost:12},{nodes:[Vn.Hyderabad,Vn.Visakhapatnam],cost:13},{nodes:[Vn.Visakhapatnam,Vn.Chennai],cost:17},{nodes:[Vn.Chittagong,Vn.Aizawi],cost:7},{nodes:[Vn.Dhaka,Vn.Aizawi],cost:8},{nodes:[Vn.Dhaka,Vn.Chittagong],cost:7},{nodes:[Vn.Patna,Vn.Darjeeling],cost:11},{nodes:[Vn.Visakhapatnam,Vn.Bhudaneswar],cost:12},{nodes:[Vn.Udaipur,Vn.Ahmedabad],cost:6},{nodes:[Vn.Madurai,Vn.Coimbatore],cost:6},{nodes:[Vn.Bangalore2,Vn.Madurai],cost:10},{nodes:[Vn.Bhopal,Vn.Jabalpur],cost:8},{nodes:[Vn.Bhopal,Vn.Nagpur],cost:7},{nodes:[Vn.Bhopal,Vn.Indore],cost:4},{nodes:[Vn.Surat,Vn.Mumbai1],cost:6},{nodes:[Vn.Agra,Vn.Kanpur],cost:8},{nodes:[Vn.Kanpur,Vn.Lakhnau],cost:3},{nodes:[Vn.Lakhnau,Vn.Varanasi],cost:7}],layout:"Portrait",viewBox:[1480,1100],mapPosition:[200,-60],adjustRatio:[1.25,1.25],resupply:[[[4,5,4],[5,6,4],[6,7,5],[7,8,6],[8,10,7]],[[1,2,2],[2,2,2],[2,3,3],[3,4,4],[4,5,5]],[[1,3,4],[1,3,4],[3,4,6],[4,5,7],[4,7,9]],[[1,1,1],[1,1,1],[1,2,1],[2,2,2],[2,3,2]]],startingResources:[24,21,20,3],startingSupply:[24,24,24,8],maxPriceAvailable:[3,5,8],coalPrices:[1,1,1,1,2,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],garbagePrices:[1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6],uraniumPrices:[1,2,3,4,5,6,7,8],setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(mn);if("original"==n){a=a.slice(8);var i=a.findIndex((function(e){return 13==e.number})),s=a.splice(i,1)[0],c=a.pop();a=an(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a.unshift(s),a.push(c),r=[Ar(3,"India"),Ar(4,"India"),Ar(5,"India"),Ar(6,"India")],o=[Ar(7,"India"),Ar(8,"India"),Ar(9,"India"),Ar(10,"India")]}else{var u=an(a.splice(0,12),t()+""),l=u.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=u.shift(),f=a.pop();a=an(a,t()+""),2==e?(u=u.slice(1),a=an(a.slice(5).concat(u),t()+"")):3==e?(u=u.slice(2),a=an(a.slice(6).concat(u),t()+"")):4==e?(u=u.slice(1),a=an(a.slice(3).concat(u),t()+"")):a=an(a.concat(u),t()+""),a.unshift(d),a.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},mapSpecificRules:"The power grid will suffer a power outage if the number of cities built in one round is more than twice the number of players — 9 or more cities in a 4-player game. Every player is then penalized $3 for each city they own, though income for the round never falls below $0.\nPlayers take turns buying one resource at a time. The resource market is limited by step: only resources costing $3 or less may be bought in step 1, $5 or less in step 2, and the whole market is open from step 3.\nGarbage plants are less efficient. Their cost is one higher, but their storage capacity is not changed.\nPlayers must power as many cities as possible in each round.",deckBuild:"power plant 11 is removed from the game; otherwise standard setup for both variants (original: plant 13 on top of the deck)."};(function(e){e["Brown"]="brown",e["Purple"]="purple",e["Red"]="red",e["Green"]="green",e["Yellow"]="yellow",e["Blue"]="blue"})($n||($n={})),function(e){e["Siracusa"]="Siracusa",e["Reggiodical"]="Reggio Di Cal",e["Cosenza"]="Cosenza",e["Messina"]="Messina",e["Palermo"]="Palermo",e["Catania"]="Catania",e["Brindisi"]="Brindisi",e["Taranto"]="Taranto",e["Bari"]="Bari",e["Foggia"]="Foggia",e["Pesara"]="Pesara",e["Napoli"]="Napoli",e["Salerno"]="Salerno",e["Roma"]="Roma",e["Ancona"]="Ancona",e["Rimini"]="Rimini",e["Ravenna"]="Ravenna",e["Sanmarino"]="San Marino",e["Perugia"]="Perugia",e["Frienze"]="Frienze",e["Udine"]="Udine",e["Trieste"]="Trieste",e["Bolanzo"]="Bolanzo",e["Mestre"]="Mestre",e["Venezia"]="Venezia",e["Vicenza"]="Vicenza",e["Padua"]="Padua",e["Ferrara"]="Ferrara",e["Bologna"]="Bologna",e["Modena"]="Modena",e["Reggio"]="Reggio",e["Pisa"]="Pisa",e["Parma"]="Parma",e["Laspezia"]="La Spezia",e["Torino"]="Torino",e["Bergamo"]="Bergamo",e["Milano"]="Milano",e["Brescia"]="Brescia",e["Picenza"]="Picenza",e["Genova"]="Genova",e["Verona"]="Verona",e["Lovorno"]="Lovorno"}(qn||(qn={}));var Qn,Xn,et={name:"Italy",cities:[{name:qn.Siracusa,region:$n.Brown,x:1048,y:471},{name:qn.Reggiodical,region:$n.Brown,x:1013,y:346},{name:qn.Cosenza,region:$n.Brown,x:960,y:240},{name:qn.Messina,region:$n.Brown,x:975,y:365},{name:qn.Palermo,region:$n.Brown,x:875,y:468},{name:qn.Catania,region:$n.Brown,x:1007,y:460},{name:qn.Brindisi,region:$n.Purple,x:945,y:4},{name:qn.Taranto,region:$n.Brown,x:933,y:92},{name:qn.Bari,region:$n.Purple,x:871,y:32},{name:qn.Foggia,region:$n.Purple,x:777,y:69},{name:qn.Pesara,region:$n.Purple,x:646,y:76},{name:qn.Napoli,region:$n.Purple,x:747,y:222},{name:qn.Salerno,region:$n.Purple,x:799,y:212},{name:qn.Roma,region:$n.Purple,x:583,y:228},{name:qn.Ancona,region:$n.Red,x:549,y:16},{name:qn.Rimini,region:$n.Red,x:459,y:13},{name:qn.Ravenna,region:$n.Red,x:401,y:-5},{name:qn.Sanmarino,region:$n.Red,x:456,y:88},{name:qn.Perugia,region:$n.Red,x:507,y:123},{name:qn.Frienze,region:$n.Red,x:389,y:159},{name:qn.Udine,region:$n.Green,x:358,y:-207},{name:qn.Trieste,region:$n.Green,x:410,y:-181},{name:qn.Bolanzo,region:$n.Green,x:197,y:-172},{name:qn.Mestre,region:$n.Green,x:318,y:-115},{name:qn.Venezia,region:$n.Green,x:349,y:-103},{name:qn.Vicenza,region:$n.Green,x:235,y:-89},{name:qn.Padua,region:$n.Green,x:279,y:-72},{name:qn.Torino,region:$n.Blue,x:57,y:215},{name:qn.Bergamo,region:$n.Blue,x:125,y:14},{name:qn.Milano,region:$n.Blue,x:123,y:102},{name:qn.Brescia,region:$n.Blue,x:182,y:2},{name:qn.Picenza,region:$n.Blue,x:182,y:105},{name:qn.Genova,region:$n.Blue,x:182,y:217},{name:qn.Verona,region:$n.Blue,x:231,y:-13},{name:qn.Lovorno,region:$n.Red,x:333,y:216},{name:qn.Ferrara,region:$n.Yellow,x:333,y:-3},{name:qn.Bologna,region:$n.Yellow,x:350,y:85},{name:qn.Modena,region:$n.Yellow,x:303,y:72},{name:qn.Reggio,region:$n.Yellow,x:263,y:96},{name:qn.Pisa,region:$n.Yellow,x:304,y:197},{name:qn.Parma,region:$n.Yellow,x:224,y:81},{name:qn.Laspezia,region:$n.Yellow,x:245,y:206}],connections:[{nodes:[qn.Palermo,qn.Catania],cost:15},{nodes:[qn.Catania,qn.Siracusa],cost:3},{nodes:[qn.Catania,qn.Messina],cost:6},{nodes:[qn.Messina,qn.Palermo],cost:15},{nodes:[qn.Messina,qn.Reggiodical],cost:3},{nodes:[qn.Reggiodical,qn.Cosenza],cost:13},{nodes:[qn.Cosenza,qn.Salerno],cost:18},{nodes:[qn.Cosenza,qn.Taranto],cost:15},{nodes:[qn.Taranto,qn.Brindisi],cost:4},{nodes:[qn.Brindisi,qn.Bari],cost:7},{nodes:[qn.Bari,qn.Taranto],cost:7},{nodes:[qn.Taranto,qn.Salerno],cost:19},{nodes:[qn.Salerno,qn.Bari],cost:16},{nodes:[qn.Bari,qn.Foggia],cost:8},{nodes:[qn.Foggia,qn.Salerno],cost:10},{nodes:[qn.Salerno,qn.Napoli],cost:3},{nodes:[qn.Napoli,qn.Foggia],cost:12},{nodes:[qn.Napoli,qn.Roma],cost:14},{nodes:[qn.Roma,qn.Foggia],cost:22},{nodes:[qn.Foggia,qn.Pesara],cost:10},{nodes:[qn.Pesara,qn.Roma],cost:14},{nodes:[qn.Roma,qn.Ancona],cost:17},{nodes:[qn.Roma,qn.Perugia],cost:13},{nodes:[qn.Perugia,qn.Sanmarino],cost:12},{nodes:[qn.Sanmarino,qn.Rimini],cost:0},{nodes:[qn.Rimini,qn.Ancona],cost:6},{nodes:[qn.Ancona,qn.Perugia],cost:10},{nodes:[qn.Ancona,qn.Pesara],cost:9},{nodes:[qn.Roma,qn.Frienze],cost:20},{nodes:[qn.Lovorno,qn.Roma],cost:19},{nodes:[qn.Frienze,qn.Perugia],cost:13},{nodes:[qn.Frienze,qn.Sanmarino],cost:12},{nodes:[qn.Genova,qn.Torino],cost:12},{nodes:[qn.Torino,qn.Milano],cost:8},{nodes:[qn.Milano,qn.Bergamo],cost:3},{nodes:[qn.Bergamo,qn.Bolanzo],cost:12},{nodes:[qn.Bolanzo,qn.Brescia],cost:12},{nodes:[qn.Bolanzo,qn.Mestre],cost:12},{nodes:[qn.Bolanzo,qn.Udine],cost:14},{nodes:[qn.Udine,qn.Trieste],cost:4},{nodes:[qn.Udine,qn.Venezia],cost:7},{nodes:[qn.Venezia,qn.Mestre],cost:0},{nodes:[qn.Genova,qn.Laspezia],cost:5},{nodes:[qn.Laspezia,qn.Pisa],cost:5},{nodes:[qn.Pisa,qn.Lovorno],cost:0},{nodes:[qn.Genova,qn.Milano],cost:9},{nodes:[qn.Milano,qn.Picenza],cost:4},{nodes:[qn.Picenza,qn.Parma],cost:4},{nodes:[qn.Parma,qn.Reggio],cost:2},{nodes:[qn.Reggio,qn.Modena],cost:2},{nodes:[qn.Modena,qn.Bologna],cost:3},{nodes:[qn.Bologna,qn.Pisa],cost:12},{nodes:[qn.Pisa,qn.Reggio],cost:10},{nodes:[qn.Laspezia,qn.Parma],cost:9},{nodes:[qn.Laspezia,qn.Reggio],cost:9},{nodes:[qn.Genova,qn.Picenza],cost:7},{nodes:[qn.Genova,qn.Parma],cost:11},{nodes:[qn.Milano,qn.Brescia],cost:4},{nodes:[qn.Brescia,qn.Bergamo],cost:3},{nodes:[qn.Brescia,qn.Verona],cost:4},{nodes:[qn.Brescia,qn.Picenza],cost:5},{nodes:[qn.Bolanzo,qn.Vicenza],cost:10},{nodes:[qn.Vicenza,qn.Padua],cost:3},{nodes:[qn.Vicenza,qn.Verona],cost:3},{nodes:[qn.Verona,qn.Parma],cost:6},{nodes:[qn.Parma,qn.Brescia],cost:6},{nodes:[qn.Verona,qn.Padua],cost:5},{nodes:[qn.Padua,qn.Mestre],cost:3},{nodes:[qn.Venezia,qn.Ravenna],cost:12},{nodes:[qn.Ravenna,qn.Ferrara],cost:4},{nodes:[qn.Ferrara,qn.Venezia],cost:9},{nodes:[qn.Ferrara,qn.Padua],cost:7},{nodes:[qn.Ferrara,qn.Verona],cost:7},{nodes:[qn.Verona,qn.Modena],cost:8},{nodes:[qn.Frienze,qn.Pisa],cost:5},{nodes:[qn.Frienze,qn.Ravenna],cost:10},{nodes:[qn.Ravenna,qn.Rimini],cost:4},{nodes:[qn.Frienze,qn.Bologna],cost:8},{nodes:[qn.Bologna,qn.Ravenna],cost:4},{nodes:[qn.Bologna,qn.Ferrara],cost:3},{nodes:[qn.Ferrara,qn.Modena],cost:4}],mapPosition:[-20,320],mapSpecificRules:"Stop resupplying uranium after power plant 39 has been bought.",startingResources:[18,15,12,2]};(function(e){e["Brown"]="brown",e["Green"]="green",e["Purple"]="purple",e["Yellow"]="yellow",e["Red"]="red"})(Qn||(Qn={})),function(e){e["Asahikawa"]="Asahikawa",e["Sapporo"]="Sapporo",e["Hakodate"]="Hakodate",e["Admori"]="Admori",e["Morioka"]="Morioka",e["Akita"]="Akita",e["Sendai"]="Sendai",e["Niigata"]="Niigata",e["Koriyama"]="Koriyama",e["Nagano"]="Nagano",e["Saitama"]="Saitama",e["Tokyo"]="Tokyo",e["Chiba"]="Chiba",e["Yokohama"]="Yokohama",e["Kanazawa"]="Kanazawa",e["Toyama"]="Toyama",e["Kyoto"]="Kyoto",e["Osaka"]="Osaka",e["Nagoya"]="Nagoya",e["Kofu"]="Kofu",e["Hamamatsu"]="Hamamatsu",e["Kobe"]="Kobe",e["Matsue"]="Matsue",e["Okayama"]="Okayama",e["Takamatsu"]="Takamatsu",e["Kochi"]="Kochi",e["Matsuyama"]="Matsuyama",e["Hiroshima"]="Hiroshima",e["Shimonoseki"]="Shimonoseki",e["Oita"]="Oita",e["Miyazaki"]="Miyazaki",e["Kagoshima"]="Kagoshima",e["Kumamoto"]="Kumamoto",e["Fukuoka"]="Fukuoka",e["Nagasaki"]="Nagasaki"}(Xn||(Xn={}));var nt,tt,rt={name:"Japan",cities:[{name:Xn.Asahikawa,region:Qn.Brown,x:3384,y:1014},{name:Xn.Sapporo,region:Qn.Brown,x:3028,y:982,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:Xn.Hakodate,region:Qn.Brown,x:2622,y:1112},{name:Xn.Admori,region:Qn.Brown,x:3818,y:1336},{name:Xn.Morioka,region:Qn.Brown,x:3636,y:1646,slotCosts:[15,20],stepSlots:[0,1,2]},{name:Xn.Akita,region:Qn.Brown,x:3472,y:1480},{name:Xn.Sendai,region:Qn.Brown,x:3408,y:1886},{name:Xn.Niigata,region:Qn.Green,x:2874,y:1628},{name:Xn.Koriyama,region:Qn.Green,x:3086,y:1932,slotCosts:[10,15]},{name:Xn.Nagano,region:Qn.Green,x:2486,y:1722},{name:Xn.Saitama,region:Qn.Green,x:2450,y:1986,slotCosts:[15,20],stepSlots:[0,1,2]},{name:Xn.Tokyo,region:Qn.Green,x:2524,y:2122,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:Xn.Chiba,region:Qn.Green,x:2650,y:2316},{name:Xn.Yokohama,region:Qn.Green,x:2306,y:2244,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:Xn.Kanazawa,region:Qn.Purple,x:2207,y:1385},{name:Xn.Toyama,region:Qn.Purple,x:2257,y:1595,slotCosts:[15,20],stepSlots:[0,1,2]},{name:Xn.Kyoto,region:Qn.Purple,x:1765,y:1595},{name:Xn.Osaka,region:Qn.Purple,x:1517,y:1631,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:Xn.Nagoya,region:Qn.Purple,x:1942,y:1751},{name:Xn.Kofu,region:Qn.Purple,x:2179,y:1897},{name:Xn.Hamamatsu,region:Qn.Purple,x:1958,y:2024,slotCosts:[10,15]},{name:Xn.Kobe,region:Qn.Yellow,x:1555,y:1451,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:Xn.Matsue,region:Qn.Yellow,x:1457,y:1006,slotCosts:[15,20],stepSlots:[0,1,2]},{name:Xn.Okayama,region:Qn.Yellow,x:1390,y:1286},{name:Xn.Takamatsu,region:Qn.Yellow,x:1268,y:1507},{name:Xn.Kochi,region:Qn.Yellow,x:974,y:1472,slotCosts:[10,15]},{name:Xn.Matsuyama,region:Qn.Yellow,x:1036,y:1268},{name:Xn.Hiroshima,region:Qn.Yellow,x:1103,y:1078},{name:Xn.Shimonoseki,region:Qn.Red,x:856,y:962},{name:Xn.Oita,region:Qn.Red,x:731,y:1166,slotCosts:[10,15]},{name:Xn.Miyazaki,region:Qn.Red,x:469,y:1318,slotCosts:[15,20],stepSlots:[0,1,2]},{name:Xn.Kagoshima,region:Qn.Red,x:157,y:1255},{name:Xn.Kumamoto,region:Qn.Red,x:457,y:1045},{name:Xn.Fukuoka,region:Qn.Red,x:644,y:823,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:Xn.Nagasaki,region:Qn.Red,x:313,y:875}],layout:"Portrait",adjustRatio:[.28,.28],mapPosition:[0,120],resupply:[[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[21,15,9,3],startingCities:["Fukuoka","Kobe","Osaka","Sapporo","Tokyo","Yokohama"],mapSpecificRules:"Users may build 0, 1, 2 houses in round 1. The first house you place MUST be in one of the six special starting cities: Fukuoka, Kobe, Osaka, Sapporo, Tokyo, or Yokohama whether it be round 1 or after.\nYou get a free jump but that free jump can only go into one of these six starting cities (you still pay for the house, just no connection fee).\nAll of these six special starting cities are [10, 10, 20] meaning two players can go there in step 1 and these cities are marked with 10 on the map.\nIf you build 2 cities in round 1, you must use your free jump even though they might have 0 connection like Tokyo and Yokohama (system will auto use your free jump).\nIn Step 3, the third connection spots (cost 20) are opened in the starting cities and are available for normal or free jump.\nSome smaller cities have only two building spots (10 and 15, or 15 and 20). These cities are marked with an X. An X at the top means no Step 1 builds, an X at the bottom means no Step 3 builds.\nIf all starting city spots are taken, you cannot use your free jump.",connections:[{nodes:[Xn.Nagasaki,Xn.Fukuoka],cost:10},{nodes:[Xn.Fukuoka,Xn.Shimonoseki],cost:10},{nodes:[Xn.Shimonoseki,Xn.Hiroshima],cost:12},{nodes:[Xn.Hiroshima,Xn.Matsue],cost:13},{nodes:[Xn.Kumamoto,Xn.Kagoshima],cost:13},{nodes:[Xn.Kagoshima,Xn.Miyazaki],cost:8},{nodes:[Xn.Miyazaki,Xn.Kumamoto],cost:11},{nodes:[Xn.Kumamoto,Xn.Oita],cost:12},{nodes:[Xn.Oita,Xn.Miyazaki],cost:12},{nodes:[Xn.Oita,Xn.Matsuyama],cost:14},{nodes:[Xn.Matsuyama,Xn.Kochi],cost:7},{nodes:[Xn.Kochi,Xn.Takamatsu],cost:9},{nodes:[Xn.Hiroshima,Xn.Okayama],cost:11},{nodes:[Xn.Okayama,Xn.Matsue],cost:11},{nodes:[Xn.Okayama,Xn.Kobe],cost:9},{nodes:[Xn.Kobe,Xn.Matsue],cost:16},{nodes:[Xn.Matsuyama,Xn.Takamatsu],cost:10},{nodes:[Xn.Takamatsu,Xn.Okayama],cost:9},{nodes:[Xn.Osaka,Xn.Nagoya],cost:9},{nodes:[Xn.Nagoya,Xn.Kyoto],cost:9},{nodes:[Xn.Kyoto,Xn.Kobe],cost:3},{nodes:[Xn.Osaka,Xn.Kyoto],cost:0},{nodes:[Xn.Kyoto,Xn.Kanazawa],cost:19},{nodes:[Xn.Kanazawa,Xn.Toyama],cost:3},{nodes:[Xn.Kanazawa,Xn.Nagoya],cost:16},{nodes:[Xn.Nagoya,Xn.Toyama],cost:15},{nodes:[Xn.Toyama,Xn.Nagano],cost:9},{nodes:[Xn.Nagano,Xn.Niigata],cost:12},{nodes:[Xn.Niigata,Xn.Akita],cost:16},{nodes:[Xn.Hamamatsu,Xn.Kofu],cost:12},{nodes:[Xn.Kofu,Xn.Nagoya],cost:15},{nodes:[Xn.Nagoya,Xn.Hamamatsu],cost:6},{nodes:[Xn.Kofu,Xn.Saitama],cost:8},{nodes:[Xn.Saitama,Xn.Tokyo],cost:0},{nodes:[Xn.Tokyo,Xn.Yokohama],cost:0},{nodes:[Xn.Tokyo,Xn.Chiba],cost:4},{nodes:[Xn.Chiba,Xn.Sendai],cost:21},{nodes:[Xn.Tokyo,Xn.Koriyama],cost:14},{nodes:[Xn.Koriyama,Xn.Niigata],cost:11},{nodes:[Xn.Saitama,Xn.Nagano],cost:17},{nodes:[Xn.Saitama,Xn.Niigata],cost:21},{nodes:[Xn.Koriyama,Xn.Sendai],cost:7},{nodes:[Xn.Sendai,Xn.Akita],cost:14},{nodes:[Xn.Akita,Xn.Koriyama],cost:21},{nodes:[Xn.Sendai,Xn.Morioka],cost:10},{nodes:[Xn.Morioka,Xn.Akita],cost:7},{nodes:[Xn.Akita,Xn.Admori],cost:10},{nodes:[Xn.Admori,Xn.Morioka],cost:10},{nodes:[Xn.Admori,Xn.Hakodate],cost:15},{nodes:[Xn.Hakodate,Xn.Sapporo],cost:14},{nodes:[Xn.Sapporo,Xn.Asahikawa],cost:8},{nodes:[Xn.Kumamoto,Xn.Shimonoseki],cost:16},{nodes:[Xn.Kumamoto,Xn.Fukuoka],cost:8}]},ot=b({},rt);(function(e){e["Yellow"]="yellow",e["Red"]="red",e["Brown"]="brown",e["Green"]="green",e["Purple"]="purple",e["Pink"]="pink"})(nt||(nt={})),function(e){e["Gyeongju"]="Gyeongju",e["Ulsan"]="Ulsan",e["Busan"]="Busan",e["Jinju"]="Jinju",e["Daegu"]="Daegu",e["Andong"]="Andong",e["Sangju"]="Sangju",e["Rasun"]="Rasun",e["Cheongjin"]="Cheongjin",e["Gyeongseong"]="Gyeongseong",e["Seongjin"]="Seongjin",e["Hyesan"]="Hyesan",e["Hamheung"]="Hamheung",e["Wonsan"]="Wonsan",e["Samcheok"]="Samcheok",e["Donghae"]="Donghae",e["Taeraek"]="Taeraek",e["Gangneung"]="Gangneung",e["Sokcho"]="Sokcho",e["Wonju"]="Wonju",e["Chuncheon"]="Chuncheon",e["Chungju"]="Chungju",e["Cheongju"]="Cheongju",e["Jeju"]="Jeju",e["Gwangju"]="Gwangju",e["Naju"]="Naju",e["Jeonju"]="Jeonju",e["Daejeon"]="Daejeon",e["Yongin"]="Yongin",e["Seoul"]="Seoul",e["Suwon"]="Suwon",e["Goyang"]="Goyang",e["Anyang"]="Anyang",e["Incheon"]="Incheon",e["Gaesung"]="Gaesung",e["Ganggye"]="Ganggye",e["Haeju"]="Haeju",e["Pyeongyang"]="Pyeongyang",e["Hwangju"]="Hwangju",e["Nampo"]="Nampo",e["Anju"]="Anju",e["Sinuiju"]="Sinuiju"}(tt||(tt={}));var at,it={name:"Korea",cities:[{name:tt.Gyeongju,region:nt.Yellow,x:2161,y:2980},{name:tt.Ulsan,region:nt.Yellow,x:2185,y:3226},{name:tt.Busan,region:nt.Yellow,x:2041,y:3440},{name:tt.Jinju,region:nt.Yellow,x:1676,y:3431},{name:tt.Daegu,region:nt.Yellow,x:1876,y:3062},{name:tt.Andong,region:nt.Yellow,x:1987,y:2737},{name:tt.Sangju,region:nt.Yellow,x:1747,y:2827},{name:tt.Rasun,region:nt.Red,x:2485,y:361},{name:tt.Cheongjin,region:nt.Red,x:2309,y:491},{name:tt.Gyeongseong,region:nt.Red,x:2209,y:689},{name:tt.Seongjin,region:nt.Red,x:2060,y:1001},{name:tt.Hyesan,region:nt.Red,x:1783,y:665},{name:tt.Hamheung,region:nt.Red,x:1516,y:1283},{name:tt.Wonsan,region:nt.Red,x:1484,y:1600},{name:tt.Samcheok,region:nt.Brown,x:2171,y:2437},{name:tt.Donghae,region:nt.Brown,x:2041,y:2299},{name:tt.Taeraek,region:nt.Brown,x:1999,y:2528},{name:tt.Gangneung,region:nt.Brown,x:1949,y:2092},{name:tt.Sokcho,region:nt.Brown,x:1832,y:1915},{name:tt.Wonju,region:nt.Brown,x:1735,y:2293},{name:tt.Chuncheon,region:nt.Brown,x:1594,y:2056},{name:tt.Chungju,region:nt.Green,x:1744,y:2552},{name:tt.Cheongju,region:nt.Green,x:1547,y:2645},{name:tt.Jeju,region:nt.Green,x:1223,y:4051},{name:tt.Gwangju,region:nt.Green,x:1309,y:3380},{name:tt.Naju,region:nt.Green,x:1121,y:3569},{name:tt.Jeonju,region:nt.Green,x:1363,y:3109},{name:tt.Daejeon,region:nt.Green,x:1462,y:2839},{name:tt.Yongin,region:nt.Purple,x:1532,y:2371},{name:tt.Seoul,region:nt.Purple,x:1400,y:2203},{name:tt.Suwon,region:nt.Purple,x:1366,y:2488},{name:tt.Goyang,region:nt.Purple,x:1219,y:2270},{name:tt.Anyang,region:nt.Purple,x:1156,y:2446},{name:tt.Incheon,region:nt.Purple,x:1028,y:2311},{name:tt.Gaesung,region:nt.Purple,x:1171,y:2042},{name:tt.Ganggye,region:nt.Pink,x:1213,y:809},{name:tt.Haeju,region:nt.Pink,x:856,y:2135},{name:tt.Pyeongyang,region:nt.Pink,x:938,y:1642},{name:tt.Hwangju,region:nt.Pink,x:901,y:1886},{name:tt.Nampo,region:nt.Pink,x:677,y:1763},{name:tt.Anju,region:nt.Pink,x:812,y:1391},{name:tt.Sinuiju,region:nt.Pink,x:433,y:1105}],connections:[{nodes:[tt.Naju,tt.Jeju],cost:19},{nodes:[tt.Naju,tt.Jinju],cost:15},{nodes:[tt.Jinju,tt.Gwangju],cost:14},{nodes:[tt.Gwangju,tt.Naju],cost:2},{nodes:[tt.Gwangju,tt.Jeonju],cost:11},{nodes:[tt.Jeonju,tt.Jinju],cost:15},{nodes:[tt.Jinju,tt.Busan],cost:11},{nodes:[tt.Jinju,tt.Daegu],cost:11},{nodes:[tt.Daegu,tt.Jeonju],cost:16},{nodes:[tt.Daegu,tt.Busan],cost:12},{nodes:[tt.Busan,tt.Ulsan],cost:7},{nodes:[tt.Ulsan,tt.Daegu],cost:10},{nodes:[tt.Jeonju,tt.Daejeon],cost:9},{nodes:[tt.Daejeon,tt.Daegu],cost:15},{nodes:[tt.Andong,tt.Gyeongju],cost:11},{nodes:[tt.Gyeongju,tt.Daegu],cost:7},{nodes:[tt.Gyeongju,tt.Ulsan],cost:3},{nodes:[tt.Daegu,tt.Sangju],cost:9},{nodes:[tt.Sangju,tt.Daejeon],cost:8},{nodes:[tt.Daegu,tt.Andong],cost:10},{nodes:[tt.Andong,tt.Sangju],cost:6},{nodes:[tt.Andong,tt.Taeraek],cost:8},{nodes:[tt.Taeraek,tt.Samcheok],cost:5},{nodes:[tt.Samcheok,tt.Donghae],cost:0},{nodes:[tt.Donghae,tt.Gangneung],cost:4},{nodes:[tt.Chungju,tt.Taeraek],cost:13},{nodes:[tt.Andong,tt.Chungju],cost:11},{nodes:[tt.Chungju,tt.Cheongju],cost:7},{nodes:[tt.Cheongju,tt.Sangju],cost:8},{nodes:[tt.Sangju,tt.Chungju],cost:9},{nodes:[tt.Daejeon,tt.Cheongju],cost:4},{nodes:[tt.Wonju,tt.Donghae],cost:14},{nodes:[tt.Wonju,tt.Taeraek],cost:13},{nodes:[tt.Chungju,tt.Wonju],cost:5},{nodes:[tt.Wonju,tt.Gangneung],cost:12},{nodes:[tt.Wonju,tt.Sokcho],cost:15},{nodes:[tt.Sokcho,tt.Gangneung],cost:6},{nodes:[tt.Chuncheon,tt.Wonju],cost:7},{nodes:[tt.Sinuiju,tt.Ganggye],cost:25},{nodes:[tt.Ganggye,tt.Hyesan],cost:20},{nodes:[tt.Sinuiju,tt.Anju],cost:13},{nodes:[tt.Anju,tt.Ganggye],cost:22},{nodes:[tt.Ganggye,tt.Hamheung],cost:19},{nodes:[tt.Hamheung,tt.Anju],cost:20},{nodes:[tt.Anju,tt.Nampo],cost:10},{nodes:[tt.Anju,tt.Pyeongyang],cost:7},{nodes:[tt.Pyeongyang,tt.Nampo],cost:5},{nodes:[tt.Nampo,tt.Hwangju],cost:4},{nodes:[tt.Hwangju,tt.Pyeongyang],cost:4},{nodes:[tt.Pyeongyang,tt.Wonsan],cost:18},{nodes:[tt.Pyeongyang,tt.Hamheung],cost:23},{nodes:[tt.Hamheung,tt.Wonsan],cost:11},{nodes:[tt.Pyeongyang,tt.Gaesung],cost:14},{nodes:[tt.Gaesung,tt.Haeju],cost:8},{nodes:[tt.Haeju,tt.Hwangju],cost:8},{nodes:[tt.Gaesung,tt.Goyang],cost:7},{nodes:[tt.Anyang,tt.Suwon],cost:3},{nodes:[tt.Suwon,tt.Yongin],cost:2},{nodes:[tt.Goyang,tt.Incheon],cost:0},{nodes:[tt.Incheon,tt.Anyang],cost:0},{nodes:[tt.Goyang,tt.Seoul],cost:0},{nodes:[tt.Suwon,tt.Cheongju],cost:10},{nodes:[tt.Seoul,tt.Yongin],cost:2},{nodes:[tt.Gaesung,tt.Chuncheon],cost:13},{nodes:[tt.Gaesung,tt.Wonsan],cost:18},{nodes:[tt.Wonsan,tt.Sokcho],cost:18},{nodes:[tt.Wonsan,tt.Chuncheon],cost:19},{nodes:[tt.Sokcho,tt.Chuncheon],cost:10},{nodes:[tt.Chuncheon,tt.Seoul],cost:8},{nodes:[tt.Chuncheon,tt.Yongin],cost:9},{nodes:[tt.Yongin,tt.Wonju],cost:8},{nodes:[tt.Yongin,tt.Chungju],cost:10},{nodes:[tt.Yongin,tt.Cheongju],cost:10},{nodes:[tt.Rasun,tt.Cheongjin],cost:8},{nodes:[tt.Cheongjin,tt.Gyeongseong],cost:4},{nodes:[tt.Gyeongseong,tt.Seongjin],cost:16},{nodes:[tt.Hyesan,tt.Gyeongseong],cost:18},{nodes:[tt.Hyesan,tt.Seongjin],cost:14},{nodes:[tt.Seongjin,tt.Hamheung],cost:17},{nodes:[tt.Hamheung,tt.Hyesan],cost:23}],layout:"Portrait",adjustRatio:[.25,.25],mapPosition:[40,30],viewBox:[1480,1180],supplyPosition:[675,1040],resupply:[[[2,2,2],[2,3,2],[3,3,2],[3,4,3],[4,5,3]],[[1,1,3],[1,2,3],[2,3,3],[3,3,4],[3,4,4]],[[1,1,2],[1,1,2],[1,2,2],[2,2,3],[2,3,3]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],resupplyNorth:[[[1,2,1],[2,2,1],[2,3,2],[2,3,2],[3,4,3]],[[1,1,1],[1,1,1],[1,1,2],[1,2,2],[2,2,3]],[[0,1,1],[0,1,1],[1,1,2],[1,1,2],[1,2,3]]],startingResources:[12,12,4,2],startingResourcesNorth:[12,6,2],startingSupply:[24,24,24,12],coalPrices:[1,2,3,4,5,5,6,6,7,7,8,8],oilPrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8],garbagePrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8],uraniumPrices:[1,2,3,4,5,6,7,8,10,12,14,16],coalPricesNorth:[1,1,2,2,3,3,4,4,5,6,7,8],oilPricesNorth:[1,2,3,4,5,6,7,8],garbagePricesNorth:[1,2,3,4,5,6,7,8],mapSpecificRules:"Korea has two separate resource markets: North and South.\nOn your buying turn, choose one side — all resources you buy that turn must come from that side. The next turn you may choose the other side.\nThe North market has no uranium track; uranium is only available from the South.\nBoth markets share a single supply pool. During bureaucracy, North restocks first, then South from whatever remains."};t("d4b6");(function(e){e["Manhattan"]="manhattan"})(at||(at={}));var st,ct,ut=[{name:"M1",region:at.Manhattan,connectionCost:5,slotCosts:[40],x:236,y:129},{name:"M2",region:at.Manhattan,connectionCost:5,slotCosts:[40],x:294,y:132},{name:"M3",region:at.Manhattan,connectionCost:5,slotCosts:[40],x:456,y:135},{name:"M4",region:at.Manhattan,connectionCost:5,slotCosts:[40],x:529,y:137},{name:"M5",region:at.Manhattan,connectionCost:5,slotCosts:[40],x:234,y:236},{name:"M6",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:292,y:236},{name:"M7",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:456,y:238},{name:"M8",region:at.Manhattan,connectionCost:5,slotCosts:[40],x:532,y:239},{name:"M9",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:307,y:318},{name:"M10",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:235,y:340},{name:"M11",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:457,y:340},{name:"M12",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:529,y:344},{name:"M13",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:290,y:367},{name:"M14",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:241,y:420},{name:"M15",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:300,y:421},{name:"M16",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:389,y:422},{name:"M17",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:457,y:423},{name:"M18",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:523,y:423},{name:"M19",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:344,y:431},{name:"M20",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:243,y:480},{name:"M21",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:300,y:481},{name:"M22",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:348,y:482},{name:"M23",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:393,y:483},{name:"M24",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:455,y:484},{name:"M25",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:521,y:485},{name:"M26",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:240,y:539},{name:"M27",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:301,y:540},{name:"M28",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:353,y:541},{name:"M29",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:400,y:541},{name:"M30",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:456,y:542},{name:"M31",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:522,y:543},{name:"M32",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:405,y:588},{name:"M33",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:239,y:605},{name:"M34",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:303,y:605},{name:"M35",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:455,y:606},{name:"M36",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:528,y:607},{name:"M37",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:367,y:609},{name:"M38",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:289,y:680},{name:"M39",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:466,y:680},{name:"M40",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:512,y:680},{name:"M41",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:363,y:681},{name:"M42",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:571,y:681},{name:"M43",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:417,y:682},{name:"M44",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:427,y:740},{name:"M45",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:632,y:740},{name:"M46",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:505,y:741},{name:"M47",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:572,y:741},{name:"M48",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:378,y:745},{name:"M49",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:346,y:761},{name:"M50",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:312,y:775},{name:"M51",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:640,y:784},{name:"M52",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:571,y:787},{name:"M53",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:427,y:790},{name:"M54",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:514,y:790},{name:"M55",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:473,y:794},{name:"M56",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:646,y:821},{name:"M57",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:585,y:827},{name:"M58",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:430,y:832},{name:"M59",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:533,y:833},{name:"M60",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:482,y:834},{name:"M61",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:389,y:851},{name:"M62",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:350,y:852},{name:"M63",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:613,y:859},{name:"M64",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:673,y:860},{name:"M65",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:433,y:871},{name:"M66",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:571,y:873},{name:"M67",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:482,y:874},{name:"M68",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:534,y:885},{name:"M69",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:636,y:892},{name:"M70",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:371,y:895},{name:"M71",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:482,y:914},{name:"M72",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:593,y:915},{name:"M73",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:427,y:920},{name:"M74",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:389,y:934},{name:"M75",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:555,y:937},{name:"M76",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:466,y:950},{name:"M77",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:520,y:962},{name:"M78",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:379,y:983},{name:"M79",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:424,y:986},{name:"M80",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:484,y:993},{name:"M81",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:394,y:1038},{name:"M82",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:429,y:1041},{name:"M83",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:478,y:1041}],lt=[{nodes:["M1","M2"],cost:0},{nodes:["M1","M5"],cost:0},{nodes:["M2","M6"],cost:0},{nodes:["M3","M4"],cost:0},{nodes:["M3","M7"],cost:0},{nodes:["M4","M8"],cost:0},{nodes:["M5","M6"],cost:0},{nodes:["M5","M10"],cost:0},{nodes:["M6","M9"],cost:0},{nodes:["M7","M8"],cost:0},{nodes:["M7","M11"],cost:0},{nodes:["M8","M12"],cost:0},{nodes:["M9","M13"],cost:0},{nodes:["M10","M13"],cost:0},{nodes:["M10","M14"],cost:0},{nodes:["M11","M12"],cost:0},{nodes:["M11","M17"],cost:0},{nodes:["M12","M18"],cost:0},{nodes:["M13","M15"],cost:0},{nodes:["M14","M15"],cost:0},{nodes:["M14","M20"],cost:0},{nodes:["M15","M19"],cost:0},{nodes:["M15","M21"],cost:0},{nodes:["M16","M17"],cost:0},{nodes:["M16","M19"],cost:0},{nodes:["M16","M23"],cost:0},{nodes:["M17","M18"],cost:0},{nodes:["M17","M24"],cost:0},{nodes:["M18","M25"],cost:0},{nodes:["M19","M22"],cost:0},{nodes:["M20","M21"],cost:0},{nodes:["M20","M26"],cost:0},{nodes:["M21","M22"],cost:0},{nodes:["M21","M27"],cost:0},{nodes:["M22","M23"],cost:0},{nodes:["M22","M28"],cost:0},{nodes:["M23","M24"],cost:0},{nodes:["M23","M29"],cost:0},{nodes:["M24","M25"],cost:0},{nodes:["M24","M30"],cost:0},{nodes:["M25","M31"],cost:0},{nodes:["M26","M27"],cost:0},{nodes:["M26","M33"],cost:0},{nodes:["M27","M28"],cost:0},{nodes:["M27","M34"],cost:0},{nodes:["M28","M29"],cost:0},{nodes:["M28","M37"],cost:0},{nodes:["M29","M30"],cost:0},{nodes:["M29","M32"],cost:0},{nodes:["M30","M31"],cost:0},{nodes:["M30","M35"],cost:0},{nodes:["M31","M36"],cost:0},{nodes:["M32","M35"],cost:0},{nodes:["M32","M37"],cost:0},{nodes:["M33","M34"],cost:0},{nodes:["M33","M38"],cost:0},{nodes:["M34","M37"],cost:0},{nodes:["M34","M38"],cost:0},{nodes:["M35","M36"],cost:0},{nodes:["M35","M39"],cost:0},{nodes:["M36","M40"],cost:0},{nodes:["M36","M42"],cost:0},{nodes:["M37","M41"],cost:0},{nodes:["M37","M43"],cost:0},{nodes:["M38","M41"],cost:0},{nodes:["M38","M50"],cost:0},{nodes:["M39","M40"],cost:0},{nodes:["M39","M43"],cost:0},{nodes:["M39","M46"],cost:0},{nodes:["M40","M42"],cost:0},{nodes:["M40","M46"],cost:0},{nodes:["M41","M43"],cost:0},{nodes:["M41","M48"],cost:0},{nodes:["M41","M49"],cost:0},{nodes:["M42","M45"],cost:0},{nodes:["M42","M47"],cost:0},{nodes:["M43","M44"],cost:0},{nodes:["M44","M48"],cost:0},{nodes:["M44","M53"],cost:0},{nodes:["M44","M55"],cost:0},{nodes:["M45","M47"],cost:0},{nodes:["M45","M51"],cost:0},{nodes:["M46","M47"],cost:0},{nodes:["M46","M54"],cost:0},{nodes:["M46","M55"],cost:0},{nodes:["M47","M52"],cost:0},{nodes:["M48","M49"],cost:0},{nodes:["M48","M53"],cost:0},{nodes:["M48","M61"],cost:0},{nodes:["M49","M50"],cost:0},{nodes:["M49","M61"],cost:0},{nodes:["M50","M62"],cost:0},{nodes:["M51","M52"],cost:0},{nodes:["M51","M56"],cost:0},{nodes:["M52","M54"],cost:0},{nodes:["M52","M57"],cost:0},{nodes:["M52","M59"],cost:0},{nodes:["M53","M55"],cost:0},{nodes:["M53","M58"],cost:0},{nodes:["M54","M55"],cost:0},{nodes:["M54","M59"],cost:0},{nodes:["M55","M60"],cost:0},{nodes:["M56","M57"],cost:0},{nodes:["M56","M63"],cost:0},{nodes:["M56","M64"],cost:0},{nodes:["M57","M59"],cost:0},{nodes:["M57","M63"],cost:0},{nodes:["M57","M66"],cost:0},{nodes:["M58","M60"],cost:0},{nodes:["M58","M61"],cost:0},{nodes:["M58","M65"],cost:0},{nodes:["M59","M60"],cost:0},{nodes:["M59","M66"],cost:0},{nodes:["M59","M68"],cost:0},{nodes:["M60","M67"],cost:0},{nodes:["M61","M62"],cost:0},{nodes:["M61","M65"],cost:0},{nodes:["M61","M73"],cost:0},{nodes:["M62","M70"],cost:0},{nodes:["M63","M64"],cost:0},{nodes:["M63","M66"],cost:0},{nodes:["M63","M69"],cost:0},{nodes:["M64","M69"],cost:0},{nodes:["M65","M67"],cost:0},{nodes:["M65","M73"],cost:0},{nodes:["M66","M68"],cost:0},{nodes:["M66","M72"],cost:0},{nodes:["M67","M68"],cost:0},{nodes:["M67","M71"],cost:0},{nodes:["M68","M71"],cost:0},{nodes:["M68","M75"],cost:0},{nodes:["M69","M72"],cost:0},{nodes:["M70","M73"],cost:0},{nodes:["M70","M74"],cost:0},{nodes:["M71","M73"],cost:0},{nodes:["M71","M76"],cost:0},{nodes:["M72","M75"],cost:0},{nodes:["M73","M74"],cost:0},{nodes:["M73","M76"],cost:0},{nodes:["M73","M79"],cost:0},{nodes:["M74","M78"],cost:0},{nodes:["M74","M79"],cost:0},{nodes:["M75","M77"],cost:0},{nodes:["M76","M77"],cost:0},{nodes:["M76","M79"],cost:0},{nodes:["M76","M80"],cost:0},{nodes:["M77","M80"],cost:0},{nodes:["M78","M79"],cost:0},{nodes:["M78","M81"],cost:0},{nodes:["M79","M80"],cost:0},{nodes:["M79","M82"],cost:0},{nodes:["M80","M83"],cost:0},{nodes:["M81","M82"],cost:0},{nodes:["M82","M83"],cost:0}],dt={name:"Manhattan",cities:ut,connections:lt,layout:"Portrait",adjustRatio:[1.15,1.15],mapPosition:[30,10],mapRotation:0,viewBox:[1480,1400],supplyPosition:[675,1240],resupply:[[[4,4,4],[4,4,4],[5,5,5],[6,6,6],[7,7,7]],[[3,3,3],[3,3,3],[4,4,4],[5,5,5],[6,6,6]],[[2,2,2],[2,2,2],[3,3,3],[4,4,4],[5,5,5]],[[1,1,1],[1,1,1],[2,2,2],[2,2,2],[3,3,3]]],startingResources:[18,18,9,4],startingSupply:[24,24,24,12],setupDeck:function(e,n,t){var r=new Set;e<=3&&(r.add(20),r.add(22),r.add(37));var o=Object(qe["cloneDeep"])(yn).filter((function(e){return!r.has(e.number)}));o.pop();var a=an(o.filter((function(e){return e.number<=15})),t()+""),i=an(o.filter((function(e){return e.number>15})),t()+"");a.splice(0,4);var s=a.splice(0,8).sort((function(e,n){return e.number-n.number})),c=s.slice(0,4),u=s.slice(4),l=[].concat(P(a),P(i));return{actualMarket:c,futureMarket:u,powerPlantsDeck:l}},blockSpaces:function(e,n,t){if(e>=5)return[];for(var r={10:3,15:3,20:2,25:2,30:2,35:2},o=4===e?1:2,a=[],i=function(){var e=y(c[s],2),r=e[0],i=e[1],u=Number(r),l=i*o,d=an(n.filter((function(e){return e.slotCosts&&e.slotCosts[0]===u})).map((function(e){return e.name})),t()+"");a.push.apply(a,P(d.slice(0,l)))},s=0,c=Object.entries(r);s<c.length;s++)i();return a},mapSpecificRules:"Single region, one house per space: every building space holds just one house at its printed building cost (10–40 Elektro). The game runs only in Step 1 until the end. Connections: your first house may be any empty space (pay only its building cost); a space directly adjacent to your network costs only its building cost; otherwise pay a flat 5 Elektro for each space you transit through (blocked spaces, or spaces you choose not to connect) plus the building cost of the target space. Uranium is used. With fewer players, some spaces are blocked at setup (4 players block 14 spaces; 2–3 players block 28). In the physical game the players mutually choose which spaces to block; here the system selects them automatically for your convenience. If you buy the discounted power plant you may purchase another power plant during the same phase. Power plant market: during each Bureaucracy phase the two highest plants of the future market are placed on a discard pile and the market is refilled to 8 from the deck. When the deck runs out for the first time, the discard pile is shuffled and becomes the new deck; from then on, each Bureaucracy phase the highest future-market plant is instead placed under the deck. When the deck runs out for the second time, every plant in the whole market becomes available for auction, and each Bureaucracy phase the lowest plant is removed from the game. If the market is completely empty, no more power plants can be bought. The game ends when a player has connected 18 spaces (17 for 3–4 players, 15 for 5, 14 for 6).\n",deckBuild:"at the start of the game, 4 random plug plants are removed. Of the other 9, 8 are in the starting market and 1 is on the top of the deck. The rest of the deck is random with no plug plants. The Step 3 card is removed from the game. For 2-3 players: also place power plants 20, 22, and 37 into the game box."};(function(e){e["Pink"]="pink",e["Green"]="green",e["Orange"]="orange",e["Yellow"]="yellow",e["Red"]="red",e["Brown"]="brown"})(st||(st={})),function(e){e["Mashhad"]="Mashhad",e["Corgan"]="Corgan",e["Tehran"]="Tehran",e["Tabriz"]="Tabriz",e["Mosul"]="Mosul",e["Kermanshah"]="Kermanshah",e["Baghdad"]="Baghdad",e["Isfahan"]="Isfahan",e["Yazo"]="Yazo",e["Zahedan"]="Zahedan",e["Kerman"]="Kerman",e["Shiraz"]="Shiraz",e["Bandarabbas"]="Bandar Abbas",e["Chabahar"]="Chabahar",e["Dubai"]="Dubai",e["Muscat"]="Muscat",e["Abudhari"]="Abu Dhari",e["Alain"]="Alain",e["Salalah"]="Salalah",e["Doha"]="Doha",e["Manama"]="Manama",e["Ahvaz"]="Ahvaz",e["Basra"]="Basra",e["Najaf"]="Najaf",e["Kuwaitcity"]="Kuwait City",e["Buraydah"]="Buraydah",e["Riyadh"]="Riyadh",e["Medina"]="Medina",e["Alhasahah"]="Al Hasahah",e["Aleppo"]="Aleppo",e["Damascus"]="Damascus",e["Amman"]="Amman",e["Beirut"]="Beirut",e["Jerusalem"]="Jerusalem",e["Aqaba"]="Aqaba",e["Mukalla"]="Mukalla",e["Sanaa"]="Sanaa",e["Aden"]="Aden",e["Alhudaydah"]="Al-Hudaydah",e["Abha"]="Abha",e["Mecca"]="Mecca",e["Jeddah"]="Jeddah"}(ct||(ct={}));var ft,ht,pt={name:"Middle East",cities:[{name:ct.Mashhad,region:st.Pink,x:859,y:327},{name:ct.Corgan,region:st.Pink,x:734,y:287},{name:ct.Tehran,region:st.Pink,x:633,y:342},{name:ct.Tabriz,region:st.Pink,x:450,y:251},{name:ct.Mosul,region:st.Pink,x:352,y:307},{name:ct.Kermanshah,region:st.Pink,x:503,y:391},{name:ct.Baghdad,region:st.Pink,x:393,y:406},{name:ct.Isfahan,region:st.Green,x:621,y:436},{name:ct.Yazo,region:st.Green,x:720,y:472},{name:ct.Zahedan,region:st.Green,x:896,y:547},{name:ct.Kerman,region:st.Green,x:784,y:534},{name:ct.Shiraz,region:st.Green,x:651,y:557},{name:ct.Bandarabbas,region:st.Green,x:756,y:629},{name:ct.Chabahar,region:st.Green,x:898,y:687},{name:ct.Dubai,region:st.Orange,x:752,y:690},{name:ct.Muscat,region:st.Orange,x:828,y:773},{name:ct.Abudhari,region:st.Orange,x:692,y:747},{name:ct.Alain,region:st.Orange,x:715,y:812},{name:ct.Salalah,region:st.Orange,x:694,y:981},{name:ct.Doha,region:st.Orange,x:596,y:713},{name:ct.Manama,region:st.Orange,x:532,y:652},{name:ct.Ahvaz,region:st.Yellow,x:555,y:499},{name:ct.Basra,region:st.Yellow,x:452,y:519},{name:ct.Najaf,region:st.Yellow,x:356,y:478},{name:ct.Kuwaitcity,region:st.Yellow,x:500,y:580},{name:ct.Buraydah,region:st.Yellow,x:360,y:674},{name:ct.Riyadh,region:st.Yellow,x:443,y:741},{name:ct.Medina,region:st.Yellow,x:264,y:738},{name:ct.Alhasahah,region:st.Red,x:248,y:300},{name:ct.Aleppo,region:st.Red,x:132,y:315},{name:ct.Damascus,region:st.Red,x:186,y:433},{name:ct.Amman,region:st.Red,x:171,y:493},{name:ct.Beirut,region:st.Red,x:94,y:401},{name:ct.Jerusalem,region:st.Red,x:76,y:481},{name:ct.Aqaba,region:st.Red,x:103,y:563},{name:ct.Mukalla,region:st.Brown,x:555,y:1059},{name:ct.Sanaa,region:st.Brown,x:426,y:1018},{name:ct.Aden,region:st.Brown,x:431,y:1105},{name:ct.Alhudaydah,region:st.Brown,x:317,y:1057},{name:ct.Abha,region:st.Brown,x:306,y:938},{name:ct.Mecca,region:st.Brown,x:280,y:850},{name:ct.Jeddah,region:st.Brown,x:190,y:800}],connections:[{nodes:[ct.Tabriz,ct.Tehran],cost:13},{nodes:[ct.Tehran,ct.Corgan],cost:9},{nodes:[ct.Corgan,ct.Mashhad],cost:12},{nodes:[ct.Mashhad,ct.Zahedan],cost:20},{nodes:[ct.Zahedan,ct.Kerman],cost:10},{nodes:[ct.Kerman,ct.Yazo],cost:7},{nodes:[ct.Yazo,ct.Mashhad],cost:18},{nodes:[ct.Mashhad,ct.Tehran],cost:19},{nodes:[ct.Tehran,ct.Yazo],cost:12},{nodes:[ct.Yazo,ct.Shiraz],cost:9},{nodes:[ct.Shiraz,ct.Kerman],cost:11},{nodes:[ct.Yazo,ct.Isfahan],cost:7},{nodes:[ct.Isfahan,ct.Shiraz],cost:10},{nodes:[ct.Isfahan,ct.Tehran],cost:9},{nodes:[ct.Tehran,ct.Kermanshah],cost:13},{nodes:[ct.Kermanshah,ct.Isfahan],cost:13},{nodes:[ct.Isfahan,ct.Ahvaz],cost:11},{nodes:[ct.Ahvaz,ct.Shiraz],cost:11},{nodes:[ct.Ahvaz,ct.Kermanshah],cost:11},{nodes:[ct.Kermanshah,ct.Tabriz],cost:13},{nodes:[ct.Tabriz,ct.Mosul],cost:13},{nodes:[ct.Mosul,ct.Baghdad],cost:8},{nodes:[ct.Baghdad,ct.Kermanshah],cost:8},{nodes:[ct.Basra,ct.Ahvaz],cost:3},{nodes:[ct.Ahvaz,ct.Kuwaitcity],cost:7},{nodes:[ct.Kuwaitcity,ct.Basra],cost:5},{nodes:[ct.Basra,ct.Najaf],cost:10},{nodes:[ct.Najaf,ct.Baghdad],cost:4},{nodes:[ct.Baghdad,ct.Basra],cost:12},{nodes:[ct.Alhasahah,ct.Mosul],cost:4},{nodes:[ct.Alhasahah,ct.Baghdad],cost:11},{nodes:[ct.Baghdad,ct.Damascus],cost:16},{nodes:[ct.Damascus,ct.Najaf],cost:15},{nodes:[ct.Alhasahah,ct.Damascus],cost:14},{nodes:[ct.Damascus,ct.Amman],cost:4},{nodes:[ct.Amman,ct.Aqaba],cost:7},{nodes:[ct.Aqaba,ct.Jerusalem],cost:6},{nodes:[ct.Jerusalem,ct.Amman],cost:3},{nodes:[ct.Jerusalem,ct.Beirut],cost:6},{nodes:[ct.Beirut,ct.Damascus],cost:4},{nodes:[ct.Damascus,ct.Aleppo],cost:8},{nodes:[ct.Aleppo,ct.Beirut],cost:9},{nodes:[ct.Aleppo,ct.Alhasahah],cost:7},{nodes:[ct.Baghdad,ct.Tabriz],cost:18},{nodes:[ct.Zahedan,ct.Chabahar],cost:13},{nodes:[ct.Zahedan,ct.Bandarabbas],cost:14},{nodes:[ct.Bandarabbas,ct.Kerman],cost:13},{nodes:[ct.Shiraz,ct.Bandarabbas],cost:14},{nodes:[ct.Bandarabbas,ct.Chabahar],cost:15},{nodes:[ct.Kuwaitcity,ct.Manama],cost:12},{nodes:[ct.Manama,ct.Doha],cost:6},{nodes:[ct.Doha,ct.Abudhari],cost:9},{nodes:[ct.Abudhari,ct.Dubai],cost:2},{nodes:[ct.Dubai,ct.Muscat],cost:9},{nodes:[ct.Muscat,ct.Alain],cost:7},{nodes:[ct.Alain,ct.Abudhari],cost:3},{nodes:[ct.Alain,ct.Dubai],cost:3},{nodes:[ct.Riyadh,ct.Alain],cost:23},{nodes:[ct.Doha,ct.Riyadh],cost:12},{nodes:[ct.Riyadh,ct.Manama],cost:10},{nodes:[ct.Riyadh,ct.Kuwaitcity],cost:12},{nodes:[ct.Kuwaitcity,ct.Buraydah],cost:12},{nodes:[ct.Buraydah,ct.Riyadh],cost:7},{nodes:[ct.Buraydah,ct.Medina],cost:10},{nodes:[ct.Medina,ct.Riyadh],cost:15},{nodes:[ct.Buraydah,ct.Najaf],cost:14},{nodes:[ct.Aqaba,ct.Jeddah],cost:23},{nodes:[ct.Aqaba,ct.Medina],cost:17},{nodes:[ct.Medina,ct.Jeddah],cost:7},{nodes:[ct.Jeddah,ct.Mecca],cost:1},{nodes:[ct.Mecca,ct.Medina],cost:7},{nodes:[ct.Mecca,ct.Riyadh],cost:17},{nodes:[ct.Riyadh,ct.Abha],cost:19},{nodes:[ct.Abha,ct.Mecca],cost:12},{nodes:[ct.Salalah,ct.Muscat],cost:21},{nodes:[ct.Alain,ct.Salalah],cost:18},{nodes:[ct.Salalah,ct.Mukalla],cost:15},{nodes:[ct.Salalah,ct.Sanaa],cost:25},{nodes:[ct.Sanaa,ct.Mukalla],cost:14},{nodes:[ct.Mukalla,ct.Aden],cost:13},{nodes:[ct.Aden,ct.Alhudaydah],cost:9},{nodes:[ct.Alhudaydah,ct.Abha],cost:10},{nodes:[ct.Abha,ct.Sanaa],cost:11},{nodes:[ct.Sanaa,ct.Alhudaydah],cost:5}],layout:"Portrait",mapPosition:[0,-100],resupply:[[[2,1,1],[2,1,1],[3,2,2],[4,3,2],[5,4,3]],[[5,3,2],[5,3,2],[6,3,2],[8,4,3],[9,5,4]],[[1,3,4],[1,3,4],[1,4,6],[1,4,8],[1,6,9]],[[0,2,2],[0,2,2],[0,3,3],[0,3,4],[0,4,5]]],startingResources:[21,21,3,3],startingSupply:[24,24,21,11],mapSpecificRules:"Only coal and oil can be bought for $1, and any number of oil can restock at $1.\nDuring step 1, garbage and uranium plants will be removed from the current market.\nStep 2 will be triggered after going through the deck once rather than by a specific number of cities.\nStep 3 will be triggered after going through the deck a second time."};(function(e){e["Pink"]="pink",e["Brown"]="brown",e["Orange"]="orange",e["Green"]="green",e["Blue"]="blue",e["Yellow"]="yellow",e["Red"]="red"})(ft||(ft={})),function(e){e["Edmonton"]="Edmonton",e["Calgary"]="Calgary",e["Vancouver"]="Vancouver",e["Seattle"]="Seattle",e["Regina"]="Regina",e["Winnipeg"]="Winnipeg",e["Minneapolis"]="Minneapolis",e["Portland"]="Portland",e["SanFrancisco"]="San Francisco",e["LosAngeles"]="Los Angeles",e["SanDiego"]="San Diego",e["SaltLakeCity"]="Salt Lake City",e["LasVegas"]="Las Vegas",e["Denver"]="Denver",e["Albuquerque"]="Albuquerque",e["Juarez"]="Juarez",e["Chihuahua"]="Chihuahua",e["Monterrey"]="Monterrey",e["Guadalajara"]="Guadalajara",e["MexicoCityN"]="Mexico City N",e["MexicoCityS"]="Mexico City S",e["SanAntonio"]="San Antonio",e["DallasFortWorth"]="Dallas-Fort Worth",e["Houston"]="Houston",e["NewOrleans"]="New Orleans",e["Atlanta"]="Atlanta",e["Jacksonville"]="Jacksonville",e["Miami"]="Miami",e["Milwaukee"]="Milwaukee",e["Chicago"]="Chicago",e["KansasCity"]="Kansas City",e["StLouis"]="St. Louis",e["Indianapolis"]="Indianapolis",e["OklahomaCity"]="Oklahoma City",e["Memphis"]="Memphis",e["Toronto"]="Toronto",e["Detroit"]="Detroit",e["Pittsburgh"]="Pittsburgh",e["Columbus"]="Columbus",e["Nashville"]="Nashville",e["Washington"]="Washington",e["Charlotte"]="Charlotte",e["Quebec"]="Quebec",e["Ottawa"]="Ottawa",e["Montreal"]="Montreal",e["NewYorkN"]="New York N",e["NewYorkS"]="New York S",e["Boston"]="Boston",e["Philadelphia"]="Philadelphia"}(ht||(ht={}));var gt,yt,mt,vt={name:"North America",cities:[{name:ht.Edmonton,region:ft.Pink,x:325,y:71},{name:ht.Calgary,region:ft.Pink,x:250,y:190},{name:ht.Vancouver,region:ft.Pink,x:114,y:266},{name:ht.Seattle,region:ft.Pink,x:100,y:387},{name:ht.Regina,region:ft.Pink,x:536,y:277},{name:ht.Winnipeg,region:ft.Pink,x:830,y:272},{name:ht.Minneapolis,region:ft.Pink,x:907,y:486},{name:ht.Portland,region:ft.Brown,x:122,y:516},{name:ht.SanFrancisco,region:ft.Brown,x:123,y:697},{name:ht.LosAngeles,region:ft.Brown,x:160,y:911},{name:ht.SanDiego,region:ft.Brown,x:223,y:1007},{name:ht.SaltLakeCity,region:ft.Brown,x:380,y:555},{name:ht.LasVegas,region:ft.Brown,x:322,y:760},{name:ht.Denver,region:ft.Brown,x:569,y:694},{name:ht.Albuquerque,region:ft.Orange,x:539,y:941},{name:ht.Juarez,region:ft.Orange,x:558,y:1043},{name:ht.Chihuahua,region:ft.Orange,x:577,y:1183},{name:ht.Monterrey,region:ft.Orange,x:791,y:1292},{name:ht.Guadalajara,region:ft.Orange,x:715,y:1391},{name:ht.MexicoCityN,region:ft.Orange,x:913,y:1335},{name:ht.MexicoCityS,region:ft.Orange,x:913,y:1425},{name:ht.SanAntonio,region:ft.Green,x:767,y:1172},{name:ht.DallasFortWorth,region:ft.Green,x:850,y:1020},{name:ht.Houston,region:ft.Green,x:940,y:1145},{name:ht.NewOrleans,region:ft.Green,x:1126,y:1095},{name:ht.Atlanta,region:ft.Green,x:1318,y:1021},{name:ht.Jacksonville,region:ft.Green,x:1398,y:1109},{name:ht.Miami,region:ft.Green,x:1398,y:1235},{name:ht.Milwaukee,region:ft.Blue,x:1206,y:414},{name:ht.Chicago,region:ft.Blue,x:1121,y:531},{name:ht.KansasCity,region:ft.Blue,x:825,y:720},{name:ht.StLouis,region:ft.Blue,x:1047,y:768},{name:ht.Indianapolis,region:ft.Blue,x:1206,y:694},{name:ht.OklahomaCity,region:ft.Blue,x:800,y:870},{name:ht.Memphis,region:ft.Blue,x:1099,y:938},{name:ht.Toronto,region:ft.Yellow,x:1488,y:513},{name:ht.Detroit,region:ft.Yellow,x:1390,y:590},{name:ht.Pittsburgh,region:ft.Yellow,x:1524,y:659},{name:ht.Columbus,region:ft.Yellow,x:1398,y:733},{name:ht.Nashville,region:ft.Yellow,x:1233,y:826},{name:ht.Washington,region:ft.Yellow,x:1554,y:829},{name:ht.Charlotte,region:ft.Yellow,x:1480,y:965},{name:ht.Quebec,region:ft.Red,x:1911,y:354},{name:ht.Ottawa,region:ft.Red,x:1653,y:458},{name:ht.Montreal,region:ft.Red,x:1875,y:461},{name:ht.NewYorkN,region:ft.Red,x:1727,y:561},{name:ht.NewYorkS,region:ft.Red,x:1727,y:637},{name:ht.Boston,region:ft.Red,x:1928,y:579},{name:ht.Philadelphia,region:ft.Red,x:1724,y:755}],connections:[{nodes:[ht.Edmonton,ht.Calgary],cost:5},{nodes:[ht.Calgary,ht.Vancouver],cost:16},{nodes:[ht.Vancouver,ht.Seattle],cost:4},{nodes:[ht.Edmonton,ht.Regina],cost:15},{nodes:[ht.Calgary,ht.Regina],cost:14},{nodes:[ht.Vancouver,ht.Regina],cost:28},{nodes:[ht.Regina,ht.Winnipeg],cost:11},{nodes:[ht.Winnipeg,ht.Minneapolis],cost:13},{nodes:[ht.Seattle,ht.Portland],cost:5},{nodes:[ht.Regina,ht.SaltLakeCity],cost:29},{nodes:[ht.Regina,ht.Denver],cost:24},{nodes:[ht.Winnipeg,ht.Denver],cost:26},{nodes:[ht.Minneapolis,ht.Denver],cost:23},{nodes:[ht.Portland,ht.SanFrancisco],cost:20},{nodes:[ht.SanFrancisco,ht.LosAngeles],cost:12},{nodes:[ht.LosAngeles,ht.SanDiego],cost:3},{nodes:[ht.Portland,ht.SaltLakeCity],cost:22},{nodes:[ht.SanFrancisco,ht.SaltLakeCity],cost:22},{nodes:[ht.SanFrancisco,ht.LasVegas],cost:16},{nodes:[ht.SaltLakeCity,ht.LasVegas],cost:14},{nodes:[ht.LasVegas,ht.LosAngeles],cost:8},{nodes:[ht.SaltLakeCity,ht.Denver],cost:14},{nodes:[ht.LasVegas,ht.Denver],cost:25},{nodes:[ht.LosAngeles,ht.Albuquerque],cost:25},{nodes:[ht.LasVegas,ht.Albuquerque],cost:18},{nodes:[ht.Denver,ht.Albuquerque],cost:12},{nodes:[ht.SanDiego,ht.Juarez],cost:22},{nodes:[ht.Albuquerque,ht.Juarez],cost:9},{nodes:[ht.Juarez,ht.Chihuahua],cost:8},{nodes:[ht.Chihuahua,ht.Monterrey],cost:14},{nodes:[ht.Chihuahua,ht.Guadalajara],cost:23},{nodes:[ht.Monterrey,ht.Guadalajara],cost:16},{nodes:[ht.Monterrey,ht.MexicoCityS],cost:17},{nodes:[ht.Guadalajara,ht.MexicoCityS],cost:10},{nodes:[ht.MexicoCityN,ht.MexicoCityS],cost:0},{nodes:[ht.Albuquerque,ht.OklahomaCity],cost:18},{nodes:[ht.Juarez,ht.DallasFortWorth],cost:19},{nodes:[ht.Juarez,ht.SanAntonio],cost:18},{nodes:[ht.Chihuahua,ht.SanAntonio],cost:16},{nodes:[ht.Monterrey,ht.SanAntonio],cost:10},{nodes:[ht.Milwaukee,ht.Chicago],cost:3},{nodes:[ht.Chicago,ht.KansasCity],cost:16},{nodes:[ht.Chicago,ht.StLouis],cost:9},{nodes:[ht.Chicago,ht.Indianapolis],cost:6},{nodes:[ht.KansasCity,ht.StLouis],cost:8},{nodes:[ht.StLouis,ht.Indianapolis],cost:8},{nodes:[ht.KansasCity,ht.OklahomaCity],cost:10},{nodes:[ht.KansasCity,ht.Memphis],cost:14},{nodes:[ht.StLouis,ht.Memphis],cost:9},{nodes:[ht.OklahomaCity,ht.Memphis],cost:15},{nodes:[ht.Milwaukee,ht.Minneapolis],cost:10},{nodes:[ht.KansasCity,ht.Minneapolis],cost:14},{nodes:[ht.KansasCity,ht.Denver],cost:19},{nodes:[ht.OklahomaCity,ht.Denver],cost:17},{nodes:[ht.OklahomaCity,ht.DallasFortWorth],cost:7},{nodes:[ht.Memphis,ht.DallasFortWorth],cost:15},{nodes:[ht.Memphis,ht.NewOrleans],cost:14},{nodes:[ht.Memphis,ht.Atlanta],cost:12},{nodes:[ht.DallasFortWorth,ht.SanAntonio],cost:9},{nodes:[ht.DallasFortWorth,ht.Houston],cost:8},{nodes:[ht.DallasFortWorth,ht.NewOrleans],cost:16},{nodes:[ht.SanAntonio,ht.Houston],cost:6},{nodes:[ht.Houston,ht.NewOrleans],cost:12},{nodes:[ht.NewOrleans,ht.Atlanta],cost:16},{nodes:[ht.NewOrleans,ht.Jacksonville],cost:20},{nodes:[ht.Atlanta,ht.Jacksonville],cost:10},{nodes:[ht.Jacksonville,ht.Miami],cost:12},{nodes:[ht.Atlanta,ht.Nashville],cost:9},{nodes:[ht.Atlanta,ht.Charlotte],cost:8},{nodes:[ht.Jacksonville,ht.Charlotte],cost:12},{nodes:[ht.Toronto,ht.Detroit],cost:8},{nodes:[ht.Toronto,ht.Pittsburgh],cost:11},{nodes:[ht.Detroit,ht.Columbus],cost:7},{nodes:[ht.Columbus,ht.Pittsburgh],cost:6},{nodes:[ht.Nashville,ht.Columbus],cost:15},{nodes:[ht.Nashville,ht.Washington],cost:22},{nodes:[ht.Nashville,ht.Charlotte],cost:12},{nodes:[ht.Columbus,ht.Washington],cost:12},{nodes:[ht.Washington,ht.Pittsburgh],cost:7},{nodes:[ht.Washington,ht.Charlotte],cost:12},{nodes:[ht.Detroit,ht.Chicago],cost:10},{nodes:[ht.Columbus,ht.Chicago],cost:10},{nodes:[ht.Columbus,ht.Indianapolis],cost:7},{nodes:[ht.Nashville,ht.Indianapolis],cost:9},{nodes:[ht.Nashville,ht.StLouis],cost:9},{nodes:[ht.Nashville,ht.Memphis],cost:7},{nodes:[ht.Toronto,ht.Ottawa],cost:8},{nodes:[ht.Toronto,ht.NewYorkS],cost:14},{nodes:[ht.Pittsburgh,ht.NewYorkS],cost:11},{nodes:[ht.Pittsburgh,ht.Philadelphia],cost:9},{nodes:[ht.Washington,ht.Philadelphia],cost:5},{nodes:[ht.Quebec,ht.Montreal],cost:5},{nodes:[ht.Montreal,ht.Boston],cost:9},{nodes:[ht.Ottawa,ht.Montreal],cost:3},{nodes:[ht.Ottawa,ht.NewYorkS],cost:13},{nodes:[ht.Montreal,ht.NewYorkS],cost:12},{nodes:[ht.NewYorkS,ht.Boston],cost:7},{nodes:[ht.NewYorkS,ht.Philadelphia],cost:3},{nodes:[ht.NewYorkN,ht.NewYorkS],cost:0}],layout:"Landscape",adjustRatio:[.5,.38],mapPosition:[70,50],mapRotation:-2,resupply:[[[2,5,2],[2,5,2],[3,6,3],[4,7,4],[5,8,5]],[[3,1,3],[3,1,3],[3,2,4],[4,2,5],[5,3,6]],[[2,2,4],[2,2,4],[3,3,5],[3,3,6],[4,4,7]],[[2,1,2],[2,1,2],[2,1,2],[3,2,3],[3,2,4]]],coalPrices:[1,1,1,1,2,2,2,2,3,3,3,3,4,4,5,5,6,6,7,7,8,8,9,9],oilPrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,9,9],garbagePrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],uraniumPrices:[1,2,3,4,5,6,7,7,8,8,9,9],startingResources:[20,14,18,2],startingSupply:[24,24,24,12]};(function(e){e["Brown"]="brown",e["Yellow"]="yellow",e["Pink"]="pink",e["Purple"]="purple",e["Orange"]="orange",e["Red"]="red"})(yt||(yt={})),function(e){e["Oulu"]="Oulu",e["Kuopid"]="Kuopid",e["Tampere"]="Tampere",e["Helsinki"]="Helsinki",e["Espoo"]="Espoo",e["Pori"]="Pori",e["Turku"]="Turku",e["Uppsala"]="Uppsala",e["Stockholm"]="Stockholm",e["Vasteras"]="Vasteras",e["Drebro"]="Drebro",e["Sundsvall"]="Sundsvall",e["Lulea"]="Lulea",e["Ostersund"]="Ostersund",e["Tallinn"]="Tallinn",e["Tartu"]="Tartu",e["Daugavpils"]="Daugavpils",e["Vilnius"]="Vilnius",e["Kaunas"]="Kaunas",e["Riga"]="Riga",e["Klaipeda"]="Klaipeda",e["Karlstad"]="Karlstad",e["Linkopinc"]="Linkopinc",e["Jonkoping"]="Jonkoping",e["Visby"]="Visby",e["Kristianstad"]="Kristianstad",e["Malmo"]="Malmo",e["Goteborg"]="Goteborg",e["Aalborg"]="Aalborg",e["Aarhus"]="Aarhus",e["Kobenhavn"]="Kobenhavn",e["Nykobingfalster"]="Nykobing Falster",e["Ringkobing"]="Ringkobing",e["Esbjerg"]="Esbjerg",e["Odense"]="Odense",e["Tromso"]="Tromso",e["Bood"]="Bood",e["Trondheim"]="Trondheim",e["Oslo"]="Oslo",e["Arendal"]="Arendal",e["Bergen"]="Bergen",e["Stavanger"]="Stavanger"}(mt||(mt={}));var bt,wt,xt={name:"Northern Europe",noUraniumRegions:[yt.Red,yt.Orange],cities:[{name:mt.Oulu,region:yt.Brown,x:514,y:376},{name:mt.Kuopid,region:yt.Brown,x:551,y:474},{name:mt.Tampere,region:yt.Brown,x:492,y:544},{name:mt.Helsinki,region:yt.Brown,x:530,y:602},{name:mt.Espoo,region:yt.Brown,x:457,y:603},{name:mt.Pori,region:yt.Brown,x:400,y:526},{name:mt.Turku,region:yt.Brown,x:409,y:593},{name:mt.Uppsala,region:yt.Yellow,x:350,y:585},{name:mt.Stockholm,region:yt.Yellow,x:380,y:660},{name:mt.Vasteras,region:yt.Yellow,x:295,y:576},{name:mt.Drebro,region:yt.Yellow,x:295,y:628},{name:mt.Sundsvall,region:yt.Yellow,x:332,y:506},{name:mt.Lulea,region:yt.Yellow,x:423,y:345},{name:mt.Ostersund,region:yt.Yellow,x:272,y:462},{name:mt.Tallinn,region:yt.Pink,x:475,y:656},{name:mt.Tartu,region:yt.Pink,x:544,y:689},{name:mt.Daugavpils,region:yt.Pink,x:547,y:771},{name:mt.Vilnius,region:yt.Pink,x:520,y:819},{name:mt.Kaunas,region:yt.Pink,x:458,y:811},{name:mt.Riga,region:yt.Pink,x:472,y:734},{name:mt.Klaipeda,region:yt.Pink,x:411,y:784},{name:mt.Karlstad,region:yt.Purple,x:246,y:629},{name:mt.Linkopinc,region:yt.Purple,x:309,y:676},{name:mt.Jonkoping,region:yt.Purple,x:285,y:712},{name:mt.Visby,region:yt.Purple,x:364,y:717},{name:mt.Kristianstad,region:yt.Purple,x:330,y:750},{name:mt.Malmo,region:yt.Purple,x:287,y:787},{name:mt.Goteborg,region:yt.Purple,x:231,y:700},{name:mt.Aalborg,region:yt.Orange,x:177,y:717},{name:mt.Aarhus,region:yt.Orange,x:195,y:758},{name:mt.Kobenhavn,region:yt.Orange,x:228,y:792},{name:mt.Nykobingfalster,region:yt.Orange,x:238,y:842},{name:mt.Ringkobing,region:yt.Orange,x:120,y:733},{name:mt.Esbjerg,region:yt.Orange,x:104,y:787},{name:mt.Odense,region:yt.Orange,x:148,y:824},{name:mt.Tromso,region:yt.Red,x:371,y:122},{name:mt.Bood,region:yt.Red,x:276,y:254},{name:mt.Trondheim,region:yt.Red,x:173,y:450},{name:mt.Oslo,region:yt.Red,x:176,y:606},{name:mt.Arendal,region:yt.Red,x:145,y:651},{name:mt.Bergen,region:yt.Red,x:68,y:586},{name:mt.Stavanger,region:yt.Red,x:72,y:647}],layout:"Portrait",adjustRatio:[1.5,1.2],mapPosition:[60,-40],mapRotation:20,viewBox:[1480,1326],supplyPosition:[675,1184],startingResources:[18,18,12,6],resupply:[[[2,4,3],[3,4,4],[4,5,5],[4,5,6],[6,8,5]],[[1,2,3],[2,2,3],[2,3,4],[3,4,5],[4,5,6]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,2,2],[1,2,2],[2,3,2],[2,4,3],[2,4,4]]],regionalPowerPlants:(gt={},m(gt,yt.Orange,[{number:19,type:Me.Oil,cost:2,citiesPowered:4},{number:26,type:Me.Oil,cost:3,citiesPowered:5}]),m(gt,yt.Red,[{number:7,type:Me.Wind,cost:0,citiesPowered:1},{number:46,type:Me.Wind,cost:0,citiesPowered:6}]),m(gt,yt.Purple,[{number:10,type:Me.Uranium,cost:2,citiesPowered:3},{number:39,type:Me.Wind,cost:0,citiesPowered:5}]),m(gt,yt.Yellow,[{number:21,type:Me.Wind,cost:0,citiesPowered:2},{number:25,type:Me.Uranium,cost:1,citiesPowered:4}]),m(gt,yt.Brown,[{number:32,type:Me.Garbage,cost:2,citiesPowered:6},{number:44,type:Me.Uranium,cost:1,citiesPowered:7}]),m(gt,yt.Pink,[{number:18,type:Me.Oil,cost:1,citiesPowered:3},{number:22,type:Me.Wind,cost:0,citiesPowered:3}]),gt),mapSpecificRules:"Nuclear plants may only be purchased by players with at least one city in Sweden, Finland, or the Baltic States. Players with cities only in Norway or Denmark may not bid on or buy nuclear plants. Resources start at: coal 3 Elektro, oil 3 Elektro, garbage 5 Elektro, uranium 7 Elektro.\n",deckBuild:"standard setup; the regions in play swap in regional versions of certain power plants (same numbers, different fuel or output).",connections:[{nodes:[mt.Bood,mt.Tromso],cost:17},{nodes:[mt.Tromso,mt.Oulu],cost:25},{nodes:[mt.Oulu,mt.Kuopid],cost:10},{nodes:[mt.Lulea,mt.Tromso],cost:19},{nodes:[mt.Lulea,mt.Oulu],cost:13},{nodes:[mt.Oulu,mt.Pori],cost:15},{nodes:[mt.Oulu,mt.Tampere],cost:14},{nodes:[mt.Sundsvall,mt.Lulea],cost:16},{nodes:[mt.Lulea,mt.Bood],cost:16},{nodes:[mt.Bood,mt.Ostersund],cost:18},{nodes:[mt.Ostersund,mt.Lulea],cost:17},{nodes:[mt.Lulea,mt.Pori],cost:22},{nodes:[mt.Pori,mt.Sundsvall],cost:17},{nodes:[mt.Bood,mt.Trondheim],cost:21},{nodes:[mt.Trondheim,mt.Bergen],cost:17},{nodes:[mt.Trondheim,mt.Oslo],cost:17},{nodes:[mt.Oslo,mt.Ostersund],cost:18},{nodes:[mt.Ostersund,mt.Karlstad],cost:16},{nodes:[mt.Bergen,mt.Oslo],cost:15},{nodes:[mt.Oslo,mt.Stavanger],cost:11},{nodes:[mt.Stavanger,mt.Arendal],cost:8},{nodes:[mt.Arendal,mt.Oslo],cost:7},{nodes:[mt.Bergen,mt.Stavanger],cost:9},{nodes:[mt.Arendal,mt.Ringkobing],cost:19},{nodes:[mt.Ringkobing,mt.Esbjerg],cost:4},{nodes:[mt.Esbjerg,mt.Odense],cost:5},{nodes:[mt.Odense,mt.Nykobingfalster],cost:8},{nodes:[mt.Arendal,mt.Aalborg],cost:16},{nodes:[mt.Arendal,mt.Goteborg],cost:19},{nodes:[mt.Goteborg,mt.Oslo],cost:11},{nodes:[mt.Oslo,mt.Karlstad],cost:7},{nodes:[mt.Karlstad,mt.Goteborg],cost:9},{nodes:[mt.Karlstad,mt.Jonkoping],cost:9},{nodes:[mt.Karlstad,mt.Linkopinc],cost:7},{nodes:[mt.Tampere,mt.Kuopid],cost:10},{nodes:[mt.Tampere,mt.Pori],cost:4},{nodes:[mt.Tampere,mt.Turku],cost:5},{nodes:[mt.Tampere,mt.Espoo],cost:5},{nodes:[mt.Tampere,mt.Helsinki],cost:6},{nodes:[mt.Helsinki,mt.Espoo],cost:2},{nodes:[mt.Espoo,mt.Tallinn],cost:7},{nodes:[mt.Tallinn,mt.Helsinki],cost:7},{nodes:[mt.Visby,mt.Kristianstad],cost:13},{nodes:[mt.Visby,mt.Klaipeda],cost:19},{nodes:[mt.Visby,mt.Riga],cost:20},{nodes:[mt.Riga,mt.Tallinn],cost:11},{nodes:[mt.Tallinn,mt.Tartu],cost:5},{nodes:[mt.Tartu,mt.Daugavpils],cost:9},{nodes:[mt.Riga,mt.Tartu],cost:7},{nodes:[mt.Daugavpils,mt.Kaunas],cost:7},{nodes:[mt.Kaunas,mt.Vilnius],cost:3},{nodes:[mt.Kaunas,mt.Klaipeda],cost:7},{nodes:[mt.Klaipeda,mt.Riga],cost:8},{nodes:[mt.Riga,mt.Kaunas],cost:8},{nodes:[mt.Riga,mt.Daugavpils],cost:7},{nodes:[mt.Daugavpils,mt.Vilnius],cost:5},{nodes:[mt.Vasteras,mt.Sundsvall],cost:10},{nodes:[mt.Sundsvall,mt.Ostersund],cost:7},{nodes:[mt.Uppsala,mt.Stockholm],cost:2},{nodes:[mt.Uppsala,mt.Turku],cost:15},{nodes:[mt.Uppsala,mt.Pori],cost:17},{nodes:[mt.Uppsala,mt.Sundsvall],cost:11},{nodes:[mt.Vasteras,mt.Drebro],cost:5},{nodes:[mt.Drebro,mt.Linkopinc],cost:3},{nodes:[mt.Linkopinc,mt.Stockholm],cost:7},{nodes:[mt.Visby,mt.Stockholm],cost:12},{nodes:[mt.Visby,mt.Linkopinc],cost:9},{nodes:[mt.Jonkoping,mt.Malmo],cost:10},{nodes:[mt.Jonkoping,mt.Kristianstad],cost:8},{nodes:[mt.Kristianstad,mt.Malmo],cost:3},{nodes:[mt.Malmo,mt.Kobenhavn],cost:3},{nodes:[mt.Kobenhavn,mt.Nykobingfalster],cost:6},{nodes:[mt.Odense,mt.Aarhus],cost:7},{nodes:[mt.Aarhus,mt.Aalborg],cost:3},{nodes:[mt.Aalborg,mt.Goteborg],cost:11},{nodes:[mt.Kobenhavn,mt.Goteborg],cost:18},{nodes:[mt.Goteborg,mt.Jonkoping],cost:4},{nodes:[mt.Trondheim,mt.Ostersund],cost:9},{nodes:[mt.Vasteras,mt.Stockholm],cost:4},{nodes:[mt.Esbjerg,mt.Aarhus],cost:5},{nodes:[mt.Jonkoping,mt.Linkopinc],cost:5},{nodes:[mt.Kobenhavn,mt.Jonkoping],cost:12},{nodes:[mt.Karlstad,mt.Drebro],cost:4},{nodes:[mt.Vasteras,mt.Uppsala],cost:2},{nodes:[mt.Odense,mt.Kobenhavn],cost:7},{nodes:[mt.Kobenhavn,mt.Aarhus],cost:10},{nodes:[mt.Ringkobing,mt.Aalborg],cost:5},{nodes:[mt.Linkopinc,mt.Kristianstad],cost:9},{nodes:[mt.Drebro,mt.Stockholm],cost:7},{nodes:[mt.Espoo,mt.Turku],cost:4},{nodes:[mt.Pori,mt.Turku],cost:4}]};(function(e){e["Green"]="green",e["Brown"]="brown",e["Pink"]="pink",e["Red"]="red",e["Yellow"]="yellow",e["Purple"]="purple"})(bt||(bt={})),function(e){e["Septiles"]="Sept-Iles",e["Portcartier"]="Port-Cartier",e["Baiecomeau"]="Baie-Comeau",e["Chicoutimi"]="Chicoutimi",e["Alma"]="Alma",e["Roberval"]="Roberval",e["Jonquiere"]="Jonquiere",e["Gaspe"]="Gaspe",e["Steannedesmonts"]="Ste-Anne-Des-Monts",e["Matane"]="Matane",e["Rimouski"]="Rimouski",e["Pointealacroix"]="Pointe-A-La-Croix",e["Riviereduloup"]="Riviere-Du-Loup",e["Montmagny"]="Montmagny",e["Stgeorges"]="St-Georges",e["Sherbrooke"]="Sherbrooke",e["Victoriaville"]="Victoriaville",e["Stsimeon"]="St-Simeon",e["Charlesbourg"]="Charlesbourg",e["Quebec"]="Quebec",e["Beauport"]="Beauport",e["Granby"]="Granby",e["Sthyacinthe"]="St-Hyacinthe",e["Brossard"]="Brossard",e["Valleyfield"]="Valleyfield",e["Vaudreuildorion"]="Vaudreuil-Dorion",e["Montreal"]="Montreal",e["Pointeclaire"]="Pointe-Claire",e["Shawinigan"]="Shawinigan",e["Troisrivieres"]="Trois-Rivieres",e["Drummondville"]="Drummond-Ville",e["Repentigny"]="Repentigny",e["Longueuil"]="Longueuil",e["Laval"]="Laval",e["Lachute"]="Lachute",e["Amos"]="Amos",e["Valdor"]="Val-Dor",e["Rouynnoranda"]="Rouyn-Noranda",e["Montlaurier"]="Mont-Laurier",e["Maniwaki"]="Maniwaki",e["Gatineau"]="Gatineau",e["Hull"]="Hull"}(wt||(wt={}));var kt,Mt,Pt={name:"Quebec",cities:[{name:wt.Septiles,region:bt.Green,x:3524,y:228},{name:wt.Portcartier,region:bt.Green,x:3328,y:370},{name:wt.Baiecomeau,region:bt.Green,x:3066,y:630},{name:wt.Chicoutimi,region:bt.Green,x:2392,y:898},{name:wt.Alma,region:bt.Green,x:2172,y:844},{name:wt.Roberval,region:bt.Green,x:1944,y:950},{name:wt.Jonquiere,region:bt.Green,x:2240,y:1052},{name:wt.Gaspe,region:bt.Brown,x:4014,y:808},{name:wt.Steannedesmonts,region:bt.Brown,x:3512,y:708},{name:wt.Matane,region:bt.Brown,x:3244,y:808},{name:wt.Rimouski,region:bt.Brown,x:2990,y:946},{name:wt.Pointealacroix,region:bt.Brown,x:3492,y:1094},{name:wt.Riviereduloup,region:bt.Brown,x:2780,y:1208},{name:wt.Montmagny,region:bt.Brown,x:2522,y:1534},{name:wt.Stgeorges,region:bt.Pink,x:2506,y:1836},{name:wt.Sherbrooke,region:bt.Pink,x:2242,y:2128},{name:wt.Victoriaville,region:bt.Pink,x:2178,y:1822},{name:wt.Stsimeon,region:bt.Pink,x:2576,y:1146},{name:wt.Charlesbourg,region:bt.Pink,x:2246,y:1434},{name:wt.Quebec,region:bt.Pink,x:2302,y:1536},{name:wt.Beauport,region:bt.Pink,x:2196,y:1524},{name:wt.Granby,region:bt.Red,x:1974,y:2160},{name:wt.Sthyacinthe,region:bt.Red,x:1796,y:2038},{name:wt.Brossard,region:bt.Red,x:1790,y:2296},{name:wt.Valleyfield,region:bt.Red,x:1576,y:2306},{name:wt.Vaudreuildorion,region:bt.Red,x:1414,y:2186},{name:wt.Montreal,region:bt.Red,x:1624,y:2052},{name:wt.Pointeclaire,region:bt.Red,x:1510,y:2060},{name:wt.Shawinigan,region:bt.Yellow,x:1864,y:1448},{name:wt.Troisrivieres,region:bt.Yellow,x:1918,y:1650},{name:wt.Drummondville,region:bt.Yellow,x:1984,y:1886},{name:wt.Repentigny,region:bt.Yellow,x:1696,y:1820},{name:wt.Longueuil,region:bt.Yellow,x:1598,y:1964},{name:wt.Laval,region:bt.Yellow,x:1512,y:1990},{name:wt.Lachute,region:bt.Yellow,x:1364,y:1944},{name:wt.Amos,region:bt.Purple,x:492,y:868},{name:wt.Valdor,region:bt.Purple,x:570,y:1098},{name:wt.Rouynnoranda,region:bt.Purple,x:236,y:1028},{name:wt.Montlaurier,region:bt.Purple,x:1180,y:1630},{name:wt.Maniwaki,region:bt.Purple,x:964,y:1760},{name:wt.Gatineau,region:bt.Purple,x:1076,y:2096},{name:wt.Hull,region:bt.Purple,x:862,y:2104}],connections:[{nodes:[wt.Maniwaki,wt.Montlaurier],cost:5},{nodes:[wt.Maniwaki,wt.Valdor],cost:24},{nodes:[wt.Valdor,wt.Amos],cost:8},{nodes:[wt.Amos,wt.Rouynnoranda],cost:9},{nodes:[wt.Rouynnoranda,wt.Valdor],cost:12},{nodes:[wt.Hull,wt.Maniwaki],cost:15},{nodes:[wt.Hull,wt.Gatineau],cost:0},{nodes:[wt.Gatineau,wt.Montlaurier],cost:16},{nodes:[wt.Montlaurier,wt.Lachute],cost:18},{nodes:[wt.Shawinigan,wt.Troisrivieres],cost:3},{nodes:[wt.Troisrivieres,wt.Drummondville],cost:9},{nodes:[wt.Drummondville,wt.Victoriaville],cost:6},{nodes:[wt.Victoriaville,wt.Stgeorges],cost:10},{nodes:[wt.Stgeorges,wt.Sherbrooke],cost:15},{nodes:[wt.Sherbrooke,wt.Granby],cost:8},{nodes:[wt.Granby,wt.Sthyacinthe],cost:4},{nodes:[wt.Sthyacinthe,wt.Drummondville],cost:6},{nodes:[wt.Troisrivieres,wt.Victoriaville],cost:9},{nodes:[wt.Victoriaville,wt.Sherbrooke],cost:9},{nodes:[wt.Sherbrooke,wt.Drummondville],cost:9},{nodes:[wt.Sthyacinthe,wt.Repentigny],cost:7},{nodes:[wt.Sthyacinthe,wt.Brossard],cost:5},{nodes:[wt.Brossard,wt.Valleyfield],cost:8},{nodes:[wt.Valleyfield,wt.Vaudreuildorion],cost:4},{nodes:[wt.Gatineau,wt.Lachute],cost:14},{nodes:[wt.Montlaurier,wt.Shawinigan],cost:28},{nodes:[wt.Shawinigan,wt.Beauport],cost:14},{nodes:[wt.Beauport,wt.Troisrivieres],cost:15},{nodes:[wt.Troisrivieres,wt.Repentigny],cost:13},{nodes:[wt.Repentigny,wt.Longueuil],cost:3},{nodes:[wt.Laval,wt.Lachute],cost:6},{nodes:[wt.Vaudreuildorion,wt.Pointeclaire],cost:3},{nodes:[wt.Montreal,wt.Brossard],cost:4},{nodes:[wt.Laval,wt.Longueuil],cost:0},{nodes:[wt.Pointeclaire,wt.Montreal],cost:0},{nodes:[wt.Montreal,wt.Longueuil],cost:0},{nodes:[wt.Pointeclaire,wt.Laval],cost:0},{nodes:[wt.Beauport,wt.Charlesbourg],cost:0},{nodes:[wt.Charlesbourg,wt.Quebec],cost:0},{nodes:[wt.Quebec,wt.Beauport],cost:0},{nodes:[wt.Victoriaville,wt.Beauport],cost:12},{nodes:[wt.Quebec,wt.Stgeorges],cost:12},{nodes:[wt.Stgeorges,wt.Montmagny],cost:12},{nodes:[wt.Montmagny,wt.Riviereduloup],cost:16},{nodes:[wt.Jonquiere,wt.Charlesbourg],cost:21},{nodes:[wt.Montmagny,wt.Quebec],cost:5},{nodes:[wt.Stsimeon,wt.Charlesbourg],cost:18},{nodes:[wt.Drummondville,wt.Granby],cost:4},{nodes:[wt.Roberval,wt.Shawinigan],cost:25},{nodes:[wt.Jonquiere,wt.Stsimeon],cost:16},{nodes:[wt.Roberval,wt.Jonquiere],cost:10},{nodes:[wt.Jonquiere,wt.Alma],cost:4},{nodes:[wt.Alma,wt.Chicoutimi],cost:4},{nodes:[wt.Jonquiere,wt.Chicoutimi],cost:0},{nodes:[wt.Chicoutimi,wt.Baiecomeau],cost:23},{nodes:[wt.Stsimeon,wt.Baiecomeau],cost:23},{nodes:[wt.Baiecomeau,wt.Portcartier],cost:16},{nodes:[wt.Septiles,wt.Portcartier],cost:6},{nodes:[wt.Riviereduloup,wt.Rimouski],cost:12},{nodes:[wt.Rimouski,wt.Matane],cost:11},{nodes:[wt.Matane,wt.Pointealacroix],cost:15},{nodes:[wt.Matane,wt.Steannedesmonts],cost:10},{nodes:[wt.Pointealacroix,wt.Steannedesmonts],cost:16},{nodes:[wt.Steannedesmonts,wt.Gaspe],cost:21},{nodes:[wt.Gaspe,wt.Pointealacroix],cost:25}],layout:"Portrait",adjustRatio:[.25,.35],mapPosition:[-20,75],resupply:[[[3,3,3],[4,4,3],[5,4,4],[5,5,5],[7,6,6]],[[2,2,3],[2,3,3],[3,4,4],[4,5,4],[5,6,5]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[21,21,6,2],setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(yn);if("original"==n){var i=a.filter((function(e){return[13,18,22].includes(e.number)})),s=a.filter((function(e){return(e.type==Me.Wind||e.type==Me.Nuclear)&&![13,18,22].includes(e.number)})),c=a.filter((function(e){return e.type!=Me.Wind&&e.type!=Me.Nuclear}));a=c.slice(8),r=[Ar(3),Ar(4),Ar(5),Ar(6)],o=[Ar(7),Ar(8),Ar(9),Ar(10)];var u=a.pop();a=an(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a=a.concat(s),a=an(a,t()+""),a=i.concat(a),a.push(u)}else{var l=a.pop(),d=a.filter((function(e){return e.number>=3&&e.number<=10})),f=a.filter((function(e){return 13==e.number})),h=a.filter((function(e){return 18==e.number||22==e.number})),p=a.filter((function(e){return![13,18,22].includes(e.number)&&(e.type==Me.Wind||e.type==Me.Nuclear)})),g=a.filter((function(e){return e.type!=Me.Wind&&e.number>=11&&e.number<=15})),y=a.filter((function(e){return e.type!=Me.Wind&&e.type!=Me.Nuclear&&e.number>=16}));2==e?(g=an(g,t()+"").slice(1),y=an(y,t()+"").slice(5)):3==e?(g=an(g,t()+"").slice(2),y=an(y,t()+"").slice(6)):4==e&&(g=an(g,t()+"").slice(1),y=an(y,t()+"").slice(3));var m=an(d.concat(f).concat(g),t()+""),v=m.splice(0,8);v=v.sort((function(e,n){return e.number-n.number})),r=v.splice(0,4),o=v;var b=m.splice(0,1);a=m.concat(p).concat(y),a=an(a,t()+""),a=b.concat(h).concat(a).concat([l])}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},mapSpecificRules:"Ecological power plants will never be put on the bottom of the deck.\n",deckBuild:{recharged:"the starting market is drawn from the low plants (including 13); one more low plant goes on top of the deck, with 18 and 22 placed directly beneath it. Ecological plants (wind and fusion) are never removed during setup.",original:"power plants 13, 18, 22 are set aside and placed on top of the deck (13 topmost); ecological plants are excluded from the player-count removal."}};(function(e){e["Green"]="green",e["Pink"]="pink",e["Red"]="red",e["Yellow"]="yellow",e["Purple"]="purple",e["Brown"]="brown"})(kt||(kt={})),function(e){e["Murmansk"]="Murmansk",e["Arkhangelsk"]="Arkhangelsk",e["Syktyvkar"]="Syktyvkar",e["Kirov"]="Kirov",e["Kazan"]="Kazan",e["Cheboksary"]="Cheboksary",e["Ulyanovsk"]="Ulyanovsk",e["Tula"]="Tula",e["Kaliningrad"]="Kaliningrad",e["Ryazan"]="Ryazan",e["Nizhnynovgorod"]="Nizhny Novgorod",e["Moscow"]="Moscow",e["Stpetersburg"]="St Petersburg",e["Yaroslavl"]="Yaroslavl",e["Chita"]="Chita",e["Bratsk"]="Bratsk",e["Krasnoyarsk"]="Krasnoyarsk",e["Kemerovd"]="Kemerovd",e["Novokuznetsk"]="Novokuznetsk",e["Irkutsk"]="Irkutsk",e["Ulanude"]="Ulan Ude",e["Norilsk"]="Norilsk",e["Surgut"]="Surgut",e["Tyumen"]="Tyumen",e["Tomsk"]="Tomsk",e["Novosibirsk"]="Novosibirsk",e["Barnaul"]="Barnaul",e["Omsk"]="Omsk",e["Chelyabinsk"]="Chelyabinsk",e["Ufa"]="Ufa",e["Perm"]="Perm",e["Yekaterinburg"]="Yekaterinburg",e["Orenburg"]="Orenburg",e["Naberezhnyechelny"]="Naberezhnye Chelny",e["Samara"]="Samara",e["Astrakhan"]="Astrakhan",e["Makhachkala"]="Makhachkala",e["Saratov"]="Saratov",e["Volgograd"]="Volgograd",e["Krasnodar"]="Krasnodar",e["Rostov"]="Rostov",e["Voronezh"]="Voronezh"}(Mt||(Mt={}));var _t,St,Ct={name:"Russia",cities:[{name:Mt.Murmansk,region:kt.Green,x:1574,y:351},{name:Mt.Arkhangelsk,region:kt.Green,x:1456,y:695},{name:Mt.Syktyvkar,region:kt.Green,x:1669,y:1005},{name:Mt.Kirov,region:kt.Green,x:1457,y:1172},{name:Mt.Kazan,region:kt.Green,x:1378,y:1478},{name:Mt.Cheboksary,region:kt.Green,x:1200,y:1328},{name:Mt.Ulyanovsk,region:kt.Green,x:884,y:1448},{name:Mt.Tula,region:kt.Pink,x:485,y:1077},{name:Mt.Kaliningrad,region:kt.Pink,x:394,y:606},{name:Mt.Ryazan,region:kt.Pink,x:793,y:1193},{name:Mt.Nizhnynovgorod,region:kt.Pink,x:1129,y:1116},{name:Mt.Moscow,region:kt.Pink,x:763,y:961},{name:Mt.Stpetersburg,region:kt.Pink,x:883,y:597},{name:Mt.Yaroslavl,region:kt.Pink,x:1018,y:915},{name:Mt.Chita,region:kt.Red,x:4168,y:2048},{name:Mt.Bratsk,region:kt.Red,x:3599,y:1808},{name:Mt.Krasnoyarsk,region:kt.Red,x:3230,y:1930},{name:Mt.Kemerovd,region:kt.Red,x:2953,y:1987},{name:Mt.Novokuznetsk,region:kt.Red,x:3041,y:2159},{name:Mt.Irkutsk,region:kt.Red,x:3721,y:2162},{name:Mt.Ulanude,region:kt.Red,x:4030,y:2228},{name:Mt.Norilsk,region:kt.Yellow,x:3001,y:856},{name:Mt.Surgut,region:kt.Yellow,x:2348,y:1411},{name:Mt.Tyumen,region:kt.Yellow,x:2060,y:1627},{name:Mt.Tomsk,region:kt.Yellow,x:2773,y:1835},{name:Mt.Novosibirsk,region:kt.Yellow,x:2647,y:2005},{name:Mt.Barnaul,region:kt.Yellow,x:2662,y:2191},{name:Mt.Omsk,region:kt.Yellow,x:2195,y:1957},{name:Mt.Chelyabinsk,region:kt.Purple,x:1768,y:1865},{name:Mt.Ufa,region:kt.Purple,x:1472,y:1907},{name:Mt.Perm,region:kt.Purple,x:1688,y:1388},{name:Mt.Yekaterinburg,region:kt.Purple,x:1757,y:1620},{name:Mt.Orenburg,region:kt.Purple,x:1250,y:1997},{name:Mt.Naberezhnyechelny,region:kt.Purple,x:1427,y:1709},{name:Mt.Samara,region:kt.Purple,x:1132,y:1701},{name:Mt.Astrakhan,region:kt.Brown,x:619,y:2092},{name:Mt.Makhachkala,region:kt.Brown,x:317,y:2262},{name:Mt.Saratov,region:kt.Brown,x:808,y:1661},{name:Mt.Volgograd,region:kt.Brown,x:589,y:1795},{name:Mt.Krasnodar,region:kt.Brown,x:260,y:1865},{name:Mt.Rostov,region:kt.Brown,x:311,y:1658},{name:Mt.Voronezh,region:kt.Brown,x:485,y:1409}],connections:[{nodes:[Mt.Kaliningrad,Mt.Stpetersburg],cost:15},{nodes:[Mt.Stpetersburg,Mt.Murmansk],cost:19},{nodes:[Mt.Murmansk,Mt.Arkhangelsk],cost:15},{nodes:[Mt.Arkhangelsk,Mt.Stpetersburg],cost:14},{nodes:[Mt.Tula,Mt.Kaliningrad],cost:20},{nodes:[Mt.Tula,Mt.Moscow],cost:3},{nodes:[Mt.Moscow,Mt.Ryazan],cost:3},{nodes:[Mt.Ryazan,Mt.Voronezh],cost:5},{nodes:[Mt.Voronezh,Mt.Tula],cost:5},{nodes:[Mt.Tula,Mt.Stpetersburg],cost:13},{nodes:[Mt.Tula,Mt.Ryazan],cost:0},{nodes:[Mt.Stpetersburg,Mt.Moscow],cost:10},{nodes:[Mt.Moscow,Mt.Yaroslavl],cost:3},{nodes:[Mt.Yaroslavl,Mt.Nizhnynovgorod],cost:4},{nodes:[Mt.Nizhnynovgorod,Mt.Moscow],cost:7},{nodes:[Mt.Yaroslavl,Mt.Stpetersburg],cost:9},{nodes:[Mt.Yaroslavl,Mt.Arkhangelsk],cost:12},{nodes:[Mt.Arkhangelsk,Mt.Syktyvkar],cost:10},{nodes:[Mt.Syktyvkar,Mt.Surgut],cost:21},{nodes:[Mt.Perm,Mt.Syktyvkar],cost:8},{nodes:[Mt.Syktyvkar,Mt.Kirov],cost:6},{nodes:[Mt.Syktyvkar,Mt.Nizhnynovgorod],cost:11},{nodes:[Mt.Nizhnynovgorod,Mt.Arkhangelsk],cost:15},{nodes:[Mt.Nizhnynovgorod,Mt.Cheboksary],cost:3},{nodes:[Mt.Cheboksary,Mt.Ulyanovsk],cost:4},{nodes:[Mt.Ulyanovsk,Mt.Voronezh],cost:11},{nodes:[Mt.Voronezh,Mt.Volgograd],cost:8},{nodes:[Mt.Volgograd,Mt.Saratov],cost:6},{nodes:[Mt.Saratov,Mt.Samara],cost:5},{nodes:[Mt.Samara,Mt.Ulyanovsk],cost:3},{nodes:[Mt.Ulyanovsk,Mt.Kazan],cost:3},{nodes:[Mt.Kazan,Mt.Samara],cost:4},{nodes:[Mt.Samara,Mt.Naberezhnyechelny],cost:5},{nodes:[Mt.Cheboksary,Mt.Kazan],cost:2},{nodes:[Mt.Cheboksary,Mt.Kirov],cost:5},{nodes:[Mt.Kirov,Mt.Kazan],cost:5},{nodes:[Mt.Kazan,Mt.Perm],cost:8},{nodes:[Mt.Kazan,Mt.Naberezhnyechelny],cost:3},{nodes:[Mt.Naberezhnyechelny,Mt.Ufa],cost:4},{nodes:[Mt.Ufa,Mt.Orenburg],cost:6},{nodes:[Mt.Orenburg,Mt.Samara],cost:6},{nodes:[Mt.Orenburg,Mt.Naberezhnyechelny],cost:7},{nodes:[Mt.Ufa,Mt.Chelyabinsk],cost:8},{nodes:[Mt.Chelyabinsk,Mt.Yekaterinburg],cost:3},{nodes:[Mt.Yekaterinburg,Mt.Perm],cost:5},{nodes:[Mt.Perm,Mt.Kirov],cost:6},{nodes:[Mt.Chelyabinsk,Mt.Tyumen],cost:5},{nodes:[Mt.Tyumen,Mt.Surgut],cost:10},{nodes:[Mt.Syktyvkar,Mt.Tyumen],cost:17},{nodes:[Mt.Tyumen,Mt.Yekaterinburg],cost:5},{nodes:[Mt.Chelyabinsk,Mt.Omsk],cost:13},{nodes:[Mt.Omsk,Mt.Tyumen],cost:9},{nodes:[Mt.Tyumen,Mt.Tomsk],cost:19},{nodes:[Mt.Tomsk,Mt.Surgut],cost:15},{nodes:[Mt.Tomsk,Mt.Novosibirsk],cost:4},{nodes:[Mt.Novosibirsk,Mt.Barnaul],cost:4},{nodes:[Mt.Barnaul,Mt.Omsk],cost:11},{nodes:[Mt.Omsk,Mt.Novosibirsk],cost:10},{nodes:[Mt.Omsk,Mt.Tomsk],cost:12},{nodes:[Mt.Rostov,Mt.Krasnodar],cost:4},{nodes:[Mt.Krasnodar,Mt.Volgograd],cost:9},{nodes:[Mt.Volgograd,Mt.Astrakhan],cost:6},{nodes:[Mt.Krasnodar,Mt.Makhachkala],cost:14},{nodes:[Mt.Makhachkala,Mt.Astrakhan],cost:8},{nodes:[Mt.Makhachkala,Mt.Volgograd],cost:11},{nodes:[Mt.Rostov,Mt.Volgograd],cost:7},{nodes:[Mt.Ryazan,Mt.Ulyanovsk],cost:9},{nodes:[Mt.Ulyanovsk,Mt.Saratov],cost:6},{nodes:[Mt.Saratov,Mt.Voronezh],cost:8},{nodes:[Mt.Rostov,Mt.Voronezh],cost:9},{nodes:[Mt.Naberezhnyechelny,Mt.Perm],cost:6},{nodes:[Mt.Naberezhnyechelny,Mt.Yekaterinburg],cost:8},{nodes:[Mt.Ufa,Mt.Yekaterinburg],cost:6},{nodes:[Mt.Chita,Mt.Ulanude],cost:6},{nodes:[Mt.Ulanude,Mt.Irkutsk],cost:6},{nodes:[Mt.Irkutsk,Mt.Novokuznetsk],cost:21},{nodes:[Mt.Novokuznetsk,Mt.Kemerovd],cost:3},{nodes:[Mt.Kemerovd,Mt.Tomsk],cost:3},{nodes:[Mt.Novosibirsk,Mt.Novokuznetsk],cost:5},{nodes:[Mt.Novosibirsk,Mt.Kemerovd],cost:4},{nodes:[Mt.Novokuznetsk,Mt.Barnaul],cost:6},{nodes:[Mt.Kemerovd,Mt.Krasnoyarsk],cost:7},{nodes:[Mt.Krasnoyarsk,Mt.Novokuznetsk],cost:7},{nodes:[Mt.Krasnoyarsk,Mt.Irkutsk],cost:17},{nodes:[Mt.Krasnoyarsk,Mt.Bratsk],cost:10},{nodes:[Mt.Bratsk,Mt.Tomsk],cost:17},{nodes:[Mt.Bratsk,Mt.Irkutsk],cost:10},{nodes:[Mt.Bratsk,Mt.Ulanude],cost:14},{nodes:[Mt.Tomsk,Mt.Norilsk],cost:24},{nodes:[Mt.Norilsk,Mt.Bratsk],cost:29},{nodes:[Mt.Norilsk,Mt.Surgut],cost:19}],adjustRatio:[.25,.25],resupply:[[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[3,4,3],[3,4,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,3],[2,2,3],[3,3,4],[4,3,5],[4,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[18,24,0,7],setupDeck:function(e,n,t){var r=Object(qe["cloneDeep"])(yn),o=[],a=[],i=r.pop();if("original"==n){o=r.filter((function(e){return e.number>=3&&e.number<=5})),a=r.filter((function(e){return e.number>=7&&e.number<=9}));var s=Ar(10),c=Ar(11),u=Ar(13),l=r.filter((function(e){return 12==e.number||e.number>=15})),d=an(l,t()+"");2==e||3==e?d=d.slice(8):4==e&&(d=d.slice(4));var f=d.slice(0,3).concat(s,c);f=an(f,t()+""),r=[u].concat(f,d.slice(3),i)}else{var h=r.filter((function(e){return e.number<=15&&6!=e.number&&14!=e.number})),p=an(h,t()+""),g=r.filter((function(e){return e.number>=16})),y=an(g,t()+"");2==e?y=y.slice(6):3==e?y=y.slice(8):4==e&&(y=y.slice(4));var m=p.slice(0,6),v=p.slice(6);m=m.sort((function(e,n){return e.number-n.number})),o=m.slice(0,3),a=m.slice(3),r=v.concat(y,i)}return{actualMarket:o,futureMarket:a,powerPlantsDeck:r}},mapSpecificRules:"The power plant market is restricted, and the rules for removing old plants are changed.\n",deckBuild:{recharged:"plants 6 and 14 are removed from the game. The market has 6 plants (3 current, 3 future) drawn at random from the low plants; the six undrawn low plants sit shuffled on top of the deck. Removal by player count (higher plants only): 2 players remove 6, 3 players remove 8, 4 players remove 4.",original:"plants 6 and 14 are removed from the game; the market is 3, 4, 5 / 7, 8, 9. Plant 13 goes on top of the deck, then five shuffled cards (plants 10, 11 and the top three of the deck), then the rest, with the Step 3 card on the bottom."}};(function(e){e["Orange"]="orange",e["Green"]="green",e["Yellow"]="yellow",e["Brown"]="brown",e["Red"]="red"})(_t||(_t={})),function(e){e["Zimbabwe"]="Zimbabwe",e["Musina"]="Musina",e["Botswana"]="Botswana",e["Polokwane"]="Polokwane",e["PretoriaN"]="Pretoria N",e["PretoriaS"]="Pretoria S",e["Rustenburg"]="Rustenburg",e["Mozambique"]="Mozambique",e["Mbombela"]="Mbombela",e["Eswatini"]="Eswatini",e["Germiston"]="Germiston",e["JohannesburgN"]="Johannesburg N",e["JohannesburgS"]="Johannesburg S",e["Ladysmith"]="Ladysmith",e["Newcastle"]="Newcastle",e["Pietermaritzburg"]="Pietermaritzburg",e["DurbanN"]="Durban N",e["DurbanS"]="Durban S",e["Mthatha"]="Mthatha",e["Lesotho"]="Lesotho",e["Bloemfontein"]="Bloemfontein",e["Klerksdorp"]="Klerksdorp",e["Welkom"]="Welkom",e["Kuruman"]="Kuruman",e["Kimberly"]="Kimberly",e["Upington"]="Upington",e["Springbok"]="Springbok",e["Namibia"]="Namibia",e["DeAar"]="De Aar",e["BeaufortWest"]="Beaufort West",e["EastLondon"]="East London",e["PortElizabeth"]="Port Elizabeth",e["George"]="George",e["CapeTownN"]="Cape Town N",e["CapeTownS"]="Cape Town S"}(St||(St={}));var Bt,Lt,Rt={name:"South Africa",cities:[{name:St.Zimbabwe,region:_t.Orange,x:903,y:50,singleOccupancy:!0},{name:St.Musina,region:_t.Orange,x:874,y:134},{name:St.Botswana,region:_t.Orange,x:560,y:187,singleOccupancy:!0},{name:St.Polokwane,region:_t.Orange,x:802,y:189},{name:St.PretoriaN,region:_t.Orange,x:759,y:261},{name:St.PretoriaS,region:_t.Orange,x:759,y:291},{name:St.Rustenburg,region:_t.Orange,x:632,y:232},{name:St.Mozambique,region:_t.Green,x:1011,y:170,singleOccupancy:!0},{name:St.Mbombela,region:_t.Green,x:891,y:275},{name:St.Eswatini,region:_t.Green,x:926,y:351,singleOccupancy:!0},{name:St.Germiston,region:_t.Green,x:836,y:351},{name:St.JohannesburgN,region:_t.Green,x:753,y:343},{name:St.JohannesburgS,region:_t.Green,x:754,y:371},{name:St.Ladysmith,region:_t.Green,x:823,y:456},{name:St.Newcastle,region:_t.Yellow,x:957,y:478},{name:St.Pietermaritzburg,region:_t.Yellow,x:851,y:511},{name:St.DurbanN,region:_t.Yellow,x:894,y:563},{name:St.DurbanS,region:_t.Yellow,x:893,y:592},{name:St.Mthatha,region:_t.Yellow,x:791,y:663},{name:St.Lesotho,region:_t.Yellow,x:759,y:523,singleOccupancy:!0},{name:St.Bloemfontein,region:_t.Yellow,x:656,y:509},{name:St.Klerksdorp,region:_t.Brown,x:660,y:362},{name:St.Welkom,region:_t.Brown,x:652,y:431},{name:St.Kuruman,region:_t.Brown,x:499,y:386},{name:St.Kimberly,region:_t.Brown,x:564,y:496},{name:St.Upington,region:_t.Brown,x:378,y:453},{name:St.Springbok,region:_t.Brown,x:211,y:530},{name:St.Namibia,region:_t.Brown,x:189,y:311,singleOccupancy:!0},{name:St.DeAar,region:_t.Red,x:539,y:665},{name:St.BeaufortWest,region:_t.Red,x:427,y:705},{name:St.EastLondon,region:_t.Red,x:722,y:750},{name:St.PortElizabeth,region:_t.Red,x:600,y:811},{name:St.George,region:_t.Red,x:439,y:811},{name:St.CapeTownN,region:_t.Red,x:233,y:783},{name:St.CapeTownS,region:_t.Red,x:231,y:812}],connections:[{nodes:[St.Springbok,St.Namibia],cost:30},{nodes:[St.Bloemfontein,St.Lesotho],cost:30},{nodes:[St.Germiston,St.Eswatini],cost:30},{nodes:[St.Mbombela,St.Mozambique],cost:30},{nodes:[St.Botswana,St.Rustenburg],cost:30},{nodes:[St.Zimbabwe,St.Musina],cost:30},{nodes:[St.CapeTownS,St.CapeTownN],cost:0},{nodes:[St.CapeTownS,St.George],cost:16},{nodes:[St.George,St.PortElizabeth],cost:12},{nodes:[St.PortElizabeth,St.EastLondon],cost:13},{nodes:[St.EastLondon,St.Mthatha],cost:8},{nodes:[St.Mthatha,St.DurbanS],cost:13},{nodes:[St.DurbanS,St.DurbanN],cost:0},{nodes:[St.DurbanN,St.Pietermaritzburg],cost:3},{nodes:[St.DurbanN,St.Newcastle],cost:9},{nodes:[St.Newcastle,St.Pietermaritzburg],cost:9},{nodes:[St.Pietermaritzburg,St.Ladysmith],cost:5},{nodes:[St.Ladysmith,St.Newcastle],cost:10},{nodes:[St.Bloemfontein,St.Mthatha],cost:18},{nodes:[St.Bloemfontein,St.EastLondon],cost:22},{nodes:[St.EastLondon,St.DeAar],cost:22},{nodes:[St.DeAar,St.PortElizabeth],cost:18},{nodes:[St.George,St.DeAar],cost:17},{nodes:[St.DeAar,St.BeaufortWest],cost:10},{nodes:[St.BeaufortWest,St.George],cost:8},{nodes:[St.BeaufortWest,St.CapeTownN],cost:22},{nodes:[St.CapeTownN,St.Springbok],cost:22},{nodes:[St.Springbok,St.BeaufortWest],cost:24},{nodes:[St.DeAar,St.Springbok],cost:26},{nodes:[St.Springbok,St.Upington],cost:16},{nodes:[St.Upington,St.DeAar],cost:16},{nodes:[St.DeAar,St.Bloemfontein],cost:13},{nodes:[St.Bloemfontein,St.Kimberly],cost:6},{nodes:[St.Kimberly,St.DeAar],cost:10},{nodes:[St.Kimberly,St.Upington],cost:14},{nodes:[St.Kimberly,St.Welkom],cost:9},{nodes:[St.Welkom,St.Bloemfontein],cost:6},{nodes:[St.Bloemfontein,St.Ladysmith],cost:19},{nodes:[St.Mthatha,St.Pietermaritzburg],cost:12},{nodes:[St.Upington,St.Kuruman],cost:11},{nodes:[St.Musina,St.Polokwane],cost:8},{nodes:[St.Polokwane,St.PretoriaN],cost:11},{nodes:[St.PretoriaN,St.PretoriaS],cost:0},{nodes:[St.PretoriaS,St.JohannesburgN],cost:2},{nodes:[St.JohannesburgN,St.JohannesburgS],cost:0},{nodes:[St.JohannesburgS,St.Germiston],cost:1},{nodes:[St.JohannesburgN,St.Mbombela],cost:13},{nodes:[St.Mbombela,St.Germiston],cost:13},{nodes:[St.PretoriaN,St.Mbombela],cost:13},{nodes:[St.Mbombela,St.Polokwane],cost:10},{nodes:[St.Musina,St.Mbombela],cost:15},{nodes:[St.PretoriaN,St.Rustenburg],cost:4},{nodes:[St.Rustenburg,St.JohannesburgN],cost:4},{nodes:[St.JohannesburgN,St.Klerksdorp],cost:7},{nodes:[St.Klerksdorp,St.Welkom],cost:5},{nodes:[St.Bloemfontein,St.JohannesburgS],cost:16},{nodes:[St.Kuruman,St.Rustenburg],cost:18},{nodes:[St.Klerksdorp,St.Kuruman],cost:12},{nodes:[St.Kuruman,St.Kimberly],cost:8},{nodes:[St.JohannesburgS,St.Ladysmith],cost:13},{nodes:[St.Ladysmith,St.Germiston],cost:13}],resupply:[[[4,7,5],[4,7,5],[5,8,6],[6,9,7],[7,10,8]],[[1,2,1],[1,2,1],[2,3,2],[2,4,3],[4,5,4]],[[1,3,3],[1,3,3],[2,4,4],[3,4,5],[3,6,6]],[[1,1,2],[1,1,2],[2,2,3],[2,3,3],[2,3,4]]],layout:"Landscape",adjustRatio:[.9,.75],mapPosition:[70,50],mapRotation:0,startingResources:[24,15,12,3],startingSupply:[24,24,24,12],setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(yn).filter((function(e){return 7!==e.number}));if("original"==n){a=a.slice(8);var i=a.findIndex((function(e){return 13==e.number})),s=a.splice(i,1)[0],c=a.pop();a=an(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a.unshift(s),a.push(c),r=[Ar(3),Ar(4),Ar(5),Ar(6)],o=[Ar(8),Ar(9),Ar(10),Ar(11)]}else{var u=an(a.splice(0,12),t()+""),l=u.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=u.shift(),f=a.pop();a=an(a,t()+""),2==e?(u=u.slice(1),a=an(a.slice(5).concat(u),t()+"")):3==e?(u=u.slice(2),a=an(a.slice(6).concat(u),t()+"")):4==e?(u=u.slice(1),a=an(a.slice(3).concat(u),t()+"")):a=an(a.concat(u),t()+""),a.unshift(d),a.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},mapSpecificRules:"Coal storage: there is a separate storage space below the resource market, empty at game start. Coal used to power plants returns to this storage space (not the main supply). The resource-market refill draws coal from storage first, then from the main supply. Players can always buy coal for $8 from the storage space (in addition to the standard market price). Metropolises: Cape Town, Durban, Johannesburg and Pretoria each consist of two cities (N and S) connected by a 0-cost edge. Cross-border connections: the six 30-Elektro connections to neighboring countries (Namibia, Botswana, Zimbabwe, Mozambique, Eswatini, Lesotho) are available from the start of the game. The 30 Elektro is the complete cost — no house-base cost is added on top. Only a single player can build on each cross-border space (cap of 1 instead of the standard 3).\n",deckBuild:"power plant 07 is removed from the game; otherwise standard setup for both variants (in the original variant the future market becomes 8, 9, 10, 11)."};(function(e){e["Pink"]="pink",e["Brown"]="brown",e["Green"]="green",e["Purple"]="purple",e["Red"]="red",e["Yellow"]="yellow"})(Bt||(Bt={})),function(e){e["Gerona"]="Gerona",e["Barcelona"]="Barcelona",e["Tarragona"]="Tarragona",e["Lerida"]="Lerida",e["Castellondelaplana"]="Castellon De La Plana",e["Valencia"]="Valencia",e["Alicante"]="Alicante",e["Sansebastian"]="San Sebastian",e["Pamplona"]="Pamplona",e["Zaragoza"]="Zaragoza",e["Madrid"]="Madrid",e["Logrono"]="Logrono",e["Bilbao"]="Bilbao",e["Santander"]="Santander",e["Gijon"]="Gijon",e["Leon"]="Leon",e["Valladolid"]="Valladolid",e["Salamanca"]="Salamanca",e["Orense"]="Orense",e["Lacoruna"]="La Coruna",e["Santiagodecompostela"]="Santiago De Compostela",e["Cuenca"]="Cuenca",e["Albacete"]="Albacete",e["Murcia"]="Murcia",e["Toledo"]="Toledo",e["Ciudadreal"]="Ciudad Real",e["Caceres"]="Caceres",e["Merida"]="Merida",e["Almeria"]="Almeria",e["Granada"]="Granada",e["Cordoba"]="Cordoba",e["Malaga"]="Malaga",e["Cadiz"]="Cadiz",e["Sevilla"]="Sevilla",e["Huelva"]="Huelva",e["Evora"]="Evora",e["Faro"]="Faro",e["Portimao"]="Portimao",e["Setubal"]="Setubal",e["Lisboa"]="Lisboa",e["Porto"]="Porto",e["Braga"]="Braga"}(Lt||(Lt={}));var At,Ot,jt={name:"Spain & Portugal",noUraniumRegions:[Bt.Yellow],cities:[{name:Lt.Evora,region:Bt.Yellow,x:890,y:1780},{name:Lt.Faro,region:Bt.Yellow,x:822,y:2348},{name:Lt.Portimao,region:Bt.Yellow,x:592,y:2218},{name:Lt.Setubal,region:Bt.Yellow,x:578,y:1864},{name:Lt.Lisboa,region:Bt.Yellow,x:572,y:1586},{name:Lt.Porto,region:Bt.Yellow,x:736,y:1052},{name:Lt.Braga,region:Bt.Yellow,x:990,y:828},{name:Lt.Gerona,region:Bt.Pink,x:3728,y:666},{name:Lt.Barcelona,region:Bt.Pink,x:3538,y:848},{name:Lt.Tarragona,region:Bt.Pink,x:3312,y:970},{name:Lt.Lerida,region:Bt.Pink,x:3166,y:752},{name:Lt.Castellondelaplana,region:Bt.Pink,x:3010,y:1284},{name:Lt.Valencia,region:Bt.Pink,x:2938,y:1580},{name:Lt.Alicante,region:Bt.Pink,x:2936,y:1922},{name:Lt.Sansebastian,region:Bt.Brown,x:2498,y:278},{name:Lt.Pamplona,region:Bt.Brown,x:2648,y:484},{name:Lt.Zaragoza,region:Bt.Brown,x:2760,y:810},{name:Lt.Madrid,region:Bt.Brown,x:2088,y:1170},{name:Lt.Logrono,region:Bt.Brown,x:2310,y:622},{name:Lt.Bilbao,region:Bt.Brown,x:2264,y:226},{name:Lt.Santander,region:Bt.Brown,x:2022,y:252},{name:Lt.Gijon,region:Bt.Green,x:1672,y:190},{name:Lt.Leon,region:Bt.Green,x:1604,y:518},{name:Lt.Valladolid,region:Bt.Green,x:1850,y:782},{name:Lt.Salamanca,region:Bt.Green,x:1564,y:1032},{name:Lt.Orense,region:Bt.Green,x:1072,y:532},{name:Lt.Lacoruna,region:Bt.Green,x:982,y:184},{name:Lt.Santiagodecompostela,region:Bt.Green,x:772,y:394},{name:Lt.Cuenca,region:Bt.Purple,x:2464,y:1300},{name:Lt.Albacete,region:Bt.Purple,x:2532,y:1684},{name:Lt.Murcia,region:Bt.Purple,x:2678,y:2056},{name:Lt.Toledo,region:Bt.Purple,x:1920,y:1400},{name:Lt.Ciudadreal,region:Bt.Purple,x:1982,y:1714},{name:Lt.Caceres,region:Bt.Purple,x:1354,y:1432},{name:Lt.Merida,region:Bt.Purple,x:1318,y:1764},{name:Lt.Almeria,region:Bt.Red,x:2402,y:2440},{name:Lt.Granada,region:Bt.Red,x:2044,y:2272},{name:Lt.Cordoba,region:Bt.Red,x:1728,y:2074},{name:Lt.Malaga,region:Bt.Red,x:1782,y:2484},{name:Lt.Cadiz,region:Bt.Red,x:1290,y:2552},{name:Lt.Sevilla,region:Bt.Red,x:1390,y:2168},{name:Lt.Huelva,region:Bt.Red,x:1082,y:2196}],connections:[{nodes:[Lt.Huelva,Lt.Faro],cost:6},{nodes:[Lt.Faro,Lt.Portimao],cost:4},{nodes:[Lt.Portimao,Lt.Setubal],cost:12},{nodes:[Lt.Setubal,Lt.Evora],cost:6},{nodes:[Lt.Evora,Lt.Merida],cost:9},{nodes:[Lt.Merida,Lt.Sevilla],cost:14},{nodes:[Lt.Sevilla,Lt.Cadiz],cost:8},{nodes:[Lt.Cadiz,Lt.Malaga],cost:12},{nodes:[Lt.Malaga,Lt.Granada],cost:7},{nodes:[Lt.Granada,Lt.Almeria],cost:9},{nodes:[Lt.Almeria,Lt.Murcia],cost:13},{nodes:[Lt.Murcia,Lt.Alicante],cost:4},{nodes:[Lt.Alicante,Lt.Valencia],cost:9},{nodes:[Lt.Valencia,Lt.Castellondelaplana],cost:4},{nodes:[Lt.Albacete,Lt.Almeria],cost:19},{nodes:[Lt.Albacete,Lt.Murcia],cost:10},{nodes:[Lt.Albacete,Lt.Alicante],cost:11},{nodes:[Lt.Albacete,Lt.Valencia],cost:11},{nodes:[Lt.Albacete,Lt.Cuenca],cost:8},{nodes:[Lt.Albacete,Lt.Ciudadreal],cost:13},{nodes:[Lt.Albacete,Lt.Granada],cost:19},{nodes:[Lt.Albacete,Lt.Toledo],cost:14},{nodes:[Lt.Toledo,Lt.Madrid],cost:6},{nodes:[Lt.Madrid,Lt.Cuenca],cost:11},{nodes:[Lt.Cuenca,Lt.Valencia],cost:13},{nodes:[Lt.Cuenca,Lt.Castellondelaplana],cost:14},{nodes:[Lt.Castellondelaplana,Lt.Tarragona],cost:12},{nodes:[Lt.Toledo,Lt.Caceres],cost:16},{nodes:[Lt.Caceres,Lt.Merida],cost:4},{nodes:[Lt.Merida,Lt.Ciudadreal],cost:16},{nodes:[Lt.Ciudadreal,Lt.Granada],cost:16},{nodes:[Lt.Granada,Lt.Cordoba],cost:11},{nodes:[Lt.Cordoba,Lt.Malaga],cost:11},{nodes:[Lt.Malaga,Lt.Sevilla],cost:12},{nodes:[Lt.Sevilla,Lt.Cordoba],cost:8},{nodes:[Lt.Cordoba,Lt.Ciudadreal],cost:10},{nodes:[Lt.Merida,Lt.Cordoba],cost:14},{nodes:[Lt.Huelva,Lt.Cadiz],cost:9},{nodes:[Lt.Huelva,Lt.Sevilla],cost:6},{nodes:[Lt.Merida,Lt.Huelva],cost:15},{nodes:[Lt.Huelva,Lt.Evora],cost:12},{nodes:[Lt.Evora,Lt.Faro],cost:13},{nodes:[Lt.Faro,Lt.Setubal],cost:14},{nodes:[Lt.Setubal,Lt.Lisboa],cost:4},{nodes:[Lt.Lisboa,Lt.Evora],cost:9},{nodes:[Lt.Lisboa,Lt.Merida],cost:16},{nodes:[Lt.Caceres,Lt.Ciudadreal],cost:16},{nodes:[Lt.Toledo,Lt.Cuenca],cost:13},{nodes:[Lt.Salamanca,Lt.Toledo],cost:14},{nodes:[Lt.Salamanca,Lt.Madrid],cost:14},{nodes:[Lt.Salamanca,Lt.Caceres],cost:13},{nodes:[Lt.Porto,Lt.Lisboa],cost:18},{nodes:[Lt.Porto,Lt.Salamanca],cost:19},{nodes:[Lt.Porto,Lt.Caceres],cost:21},{nodes:[Lt.Caceres,Lt.Lisboa],cost:19},{nodes:[Lt.Ciudadreal,Lt.Toledo],cost:7},{nodes:[Lt.Braga,Lt.Porto],cost:3},{nodes:[Lt.Braga,Lt.Salamanca],cost:19},{nodes:[Lt.Salamanca,Lt.Valladolid],cost:7},{nodes:[Lt.Valladolid,Lt.Madrid],cost:13},{nodes:[Lt.Madrid,Lt.Zaragoza],cost:19},{nodes:[Lt.Zaragoza,Lt.Lerida],cost:8},{nodes:[Lt.Lerida,Lt.Tarragona],cost:6},{nodes:[Lt.Tarragona,Lt.Barcelona],cost:6},{nodes:[Lt.Lerida,Lt.Castellondelaplana],cost:13},{nodes:[Lt.Castellondelaplana,Lt.Zaragoza],cost:15},{nodes:[Lt.Zaragoza,Lt.Cuenca],cost:16},{nodes:[Lt.Braga,Lt.Valladolid],cost:24},{nodes:[Lt.Lerida,Lt.Barcelona],cost:10},{nodes:[Lt.Barcelona,Lt.Gerona],cost:6},{nodes:[Lt.Gerona,Lt.Lerida],cost:13},{nodes:[Lt.Lerida,Lt.Pamplona],cost:17},{nodes:[Lt.Pamplona,Lt.Zaragoza],cost:11},{nodes:[Lt.Zaragoza,Lt.Logrono],cost:11},{nodes:[Lt.Logrono,Lt.Madrid],cost:18},{nodes:[Lt.Santiagodecompostela,Lt.Braga],cost:11},{nodes:[Lt.Braga,Lt.Orense],cost:9},{nodes:[Lt.Orense,Lt.Santiagodecompostela],cost:7},{nodes:[Lt.Santiagodecompostela,Lt.Lacoruna],cost:4},{nodes:[Lt.Lacoruna,Lt.Gijon],cost:9},{nodes:[Lt.Gijon,Lt.Santander],cost:11},{nodes:[Lt.Santander,Lt.Bilbao],cost:6},{nodes:[Lt.Bilbao,Lt.Sansebastian],cost:5},{nodes:[Lt.Sansebastian,Lt.Pamplona],cost:6},{nodes:[Lt.Pamplona,Lt.Logrono],cost:7},{nodes:[Lt.Logrono,Lt.Sansebastian],cost:9},{nodes:[Lt.Bilbao,Lt.Logrono],cost:9},{nodes:[Lt.Logrono,Lt.Santander],cost:13},{nodes:[Lt.Santander,Lt.Valladolid],cost:16},{nodes:[Lt.Valladolid,Lt.Logrono],cost:15},{nodes:[Lt.Leon,Lt.Santander],cost:13},{nodes:[Lt.Gijon,Lt.Leon],cost:9},{nodes:[Lt.Leon,Lt.Valladolid],cost:9},{nodes:[Lt.Valladolid,Lt.Orense],cost:22},{nodes:[Lt.Orense,Lt.Leon],cost:14},{nodes:[Lt.Gijon,Lt.Orense],cost:10},{nodes:[Lt.Orense,Lt.Lacoruna],cost:6}],layout:"Portrait",adjustRatio:[.315,.315],mapPosition:[-135,60],resupply:[[[3,4,2],[4,5,2],[4,6,3],[4,7,3],[6,8,4]],[[2,3,5],[2,4,5],[3,5,6],[4,6,7],[5,7,9]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[0,2,1],[0,2,1],[0,4,1],[0,5,1],[0,5,2]]],startingResources:[24,18,9,8],setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(yn);if(a=a.filter((function(e){return![18,22,27].includes(e.number)})),"original"==n){a=a.slice(8);var i=a.splice(2,1)[0],s=a.pop();a=an(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a.unshift(i),a.push(s),r=[Ar(3),Ar(4),Ar(5),Ar(6)],o=[Ar(7),Ar(8),Ar(9),Ar(10)]}else{var c=an(a.splice(0,13),t()+""),u=c.splice(0,8);u=u.sort((function(e,n){return e.number-n.number})),r=u.slice(0,4),o=u.slice(4);var l=c.shift(),d=a.pop();a=an(a,t()+""),2==e?(c=c.slice(1),a=an(a.slice(5).concat(c),t()+"")):3==e?(c=c.slice(2),a=an(a.slice(6).concat(c),t()+"")):4==e?(c=c.slice(1),a=an(a.slice(3).concat(c),t()+"")):a=an(a.concat(c),t()+""),a.unshift(l),a.push(d)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},mapSpecificRules:"You cannot buy a nuclear power plant if you only have cities in Portugal.\n",deckBuild:"power plants 18, 22 and 27 are set aside at setup; when Step 2 begins they are placed on top of the deck (18 topmost, then 22, then 27)."};(function(e){e["Red"]="red",e["Pink"]="pink",e["Yellow"]="yellow",e["Brown"]="brown",e["Orange"]="orange",e["Green"]="green"})(At||(At={})),function(e){e["Norwich"]="Norwich",e["London1"]="London 1",e["London2"]="London 2",e["Brighton"]="Brighton",e["Southampton"]="Southampton",e["Plymouth"]="Plymouth",e["Leicester"]="Leicester",e["Bristol"]="Bristol",e["Newcastleupontyne"]="Newcastle Upon Tyne",e["Leeds"]="Leeds",e["Sheffield"]="Sheffield",e["Nottingham"]="Nottingham",e["Birmingham"]="Birmingham",e["Manchester"]="Manchester",e["Liverpool"]="Liverpool",e["Newportcasnewydd"]="Newport Casnewydd",e["Bangor"]="Bangor",e["Aberystwyth"]="Aberystwyth",e["Swanseaabertawe"]="Swansea Abertawe",e["Cardiffcaerdydd"]="Cardiff Caerdydd",e["Haverfordwesthwlffordd"]="Haverfordwest Hwlffordd",e["Invernessinbhirnis"]="Inverness Inbhir Nis",e["Aberdeenobardheathain"]="Aberdeen Obar Dheathain",e["Dundeedundeach"]="Dundee Dun Deach",e["Perthpeairt"]="Perth Peairt",e["Edinburgh"]="Edinburgh",e["Dumfries"]="Dumfries",e["Glasgow"]="Glasgow",e["Coleraine"]="Coleraine",e["Derry"]="Derry",e["Belfast"]="Belfast",e["Newry"]="Newry",e["Omagh"]="Omagh",e["Sligo"]="Sligo",e["Dublin"]="Dublin",e["Waterford"]="Waterford",e["Cork"]="Cork",e["Athlone"]="Athlone",e["Galway"]="Galway",e["Limerick"]="Limerick"}(Ot||(Ot={}));var Nt={name:"UK & Ireland",noUraniumRegions:[At.Green],cities:[{name:Ot.Norwich,region:At.Red,island:"gb",x:646,y:702},{name:Ot.London1,region:At.Red,island:"gb",x:554,y:756},{name:Ot.London2,region:At.Red,island:"gb",x:550,y:780},{name:Ot.Brighton,region:At.Red,island:"gb",x:537,y:837},{name:Ot.Southampton,region:At.Red,island:"gb",x:451,y:805},{name:Ot.Plymouth,region:At.Red,island:"gb",x:312,y:814},{name:Ot.Leicester,region:At.Red,island:"gb",x:540,y:680},{name:Ot.Bristol,region:At.Red,island:"gb",x:425,y:762},{name:Ot.Newcastleupontyne,region:At.Pink,island:"gb",x:550,y:414},{name:Ot.Leeds,region:At.Pink,island:"gb",x:559,y:541},{name:Ot.Sheffield,region:At.Pink,island:"gb",x:530,y:590},{name:Ot.Nottingham,region:At.Pink,island:"gb",x:531,y:632},{name:Ot.Birmingham,region:At.Pink,island:"gb",x:465,y:663},{name:Ot.Manchester,region:At.Pink,island:"gb",x:479,y:543},{name:Ot.Liverpool,region:At.Pink,island:"gb",x:433,y:576},{name:Ot.Newportcasnewydd,region:At.Yellow,island:"gb",x:425,y:722},{name:Ot.Bangor,region:At.Yellow,island:"gb",x:348,y:574},{name:Ot.Aberystwyth,region:At.Yellow,island:"gb",x:357,y:639},{name:Ot.Swanseaabertawe,region:At.Yellow,island:"gb",x:346,y:706},{name:Ot.Cardiffcaerdydd,region:At.Yellow,island:"gb",x:357,y:761},{name:Ot.Haverfordwesthwlffordd,region:At.Yellow,island:"gb",x:303,y:673},{name:Ot.Invernessinbhirnis,region:At.Brown,island:"gb",x:479,y:208},{name:Ot.Aberdeenobardheathain,region:At.Brown,island:"gb",x:588,y:245},{name:Ot.Dundeedundeach,region:At.Brown,island:"gb",x:552,y:286},{name:Ot.Perthpeairt,region:At.Brown,island:"gb",x:489,y:307},{name:Ot.Edinburgh,region:At.Brown,island:"gb",x:494,y:375},{name:Ot.Dumfries,region:At.Brown,island:"gb",x:441,y:417},{name:Ot.Glasgow,region:At.Brown,island:"gb",x:422,y:335},{name:Ot.Coleraine,region:At.Orange,island:"ie",x:330,y:367},{name:Ot.Derry,region:At.Orange,island:"ie",x:256,y:362},{name:Ot.Belfast,region:At.Orange,island:"ie",x:342,y:421},{name:Ot.Newry,region:At.Orange,island:"ie",x:298,y:462},{name:Ot.Omagh,region:At.Orange,island:"ie",x:260,y:403},{name:Ot.Sligo,region:At.Green,island:"ie",x:181,y:411},{name:Ot.Dublin,region:At.Green,island:"ie",x:274,y:530},{name:Ot.Waterford,region:At.Green,island:"ie",x:210,y:611},{name:Ot.Cork,region:At.Green,island:"ie",x:114,y:626},{name:Ot.Athlone,region:At.Green,island:"ie",x:200,y:489},{name:Ot.Galway,region:At.Green,island:"ie",x:112,y:486},{name:Ot.Limerick,region:At.Green,island:"ie",x:122,y:546}],connections:[{nodes:[Ot.Nottingham,Ot.Leicester],cost:4},{nodes:[Ot.London1,Ot.London2],cost:0},{nodes:[Ot.London2,Ot.Brighton],cost:6},{nodes:[Ot.Brighton,Ot.Southampton],cost:7},{nodes:[Ot.Southampton,Ot.Plymouth],cost:19},{nodes:[Ot.Plymouth,Ot.Bristol],cost:14},{nodes:[Ot.Bristol,Ot.Newportcasnewydd],cost:7},{nodes:[Ot.Cardiffcaerdydd,Ot.Swanseaabertawe],cost:7},{nodes:[Ot.Swanseaabertawe,Ot.Newportcasnewydd],cost:8},{nodes:[Ot.Newportcasnewydd,Ot.Cardiffcaerdydd],cost:3},{nodes:[Ot.Bristol,Ot.Southampton],cost:11},{nodes:[Ot.Southampton,Ot.London2],cost:9},{nodes:[Ot.London2,Ot.Bristol],cost:14},{nodes:[Ot.London1,Ot.Newportcasnewydd],cost:16},{nodes:[Ot.Haverfordwesthwlffordd,Ot.Aberystwyth],cost:9},{nodes:[Ot.Haverfordwesthwlffordd,Ot.Swanseaabertawe],cost:8},{nodes:[Ot.Swanseaabertawe,Ot.Aberystwyth],cost:11},{nodes:[Ot.Aberystwyth,Ot.Bangor],cost:11},{nodes:[Ot.Bangor,Ot.Liverpool],cost:9},{nodes:[Ot.Liverpool,Ot.Aberystwyth],cost:16},{nodes:[Ot.Aberystwyth,Ot.Newportcasnewydd],cost:14},{nodes:[Ot.Aberystwyth,Ot.Birmingham],cost:16},{nodes:[Ot.Birmingham,Ot.Liverpool],cost:12},{nodes:[Ot.Birmingham,Ot.Newportcasnewydd],cost:9},{nodes:[Ot.London1,Ot.Norwich],cost:11},{nodes:[Ot.Norwich,Ot.Leicester],cost:12},{nodes:[Ot.Leicester,Ot.London1],cost:10},{nodes:[Ot.London1,Ot.Birmingham],cost:13},{nodes:[Ot.Birmingham,Ot.Leicester],cost:6},{nodes:[Ot.Birmingham,Ot.Nottingham],cost:7},{nodes:[Ot.Nottingham,Ot.Sheffield],cost:6},{nodes:[Ot.Sheffield,Ot.Leeds],cost:5},{nodes:[Ot.Leeds,Ot.Manchester],cost:8},{nodes:[Ot.Manchester,Ot.Sheffield],cost:8},{nodes:[Ot.Sheffield,Ot.Liverpool],cost:12},{nodes:[Ot.Liverpool,Ot.Nottingham],cost:15},{nodes:[Ot.Manchester,Ot.Dumfries],cost:18},{nodes:[Ot.Manchester,Ot.Newcastleupontyne],cost:15},{nodes:[Ot.Newcastleupontyne,Ot.Dumfries],cost:12},{nodes:[Ot.Dumfries,Ot.Edinburgh],cost:12},{nodes:[Ot.Edinburgh,Ot.Newcastleupontyne],cost:13},{nodes:[Ot.Newcastleupontyne,Ot.Leeds],cost:13},{nodes:[Ot.Dumfries,Ot.Glasgow],cost:11},{nodes:[Ot.Glasgow,Ot.Edinburgh],cost:7},{nodes:[Ot.Glasgow,Ot.Perthpeairt],cost:10},{nodes:[Ot.Perthpeairt,Ot.Dundeedundeach],cost:3},{nodes:[Ot.Glasgow,Ot.Invernessinbhirnis],cost:20},{nodes:[Ot.Invernessinbhirnis,Ot.Perthpeairt],cost:14},{nodes:[Ot.Invernessinbhirnis,Ot.Dundeedundeach],cost:14},{nodes:[Ot.Invernessinbhirnis,Ot.Aberdeenobardheathain],cost:15},{nodes:[Ot.Aberdeenobardheathain,Ot.Dundeedundeach],cost:10},{nodes:[Ot.Limerick,Ot.Cork],cost:12},{nodes:[Ot.Cork,Ot.Waterford],cost:8},{nodes:[Ot.Waterford,Ot.Limerick],cost:11},{nodes:[Ot.Limerick,Ot.Galway],cost:10},{nodes:[Ot.Galway,Ot.Sligo],cost:10},{nodes:[Ot.Sligo,Ot.Derry],cost:10},{nodes:[Ot.Derry,Ot.Coleraine],cost:6},{nodes:[Ot.Coleraine,Ot.Belfast],cost:8},{nodes:[Ot.Belfast,Ot.Newry],cost:6},{nodes:[Ot.Newry,Ot.Dublin],cost:10},{nodes:[Ot.Dublin,Ot.Waterford],cost:13},{nodes:[Ot.Galway,Ot.Athlone],cost:8},{nodes:[Ot.Athlone,Ot.Sligo],cost:9},{nodes:[Ot.Athlone,Ot.Limerick],cost:9},{nodes:[Ot.Limerick,Ot.Dublin],cost:16},{nodes:[Ot.Dublin,Ot.Athlone],cost:9},{nodes:[Ot.Athlone,Ot.Newry],cost:12},{nodes:[Ot.Athlone,Ot.Omagh],cost:14},{nodes:[Ot.Omagh,Ot.Newry],cost:8},{nodes:[Ot.Omagh,Ot.Belfast],cost:10},{nodes:[Ot.Belfast,Ot.Derry],cost:10},{nodes:[Ot.Omagh,Ot.Derry],cost:5},{nodes:[Ot.Omagh,Ot.Sligo],cost:10}],layout:"Portrait",adjustRatio:[1.1,1.1],mapPosition:[10,-75],mapRotation:0,resupply:[[[3,4,3],[3,5,3],[4,6,4],[4,7,5],[6,8,6]],[[2,3,2],[2,4,2],[3,5,3],[4,6,4],[5,7,5]],[[1,2,2],[1,2,2],[2,3,3],[3,3,5],[3,5,5]],[[1,1,1],[1,2,1],[1,3,1],[2,4,2],[2,4,3]]],startingResources:[24,18,12,0],startingSupply:[24,24,24,12],crossIslandSurcharge:20,setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(yn);if("original"==n){a=a.slice(8);var i=a.findIndex((function(e){return 13==e.number})),s=a.splice(i,1)[0],c=a.pop();a=an(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a.unshift(s),a.splice(a.length-2,0,c),r=[Ar(3),Ar(4),Ar(5),Ar(6)],o=[Ar(7),Ar(8),Ar(9),Ar(10)]}else{var u=an(a.splice(0,13),t()+""),l=u.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=u.shift(),f=a.pop();a=an(a,t()+""),2==e?(u=u.slice(1),a=an(a.slice(5).concat(u),t()+"")):3==e?(u=u.slice(2),a=an(a.slice(6).concat(u),t()+"")):4==e?(u=u.slice(1),a=an(a.slice(3).concat(u),t()+"")):a=an(a.concat(u),t()+""),a.unshift(d),a.splice(a.length-2,0,f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},mapSpecificRules:"Two networks: Ireland (Green and Orange regions) and Great Britain (Red, Pink, Yellow, Brown) have no sea connection. A player may run one network on each island. Starting a second network on the other island is only possible on an EMPTY spot and costs an extra 20 Elektro on top of the normal first-house cost($10). Nuclear restriction: a player whose network is entirely in the Republic of Ireland (Green region) cannot bid on or auction a nuclear power plant until they build a city in Scotland, Wales, England, or Northern Ireland. Early Step 3: the Step 3 card is placed 3rd from last in the deck (two plants below it). Step 2 begins when a player connects their 7th city (6th for 6 players).\n",deckBuild:"standard setup for both variants, except the Step 3 card is placed third from the bottom of the deck (two plants below it)."},Dt=[pn,Fn,Ln,jt,Hn,Zn,et,Pt,pt,Gn,Sn,Ct,Dn,Mn,xt,it,Un,vt,Rt,Nt,wn,On,dt,rt],Tt=[gn,Jn,Ln,jt,Hn,Zn,et,Pt,pt,Gn,Sn,Ct,Dn,Mn,xt,it,Un,vt,Rt,Nt,wn,On,dt,ot];const zt=Math.pow(2,-52),Gt=new Uint32Array(512);class Et{static from(e,n=$t,t=qt){const r=e.length,o=new Float64Array(2*r);for(let a=0;a<r;a++){const r=e[a];o[2*a]=n(r),o[2*a+1]=t(r)}return new Et(o)}constructor(e){const n=e.length>>1;if(n>0&&"number"!==typeof e[0])throw new Error("Expected coords to contain numbers.");this.coords=e;const t=Math.max(2*n-5,0);this._triangles=new Uint32Array(3*t),this._halfedges=new Int32Array(3*t),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){const{coords:e,_hullPrev:n,_hullNext:t,_hullTri:r,_hullHash:o}=this,a=e.length>>1;let i=1/0,s=1/0,c=-1/0,u=-1/0;for(let _=0;_<a;_++){const n=e[2*_],t=e[2*_+1];n<i&&(i=n),t<s&&(s=t),n>c&&(c=n),t>u&&(u=t),this._ids[_]=_}const l=(i+c)/2,d=(s+u)/2;let f,h,p,g=1/0;for(let _=0;_<a;_++){const n=Ut(l,d,e[2*_],e[2*_+1]);n<g&&(f=_,g=n)}const y=e[2*f],m=e[2*f+1];g=1/0;for(let _=0;_<a;_++){if(_===f)continue;const n=Ut(y,m,e[2*_],e[2*_+1]);n<g&&n>0&&(h=_,g=n)}let v=e[2*h],b=e[2*h+1],w=1/0;for(let _=0;_<a;_++){if(_===f||_===h)continue;const n=Wt(y,m,v,b,e[2*_],e[2*_+1]);n<w&&(p=_,w=n)}let x=e[2*p],k=e[2*p+1];if(w===1/0){for(let r=0;r<a;r++)this._dists[r]=e[2*r]-e[0]||e[2*r+1]-e[1];Ft(this._ids,this._dists,0,a-1);const n=new Uint32Array(a);let t=0;for(let e=0,r=-1/0;e<a;e++){const o=this._ids[e];this._dists[o]>r&&(n[t++]=o,r=this._dists[o])}return this.hull=n.subarray(0,t),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(Yt(y,m,v,b,x,k)){const e=h,n=v,t=b;h=p,v=x,b=k,p=e,x=n,k=t}const M=Vt(y,m,v,b,x,k);this._cx=M.x,this._cy=M.y;for(let _=0;_<a;_++)this._dists[_]=Ut(e[2*_],e[2*_+1],M.x,M.y);Ft(this._ids,this._dists,0,a-1),this._hullStart=f;let P=3;t[f]=n[p]=h,t[h]=n[f]=p,t[p]=n[h]=f,r[f]=0,r[h]=1,r[p]=2,o.fill(-1),o[this._hashKey(y,m)]=f,o[this._hashKey(v,b)]=h,o[this._hashKey(x,k)]=p,this.trianglesLen=0,this._addTriangle(f,h,p,-1,-1,-1);for(let _,S,C=0;C<this._ids.length;C++){const a=this._ids[C],i=e[2*a],s=e[2*a+1];if(C>0&&Math.abs(i-_)<=zt&&Math.abs(s-S)<=zt)continue;if(_=i,S=s,a===f||a===h||a===p)continue;let c=0;for(let e=0,n=this._hashKey(i,s);e<this._hashSize;e++)if(c=o[(n+e)%this._hashSize],-1!==c&&c!==t[c])break;c=n[c];let u,l=c;while(u=t[l],!Yt(i,s,e[2*l],e[2*l+1],e[2*u],e[2*u+1]))if(l=u,l===c){l=-1;break}if(-1===l)continue;let d=this._addTriangle(l,a,t[l],-1,-1,r[l]);r[a]=this._legalize(d+2),r[l]=d,P++;let g=t[l];while(u=t[g],Yt(i,s,e[2*g],e[2*g+1],e[2*u],e[2*u+1]))d=this._addTriangle(g,a,u,r[a],-1,r[g]),r[a]=this._legalize(d+2),t[g]=g,P--,g=u;if(l===c)while(u=n[l],Yt(i,s,e[2*u],e[2*u+1],e[2*l],e[2*l+1]))d=this._addTriangle(u,a,l,-1,r[l],r[u]),this._legalize(d+2),r[u]=d,t[l]=l,P--,l=u;this._hullStart=n[a]=l,t[l]=n[g]=a,t[a]=g,o[this._hashKey(i,s)]=a,o[this._hashKey(e[2*l],e[2*l+1])]=l}this.hull=new Uint32Array(P);for(let _=0,S=this._hullStart;_<P;_++)this.hull[_]=S,S=t[S];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,n){return Math.floor(It(e-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(e){const{_triangles:n,_halfedges:t,coords:r}=this;let o=0,a=0;while(1){const i=t[e],s=e-e%3;if(a=s+(e+2)%3,-1===i){if(0===o)break;e=Gt[--o];continue}const c=i-i%3,u=s+(e+1)%3,l=c+(i+2)%3,d=n[a],f=n[e],h=n[u],p=n[l],g=Ht(r[2*d],r[2*d+1],r[2*f],r[2*f+1],r[2*h],r[2*h+1],r[2*p],r[2*p+1]);if(g){n[e]=p,n[i]=d;const r=t[l];if(-1===r){let n=this._hullStart;do{if(this._hullTri[n]===l){this._hullTri[n]=e;break}n=this._hullPrev[n]}while(n!==this._hullStart)}this._link(e,r),this._link(i,t[a]),this._link(a,l);const s=c+(i+1)%3;o<Gt.length&&(Gt[o++]=s)}else{if(0===o)break;e=Gt[--o]}}return a}_link(e,n){this._halfedges[e]=n,-1!==n&&(this._halfedges[n]=e)}_addTriangle(e,n,t,r,o,a){const i=this.trianglesLen;return this._triangles[i]=e,this._triangles[i+1]=n,this._triangles[i+2]=t,this._link(i,r),this._link(i+1,o),this._link(i+2,a),this.trianglesLen+=3,i}}function It(e,n){const t=e/(Math.abs(e)+Math.abs(n));return(n>0?3-t:1+t)/4}function Ut(e,n,t,r){const o=e-t,a=n-r;return o*o+a*a}function Kt(e,n,t,r,o,a){const i=(r-n)*(o-e),s=(t-e)*(a-n);return Math.abs(i-s)>=33306690738754716e-32*Math.abs(i+s)?i-s:0}function Yt(e,n,t,r,o,a){const i=Kt(o,a,e,n,t,r)||Kt(e,n,t,r,o,a)||Kt(t,r,o,a,e,n);return i<0}function Ht(e,n,t,r,o,a,i,s){const c=e-i,u=n-s,l=t-i,d=r-s,f=o-i,h=a-s,p=c*c+u*u,g=l*l+d*d,y=f*f+h*h;return c*(d*y-g*h)-u*(l*y-g*f)+p*(l*h-d*f)<0}function Wt(e,n,t,r,o,a){const i=t-e,s=r-n,c=o-e,u=a-n,l=i*i+s*s,d=c*c+u*u,f=.5/(i*u-s*c),h=(u*l-s*d)*f,p=(i*d-c*l)*f;return h*h+p*p}function Vt(e,n,t,r,o,a){const i=t-e,s=r-n,c=o-e,u=a-n,l=i*i+s*s,d=c*c+u*u,f=.5/(i*u-s*c),h=e+(u*l-s*d)*f,p=n+(i*d-c*l)*f;return{x:h,y:p}}function Ft(e,n,t,r){if(r-t<=20)for(let o=t+1;o<=r;o++){const r=e[o],a=n[r];let i=o-1;while(i>=t&&n[e[i]]>a)e[i+1]=e[i--];e[i+1]=r}else{const o=t+r>>1;let a=t+1,i=r;Jt(e,o,a),n[e[t]]>n[e[r]]&&Jt(e,t,r),n[e[a]]>n[e[r]]&&Jt(e,a,r),n[e[t]]>n[e[a]]&&Jt(e,t,a);const s=e[a],c=n[s];while(1){do{a++}while(n[e[a]]<c);do{i--}while(n[e[i]]>c);if(i<a)break;Jt(e,a,i)}e[t+1]=e[i],e[i]=s,r-a+1>=i-t?(Ft(e,n,a,r),Ft(e,n,t,i-1)):(Ft(e,n,t,i-1),Ft(e,n,a,r))}}function Jt(e,n,t){const r=e[n];e[n]=e[t],e[t]=r}function $t(e){return e[0]}function qt(e){return e[1]}function Zt(e,n,t){var r=P(new Set(e.cities.map((function(e){return e.region})))),o=Array(7*n).fill(0).map((function(e){return{name:"",region:"",x:0,y:0}})),a=[420,490,490],i=[490,560,700],s=a[n-3],c=i[n-3],u=70,l=Math.ceil(s/u),d=Math.ceil(c/u),f=l*d,h=Array(f).fill(-1);e.mapPosition=[100,200],e.layout="Portrait";var p=Array(f).fill(0).map((function(e,n){return n}));o.forEach((function(e,n){var r=p[Math.floor(t()*p.length)],o=Math.floor(r/l),a=r%l;e.x=Math.floor(2*a*u),e.y=Math.floor(o*u),o%2===0&&(e.x+=u);var i=2*t()*Math.PI,s=t()*u/2;e.x+=s*Math.cos(i),e.y+=s*Math.sin(i),p=p.filter((function(e){return e!==r})),h[r]=n}));for(var g=Array(o.length).fill(0).map((function(e){return Array(o.length).fill(0)})),y=Array(o.length).fill(0).map((function(e){return Array(o.length).fill(null)})),m=Et.from(o,(function(e){return e.x}),(function(e){return e.y})),v=0;v<m.triangles.length;v+=3){var b=o[m.triangles[v]],w=o[m.triangles[v+1]],x=o[m.triangles[v+2]],k=g[m.triangles[v]][m.triangles[v+1]],M=k?Math.pow(k,2):Math.pow(b.x-w.x,2)+Math.pow(b.y-w.y,2),_=k||(g[m.triangles[v+1]][m.triangles[v]]=g[m.triangles[v]][m.triangles[v+1]]=Math.sqrt(M));k=g[m.triangles[v]][m.triangles[v+2]];var S=k?Math.pow(k,2):Math.pow(b.x-x.x,2)+Math.pow(b.y-x.y,2),C=k||(g[m.triangles[v+2]][m.triangles[v]]=g[m.triangles[v]][m.triangles[v+2]]=Math.sqrt(S));k=g[m.triangles[v+1]][m.triangles[v+2]];var B=k?Math.pow(k,2):Math.pow(w.x-x.x,2)+Math.pow(w.y-x.y,2),L=k||(g[m.triangles[v+2]][m.triangles[v+1]]=g[m.triangles[v+1]][m.triangles[v+2]]=Math.sqrt(B)),R=Math.acos((M+S-B)/(2*_*C)),A=Math.acos((M+B-S)/(2*_*L)),O=Math.PI-R-A,j=105*Math.PI/180;!1!==y[m.triangles[v]][m.triangles[v+1]]&&O<j?(y[m.triangles[v]][m.triangles[v+1]]=!0,y[m.triangles[v+1]][m.triangles[v]]=!0):(y[m.triangles[v]][m.triangles[v+1]]=!1,y[m.triangles[v+1]][m.triangles[v]]=!1),!1!==y[m.triangles[v]][m.triangles[v+2]]&&A<j?(y[m.triangles[v]][m.triangles[v+2]]=!0,y[m.triangles[v+2]][m.triangles[v]]=!0):(y[m.triangles[v]][m.triangles[v+2]]=!1,y[m.triangles[v+2]][m.triangles[v]]=!1),!1!==y[m.triangles[v+1]][m.triangles[v+2]]&&R<j?(y[m.triangles[v+1]][m.triangles[v+2]]=!0,y[m.triangles[v+2]][m.triangles[v+1]]=!0):(y[m.triangles[v+1]][m.triangles[v+2]]=!1,y[m.triangles[v+2]][m.triangles[v+1]]=!1)}for(var N=0,D=1e3,T=0;T<o.length;T++)for(var z=0;z<T;z++)if(y[T][z]){var G=g[T][z];N=Math.max(N,G),D=Math.min(D,G)}var E=5===n?[[s/4,c/4],[s/4,3*c/4],[s/2,c/2],[3*s/4,c/4],[3*s/4,3*c/4]]:4===n?[[s/4,c/4],[s/4,3*c/4],[3*s/4,c/4],[3*s/4,3*c/4]]:[[s/4,c/4],[s/2,c/2],[3*s/4,3*c/4]],I=Qt(o.map((function(e){return[e.x,e.y]})),n,E,y),U=Array(n).fill(0);o.forEach((function(e,n){e.region=r[I[n]],e.name=Object(qe["upperFirst"])(e.region)+" "+(1+U[I[n]]++)}));for(var K=[],Y=0;Y<o.length;Y++)for(var H=0;H<Y;H++)if(y[Y][H]){var W=o[Y],V=o[H],F=g[Y][H];K.push({nodes:[W.name,V.name],cost:Math.floor(5*F/u)})}return e.cities=o,e.connections=K,e}function Qt(e,n,t,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:100,a=Array(e.length).fill(0),i=Math.ceil(e.length/n),s=!1,c=function(){var r=Array(n).fill(0),c=Array(e.length).fill(0).map((function(e){return Array(n).fill(0)}));e.forEach((function(e,n){var o=null,s=0;t.forEach((function(t,a){var u=Xt(e,t);(null===o||u<o)&&r[a]<i&&(o=u,s=a),c[n][a]=u})),a[n]=s,r[s]++}));var u=Array(t.length).fill(0).map((function(e){return[0,0]})),l=Array(t.length).fill(0);e.forEach((function(e,n){u[a[n]][0]+=e[0],u[a[n]][1]+=e[1],l[a[n]]++})),s=!0,t.forEach((function(e,n){u[n][0]=u[n][0]/l[n],u[n][1]=u[n][1]/l[n],e[0]===u[n][0]&&e[1]===u[n][1]||(s=!1)})),t=u,console.log("iterations",o),console.log("centroids",t),s=s||0===--o};do{c()}while(!s);var u=10;do{console.log("Refining"),s=!0,e.forEach((function(n,o){var i=a[o],c=r[o].some((function(e,n){return e&&i===a[n]}));if(!c){var u=t[i],l=null,d=null;r[o].forEach((function(n,t){if(n){var r=e[t],o=Xt(r,u);(null===l||o<l)&&(l=o,d=t)}})),a[o]=a[d],a[d]=i,s=!1}})),s=s||0===--u}while(!s);return a}function Xt(e,n){return(e[0]-n[0])*(e[0]-n[0])+(e[1]-n[1])*(e[1]-n[1])}var er=[10,7,7,7,6],nr=[9,6,6,6,5],tr=[10,7,7,7,6],rr=[21,17,17,15,14],or=[18,17,17,15,14],ar=[5,5,5,5,4],ir=[13,13,13,12,11],sr=[18,17,17,15,14],cr=[10,22,33,44,54,64,73,82,90,98,105,112,118,124,129,134,138,142,145,148,150,150],ur=[3,3,4,5,5];function lr(e,n,t,r){var o,a,i=Object(qe["cloneDeep"])(yn);if("original"==n){i=i.slice(8);var s=i.splice(2,1)[0],c=i.pop();i=an(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i.unshift(s),i.push(c),o=[Ar(3),Ar(4),Ar(5),Ar(6)],a=[Ar(7),Ar(8),Ar(9),Ar(10)]}else{var u=an(i.splice(0,13),t()+""),l=u.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),o=l.slice(0,4),a=l.slice(4);var d=u.shift(),f=i.pop();i=an(i,t()+""),2==e?(u=u.slice(1),i=an(i.slice(5).concat(u),t()+"")):3==e?(u=u.slice(2),i=an(i.slice(6).concat(u),t()+"")):4==e?(u=u.slice(1),i=an(i.slice(3).concat(u),t()+"")):r&&(i=an(i.concat(u),t()+"")),i.unshift(d),i.push(f)}return{actualMarket:o,futureMarket:a,powerPlantsDeck:i}}function dr(e,n,t,r,o){var a,i,s,c,u,l,d,f,h=n.fastBid,p=void 0!==h&&h,g=n.map,y=void 0===g?"USA":g,m=n.variant,v=void 0===m?"original":m,w=n.showMoney,x=void 0!==w&&w,k=n.useNewRechargedSetup,M=void 0===k||k,_=n.trackTotalSpent,S=void 0===_||_,C=n.randomizeMap,B=void 0!==C&&C,L=n.chooseRegions,R=void 0!==L&&L,A=n.chooseColors,O=void 0!==A&&A;t=null!==(a=t)&&void 0!==a?a:Math.random().toString();var j=Qe()(t),N="original"==v?Dt.find((function(e){return e.name==y})):Tt.find((function(e){return e.name==y}));if(!N)throw new Error('Map "'.concat(y,'" not found for variant "').concat(v,'"'));var D,T,z,G=Object(qe["cloneDeep"])(N);if(r)z=r,D=z.splice(0,4),T=z.splice(0,4);else if(G.setupDeck){var E=G.setupDeck(e,v,j);D=E.actualMarket,T=E.futureMarket,z=E.powerPlantsDeck}else{var I=lr(e,v,j,M);D=I.actualMarket,T=I.futureMarket,z=I.powerPlantsDeck}var U,K,Y,H,W,V,F,J,$,q=Object(qe["range"])(e).map((function(e){return{id:e,powerPlants:[],coalCapacity:0,coalLeft:0,oilCapacity:0,oilLeft:0,garbageCapacity:0,garbageLeft:0,uraniumCapacity:0,uraniumLeft:0,hybridCapacity:0,hybridLeft:0,money:50,housesLeft:22,cities:[],powerPlantsNotUsed:[],availableMoves:null,lastMove:null,isDropped:!1,isAI:!1,bid:0,passed:!1,skipAuction:!1,citiesPowered:0,resourcesUsed:[],totalIncome:0,totalSpentCities:0,totalSpentConnections:0,totalSpentPlants:0,totalSpentResources:0,usedFreeJump:!1,totalTimeUsed:0}})),Z=q.length-2,Q=Object(qe["range"])(e),X=Q[0];if(G.resupplyNorth&&(W=G.resupplyNorth[0],V=G.resupplyNorth[1],F=G.resupplyNorth[2]),G.resupply?(U=G.resupply[0],K=G.resupply[1],Y=G.resupply[2],H=G.resupply[3]):(U=[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],K=[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],Y=[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],H=[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]),"Portrait"==G.layout||B){var ee="USA"===G.name&&"recharged"===v;G.viewBox=G.viewBox||[1480,1060],G.adjustRatio=G.adjustRatio||[1,1],G.playerOrderPosition=G.playerOrderPosition||[1160,160],G.cityCountPosition=G.cityCountPosition||[0,0],G.powerPlantMarketPosition=G.powerPlantMarketPosition||[745,0],G.actualMarketWidth=G.actualMarketWidth||430,G.mapPosition=G.mapPosition||[0,0],G.buttonsPosition=G.buttonsPosition||[1305,0],G.playerBoardsPosition=G.playerBoardsPosition||[1105,240],G.roundInfoPosition=G.roundInfoPosition||[20,920],G.supplyPosition=G.supplyPosition||[ee?480:675,920]}else G.viewBox=G.viewBox||[1465,860],G.adjustRatio=G.adjustRatio||[1,1],G.playerOrderPosition=G.playerOrderPosition||[1160,140],G.cityCountPosition=G.cityCountPosition||[0,0],G.powerPlantMarketPosition=G.powerPlantMarketPosition||[745,0],G.actualMarketWidth=G.actualMarketWidth||430,G.mapPosition=G.mapPosition||[-10,0],G.buttonsPosition=G.buttonsPosition||[1305,0],G.playerBoardsPosition=G.playerBoardsPosition||[1105,200],G.roundInfoPosition=G.roundInfoPosition||[20,590],G.supplyPosition=G.supplyPosition||[0,720];if(B)J=Zt(G,ur[Z],j);else{G.cities=G.cities.map((function(e){return b(b({},e),{},{x:e.x*G.adjustRatio[0],y:e.y*G.adjustRatio[1]})}));var ne=un(G),te=ne.regions,re=Math.min(ur[Z],te.length);if(R&&te.length>re)J=G,$={regionsNeeded:re,picked:[]};else{var oe=new Set;while(oe.size!=re){var ae=te[Math.floor(j()*te.length)];ln(G.name,ne,P(oe),ae)&&(oe.add(ae),"Italy"===G.name&&oe.has("red")&&oe.has("green")&&oe.has("blue")&&oe.clear())}J=fr(G,oe),hr(G,oe,D,T,z)}}var ie=G.startingResources?G.startingResources[0]:24,se=G.startingResources?G.startingResources[1]:18,ce=G.startingResources?G.startingResources[2]:"original"==v?6:9,ue=G.startingResources?G.startingResources[3]:2,le=G.startingSupply?G.startingSupply[0]:24,de=G.startingSupply?G.startingSupply[1]:24,fe=G.startingSupply?G.startingSupply[2]:24,he=G.startingSupply?G.startingSupply[3]:12,pe=null===(i=G.startingResourcesNorth)||void 0===i?void 0:i[0],ge=null===(s=G.startingResourcesNorth)||void 0===s?void 0:s[1],ye=null===(c=G.startingResourcesNorth)||void 0===c?void 0:c[2],me=le-ie-(null!==pe&&void 0!==pe?pe:0),ve=de-se-(null!==ge&&void 0!==ge?ge:0),be=fe-ce-(null!==ye&&void 0!==ye?ye:0),we=he-ue,xe=Object(qe["cloneDeep"])(null!==(u=G.coalPrices)&&void 0!==u?u:tn.coal),ke=Object(qe["cloneDeep"])(null!==(l=G.oilPrices)&&void 0!==l?l:tn.oil),Me=Object(qe["cloneDeep"])(null!==(d=G.garbagePrices)&&void 0!==d?d:tn.garbage),_e=Object(qe["cloneDeep"])(null!==(f=G.uraniumPrices)&&void 0!==f?f:tn.uranium),Se=G.coalPricesNorth?Object(qe["cloneDeep"])(G.coalPricesNorth):void 0,Ce=G.oilPricesNorth?Object(qe["cloneDeep"])(G.oilPricesNorth):void 0,Be=G.garbagePricesNorth?Object(qe["cloneDeep"])(G.garbagePricesNorth):void 0,Le="South Africa"==(o||J).name,Re={map:o||J,players:q,playerOrder:Q,currentPlayers:[X],powerPlantsDeck:z,coalSupply:me,oilSupply:ve,garbageSupply:be,uraniumSupply:we,coalStorage:Le?0:void 0,coalResupply:U,oilResupply:K,garbageResupply:Y,uraniumResupply:H,coalMarket:ie,oilMarket:se,garbageMarket:ce,uraniumMarket:ue,uraniumMineMarket:"Australia"==(o||J).name?[2,2,2,2,2,2]:void 0,coalPrices:xe,oilPrices:ke,garbagePrices:Me,uraniumPrices:_e,coalMarketNorth:pe,oilMarketNorth:ge,garbageMarketNorth:ye,coalResupplyNorth:W,oilResupplyNorth:V,garbageResupplyNorth:F,coalPricesNorth:Se,oilPricesNorth:Ce,garbagePricesNorth:Be,actualMarket:D,futureMarket:T,chosenPowerPlant:void 0,currentBid:void 0,highestBidders:[],auctioningPlayer:void 0,step:1,phase:Pe.Auction,options:{fastBid:p,map:y,variant:v,showMoney:x,useNewRechargedSetup:M,trackTotalSpent:S,chooseRegions:R,chooseColors:O},log:[],hiddenLog:[],seed:t,round:1,newTurn:!0,auctionSkips:0,citiesToStep2:"Baden-Württemberg"==(o||J).name?nr[e-2]:"UK & Ireland"==(o||J).name?tr[e-2]:"Bremen"==(o||J).name?ar[e-2]:er[e-2],citiesToEndGame:"South Africa"==(o||J).name?or[e-2]:"UK & Ireland"==(o||J).name&&2==e?Math.min(rr[e-2],(o||J).cities.length):"Bremen"==(o||J).name?ir[e-2]:"Manhattan"==(o||J).name?sr[e-2]:rr[e-2],resourceResupply:["[".concat(U[Z][0],", ").concat(K[Z][0],", ").concat(Y[Z][0],", ").concat(H[Z][0],"]"),"[".concat(U[Z][1],", ").concat(K[Z][1],", ").concat(Y[Z][1],", ").concat(H[Z][1],"]"),"[".concat(U[Z][2],", ").concat(K[Z][2],", ").concat(Y[Z][2],", ").concat(H[Z][2],"]")],resourceResupplyNorth:W&&V&&F?["[".concat(W[Z][0],", ").concat(V[Z][0],", ").concat(F[Z][0],"]"),"[".concat(W[Z][1],", ").concat(V[Z][1],", ").concat(F[Z][1],"]"),"[".concat(W[Z][2],", ").concat(V[Z][2],", ").concat(F[Z][2],"]")]:void 0,paymentTable:cr,variant:v,minimunBid:0,plantDiscountActive:"recharged"==v&&"China"!=(o||J).name&&"Russia"!=(o||J).name&&"Baden-Württemberg"!=(o||J).name,discardSmallestPlant:!1,cardsLeft:z.length,nextCardWeak:"recharged"==v,card39Bought:!1,knownPowerPlantDeck:D.concat(T),knownPowerPlantDeckStep3:[],powerPlantDeckAfterStep3:void 0};return Re.log.push({type:"event",event:"Game Start!"}),"Middle East"==Re.map.name&&Pr(Re),$&&(Re.phase=Pe.RegionSelection,Re.regionDraft=$),O&&(Re.phase=Pe.ColorSelection,Re.colorDraft={picked:[]}),Re.map.blockSpaces&&(Re.blockedCities=Re.map.blockSpaces(e,Re.map.cities,j),Re.blockedCities.length>0&&Re.log.push({type:"event",event:"".concat(Re.blockedCities.length," building spaces are blocked for ").concat(e," players.")})),Re.players[X].availableMoves=cn(Re,Re.players[X]),Re}function fr(e,n){var t=Object(qe["cloneDeep"])(e);return t.cities=t.cities.filter((function(e){return n.has(e.region)})),t.connections=t.connections.filter((function(t){return t.nodes.map((function(n){return e.cities.find((function(e){return e.name==n})).region})).every((function(e){return n.has(e)}))})),t}function hr(e,n,t,r,o){if(e.regionalPowerPlants){var a,i=w(n);try{for(i.s();!(a=i.n()).done;){var s=a.value,c=e.regionalPowerPlants[s];if(c){var u,l=w(c);try{var d=function(){var e=u.value,n=function(n){var t=n.findIndex((function(n){return n.number===e.number}));-1!==t&&(n[t]=b({},e))};n(t),n(r),n(o)};for(l.s();!(u=l.n()).done;)d()}catch(f){l.e(f)}finally{l.f()}}}}catch(f){i.e(f)}finally{i.f()}}}function pr(e){var n=new Set(e.regionDraft.picked),t=e.map;e.map=fr(t,n),hr(t,n,e.actualMarket,e.futureMarket,e.powerPlantsDeck),e.knownPowerPlantDeck=e.actualMarket.concat(e.futureMarket),"UK & Ireland"==e.map.name&&2==e.players.length&&(e.citiesToEndGame=Math.min(rr[e.players.length-2],e.map.cities.length)),e.regionDraft=void 0,e.phase=Pe.Auction,e.currentPlayers=[e.playerOrder[0]]}function gr(e){e.colorDraft=void 0,e.currentPlayers=[e.playerOrder[0]],e.regionDraft?e.phase=Pe.RegionSelection:e.phase=Pe.Auction}function yr(e,n,t){var r,o,a=e.players[t],i=null===(r=a.availableMoves)||void 0===r?void 0:r[n.name];switch(Vr(e),$e()(e.currentPlayers.includes(t),"It is not your turn!"),$e()(i,"You are not allowed to run the command "+n.name),$e()(i.some((function(e){return Object(qe["isEqual"])(e,n.data)})),"Wrong argument for the command "+n.name),n.name){case Ke.ChoosePowerPlant:rn(n),e.chosenPowerPlant=e.actualMarket.find((function(e){return e.number===n.data})),e.auctioningPlayer=a.id,39==n.data&&(e.card39Bought=!0),"recharged"==e.options.variant&&e.plantDiscountActive&&e.chosenPowerPlant.number==e.actualMarket[0].number?(e.minimunBid=1,e.plantDiscountActive=!1,n.usedPlantDiscount=!0):e.minimunBid=n.data;var s=e.players.filter((function(e){return!e.skipAuction&&!e.isDropped}));if(1==s.length){e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," chooses Power Plant ").concat(n.data,"."),pretty:"".concat(jr(a)," chooses Power Plant <b>").concat(n.data,"</b>.")});var c=s[0];if(Er(e,c,e.minimunBid),void 0!=e.discountBonusPlayer){var u=Be(e,c)>4||e.players.length>2&&Be(e,c)>3;u||Lr(e),Ur(e,e.discountBonusPlayer)}else(Be(e,c)<=3||2==e.players.length&&4==Be(e,c))&&(Lr(e),Gr(e))}else e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," chooses Power Plant ").concat(n.data," to initiate an auction."),pretty:"".concat(jr(a)," chooses Power Plant <b>").concat(n.data,"</b> to initiate an auction.")}),e.options.fastBid&&(e.currentPlayers=e.playerOrder.filter((function(n){return!e.players[n].skipAuction&&!e.players[n].isDropped})));break;case Ke.Bid:rn(n),e.options.fastBid?(e.hiddenLog.push({type:"move",player:t,move:n,simple:"".concat(a.name," bids $").concat(n.data,"."),pretty:"".concat(jr(a),' bids <span style="color: green">$').concat(n.data,"</span>.")}),Fr(e,a,n.data)):(e.currentBid=a.bid=n.data,e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," bids $").concat(n.data,"."),pretty:"".concat(jr(a),' bids <span style="color: green">$').concat(n.data,"</span>.")}),Yr(e));break;case Ke.ChooseRegion:if(rn(n),e.regionDraft.picked.push(n.data),e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," chooses region ").concat(n.data,"."),pretty:"".concat(jr(a)," chooses region <b>").concat(n.data,"</b>.")}),e.regionDraft.picked.length>=e.regionDraft.regionsNeeded)pr(e);else{var l=e.playerOrder;e.currentPlayers=[l[(l.indexOf(t)+1)%l.length]]}break;case Ke.ChooseColor:rn(n),a.color=n.data,e.colorDraft.picked.push(n.data),e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," chooses ").concat(n.data,"."),pretty:"".concat(jr(a)," chooses <b>").concat(n.data,"</b>.")}),e.colorDraft.picked.length>=e.players.length?gr(e):e.currentPlayers=[e.playerOrder[e.colorDraft.picked.length]];break;case Ke.Pass:switch(rn(n),e.options.fastBid&&e.phase==Pe.Auction&&e.chosenPowerPlant||e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," passes."),pretty:"".concat(jr(a)," passes.")}),e.phase){case Pe.Auction:var d;if(void 0==e.chosenPowerPlant)if(a.skipAuction=!0,e.discountBonusPlayer==a.id&&(e.discountBonusPlayer=void 0),e.auctionSkips++,1==e.auctionSkips&&"Russia"==e.map.name&&(null===(d=e.actualMarket)||void 0===d?void 0:d.length)>0&&(e.log.push({type:"event",event:"First pass, removing lowest numbered Power Plant (".concat(e.actualMarket[0].number,").")}),e.actualMarket.shift(),xr(e)),e.players.some((function(e){return!e.skipAuction&&!e.isDropped})))Wr(e);else{if(e.auctionSkips==e.players.length&&"Baden-Württemberg"==e.map.name){for(var f=[],h=0;h<2&&e.actualMarket.length>0;h++)f.push(e.actualMarket[0].number),e.actualMarket.shift(),xr(e);e.log.push({type:"event",event:"Everyone passed, removing the two lowest numbered Power Plants (".concat(f.join(", "),").")})}else e.auctionSkips==e.players.length&&"original"==e.options.variant&&"China"!=e.map.name&&"Russia"!=e.map.name&&(e.log.push({type:"event",event:"Everyone passed, removing lowest numbered Power Plant (".concat(e.actualMarket[0].number,").")}),e.actualMarket.shift(),xr(e));Gr(e)}else if(e.options.fastBid)e.hiddenLog.push({type:"move",player:t,move:n,simple:"".concat(a.name," passes."),pretty:"".concat(jr(a)," passes.")}),Fr(e,a,0);else{a.passed=!0;var p=e.players.filter((function(e){return!e.passed&&!e.skipAuction&&!e.isDropped}));if(1==p.length){var g=p[0];Er(e,g,g.bid),(Be(e,g)>4||e.players.length>2&&Be(e,g)>3)&&!g.isDropped?Ur(e,g.id):(Lr(e),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?(e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),Wr(e,!0)):Gr(e))}else Yr(e)}break;case Pe.Resources:if("India"==e.map.name&&e.chosenResource?e.chosenResource=void 0:a.passed=!0,"Korea"==e.map.name&&(e.chosenSide=void 0),0==e.players.filter((function(e){return!e.passed&&!e.isDropped})).length?(e.players.forEach((function(e){e.passed=e.isDropped})),e.phase=Pe.Building,"India"==e.map.name&&(e.citiesBuiltInCurrentRound=0),Ur(e,e.playerOrder[e.players.length-1]),e.players[e.currentPlayers[0]].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[e.currentPlayers[0]].passed=!0,Hr(e))):Hr(e),"India"==e.map.name)while(e.players[e.currentPlayers[0]].passed)Hr(e);break;case Pe.Building:if(a.passed=!0,0==e.players.filter((function(e){return!e.passed&&!e.isDropped})).length){var y=Math.max.apply(Math,P(e.players.map((function(e){return e.cities.length}))));if(1==e.step){var m=e.players.reduce((function(e,n){return e+n.cities.length}),0),v=m>=e.map.cities.length;if((y>=e.citiesToStep2||v)&&"Middle East"!=e.map.name&&"Manhattan"!=e.map.name){var b=e.actualMarket.shift();if(e.log.push({type:"event",event:"Starting Step 2, Power Plant ".concat(null===b||void 0===b?void 0:b.number," discarded.")}),e.step=2,"Spain & Portugal"==e.map.name&&(e.powerPlantsDeck.find((function(e){return 18==e.number}))||(e.powerPlantsDeck.unshift(Ar(27)),e.powerPlantsDeck.unshift(Ar(22)),e.powerPlantsDeck.unshift(Ar(18)))),"Europe"==e.map.name){var w=[].concat(P(e.actualMarket),P(e.futureMarket));w.sort((function(e,n){return e.number-n.number})),e.actualMarket=w.slice(0,4),e.futureMarket=w.slice(4)}else xr(e)}}y>=e.citiesToEndGame?(e.phase=Pe.GameEnd,e.currentPlayers=[],Dr(e),"India"==e.map.name&&e.citiesBuiltInCurrentRound>2*e.players.length&&e.players.forEach((function(n){var t=e.paymentTable[n.citiesPowered]-3*n.cities.length;n.money+=Math.max(t,0),n.totalIncome+=Math.max(t,0)})),e.uraniumMineMarket&&P(e.playerOrder).reverse().forEach((function(n){var t=e.players[n],r=Ae(e,t);if(r.mines>0&&r.income>0){var o,a=null!==(o=t.name)&&void 0!==o?o:"Player ".concat(t.id);e.log.push({type:"event",event:"".concat(a," sells uranium for ").concat(r.income," Elektro (").concat(r.cities," cities × $").concat(r.price,", ").concat(r.mines," mine(s)).")})}})),e.log.push({type:"event",event:"Game Ended!"})):(e.players.forEach((function(e){e.passed=e.isDropped,e.powerPlantsNotUsed=e.powerPlants.map((function(e){return e.number}))})),e.phase=Pe.Bureaucracy,e.currentPlayers=e.playerOrder.filter((function(n){return!e.players[n].passed&&!e.players[n].isDropped})),"India"==e.map.name&&(e.players.forEach((function(n){return n.targetCitiesPowered=Tr(e,n)})),e.citiesBuiltInCurrentRound>2*e.players.length&&e.log.push({type:"event",event:"Power outage! ".concat(e.citiesBuiltInCurrentRound," built this round, which is more than twice the number of players.")})),"China"==e.map.name&&e.step<=2?Cr(e):0==e.futureMarket.length&&"Manhattan"!=e.map.name&&(e.step=3,Sr(e)))}else Hr(e);break;case Pe.Bureaucracy:a.passed=!0;var x=Math.min(a.cities.length,a.citiesPowered),k=e.paymentTable[x];if("India"==e.map.name&&e.citiesBuiltInCurrentRound>2*e.players.length&&(k-=3*a.cities.length,k=Math.max(k,0)),a.money+=k,e.options.trackTotalSpent&&(a.totalIncome+=k),a.citiesPowered=0,"India"==e.map.name&&(a.targetCitiesPowered=0),0==e.players.filter((function(e){return!e.passed&&!e.isDropped})).length){var M,_,S,C,B,L,R,A;if(e.uraniumMineMarket){P(e.playerOrder).reverse().forEach((function(n){var t=e.players[n],r=Ae(e,t);if(r.mines>0){var o,a=null!==(o=t.name)&&void 0!==o?o:"Player ".concat(t.id);e.log.push({type:"event",event:r.income>0?"".concat(a," sells uranium for ").concat(r.income," Elektro (").concat(r.cities," cities × $").concat(r.price,", ").concat(r.mines," mine(s))."):"".concat(a,"'s uranium mines earn nothing (market full).")})}}));var O=Oe(e,e.map.uraniumMineResupply[e.players.length-2][e.step-1]);O>0&&e.log.push({type:"event",event:"Removing ".concat(O," uranium from the mine market (cheapest slots).")})}var j,N,D=(null!==(M=null===(_=e.coalPrices)||void 0===_?void 0:_.length)&&void 0!==M?M:tn[ke.Coal].length)-e.coalMarket,T=(null!==(S=null===(C=e.oilPrices)||void 0===C?void 0:C.length)&&void 0!==S?S:tn[ke.Oil].length)-e.oilMarket,z=(null!==(B=null===(L=e.garbagePrices)||void 0===L?void 0:L.length)&&void 0!==B?B:tn[ke.Garbage].length)-e.garbageMarket,G=(null!==(R=null===(A=e.uraniumPrices)||void 0===A?void 0:A.length)&&void 0!==R?R:tn[ke.Uranium].length)-e.uraniumMarket,E=0,I=0,U=0;if(e.coalResupplyNorth){var K=e.coalPricesNorth.length-e.coalMarketNorth,Y=e.oilPricesNorth.length-e.oilMarketNorth,H=e.garbagePricesNorth.length-e.garbageMarketNorth;E=Math.min(e.coalSupply,e.coalResupplyNorth[e.players.length-2][e.step-1],K),e.coalMarketNorth+=E,e.coalSupply-=E,I=Math.min(e.oilSupply,e.oilResupplyNorth[e.players.length-2][e.step-1],Y),e.oilMarketNorth+=I,e.oilSupply-=I,U=Math.min(e.garbageSupply,e.garbageResupplyNorth[e.players.length-2][e.step-1],H),e.garbageMarketNorth+=U,e.garbageSupply-=U}if(void 0!==e.coalStorage){var W=Math.min(e.coalResupply[e.players.length-2][e.step-1],D),V=Math.min(e.coalStorage,W),F=Math.min(e.coalSupply,W-V);j=V+F,e.coalMarket+=j,e.coalStorage-=V,e.coalSupply-=F}else j=Math.min(e.coalSupply,e.coalResupply[e.players.length-2][e.step-1],D),e.coalMarket+=j,e.coalSupply-=j;if("Middle East"==e.map.name){0==e.oilMarket&&(e.oilPrices=tn[ke.Oil]),N=e.oilResupply[e.players.length-2][e.step-1];for(var J=0;J<N;J++)e.oilSupply>0?(e.oilMarket++,e.oilSupply--):(e.oilPrices.pop(),e.oilPrices.unshift(1))}else N=Math.min(e.oilSupply,e.oilResupply[e.players.length-2][e.step-1],T),e.oilMarket+=N,e.oilSupply-=N;var $=Math.min(e.garbageSupply,e.garbageResupply[e.players.length-2][e.step-1],z);e.garbageMarket+=$,e.garbageSupply-=$;var q=0;if(("recharged"!=e.options.variant||"Germany"!=e.options.map&&"Italy"!=e.options.map||!e.card39Bought)&&(q=Math.min(e.uraniumSupply,e.uraniumResupply[e.players.length-2][e.step-1],G),e.uraniumMarket+=q,e.uraniumSupply-=q),e.coalResupplyNorth?e.log.push({type:"event",event:"Resupplying resources — North: [".concat(E,", ").concat(I,", ").concat(U,"], South: [").concat(j,", ").concat(N,", ").concat($,", ").concat(q,"].")}):e.log.push({type:"event",event:"Resupplying resources: [".concat(j,", ").concat(N,", ").concat($,", ").concat(q,"].")}),"Manhattan"==e.map.name)kr(e);else if("Middle East"==e.map.name&&2==e.step&&e.futureMarket.length>0){var Z=e.futureMarket.pop();e.log.push({type:"event",event:"Putting Power Plant ".concat(Z.number," on the bottom of the deck.")}),e.powerPlantsDeck.push(Z),xr(e),Z=e.futureMarket.length?e.futureMarket.pop():e.actualMarket.pop(),e.log.push({type:"event",event:"Putting Power Plant ".concat(Z.number," on the bottom of the deck.")}),e.powerPlantsDeck.push(Z),xr(e)}else if(e.futureMarket.length>0){if("Benelux"==e.map.name&&("original"==e.options.variant||e.discardSmallestPlant)){var Q=e.actualMarket[0];e.log.push({type:"event",event:"Removing smallest plant, Power Plant ".concat(Q.number,".")}),e.actualMarket.shift(),xr(e),e.discardSmallestPlant=!1}var X;if("Quebec"==e.map.name){var ee=e.futureMarket.filter((function(e){return e.type!=Me.Wind}));if(X=ee.pop(),X)e.futureMarket=e.futureMarket.filter((function(e){var n;return e.number!=(null===(n=X)||void 0===n?void 0:n.number)}));else{var ne=e.actualMarket.filter((function(e){return e.type!=Me.Wind}));X=ne.pop(),X&&(e.actualMarket=e.actualMarket.filter((function(e){var n;return e.number!=(null===(n=X)||void 0===n?void 0:n.number)})))}}else X=e.futureMarket.pop();X&&(e.log.push({type:"event",event:"Putting Power Plant ".concat(X.number," on the bottom of the deck.")}),e.powerPlantsDeck.push(X),xr(e))}else e.actualMarket.length>0&&("China"!=e.map.name||3==e.step)&&(e.log.push({type:"event",event:"Discarding Power Plant ".concat(e.actualMarket[0].number,".")}),e.actualMarket.shift(),xr(e));e.round++,"Baden-Württemberg"!=e.map.name&&Ir(e),e.players.forEach((function(e){e.passed=e.isDropped})),e.auctionSkips=0,e.actualMarket.length>0?(e.phase=Pe.Auction,0==e.futureMarket.length&&"China"!=e.map.name&&"Manhattan"!=e.map.name&&(e.step=3,Sr(e)),e.plantDiscountActive="recharged"==e.options.variant&&"China"!=e.map.name&&"Russia"!=e.map.name&&"Baden-Württemberg"!=e.map.name,Ur(e,e.playerOrder[0])):Gr(e)}else e.currentPlayers=e.playerOrder.filter((function(n){return!e.players[n].passed&&!e.players[n].isDropped}));break}break;case Ke.DiscardPowerPlant:rn(n),n.extra||e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," discards Power Plant ").concat(n.data,"."),pretty:"".concat(jr(a)," discards Power Plant <b>").concat(n.data,"</b>.")});var te=a.powerPlants.find((function(e){return e.number==n.data}));if(a.powerPlants=a.powerPlants.filter((function(e){return e.number!=n.data})),wr(a),n.extra){var re=[];switch(te.type){case Me.Coal:e.coalSupply+=n.extra[0],a.coalLeft-=n.extra[0],re.push(n.extra[0]+" Coal");break;case Me.Oil:e.oilSupply+=n.extra[0],a.oilLeft-=n.extra[0],re.push(n.extra[0]+" Oil");break;case Me.Garbage:e.garbageSupply+=n.extra[0],a.garbageLeft-=n.extra[0],re.push(n.extra[0]+" Garbage");break;case Me.Uranium:e.uraniumSupply+=n.extra[0],a.uraniumLeft-=n.extra[0],re.push(n.extra[0]+" Uranium");break;case Me.Hybrid:n.extra[0]>0&&(e.coalSupply+=n.extra[0],a.coalLeft-=n.extra[0],re.push(n.extra[0]+" Coal")),n.extra[1]>0&&(e.oilSupply+=n.extra[1],a.oilLeft-=n.extra[1],re.push(n.extra[1]+" Oil"));break}e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," discards Power Plant ").concat(n.data," and ").concat(re.join(", "),"."),pretty:"".concat(jr(a)," discards Power Plant <b>").concat(n.data,"</b> and ").concat(re.join(", "),".")}),Lr(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?Wr(e,!0):Gr(e)}else{var oe=sn(a);a.garbageLeft>a.garbageCapacity&&(e.garbageSupply+=a.garbageLeft-a.garbageCapacity,a.garbageLeft=a.garbageCapacity),a.uraniumLeft>a.uraniumCapacity&&(e.uraniumSupply+=a.uraniumLeft-a.uraniumCapacity,a.uraniumLeft=a.uraniumCapacity),1==oe.length&&(Br(e,a,oe[0]),oe.pop()),0==oe.length&&(Lr(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?Wr(e,!0):Gr(e))}break;case Ke.DiscardResources:rn(n),e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," discarded a ").concat(n.data,"."),pretty:"".concat(jr(a)," discarded a <b>").concat(n.data,"</b>.")}),n.data==ke.Coal?(a.coalLeft--,e.coalSupply++):n.data==ke.Oil&&(a.oilLeft--,e.oilSupply++);var ae=sn(a);1==ae.length&&(Br(e,a,ae[0]),ae.pop()),0==ae.length&&(Lr(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?Wr(e,!0):Gr(e));break;case Ke.BuyResource:rn(n),e.chosenResource=n.data.resource,n.data.side&&(e.chosenSide=n.data.side);var ie,se="north"===n.data.side;switch(n.data.resource){case ke.Coal:if(se){var ce=e.coalPricesNorth;ie=ce[ce.length-e.coalMarketNorth],a.coalLeft++,e.coalMarketNorth--}else if(n.data.fromStorage)ie=8,a.coalLeft++,e.coalStorage--;else if(0==e.coalMarket)ie=8,a.coalLeft++,e.coalSupply--,n.fromSupply=!0;else{var ue,le=null!==(ue=e.coalPrices)&&void 0!==ue?ue:tn[ke.Coal];ie=le[le.length-e.coalMarket],a.coalLeft++,e.coalMarket--}break;case ke.Oil:if(se){var de=e.oilPricesNorth;ie=de[de.length-e.oilMarketNorth],a.oilLeft++,e.oilMarketNorth--}else{var fe,he=null!==(fe=e.oilPrices)&&void 0!==fe?fe:tn[ke.Oil];ie=he[he.length-e.oilMarket],a.oilLeft++,e.oilMarket--}break;case ke.Garbage:if(se){var pe=e.garbagePricesNorth;ie=pe[pe.length-e.garbageMarketNorth],a.garbageLeft++,e.garbageMarketNorth--}else{var ge,ye=null!==(ge=e.garbagePrices)&&void 0!==ge?ge:tn[ke.Garbage];if(ie=ye[ye.length-e.garbageMarket],"Central Europe"==e.map.name){var me=a.cities.filter((function(e){return"Wien"==e.name}));(null===me||void 0===me?void 0:me.length)>0&&ie--}a.garbageLeft++,e.garbageMarket--}break;case ke.Uranium:var ve,be=null!==(ve=e.uraniumPrices)&&void 0!==ve?ve:tn[ke.Uranium];ie=be[be.length-e.uraniumMarket],a.uraniumLeft++,e.uraniumMarket--;break}a.money-=ie,e.options.trackTotalSpent&&(a.totalSpentResources+=ie),e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," buys ").concat(n.data.resource," for $").concat(ie,"."),pretty:"".concat(jr(a)," buys <b>").concat(n.data.resource,'</b> for <span style="color: green">$').concat(ie,"</span>.")});break;case Ke.Build:rn(n);var we=!1;if("Japan"===e.map.name&&!a.usedFreeJump&&a.cities.length>=1)if(1===e.round&&e.map.startingCities){var xe=new Set(e.map.startingCities);xe.has(n.data.name)&&(we=!0)}else n.data.freeJump&&(we=!0);var _e=e.players.filter((function(e){return e.cities.find((function(e){return e.name==n.data.name}))})).length;if(a.cities.push({name:n.data.name,position:_e}),a.money-=n.data.price,e.options.trackTotalSpent){var Se=e.map.cities.find((function(e){return e.name==n.data.name}));Se.singleOccupancy?a.totalSpentConnections+=n.data.price:(a.totalSpentCities+=10+5*_e,a.totalSpentConnections+=n.data.price-(10+5*_e))}e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," builds on ").concat(n.data.name," for $").concat(n.data.price,"."),pretty:"".concat(jr(a)," builds on <b>").concat(n.data.name,'</b> for <span style="color: green">$').concat(n.data.price,"</span>.")}),we&&(a.usedFreeJump=!0),"India"==e.map.name&&e.citiesBuiltInCurrentRound++,"original"==e.options.variant&&e.actualMarket.length>0&&a.cities.length>=e.actualMarket[0].number&&"China"!=e.map.name&&"Russia"!=e.map.name&&"Baden-Württemberg"!=e.map.name&&(e.actualMarket.shift(),xr(e));break;case Ke.UsePowerPlant:rn(n),a.powerPlantsNotUsed=a.powerPlantsNotUsed.filter((function(e){return e!=n.data.powerPlant})),n.data.resourcesSpent.forEach((function(n){switch(n){case ke.Coal:a.coalLeft--,void 0!==e.coalStorage?e.coalStorage++:e.coalSupply++;break;case ke.Oil:a.oilLeft--,e.oilSupply++;break;case ke.Garbage:a.garbageLeft--,e.garbageSupply++;break;case ke.Uranium:a.uraniumLeft--,e.uraniumSupply++;break}})),a.citiesPowered+=n.data.citiesPowered,e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," uses Power Plant ").concat(n.data.powerPlant,"."),pretty:"".concat(jr(a)," uses Power Plant <b>").concat(n.data.powerPlant,"</b>.")});break}a.availableMoves=null,a.lastMove=n,e.cardsLeft=e.powerPlantsDeck.length,e.nextCardWeak="recharged"==e.options.variant&&e.cardsLeft>0&&e.powerPlantsDeck[0].number<=15,mr(e,n.time),e.currentPlayers.forEach((function(n){return e.players[n].availableMoves=cn(e,e.players[n])}));var Ce=e.log[e.log.length-1];return e.newTurn=!("move"===(null===Ce||void 0===Ce?void 0:Ce.type)&&Ce.player===t&&e.currentPlayers.includes(t)&&(null===(o=a.lastMove)||void 0===o?void 0:o.name)!==Ke.Pass),e}function mr(e,n){if(void 0!=n){var t,r=w(e.players);try{for(r.s();!(t=r.n()).done;){var o,a=t.value,i=e.currentPlayers.includes(a.id);if(i||void 0==a.clockStartedAt)i&&void 0==a.clockStartedAt&&(a.clockStartedAt=n);else a.totalTimeUsed=(null!==(o=a.totalTimeUsed)&&void 0!==o?o:0)+Math.max(0,n-a.clockStartedAt),a.clockStartedAt=void 0}}catch(s){r.e(s)}finally{r.f()}}}function vr(e){return e.phase==Pe.GameEnd}function br(e,n){var t=Or(e),r=Object(qe["cloneDeep"])(t);if(void 0!=n&&"secret"==e.seed&&e.knownPowerPlantDeck){r.map=e.map,r.powerPlantsDeck=Object(qe["cloneDeep"])(e.knownPowerPlantDeck);var o=t.actualMarket.length,a=t.futureMarket.length;r.actualMarket=r.powerPlantsDeck.splice(0,o),r.futureMarket=r.powerPlantsDeck.splice(0,a),r.players[r.currentPlayers[0]].availableMoves=cn(r,r.players[r.currentPlayers[0]]),r.powerPlantDeckAfterStep3=Object(qe["cloneDeep"])(e.knownPowerPlantDeckStep3),r.knownPowerPlantDeck=r.actualMarket.concat(r.futureMarket)}var i,s=null!=n?e.log.slice(0,n):e.log,c=w(s);try{for(c.s();!(i=c.n()).done;){var u=i.value;switch(u.type){case"event":if(u.event.endsWith("was dropped")){var l=+u.event.split(" ")[1];r.players[l].isDropped=!0}break;case"move":yr(r,u.move,u.player);break}}}catch(d){c.e(d)}finally{c.f()}return r}function wr(e){e.coalCapacity=e.oilCapacity=e.garbageCapacity=e.uraniumCapacity=e.hybridCapacity=0,e.powerPlants.forEach((function(n){switch(n.type){case Me.Coal:e.coalCapacity+=2*n.cost;break;case Me.Oil:e.oilCapacity+=2*n.cost;break;case Me.Garbage:n.storage?e.garbageCapacity+=n.storage:e.garbageCapacity+=2*n.cost;break;case Me.Uranium:e.uraniumCapacity+=2*n.cost;break;case Me.Hybrid:e.hybridCapacity+=2*n.cost;break}}))}function xr(e){"Manhattan"==e.map.name&&0==e.powerPlantsDeck.length&&Mr(e);var n=e.powerPlantsDeck.shift();if(n){if(3==e.step?e.knownPowerPlantDeckStep3&&e.knownPowerPlantDeckStep3.push(n):e.knownPowerPlantDeck&&e.knownPowerPlantDeck.push(n),"original"==e.options.variant&&"China"!=e.map.name){var t=Math.max.apply(Math,P(e.players.map((function(e){return e.cities.length}))));while(n.number<=t){var r;if(e.log.push({type:"event",event:"Power plant ".concat(null===(r=n)||void 0===r?void 0:r.number," discarded.")}),!(e.powerPlantsDeck.length>0))break;n=e.powerPlantsDeck.shift(),3==e.step?e.knownPowerPlantDeckStep3&&e.knownPowerPlantDeckStep3.push(n):e.knownPowerPlantDeck&&e.knownPowerPlantDeck.push(n)}}var o=!1;if(99==n.number){if(e.powerPlantDeckAfterStep3?e.powerPlantsDeck=e.powerPlantDeckAfterStep3:"China"==e.map.name?e.step=3:e.powerPlantsDeck=an(e.powerPlantsDeck,e.seed),e.phase!=Pe.Auction)if("Middle East"==e.map.name&&1==e.step){var a=[].concat(P(e.actualMarket),P(e.futureMarket),[n]);a.sort((function(e,n){return e.number-n.number})),e.actualMarket=a.slice(0,4),e.futureMarket=a.slice(4),_r(e),o=!0}else{"UK & Ireland"==e.map.name&&1==e.step&&(e.log.push({type:"event",event:"Starting Step 2 (Step 3 card drawn before Step 2 threshold)."}),e.step=2);var i=e.actualMarket.shift();e.log.push({type:"event",event:"Step 3 will begin next phase, Power Plant ".concat(null===i||void 0===i?void 0:i.number," discarded.")});var s=[].concat(P(e.actualMarket),P(e.futureMarket));s.sort((function(e,n){return e.number-n.number})),e.actualMarket=s,e.futureMarket=[]}}else{if(e.plantDiscountActive&&n.number<e.actualMarket[0].number)return e.log.push({type:"event",event:"Power Plant ".concat(n.number," drawn from the deck and discarded.")}),e.plantDiscountActive=!1,void xr(e);e.log.push({type:"event",event:"Power Plant ".concat(n.number," drawn from the deck.")})}if("China"==e.map.name&&n.type!=Me.Step3){var c=[].concat(P(e.actualMarket),[n]);c.sort((function(e,n){return e.number-n.number})),e.actualMarket=c}else if(!o){var u=[].concat(P(e.actualMarket),P(e.futureMarket),[n]);u.sort((function(e,n){return e.number-n.number})),0==e.futureMarket.length?"Russia"==e.map.name?(e.actualMarket=u.slice(0,4),e.futureMarket=[]):(e.actualMarket=u.slice(0,6),e.futureMarket=[]):"Russia"==e.map.name?(e.actualMarket=u.slice(0,3),e.futureMarket=u.slice(3)):"Benelux"==e.map.name&&u[4].type==Me.Wind?(e.actualMarket=u.slice(0,5),e.futureMarket=u.slice(5)):(e.actualMarket=u.slice(0,4),e.futureMarket=u.slice(4)),"Middle East"==e.map.name&&1==e.step&&Pr(e)}}}function kr(e){var n,t;null!==(n=e.manhattanRecyclePile)&&void 0!==n||(e.manhattanRecyclePile=[]),null!==(t=e.manhattanDepletion)&&void 0!==t||(e.manhattanDepletion=0);var r=function(){if(0!=e.futureMarket.length)return e.futureMarket.sort((function(e,n){return e.number-n.number})),e.futureMarket.pop()},o=function(n){while(e.actualMarket.length+e.futureMarket.length<n&&e.powerPlantsDeck.length>0){var t=e.powerPlantsDeck.shift();e.knownPowerPlantDeck&&e.knownPowerPlantDeck.push(t),e.log.push({type:"event",event:"Power Plant ".concat(t.number," drawn from the deck.")}),e.futureMarket.push(t)}var r=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=r.slice(0,4),e.futureMarket=r.slice(4)};if(0==e.manhattanDepletion){for(var a=0;a<2;a++){var i=r();if(!i)break;e.manhattanRecyclePile.push(i),e.log.push({type:"event",event:"Setting Power Plant ".concat(i.number," aside on the recycle pile.")})}o(8),0==e.powerPlantsDeck.length&&e.manhattanRecyclePile.length>0&&(e.powerPlantsDeck=an(e.manhattanRecyclePile,e.seed+":manhattan-depletion-1"),e.manhattanRecyclePile=[],e.manhattanDepletion=1,e.log.push({type:"event",event:"The draw deck is empty — reshuffling the recycle pile into a new deck."}),o(8))}else if(1==e.manhattanDepletion){var s=r();if(s&&(e.powerPlantsDeck.push(s),e.log.push({type:"event",event:"Putting Power Plant ".concat(s.number," on the bottom of the deck.")})),o(8),0==e.powerPlantsDeck.length){e.manhattanDepletion=2;var c=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=c,e.futureMarket=[],e.log.push({type:"event",event:"The deck is empty for the second time — the entire market is now buyable."})}}else{if(e.futureMarket.length>0){var u=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=u,e.futureMarket=[]}if(e.actualMarket.length>0){var l=e.actualMarket.shift();e.log.push({type:"event",event:"Removing the smallest plant, Power Plant ".concat(l.number,", from the game.")})}}}function Mr(e){var n,t;if(!("Manhattan"!=e.map.name||e.powerPlantsDeck.length>0))if(null!==(n=e.manhattanRecyclePile)&&void 0!==n||(e.manhattanRecyclePile=[]),null!==(t=e.manhattanDepletion)&&void 0!==t||(e.manhattanDepletion=0),0==e.manhattanDepletion&&e.manhattanRecyclePile.length>0)e.powerPlantsDeck=an(e.manhattanRecyclePile,e.seed+":manhattan-depletion-1"),e.manhattanRecyclePile=[],e.manhattanDepletion=1,e.log.push({type:"event",event:"The draw deck is empty — reshuffling the recycle pile into a new deck."});else if(1==e.manhattanDepletion){e.manhattanDepletion=2;var r=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=r,e.futureMarket=[],e.log.push({type:"event",event:"The deck is empty for the second time — the entire market is now buyable."})}}function Pr(e){var n=e.actualMarket.find((function(e){return e.type==Me.Garbage||e.type==Me.Uranium})),t=function(){Rr(e,n),[6,11,14].includes(n.number)?e.log.push({type:"event",event:"Removing Power Plant ".concat(n.number," from game.")}):(e.powerPlantsDeck.push(n),e.log.push({type:"event",event:"Sending Power Plant ".concat(n.number," to the bottom of the deck.")}));var t=e.futureMarket.filter((function(e){return e.type!=Me.Garbage&&e.type!=Me.Uranium})),r=t.length>0?t[0].number:100;if(0==e.powerPlantsDeck.filter((function(e){return e.type!=Me.Garbage&&e.type!=Me.Uranium||e.number>r})).length)return e.log.push({type:"event",event:"No suitable power plants available to draw."}),"break";xr(e),n=e.actualMarket.find((function(e){return e.type==Me.Garbage||e.type==Me.Uranium}))};while(n){var r=t();if("break"===r)break}}function _r(e){var n=e.futureMarket.pop();e.powerPlantsDeck=an(e.powerPlantsDeck,e.seed),e.powerPlantsDeck.push(n),xr(e),e.log.push({type:"event",event:"Step 2 will begin next phase, discarding two power plants."}),e.step=2;var t=e.actualMarket.shift();t&&(e.log.push({type:"event",event:"Power Plant ".concat(t.number," discarded to start step 2.")}),xr(e));var r=e.actualMarket.shift();r&&(e.log.push({type:"event",event:"Power Plant ".concat(r.number," discarded to start step 2.")}),xr(e))}function Sr(e){if("Australia"===e.map.name&&(!e.coalPrices||3!==e.coalPrices[0])){var n=[3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,10,10,10];e.coalPrices=[].concat(n),e.oilPrices=[].concat(n),e.garbagePrices=[].concat(n),e.log.push({type:"event",event:"CO2 tax (Step 3): the $1 and $2 resource spaces close; the six cheapest tokens of each resource move to the new $9 and $10 spaces."})}}function Cr(e){var n=0;2==e.players.length||3==e.players.length?n=1:4==e.players.length||5==e.players.length?n=2:6==e.players.length&&(n=3);for(var t=e.actualMarket.length,r=e.players.length-1,o=Math.max(n,r-t),a=0;a<o;a++){if(3==e.step)break;xr(e)}while(2==e.players.length&&e.actualMarket.length<2&&3!=e.step)xr(e);if(3==e.step){e.actualMarket=e.actualMarket.filter((function(e){return e.type!=Me.Step3}));while(e.actualMarket.length>4)e.actualMarket.shift();while(e.actualMarket.length<4&&e.powerPlantsDeck.length>0)xr(e)}else{var i=Math.max(2,e.players.length-1);while(e.actualMarket.length>i)e.actualMarket.shift()}}function Br(e,n,t){t==ke.Coal?(e.coalSupply+=Math.max(0,n.coalLeft-n.coalCapacity),n.coalLeft=Math.min(n.coalLeft,n.coalCapacity)):t==ke.Oil&&(e.oilSupply+=Math.max(0,n.oilLeft-n.oilCapacity),n.oilLeft=Math.min(n.oilLeft,n.oilCapacity))}function Lr(e){e.pendingMarketRefill&&(e.pendingMarketRefill=!1,"China"==e.map.name&&3!=e.step||xr(e))}function Rr(e,n){e.actualMarket.splice(e.actualMarket.findIndex((function(e){return e.number==n.number})),1)}function Ar(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"India"==n?mn.find((function(n){return n.number==e})):yn.find((function(n){return n.number==e}))}function Or(e){var n=dr(e.players.length,e.options,e.seed);return n.players.forEach((function(n,t){n.name=e.players[t].name,n.isAI=e.players[t].isAI})),n}function jr(e){var n;return'<span style="background-color: '.concat(null!==(n=e.color)&&void 0!==n?n:_e[e.id],'; font-weight: bold; padding: 0 3px;">').concat(e.name,"</span>")}function Nr(e){return Object(qe["cloneDeep"])(e.players).sort((function(e,n){return e.citiesPowered==n.citiesPowered?e.money==n.money?e.cities.length-n.cities.length:e.money-n.money:e.citiesPowered-n.citiesPowered})).reverse()}function Dr(e){e.players.forEach((function(n){n.citiesPowered=Tr(e,n)}))}function Tr(e,n){for(var t=n.powerPlants.filter((function(n){return!Se(e,n)})),r=[],o=function(e){var n=[];t.forEach((function(t,r){e&Math.pow(2,r)&&n.push(t)})),r.push(n)},a=0;a<Math.pow(2,t.length);a++)o(a);var i=0;return r.forEach((function(e){if(zr(n,e)){var t=e.map((function(e){return e.citiesPowered})).reduce((function(e,n){return e+n}),0);i=Math.max(i,t)}})),Math.min(n.cities.length,i)}function zr(e,n){var t=n.filter((function(e){return e.type==Me.Coal})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),r=n.filter((function(e){return e.type==Me.Oil})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),o=n.filter((function(e){return e.type==Me.Garbage})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),a=n.filter((function(e){return e.type==Me.Uranium})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),i=n.filter((function(e){return e.type==Me.Hybrid})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0);return!(t>e.coalLeft||r>e.oilLeft||o>e.garbageLeft||a>e.uraniumLeft)&&!(i>e.coalLeft-t+e.oilLeft-r)}function Gr(e){if(("Baden-Württemberg"==e.map.name||1==e.round)&&Ir(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.forEach((function(e){e.skipAuction=!1})),e.discountBonusPlayer=void 0,"recharged"==e.options.variant&&(e.plantDiscountActive?(e.plantDiscountActive=!1,e.actualMarket.length>0&&(e.log.push({type:"event",event:"Discarding Power Plant ".concat(e.actualMarket[0].number,".")}),e.actualMarket.shift(),xr(e))):"Benelux"==e.map.name&&(e.discardSmallestPlant=!0)),e.futureMarket.find((function(e){return 99==e.number})))if("Middle East"==e.map.name&&1==e.step)_r(e);else{var n=e.actualMarket.shift();e.futureMarket.pop(),e.log.push({type:"event",event:"Starting Step 3, Power Plant ".concat(null===n||void 0===n?void 0:n.number," discarded.")}),e.step=3,Sr(e),e.actualMarket=[].concat(P(e.actualMarket),P(e.futureMarket)),e.futureMarket=[]}e.phase=Pe.Resources,Ur(e,e.playerOrder[e.players.length-1])}function Er(e,n,t){n.powerPlants.push(e.chosenPowerPlant),n.money-=t,e.options.trackTotalSpent&&(n.totalSpentPlants+=t),"Manhattan"!=e.map.name||"recharged"!=e.options.variant||1!=e.minimunBid||n.isDropped?(n.skipAuction=!0,e.discountBonusPlayer==n.id&&(e.discountBonusPlayer=void 0)):e.discountBonusPlayer=n.id,wr(n),e.log.push({type:"event",event:"".concat(n.name," wins the bid and pays ").concat(t,"."),pretty:"".concat(jr(n),' wins the bid and pays <span style="color: green">$').concat(t,"</span>.")}),Rr(e,e.chosenPowerPlant),e.chosenPowerPlant=e.currentBid=void 0,e.pendingMarketRefill=!0}function Ir(e){e.playerOrder=Object(qe["cloneDeep"])(e.players).sort((function(e,n){var t=e.cities.length,r=n.cities.length;return t==r?Math.max.apply(Math,P(e.powerPlants.map((function(e){return e.number}))))-Math.max.apply(Math,P(n.powerPlants.map((function(e){return e.number})))):t-r})).map((function(e){return e.id})).reverse()}function Ur(e,n){e.currentPlayers=[n],e.players[n].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[n].passed=!0,Kr(e))}function Kr(e){e.phase==Pe.Auction?void 0==e.chosenPowerPlant?Wr(e):Yr(e):Hr(e)}function Yr(e){var n=e.currentPlayers[0];e.currentPlayers=[(n+1)%e.players.length],e.players[e.currentPlayers[0]].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[e.currentPlayers[0]].passed=!0,e.players[e.currentPlayers[0]].skipAuction=!0,Yr(e)),(e.players[e.currentPlayers[0]].skipAuction||e.players[e.currentPlayers[0]].passed)&&e.players.some((function(e){return!e.skipAuction&&!e.passed&&!e.isDropped}))&&Yr(e)}function Hr(e){var n=e.playerOrder.indexOf(e.currentPlayers[0]);e.currentPlayers=[e.playerOrder[(n-1+e.players.length)%e.players.length]],e.players[e.currentPlayers[0]].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[e.currentPlayers[0]].passed=!0,Hr(e))}function Wr(e){var n,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t)n=e.playerOrder[0];else{var r=e.playerOrder.indexOf(e.currentPlayers[0]);n=e.playerOrder[(r+1)%e.players.length]}e.currentPlayers=[n];var o=e.players[n];o.isDropped&&(o.passed=!0,o.skipAuction=!0),(o.skipAuction||o.passed)&&e.players.some((function(e){return!e.skipAuction&&!e.passed&&!e.isDropped}))&&Wr(e)}function Vr(e){if(!e.coalResupply){var n=Dt.find((function(n){return n.name===e.map.name}));null!==n&&void 0!==n&&n.resupply?(e.coalResupply=n.resupply[0],e.oilResupply=n.resupply[1],e.garbageResupply=n.resupply[2],e.uraniumResupply=n.resupply[3]):(e.coalResupply=[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],e.oilResupply=[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],e.garbageResupply=[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],e.uraniumResupply=[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]);var t=e.players.length-2;e.resourceResupply=["[".concat(e.coalResupply[t][0],", ").concat(e.oilResupply[t][0],", ").concat(e.garbageResupply[t][0],", ").concat(e.uraniumResupply[t][0],"]"),"[".concat(e.coalResupply[t][1],", ").concat(e.oilResupply[t][1],", ").concat(e.garbageResupply[t][1],", ").concat(e.uraniumResupply[t][1],"]"),"[".concat(e.coalResupply[t][2],", ").concat(e.oilResupply[t][2],", ").concat(e.garbageResupply[t][2],", ").concat(e.uraniumResupply[t][2],"]")],e.coalResupplyNorth&&e.oilResupplyNorth&&e.garbageResupplyNorth&&(e.resourceResupplyNorth=["[".concat(e.coalResupplyNorth[t][0],", ").concat(e.oilResupplyNorth[t][0],", ").concat(e.garbageResupplyNorth[t][0],"]"),"[".concat(e.coalResupplyNorth[t][1],", ").concat(e.oilResupplyNorth[t][1],", ").concat(e.garbageResupplyNorth[t][1],"]"),"[".concat(e.coalResupplyNorth[t][2],", ").concat(e.oilResupplyNorth[t][2],", ").concat(e.garbageResupplyNorth[t][2],"]")])}}function Fr(e,n,t){if(n.bid=t,e.currentPlayers=e.currentPlayers.filter((function(e){return e!==n.id})),0===e.currentPlayers.length){var r;(r=e.log).push.apply(r,P(e.hiddenLog)),e.hiddenLog=[];var o=e.players.map((function(e){return e.bid})).filter((function(e){return e>0})),a=e.minimunBid,i=Math.max.apply(Math,P(o)),s=e.players.filter((function(e){return!e.isDropped&&e.bid===i})),c=s[0].id;if(o.length>1){o.splice(o.indexOf(i),1);var u=Math.max.apply(Math,P(o));if(s.length>1)(function(){var n=e.auctioningPlayer;while(!s.find((function(e){return e.id==n})))n=(n+1)%e.players.length;a=u,c=n})();else{var l=e.auctioningPlayer;a=0;while(0==a)s[0].id==l?a=u:e.players[l].bid==u&&(a=u+1),l=(l+1)%e.players.length}}var d=e.players[c];Er(e,d,a),(Be(e,d)>4||e.players.length>2&&Be(e,d)>3)&&!d.isDropped?Ur(e,d.id):(Lr(e),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?(e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),Wr(e,!0)):Gr(e))}}var Jr=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"entries",void 0),m(B(e),"mapName",void 0),m(B(e),"follow",!0),e}return C(t,[{key:"illustratedEntries",get:function(){var e=this;return this.entries.map((function(n){var t,r=[],o=/Power Plant\s+(?:<b>)?(\d+)(?:<\/b>)?/gi,a=0;while(t=o.exec(n)){var i=Ar(Number(t[1]),e.mapName);i&&(r.push({html:n.slice(a,t.index)},{plant:i}),a=t.index+t[0].length)}return r.push({html:n.slice(a)}),r}))}},{key:"plantLabel",value:function(e){return"Power plant ".concat(e.number,": ").concat(e.cost?"".concat(e.cost," ").concat(e.type):"no fuel"," → ").concat(e.citiesPowered," cities")}},{key:"mounted",value:function(){this.scrollToLatest()}},{key:"changed",value:function(){this.follow&&this.$nextTick(this.scrollToLatest)}},{key:"scrollToLatest",value:function(){var e=this.$refs.feed;e&&(e.scrollTop=e.scrollHeight)}},{key:"onScroll",value:function(){var e=this.$refs.feed;this.follow=e.scrollHeight-e.scrollTop-e.clientHeight<32}}]),t}(c.a);z([ye({default:function(){return[]}})],Jr.prototype,"entries",void 0),z([ye({default:""})],Jr.prototype,"mapName",void 0),z([me("entries")],Jr.prototype,"changed",null),Jr=z([ie({components:{Card:Fe}})],Jr);var $r=Jr,qr=$r,Zr=(t("1af0"),Ge(qr,G,E,!1,null,"18499529",null)),Qr=Zr.exports,Xr=t("bcba");function eo(e){return!!e&&!1===e.newTurn}function no(e,n){return!!n&&e.name===n.name&&e.time===n.time&&Object(Xr["isEqual"])(e.data,n.data)}function to(e,n,t,r){if(!n)return!1;var o=n.log.length;return e.log.length===o+t.length&&e.log.slice(o).every((function(e,n){return"move"===e.type&&e.player===r&&no(e.move,t[n])}))}function ro(e,n,t,r){if(!n||e.log.length<n.length)return[];var o=e.log.slice(n.length).filter((function(e){return"move"===e.type&&e.player===r})).map((function(e){return e.move}));if(!o.every((function(e,n){return no(e,t[n])})))return[];var a=t.slice(o.length);return a.length>0&&(void 0===r||!e.currentPlayers.includes(r))?[]:a}function oo(e,n,t){var r,o,a=JSON.parse(JSON.stringify(e)),i=[],s=w(n);try{for(s.s();!(o=s.n()).done;){var c=o.value;try{a=yr(a,c,t)}catch(u){console.error("dropping turn-buffer tail no longer legal on the committed state",c,u),r=u;break}i.push(c)}}catch(u){s.e(u)}finally{s.f()}return{state:a,applied:i,failure:r}}function ao(e){if(!e)return!1;var n=e;return"AssertionError"===n.name||"ERR_ASSERTION"===n.code}function io(e){return"".concat(e.resource,"|").concat(e.side||"","|").concat(e.fromStorage?"storage":"")}function so(e,n){var t=e.data;return e.name===Ke.BuyResource&&!!t&&t.resource===n.resource&&(t.side||"")===(n.side||"")&&!!t.fromStorage===!!n.fromStorage}function co(e){var n,t={},r=w(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;if(o.name===Ke.BuyResource&&o.data){var a=io(o.data);t[a]=(t[a]||0)+1}}}catch(i){r.e(i)}finally{r.f()}return t}function uo(e,n){for(var t=e.length-1;t>=0;t--)if(so(e[t],n))return t;return-1}var lo=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M136.8 21.2L43.1001 48.9L43.2001 167.2L135.2 210.3L228.8 174V55.7L136.8 21.2Z",fill:"#5a2d0c",stroke:"black","stroke-width":"20","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M135.2 210.3L43.2001 167.2L43.1001 48.8999L135.1 83.4999L135.2 210.3Z",fill:"#70380f"}}),t("path",{attrs:{d:"M135.1 83.5L43.1001 48.9L136.8 21.2L228.8 55.7L135.1 83.5Z",fill:"#8b4513"}}),t("path",{attrs:{d:"M228.8 55.7V174L135.2 210.3L135.1 83.5L228.8 55.7Z",fill:"#5a2d0c"}}),t("title",[e._v("Coal")])])},fo=[],ho=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"canClick",void 0),m(B(e),"scale",void 0),e}return t}(Q(Ie));z([ye()],ho.prototype,"canClick",void 0),z([ye({default:.08})],ho.prototype,"scale",void 0),ho=z([ie({created:function(){this.pieceType=be.Coal}})],ho);var po=ho,go=po,yo=Ge(go,lo,fo,!1,null,null,null),mo=yo.exports,vo=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M2,5 A9,5,0 0,1 18,5 L18,15 A9,5 0 0,1 2,15Z",fill:"none",stroke:"black","stroke-miterlimit":"0"}}),t("path",{attrs:{d:"M2,5 A9,5 0 0,0 18,5 A9,5 0 0,0 2,5",fill:"#FF0"}}),t("path",{attrs:{d:"M2,5 A9,5 0 0,0 2,5 L2,15 A9,5,0 0,0 18,15 L18,5 A9,5 0 0,1 2,5",fill:"url(#garbage-linear)"}}),t("title",[e._v("Garbage")]),t("defs",[t("linearGradient",{attrs:{id:"garbage-linear",x1:"0",y1:"10",x2:"20",y2:"10",gradientUnits:"userSpaceOnUse"}},[t("stop",{attrs:{"stop-color":"#DD0"}}),t("stop",{attrs:{offset:"1","stop-color":"#AA0"}})],1)],1)])},bo=[],wo=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"canClick",void 0),m(B(e),"scale",void 0),e}return t}(Q(Ie));z([ye()],wo.prototype,"canClick",void 0),z([ye({default:1})],wo.prototype,"scale",void 0),wo=z([ie({created:function(){this.pieceType=be.Garbage}})],wo);var xo=wo,ko=xo,Mo=Ge(ko,vo,bo,!1,null,null,null),Po=Mo.exports,_o=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:["piece"],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")"}},[t("path",{attrs:{d:"M187.698 263.636V456.017L3 341.204V169.522L80.8579 108.141L187.698 263.636Z",fill:e.color,stroke:"#010101","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361V300.164L187.698 456.017V263.636L395.724 136.361Z",fill:e.color,stroke:"#010101","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361L187.698 263.636L80.8579 108.141L304.771 4L395.724 136.361Z",fill:e.color,stroke:"#010101","stroke-width":"12","stroke-miterlimit":"10"}}),t("title",[e._v(e._s(e.ownerName)+"'s House")])])},So=[],Co=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"player",void 0),m(B(e),"color",void 0),m(B(e),"scale",void 0),m(B(e),"owner",void 0),m(B(e),"ownerName",void 0),e}return t}(Q(Ie));z([ue()],Co.prototype,"player",void 0),z([ye()],Co.prototype,"color",void 0),z([ye({default:.035})],Co.prototype,"scale",void 0),z([ye()],Co.prototype,"owner",void 0),z([ye()],Co.prototype,"ownerName",void 0),Co=z([ie({created:function(){this.pieceType=be.House}})],Co);var Bo=Co,Lo=Bo,Ro=Ge(Lo,_o,So,!1,null,null,null),Ao=Ro.exports,Oo=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:["piece"],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")"}},[t("g",{attrs:{transform:"scale(0.08)"}},[t("path",{attrs:{d:"M136.8 21.2L43.1001 48.9L43.2001 167.2L135.2 210.3L228.8 174V55.7L136.8 21.2Z",fill:"#5a2d0c",stroke:"black","stroke-width":"20","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M135.2 210.3L43.2001 167.2L43.1001 48.8999L135.1 83.4999L135.2 210.3Z",fill:"#70380f"}}),t("path",{attrs:{d:"M135.1 83.5L43.1001 48.9L136.8 21.2L228.8 55.7L135.1 83.5Z",fill:"#8b4513"}}),t("path",{attrs:{d:"M228.8 55.7V174L135.2 210.3L135.1 83.5L228.8 55.7Z",fill:"#5a2d0c"}})]),t("g",{attrs:{transform:"translate(5, 0)"}},[t("path",{attrs:{d:"M6,4 A6,4,0 0,1 14,4 L14,16 A6,4 0 0,1 6,16Z",fill:"none",stroke:"black"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 14,4 A6,4 0 0,0 6,4",fill:"#556"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 6,4 L6,16 A6,4,0 0,0 14,16 L14,4 A6,4 0 0,1 6,4",fill:"url(#oil-linear)"}})]),t("title",[e._v("Coal/Oil")])])},jo=[],No=function(e){R(t,e);var n=T(t);function t(){return _(this,t),n.apply(this,arguments)}return t}(Q(Ie));No=z([ie({created:function(){this.pieceType=be.Hybrid}})],No);var Do=No,To=Do,zo=Ge(To,Oo,jo,!1,null,null,null),Go=(zo.exports,function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M6,4 A6,4,0 0,1 14,4 L14,16 A6,4 0 0,1 6,16Z",fill:"none",stroke:"black"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 14,4 A6,4 0 0,0 6,4",fill:"#556"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 6,4 L6,16 A6,4,0 0,0 14,16 L14,4 A6,4 0 0,1 6,4",fill:"url(#oil-linear)"}}),t("title",[e._v("Oil")]),t("defs",[t("linearGradient",{attrs:{id:"oil-linear",x1:"0",y1:"10",x2:"20",y2:"10",gradientUnits:"userSpaceOnUse"}},[t("stop",{attrs:{"stop-color":"#445"}}),t("stop",{attrs:{offset:"1","stop-color":"#223"}})],1)],1)])}),Eo=[],Io=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"canClick",void 0),m(B(e),"scale",void 0),e}return t}(Q(Ie));z([ye()],Io.prototype,"canClick",void 0),z([ye({default:1})],Io.prototype,"scale",void 0),Io=z([ie({created:function(){this.pieceType=be.Oil}})],Io);var Uo=Io,Ko=Uo,Yo=Ge(Ko,Go,Eo,!1,null,null,null),Ho=Yo.exports,Wo=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M3,3 l4,-2 l6,0 l4,2 l0,11 l-4,2 l-6,0 l-4,-2Z",fill:"#F00",stroke:"black"}}),t("path",{attrs:{d:"M3,3 l4,-2 l6,0 l4,2 l0,2.1 l-4,2 l-6,0 l-4,-2 l0,-2.1",fill:"#F00"}}),t("path",{attrs:{d:"M3,5 l0,9 l4.1,2 l0,-9 l-4.1,-2",fill:"#e60000"}}),t("path",{attrs:{d:"M7,7 l6.1,0 l0,9 l-6.1,0 l0,-9",fill:"#cc0000"}}),t("path",{attrs:{d:"M13,7 l4.1,-2 l0,9 l-4.1,2 l0,-9",fill:"#b30000"}}),t("title",[e._v("Uranium")])])},Vo=[],Fo=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"canClick",void 0),e}return t}(Q(Ie));z([ye()],Fo.prototype,"canClick",void 0),Fo=z([ie({created:function(){this.pieceType=be.Uranium}})],Fo);var Jo=Fo,$o=Jo,qo=Ge($o,Wo,Vo,!1,null,null,null),Zo=qo.exports,Qo=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:["button",{enabled:e.enabled}],on:{click:function(n){e.enabled&&e.$emit("click")}}},[t("rect",{attrs:{width:e.width,height:"30",fill:"gainsboro",stroke:"black",rx:"2"}}),t("text",{attrs:{"text-anchor":"middle",fill:"black",x:e.width/2,y:"16"}},[e._v(e._s(e.getText()))]),t("title",[e._v(e._s(e.text))])])},Xo=[],ea=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"text",void 0),m(B(e),"width",void 0),m(B(e),"enabled",void 0),e}return C(t,[{key:"getText",value:function(){var e;return this.text.length>15?null===(e=this.text)||void 0===e?void 0:e.substring(0,12).concat("..."):this.text}}]),t}(c.a);z([ye()],ea.prototype,"text",void 0),z([ye()],ea.prototype,"width",void 0),z([ye({default:!0})],ea.prototype,"enabled",void 0),ea=z([ie],ea);var na=ea,ta=na,ra=Ge(ta,Qo,Xo,!1,null,null,null),oa=ra.exports,aa=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("997e")}}),e.isOn?e._e():r("line",{attrs:{x1:"5",y1:"25",x2:"25",y2:"5",stroke:"black","stroke-width":"3px","stroke-linecap":"round"}}),e.isOn?r("title",[e._v("Help off")]):r("title",[e._v("Help on")])])},ia=[],sa=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"isOn",void 0),e}return t}(c.a);z([ye()],sa.prototype,"isOn",void 0),sa=z([ie],sa);var ca=sa,ua=ca,la=Ge(ua,aa,ia,!1,null,null,null),da=la.exports,fa=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[t("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),e.isOn?[t("rect",{attrs:{x:"6",y:"7",width:"18",height:"4",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"6",y:"13",width:"18",height:"4",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"6",y:"19",width:"18",height:"4",rx:"1",fill:"black"}})]:[t("rect",{attrs:{x:"6",y:"7",width:"10",height:"16",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"18",y:"7",width:"6",height:"7",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"18",y:"16",width:"6",height:"7",rx:"1",fill:"black"}})],e.isOn?t("title",[e._v("Switch to the full board layout")]):t("title",[e._v("Stack the board into rows")])],2)},ha=[],pa=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"isOn",void 0),e}return t}(c.a);z([ye()],pa.prototype,"isOn",void 0),pa=z([ie],pa);var ga=pa,ya=ga,ma=Ge(ya,fa,ha,!1,null,null,null),va=ma.exports,ba=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("rect",{attrs:{width:"80",height:"26",fill:"gainsboro",stroke:"black",rx:"2"}}),r("image",{attrs:{x:"11",y:"5",width:"16",height:"16",href:t("b67b")}}),r("text",{attrs:{"text-anchor":"middle",fill:"black",x:"47",y:"13"}},[e._v("Log")]),r("title",[e._v("Show log")])])},wa=[],xa=function(e){R(t,e);var n=T(t);function t(){return _(this,t),n.apply(this,arguments)}return t}(c.a);xa=z([ie],xa);var ka=xa,Ma=ka,Pa=Ge(Ma,ba,wa,!1,null,null,null),_a=Pa.exports,Sa=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{class:["button",{enabled:e.enabled,highlightButton:e.highlightButton}],on:{click:function(n){e.enabled&&e.$emit("click")}}},[r("rect",{attrs:{width:"80",height:"26",fill:"gainsboro",stroke:"black",rx:"2"}}),r("image",{attrs:{x:"15",y:"8",width:"10",height:"10",href:t("fd65")}}),r("text",{attrs:{"text-anchor":"middle",fill:"black",x:"47",y:"13"}},[e._v(e._s(e.text))]),r("title",[e._v("Pass turn")])])},Ca=[],Ba=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"enabled",void 0),m(B(e),"highlightButton",void 0),m(B(e),"text",void 0),e}return t}(c.a);z([ye()],Ba.prototype,"enabled",void 0),z([ye()],Ba.prototype,"highlightButton",void 0),z([ye()],Ba.prototype,"text",void 0),Ba=z([ie],Ba);var La=Ba,Ra=La,Aa=Ge(Ra,Sa,Ca,!1,null,null,null),Oa=Aa.exports,ja=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),e.isOn?r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("9fd9")}}):r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("2044")}}),e.isOn?r("title",[e._v("Sound off")]):r("title",[e._v("Sound on")])])},Na=[],Da=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"isOn",void 0),e}return t}(c.a);z([ye()],Da.prototype,"isOn",void 0),Da=z([ie],Da);var Ta=Da,za=Ta,Ga=Ge(za,ja,Na,!1,null,null,null),Ea=Ga.exports,Ia=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"resourceView"},[t("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("select",!1)}}},[t("rect",{attrs:{x:"0",y:"0",width:"306",height:"72",rx:"6",fill:e.showTrack?"gainsboro":"#333",stroke:"black","stroke-width":"3"}}),t("text",{staticStyle:{"font-size":"30px"},attrs:{x:"153",y:"47","text-anchor":"middle","font-weight":"700",fill:e.showTrack?"black":"white"}},[e._v(" Buy boxes ")]),t("title",[e._v("One box per buyable source: the price you pay, and the whole box is the tap target")])]),t("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("select",!0)}}},[t("rect",{attrs:{x:"314",y:"0",width:"306",height:"72",rx:"6",fill:e.showTrack?"#333":"gainsboro",stroke:"black","stroke-width":"3"}}),t("text",{staticStyle:{"font-size":"30px"},attrs:{x:"467",y:"47","text-anchor":"middle","font-weight":"700",fill:e.showTrack?"white":"black"}},[e._v(" Price track ")]),t("title",[e._v("The printed market board, so the whole price track is visible at once")])])])},Ua=[],Ka=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"showTrack",void 0),e}return t}(c.a);z([ye()],Ka.prototype,"showTrack",void 0),Ka=z([ie],Ka);var Ya=Ka,Ha=Ya,Wa=Ge(Ha,Ia,Ua,!1,null,null,null),Va=Wa.exports,Fa=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("b85b")}}),r("title",[e._v("Rules")])])},Ja=[],$a=function(e){R(t,e);var n=T(t);function t(){return _(this,t),n.apply(this,arguments)}return t}(c.a);$a=z([ie],$a);var qa=$a,Za=qa,Qa=Ge(Za,Fa,Ja,!1,null,null,null),Xa=Qa.exports,ei=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{class:["button",{enabled:e.enabled,highlightButton:e.highlightButton}],on:{click:function(n){e.enabled&&e.$emit("click")}}},[r("rect",{attrs:{width:"80",height:"26",fill:"gainsboro",stroke:"black",rx:"2"}}),r("image",{attrs:{x:"11",y:"4",width:"16",height:"16",href:t("92cf")}}),r("text",{attrs:{"text-anchor":"middle",fill:"black",x:"47",y:"13"}},[e._v("Undo")]),r("title",[e._v("Undo last move")])])},ni=[],ti=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"enabled",void 0),m(B(e),"highlightButton",void 0),e}return t}(c.a);z([ye()],ti.prototype,"enabled",void 0),z([ye()],ti.prototype,"highlightButton",void 0),ti=z([ie],ti);var ri=ti,oi=ri,ai=Ge(oi,ei,ni,!1,null,null,null),ii=ai.exports,si=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"player-board"},[t("rect",{attrs:{width:"350",height:"100",x:"0",y:"0",fill:"gold",stroke:e.color}}),t("rect",{attrs:{width:"350",height:"25",x:"0",y:"0",fill:e.color}}),t("foreignObject",{attrs:{height:"30",width:"30",x:"-30",y:"-5"}},[t("img",{staticStyle:{"border-radius":"50%"},attrs:{src:e.avatar||"https://avatars.dicebear.com/api/pixel-art/"+e.player.name+".svg",width:"100%",height:"100%"}})]),t("text",{attrs:{x:"5",y:"13","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.getPlayerName())+" ")]),e.showMoney?t("text",{attrs:{x:"250",y:"13","font-weight":"600",fill:"black"}},[e._v("Money: $"+e._s(e.player.money))]):e._e(),e._l(e.player.powerPlants,(function(n,r){return t("Card",{key:"powerPlant_"+n.number,attrs:{targetState:{x:e.cardX(r),y:30},owner:e.owner,powerPlant:n,canClick:e.canUse(n)},on:{click:function(t){return e.powerPlantClick(n)}}})})),e._l(e.player.powerPlants,(function(n,r){return[e.isMine(n)?t("g",{key:"mine_"+n.number},[t("rect",{attrs:{x:e.cardX(r),y:"30",width:"60",height:"40",fill:"none",stroke:"#2e8b3d","stroke-width":"3px",rx:"3px"}}),t("circle",{attrs:{cx:e.cardX(r)+51,cy:"37",r:"8",fill:"#46c655",stroke:"#1f5c25","stroke-width":"1.5"}}),t("text",{staticStyle:{"font-size":"9px","font-weight":"700"},attrs:{x:e.cardX(r)+51,y:"40","text-anchor":"middle",fill:"white"}},[e._v(" U ")])]):e._e()]})),e.preferences.disableHelp?e._e():[e._l(e.player.powerPlants,(function(n,r){return[e.canUse(n)?t("rect",{key:r+"_"+r+"_helper",attrs:{x:e.cardX(r),y:30,width:"60",height:"40",fill:"none",stroke:"blue","stroke-width":"4px",rx:"2px"}}):e._e()]}))],e.canClickResources?t("g",[t("rect",{attrs:{width:"30",height:"30",x:"0",y:"71",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}}),t("rect",{attrs:{width:"30",height:"30",x:"70",y:"71",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}})]):e._e(),t("Coal",{attrs:{pieceId:"Coal"+e.player.id,targetState:{x:5,y:76},canClick:e.canClickResources},on:{click:function(n){return e.clickResource("coal")}}}),t("text",{attrs:{"text-anchor":"middle",x:"40",y:"85",fill:"black"}},[e._v(e._s(e.player.coalLeft))]),t("Oil",{attrs:{pieceId:"Oil"+e.player.id,targetState:{x:75,y:76},canClick:e.canClickResources},on:{click:function(n){return e.clickResource("oil")}}}),t("text",{attrs:{"text-anchor":"middle",x:"110",y:"85",fill:"black"}},[e._v(e._s(e.player.oilLeft))]),t("Garbage",{attrs:{pieceId:"Garbage"+e.player.id,targetState:{x:145,y:76}}}),t("text",{attrs:{"text-anchor":"middle",x:"180",y:"85",fill:"black"}},[e._v(e._s(e.player.garbageLeft))]),t("Uranium",{attrs:{pieceId:"Uranium"+e.player.id,targetState:{x:215,y:76}}}),t("text",{attrs:{"text-anchor":"middle",x:"250",y:"85",fill:"black"}},[e._v(e._s(e.player.uraniumLeft))]),t("text",{staticStyle:{"font-size":"13px"},attrs:{"text-anchor":"end",x:"345",y:"85",fill:"black","font-weight":e.isCurrentPlayer?700:400}},[e._v(" "+e._s(e.timeUsed)+" ")])],2)},ci=[];function ui(e){if(!e||e<0)return"0s";var n=Math.floor(e/1e3),t=Math.floor(n/60),r=Math.floor(t/60),o=Math.floor(r/24);return o>0?"".concat(o,"d ").concat(r%24,"h"):r>0?"".concat(r,"h ").concat(t%60,"m"):t>0?"".concat(t,"m ").concat(n%60,"s"):"".concat(n,"s")}var li=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"color",void 0),m(B(e),"avatar",void 0),m(B(e),"player",void 0),m(B(e),"isCurrentPlayer",void 0),m(B(e),"owner",void 0),m(B(e),"ended",void 0),m(B(e),"isPlayer",void 0),m(B(e),"ranking",void 0),m(B(e),"showMoney",void 0),m(B(e),"showBid",void 0),m(B(e),"phase",void 0),m(B(e),"isAustralia",void 0),m(B(e),"preferences",void 0),m(B(e),"powerPlantClicked",void 0),m(B(e),"now",Date.now()),m(B(e),"clockTimer",void 0),e}return C(t,[{key:"mounted",value:function(){var e=this;this.clockTimer=window.setInterval((function(){return e.now=Date.now()}),1e3)}},{key:"beforeDestroy",value:function(){void 0!=this.clockTimer&&window.clearInterval(this.clockTimer)}},{key:"timeUsed",get:function(){return ui(Ce(this.player,this.now))}},{key:"cardX",value:function(e){var n=this.player.powerPlants.length;return n<5?20+80*e:5+Math.min(70,280/(n-1))*e}},{key:"isMine",value:function(e){return!0===this.isAustralia&&e.type===Me.Uranium}},{key:"getPlayerName",value:function(){var e="";if(this.isCurrentPlayer&&(e+="• "),e+=this.player.name,this.ended)switch(this.ranking){case 1:e+=" (1st)";break;case 2:e+=" (2nd)";break;case 3:e+=" (3rd)";break;case 4:case 5:case 6:e+=" (".concat(this.ranking,"th)");break}else this.player.skipAuction?e+=" (Skipping)":this.player.passed?e+=" (Passed)":this.player.bid&&!this.isCurrentPlayer&&this.showBid&&(e+=" (Bid: $"+this.player.bid+")");return e}},{key:"canUse",value:function(e){var n,t;if(!this.isCurrentPlayer)return!1;if(null!==(n=this.player.availableMoves)&&void 0!==n&&n[Ke.DiscardPowerPlant])return e.number!==this.player.powerPlants[this.player.powerPlants.length-1].number;if(null===(t=this.player.availableMoves)||void 0===t||!t[Ke.UsePowerPlant])return!1;if(!this.player.powerPlantsNotUsed.includes(e.number)||this.player.resourcesUsed.length>0)return!1;switch(e.type){case Me.Coal:return this.player.coalLeft>=e.cost;case Me.Oil:return this.player.oilLeft>=e.cost;case Me.Garbage:return this.player.garbageLeft>=e.cost;case Me.Uranium:return this.player.uraniumLeft>=e.cost;case Me.Hybrid:return this.player.coalLeft+this.player.oilLeft>=e.cost;case Me.Wind:case Me.Nuclear:return this.player.coalLeft+this.player.oilLeft>=e.cost}}},{key:"powerPlantClick",value:function(e){this.phase==Pe.Bureaucracy&&e.type==Me.Hybrid?0==this.player.coalLeft||0==this.player.oilLeft||this.player.coalLeft+this.player.oilLeft==e.cost?(this.player.resourcesUsed=Array(Math.min(e.cost,this.player.coalLeft)).fill(ke.Coal).concat(Array(e.cost-Math.min(e.cost,this.player.coalLeft)).fill(ke.Oil)),this.$emit("powerPlantClick",e)):(this.powerPlantClicked=e,this.player.resourcesUsed=Array(e.cost).fill(null)):this.$emit("powerPlantClick",e)}},{key:"canClickResources",get:function(){return this.player.availableMoves&&this.player.availableMoves["DiscardResources"]||this.player.resourcesUsed.some((function(e){return null==e}))}},{key:"clickResource",value:function(e){if(this.player.availableMoves&&this.player.availableMoves["DiscardResources"])this.$emit("discardResource",e);else if(this.player.resourcesUsed.some((function(e){return null==e}))){var n=this.player.resourcesUsed.findIndex((function(e){return null==e}));this.player.resourcesUsed[n]=e,"coal"==e?this.player.coalLeft--:"oil"==e&&this.player.oilLeft--,this.player.resourcesUsed.some((function(e){return null==e}))||this.$emit("powerPlantClick",this.powerPlantClicked)}}}]),t}(c.a);z([ye()],li.prototype,"color",void 0),z([ye()],li.prototype,"avatar",void 0),z([ye()],li.prototype,"player",void 0),z([ye()],li.prototype,"isCurrentPlayer",void 0),z([ye()],li.prototype,"owner",void 0),z([ye()],li.prototype,"ended",void 0),z([ye()],li.prototype,"isPlayer",void 0),z([ye()],li.prototype,"ranking",void 0),z([ye()],li.prototype,"showMoney",void 0),z([ye()],li.prototype,"showBid",void 0),z([ye()],li.prototype,"phase",void 0),z([ye()],li.prototype,"isAustralia",void 0),z([ce()],li.prototype,"preferences",void 0),li=z([ie({components:{Coal:mo,Oil:Ho,Garbage:Po,Uranium:Zo,Card:Fe}})],li);var di=li,fi=di,hi=Ge(fi,si,ci,!1,null,null,null),pi=hi.exports,gi=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"calculator"},[t("rect",{attrs:{width:"125",height:"50",rx:"4"}}),t("rect",{attrs:{x:"10",y:"10",width:"30",height:"30",fill:"lime",rx:"2"}}),t("text",{staticClass:"visor",attrs:{x:"25",y:"25",fill:"black","text-anchor":"middle"}},[e._v(e._s(e.value))]),t("g",{style:e.value<e.maxValue?"cursor: pointer":"",on:{click:function(n){return e.add()}}},[t("rect",{attrs:{x:"48",y:"7",width:"24",height:"15",fill:"gray",stroke:"gray",rx:"2"}}),t("path",{attrs:{d:"M52,17 l8,-6 l8,6",fill:"none",stroke:"white","stroke-width":"3"}})]),t("g",{style:e.value>e.minValue?"cursor: pointer":"",on:{click:function(n){return e.sub()}}},[t("rect",{attrs:{x:"48",y:"28",width:"24",height:"15",fill:"gray",stroke:"gray",rx:"2"}}),t("path",{attrs:{d:"M52,32 l8,6 l8,-6",fill:"none",stroke:"white","stroke-width":"3"}})]),t("g",{staticStyle:{cursor:"pointer"},on:{click:function(n){return e.bid()}}},[t("rect",{staticClass:"button",attrs:{x:"80",y:"7",width:"36",height:"36",fill:"gray",rx:"2"}}),t("text",{attrs:{x:"97",y:"25",fill:"white","text-anchor":"middle"}},[e._v("OK")])])])},yi=[],mi=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"minValue",void 0),m(B(e),"maxValue",void 0),m(B(e),"value",0),e}return C(t,[{key:"onMinValueChanged",value:function(){this.value=Math.max(this.value,this.minValue)}},{key:"add",value:function(){this.value=Math.min(this.maxValue,this.value+1)}},{key:"sub",value:function(){this.value=Math.max(this.minValue,this.value-1)}},{key:"bid",value:function(){this.$emit("bid",this.value)}}]),t}(c.a);z([ye()],mi.prototype,"minValue",void 0),z([ye()],mi.prototype,"maxValue",void 0),z([me("minValue")],mi.prototype,"onMinValueChanged",null),mi=z([ie({created:function(){this.value=this.minValue}})],mi);var vi=mi,bi=vi,wi=(t("85cf"),Ge(bi,gi,yi,!1,null,null,null)),xi=wi.exports,ki=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[t("text",{attrs:{x:"165",y:"14","font-weight":"600",fill:"black"}},[e._v("Actual Market:")]),e._l(e.actualMarketCards,(function(n,r){return[t("Card",{key:n.id,attrs:{targetState:{x:n.x,y:n.y},powerPlant:n.powerPlant,canClick:e.chooseablePowerPlants&&e.chooseablePowerPlants.includes(n.powerPlant.number),hasDiscount:e.plantDiscountActive&&0==r},on:{click:function(t){return e.choosePowerPlant(n.powerPlant)}}})]})),e.futureMarketCards.length>0?[t("text",{attrs:{x:"165",y:"80","font-weight":"600",fill:"black"}},[e._v("Future Market:")]),e._l(e.futureMarketCards,(function(e){return[t("Card",{key:e.id,attrs:{targetState:{x:e.x,y:e.y},powerPlant:e.powerPlant}})]}))]:e._e(),e.chosenPowerPlant?[t("text",{attrs:{x:e.actualMarketWidth,y:"14","font-weight":"600",fill:"black"}},[e._v("Current Auction:")]),t("Card",{key:e.chosenPowerPlant.id,attrs:{targetState:{x:e.chosenPowerPlant.x,y:e.chosenPowerPlant.y},powerPlant:e.chosenPowerPlant.powerPlant}}),e.canBid?t("Calculator",{key:"calc"+e.chosenPowerPlant.powerPlant.number,attrs:{transform:"translate("+e.actualMarketWidth+", 80)",minValue:e.minBid,maxValue:e.maxBid},on:{bid:function(n){return e.bid(n)}}}):e._e()]:e._e(),e.preferences.disableHelp?e._e():[e.canChoose?t("g",[e.futureMarketCards.length>0?t("rect",{attrs:{x:"160",y:"5",width:65*e.actualMarketCards.length+5,height:"65",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}}):t("rect",{attrs:{x:"160",y:"5",width:e.actualMarketHighlightWidth,height:"120",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}})]):e._e()]],2)},Mi=[],Pi=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"cardsLeft",void 0),m(B(e),"nextCardWeak",void 0),m(B(e),"plantDiscountActive",void 0),m(B(e),"canBid",void 0),m(B(e),"canChoose",void 0),m(B(e),"chooseablePowerPlants",void 0),m(B(e),"minBid",void 0),m(B(e),"maxBid",void 0),m(B(e),"preferences",void 0),m(B(e),"actualMarketCards",[]),m(B(e),"futureMarketCards",[]),m(B(e),"chosenPowerPlant",null),m(B(e),"actualMarketWidth",430),m(B(e),"actualMarketHighlightWidth",200),e}return C(t,[{key:"createPieces",value:function(e){var n,t=this;this.actualMarketWidth=null!==(n=e.map.actualMarketWidth)&&void 0!==n?n:430,this.actualMarketCards=[];var r=e.actualMarket.length>6?4:3;this.actualMarketHighlightWidth=65*Math.min(e.actualMarket.length,r)+5,e.actualMarket.forEach((function(n,o){var a,i;e.futureMarket.length>0?n.number!=(null===(a=e.chosenPowerPlant)||void 0===a?void 0:a.number)&&t.actualMarketCards.push({id:"actual_"+o,x:165+65*o,y:24,powerPlant:n}):n.number!=(null===(i=e.chosenPowerPlant)||void 0===i?void 0:i.number)&&t.actualMarketCards.push({id:"actual_"+o,x:165+o%r*65,y:24+56*Math.floor(o/r),powerPlant:n})})),this.futureMarketCards=[],e.futureMarket.forEach((function(n,r){var o;n.number!=(null===(o=e.chosenPowerPlant)||void 0===o?void 0:o.number)&&t.futureMarketCards.push({id:"future_"+r,x:165+r%4*65,y:90+50*Math.floor(r/4),powerPlant:n})})),e.chosenPowerPlant?this.chosenPowerPlant={id:"chosen",x:this.actualMarketWidth+30,y:30,powerPlant:e.chosenPowerPlant}:this.chosenPowerPlant=null}},{key:"choosePowerPlant",value:function(e){this.$emit("choosePowerPlant",e)}},{key:"bid",value:function(e){this.$emit("bid",e)}}]),t}(c.a);z([ye()],Pi.prototype,"cardsLeft",void 0),z([ye()],Pi.prototype,"nextCardWeak",void 0),z([ye()],Pi.prototype,"plantDiscountActive",void 0),z([ye()],Pi.prototype,"canBid",void 0),z([ye()],Pi.prototype,"canChoose",void 0),z([ye()],Pi.prototype,"chooseablePowerPlants",void 0),z([ye()],Pi.prototype,"minBid",void 0),z([ye()],Pi.prototype,"maxBid",void 0),z([ce()],Pi.prototype,"preferences",void 0),Pi=z([ie({components:{Card:Fe,Calculator:xi}})],Pi);var _i=Pi,Si=_i,Ci=Ge(Si,ki,Mi,!1,null,null,null),Bi=Ci.exports,Li=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[t("rect",{attrs:{x:"10",y:"10",width:"185",height:"40",rx:"3",fill:"goldenrod"}}),e._l(6,(function(n){return[t("rect",{key:"playerOrder"+n,attrs:{x:15+30*(n-1),y:"15",width:"24",height:"30",rx:"2",fill:"darkgoldenrod"}}),t("text",{key:"playerOrderText"+n,staticStyle:{"font-size":"32px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:27+30*(n-1),y:"30",fill:"gold"}},[e._v(" "+e._s(n)+" ")])]})),e._l(e.houses,(function(e){return[t("House",{key:e.id,attrs:{pieceId:e.id,targetState:{x:e.x,y:e.y},owner:e.owner,ownerName:e.ownerName,color:e.color}})]}))],2)},Ri=[],Ai=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"playerColors",void 0),m(B(e),"houses",[]),e}return C(t,[{key:"createPieces",value:function(e){var n=this;this.houses=[],e.playerOrder.forEach((function(t,r){n.houses.push({id:t+"_order",x:20+30*r,y:22,color:n.playerColors[t],owner:t,ownerName:e.players[t].name})}))}}]),t}(c.a);z([ye()],Ai.prototype,"playerColors",void 0),Ai=z([ie({components:{House:Ao}})],Ai);var Oi=Ai,ji=Oi,Ni=Ge(ji,Li,Ri,!1,null,null,null),Di=Ni.exports,Ti=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[t("rect",{attrs:{width:"730",height:"50",x:"10",y:"10",rx:"3",fill:"goldenrod"}}),e._l(21,(function(n){return[t("rect",{key:"playerCityCount"+n,attrs:{width:"28",height:"38",x:46+33*(n-1),y:"16",rx:"2",fill:"darkgoldenrod",stroke:n==e.citiesToStep2||n==e.citiesToEndGame?"#916a08":"darkgoldenrod","stroke-width":"2px"}}),t("text",{key:"playerCityCountText"+n,staticStyle:{"font-size":"24px","font-family":"monospace"},attrs:{"text-anchor":"middle","letter-spacing":"-2",x:59+33*(n-1),y:"35",fill:"gold"}},[e._v(" "+e._s(n)+" ")])]})),e._l(e.houses,(function(e){return[t("House",{key:e.id,attrs:{pieceId:e.id,targetState:{x:e.x,y:e.y},owner:e.owner,ownerName:e.ownerName,color:e.color}})]}))],2)},zi=[],Gi=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"citiesToStep2",void 0),m(B(e),"citiesToEndGame",void 0),m(B(e),"playerColors",void 0),m(B(e),"houses",[]),e}return C(t,[{key:"createPieces",value:function(e){var n=this;this.houses=[];for(var t=[],r=0;r<22;r++)t[r]=[];e.players.forEach((function(e,n){return t[e.cities.length].push(n)})),e.players.forEach((function(e,r){var o=(1==t[e.cities.length].length?23:20)+33*e.cities.length;o+=t[e.cities.length].indexOf(r)%2*6,n.houses.push({id:r+"_cityCount",x:o,y:15+30*t[e.cities.length].indexOf(r)/t[e.cities.length].length,color:n.playerColors[r],owner:r})}))}}]),t}(c.a);z([ye()],Gi.prototype,"citiesToStep2",void 0),z([ye()],Gi.prototype,"citiesToEndGame",void 0),z([ye()],Gi.prototype,"playerColors",void 0),Gi=z([ie({components:{House:Ao}})],Gi);var Ei=Gi,Ii=Ei,Ui=Ge(Ii,Ti,zi,!1,null,null,null),Ki=Ui.exports,Yi=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{on:{click:e.onPickCoord}},[e.devBackdrop?t("image",{attrs:{href:e.devBackdrop.src,x:"0",y:"0",width:e.devBackdrop.width,height:e.devBackdrop.height,opacity:null!=e.devBackdrop.opacity?e.devBackdrop.opacity:.5}}):e._e(),e._l(e.cities,(function(n){return[null==n.connectionCost?t("circle",{key:n.name+"_region",attrs:{r:"25",cx:n.x,cy:n.y,fill:n.region,stroke:"black"}},[t("title",[e._v(e._s(n.name))])]):e._e(),null==n.connectionCost?t("circle",{key:n.name+"_circle",attrs:{r:"20",cx:n.x,cy:n.y,fill:"gray",stroke:"black"}},[t("title",[e._v(e._s(n.name))])]):e._e(),n.singleOccupancy?t("g",{key:n.name+"_flag"},[t("line",{attrs:{x1:n.x+12,y1:n.y-12,x2:n.x+12,y2:n.y-32,stroke:"black","stroke-width":"1.5"}}),t("polygon",{attrs:{points:n.x+12+","+(n.y-32)+" "+(n.x+26)+","+(n.y-28)+" "+(n.x+12)+","+(n.y-24),fill:"red",stroke:"black","stroke-width":"1"}}),t("title",[e._v(e._s(n.name)+" — cross-border space (1 house max, 30 Elektro total cost)")])]):e._e()]})),e._l(e.connections,(function(n){return[t("line",{key:n.nodes[0]+"_"+n.nodes[1]+"_line1",attrs:{x1:e.getX1(n),y1:e.getY1(n),x2:e.getX2(n),y2:e.getY2(n),"stroke-width":"10",stroke:"black"}}),t("line",{key:n.nodes[0]+"_"+n.nodes[1]+"_line2",attrs:{x1:e.getX1(n),y1:e.getY1(n),x2:e.getX2(n),y2:e.getY2(n),"stroke-width":"9",stroke:"gray"}})]})),e._l(e.cities,(function(n){return[null!=n.connectionCost&&n.slotCosts&&n.slotCosts.length>=2?t("g",{key:n.name+"_tile"},[t("rect",{class:[{canClick:e.canBuild(n)||e.canPickRegion(n)}],attrs:{x:n.x-23,y:n.y-23,width:"46",height:"46",rx:"7",fill:"gray",stroke:n.region,"stroke-width":"4",transform:"rotate(45, "+n.x+", "+n.y+")"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name)+" — connect for "+e._s(n.connectionCost)+" (entry) + house")])]),e._l(n.slotCosts,(function(r,o){return[t("rect",{key:n.name+"_slot"+o,attrs:{x:n.x+e.nodeSlotPos(o).dx-6.5,y:n.y+e.nodeSlotPos(o).dy-6.5,width:"13",height:"13",rx:"1",fill:"gray",stroke:"black","stroke-width":"1",transform:"rotate(45, "+(n.x+e.nodeSlotPos(o).dx)+", "+(n.y+e.nodeSlotPos(o).dy)+")"}}),t("text",{key:n.name+"_slotlbl"+o,attrs:{x:n.x+e.nodeSlotPos(o).dx,y:n.y+e.nodeSlotPos(o).dy,"font-size":"10","text-anchor":"middle","dominant-baseline":"central",fill:"black",transform:e.mapRotation?"rotate("+-e.mapRotation+", "+(n.x+e.nodeSlotPos(o).dx)+", "+(n.y+e.nodeSlotPos(o).dy)+")":void 0}},[e._v(" "+e._s(r)+" ")])]}))],2):e._e()]})),e._l(e.cities,(function(n){return[null!=n.connectionCost&&n.slotCosts&&1===n.slotCosts.length?t("g",{key:n.name+"_mtile"},[t("rect",{class:[{canClick:e.canBuild(n)}],attrs:{x:n.x-13,y:n.y-13,width:"26",height:"26",rx:"5",fill:e.isBlocked(n)?"#555555":"white","fill-opacity":e.isBlocked(n)?.88:.82,stroke:"black","stroke-width":"1.5"},on:{click:function(t){e.canBuild(n)&&e.build(n)}}},[t("title",[e._v(" "+e._s(n.name)),e.isBlocked(n)?[e._v(" — blocked for this player count (transit only)")]:e.buildCostLabel(n)?[e._v(e._s(e.buildCostLabel(n)))]:[e._v(" — build for "+e._s(n.slotCosts[0])+" (+ flat 5 per transited space)")]],2)]),t("text",{attrs:{x:n.x,y:n.y,"font-size":"17","font-weight":"bold","text-anchor":"middle","dominant-baseline":"central",fill:e.isBlocked(n)?"#dddddd":"black"}},[e._v(" "+e._s(n.slotCosts[0])+" ")])]):e._e()]})),e._l(e.cities,(function(n){return[null==n.connectionCost?t("circle",{key:n.name+"_circle2",class:[{canClick:e.canBuild(n)||e.canPickRegion(n)}],attrs:{r:"20",cx:n.x,cy:n.y,fill:"gray"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name))])]):e._e()]})),e._l(e.connections,(function(n){return[n.cost>0?t("circle",{key:n.nodes[0]+"_"+n.nodes[1]+"_border",attrs:{stroke:"black",r:10+10*n.cost/28,cx:(e.getX1(n)+e.getX2(n))/2,cy:(e.getY1(n)+e.getY2(n))/2,fill:n.cost>15?"gold":n.cost>10?"lightgray":"tan"}}):e._e(),n.cost>0?t("circle",{key:n.nodes[0]+"_"+n.nodes[1]+"_circle",attrs:{r:6+10*n.cost/28,cx:(e.getX1(n)+e.getX2(n))/2,cy:(e.getY1(n)+e.getY2(n))/2,fill:"gray",stroke:"black"}}):e._e(),n.cost>0?t("text",{key:n.nodes[0]+"_"+n.nodes[1]+"_text",style:"font-size: "+(12+6*n.cost/28)+"px",attrs:{"text-anchor":"middle",fill:"black",x:(e.getX1(n)+e.getX2(n))/2,y:(e.getY1(n)+e.getY2(n))/2,transform:e.mapRotation?"rotate("+-e.mapRotation+", "+(e.getX1(n)+e.getX2(n))/2+", "+(e.getY1(n)+e.getY2(n))/2+")":void 0}},[e._v(" "+e._s(n.cost)+" ")]):e._e()]})),e._l(e.houses,(function(e){return[t("House",{key:e.id,attrs:{pieceId:e.id,targetState:{x:e.x,y:e.y},owner:e.owner,ownerName:e.ownerName,color:e.color,scale:e.scale}})]})),e._l(e.cities,(function(n){return[null!=n.connectionCost&&n.slotCosts&&n.slotCosts.length>=2?t("g",{key:n.name+"_cc"},[t("circle",{attrs:{cx:n.x,cy:n.y+15,r:"11",fill:"goldenrod",stroke:"darkgoldenrod","stroke-width":"2"}}),t("circle",{attrs:{cx:n.x,cy:n.y+15,r:"7.5",fill:"gray",stroke:"darkgoldenrod","stroke-width":"1"}}),t("text",{attrs:{x:n.x,y:n.y+15,"font-size":"11","font-weight":"bold","text-anchor":"middle","dominant-baseline":"central",fill:"black",transform:e.mapRotation?"rotate("+-e.mapRotation+", "+n.x+", "+(n.y+15)+")":void 0}},[e._v(" "+e._s(n.connectionCost)+" ")])]):e._e()]})),e._l(e.cities,(function(n){return[n.slotCosts&&2===n.slotCosts.length&&10===n.slotCosts[0]?[t("line",{key:n.name+"_x1",attrs:{x1:n.x+10,y1:n.y+10,x2:n.x+19,y2:n.y+19,stroke:"black","stroke-width":"3","stroke-linecap":"round"}}),t("line",{key:n.name+"_x2",attrs:{x1:n.x+19,y1:n.y+10,x2:n.x+10,y2:n.y+19,stroke:"black","stroke-width":"3","stroke-linecap":"round"}})]:e._e(),n.slotCosts&&3===n.slotCosts.length&&10===n.slotCosts[0]&&10===n.slotCosts[1]?t("text",{key:n.name+"_10label",attrs:{x:n.x-20,y:n.y+19,"font-size":"17","font-weight":"bold",fill:"black","text-anchor":"middle",transform:e.mapRotation?"rotate("+-e.mapRotation+", "+(n.x-20)+", "+(n.y+19)+")":void 0}},[e._v("10")]):e._e(),n.slotCosts&&2===n.slotCosts.length&&15===n.slotCosts[0]?[t("line",{key:n.name+"_x1",attrs:{x1:n.x-5,y1:n.y-21,x2:n.x+5,y2:n.y-11,stroke:"black","stroke-width":"3","stroke-linecap":"round"}}),t("line",{key:n.name+"_x2",attrs:{x1:n.x+5,y1:n.y-21,x2:n.x-5,y2:n.y-11,stroke:"black","stroke-width":"3","stroke-linecap":"round"}})]:e._e()]})),e.preferences.disableHelp?e._e():[e._l(e.cities,(function(n){return[e.canBuild(n)?t("circle",{key:n.name+"_circleHelp",class:[{canClick:e.canBuild(n)}],attrs:{r:"18",cx:n.x,cy:n.y,fill:"none",stroke:"blue","stroke-width":"4px"}}):e._e()]}))],e._l(e.cities,(function(n){return[e.canPickRegion(n)?t("circle",{key:n.name+"_pickRegion",staticClass:"canClick",attrs:{r:"18",cx:n.x,cy:n.y,fill:"none",stroke:"gold","stroke-width":"5px"},on:{click:function(t){return e.onCityClick(n)}}}):e._e()]})),e._l(e.cities,(function(n){return[null==n.connectionCost&&(e.canBuild(n)||e.canPickRegion(n))?t("circle",{key:n.name+"_tap",staticClass:"canClick",attrs:{r:e.tapRadius(n),cx:n.x,cy:n.y,fill:"none","pointer-events":"all"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name)+e._s(e.buildCostLabel(n)))])]):e._e(),e.isNodeTile(n)&&(e.canBuild(n)||e.canPickRegion(n))?t("rect",{key:n.name+"_tapTile",staticClass:"canClick",attrs:{x:n.x-23,y:n.y-23,width:"46",height:"46",rx:"7",fill:"none","pointer-events":"all",transform:"rotate(45, "+n.x+", "+n.y+")"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name)+e._s(e.buildCostLabel(n)))])]):e._e()]})),e._l(e.noUraniumMarkers,(function(e){return t("g",{key:"noUranium_"+e.region,attrs:{transform:"translate("+e.x+", "+e.y+")"}},[t("rect",{attrs:{x:"-15",y:"-11",width:"30",height:"22",rx:"3",fill:"#4a4a4a",stroke:"black","stroke-width":"1.5"}}),t("g",{attrs:{transform:"translate(-9, -7) scale(1.2)"}},[t("path",{attrs:{d:"M1,2 l4,-2 l6,0 l4,2 l0,11 l-4,2 l-6,0 l-4,-2Z",fill:"#ef3b3b"}})]),t("circle",{attrs:{cx:"0",cy:"0",r:"20",fill:"none",stroke:e.region,"stroke-width":"4.5"}}),t("line",{attrs:{x1:"-14.1",y1:"-14.1",x2:"14.1",y2:"14.1",stroke:e.region,"stroke-width":"4.5","stroke-linecap":"round"}})])}))],2)},Hi=[],Wi=(t("5efb"),20),Vi=25,Fi=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"polygons",void 0),m(B(e),"cities",void 0),m(B(e),"connections",void 0),m(B(e),"playerColors",void 0),m(B(e),"buildableCities",void 0),m(B(e),"buildPrices",void 0),m(B(e),"blockedCities",void 0),m(B(e),"pickableRegions",void 0),m(B(e),"noUraniumRegions",void 0),m(B(e),"devBackdrop",void 0),m(B(e),"mapRotation",void 0),m(B(e),"preferences",void 0),m(B(e),"houses",[]),e}return C(t,[{key:"createPieces",value:function(e){var n=this;this.houses=[],e.players.forEach((function(t,r){t.cities.forEach((function(t){var o,a,i,s,c,u=e.map.cities.find((function(e){return e.name==t.name})),l=null!=u.connectionCost,d=l&&1===(null===(o=u.slotCosts)||void 0===o?void 0:o.length),f=2===(null===(a=u.slotCosts)||void 0===a?void 0:a.length)&&15===u.slotCosts[0];if(d)c=.085,i=-199*c,s=-230*c;else if(l){var h=n.nodeSlotPos(t.position);i=h.dx-7,s=h.dy-8}else f?0==t.position?(i=-15,s=-4):(i=1,s=-4):0==t.position?(i=-6,s=-18):1==t.position?(i=-15,s=-4):(i=1,s=-4);n.houses.push({id:r+"_"+t.name,x:u.x+i,y:u.y+s,color:n.playerColors[r],owner:r,scale:c})}))}))}},{key:"getX1",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[0]}));return n.x}},{key:"getY1",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[0]}));return n.y}},{key:"getX2",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[1]}));return n.x}},{key:"getY2",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[1]}));return n.y}},{key:"nodeSlotPos",value:function(e){return 0===e?{dx:0,dy:-15}:1===e?{dx:-15,dy:0}:{dx:15,dy:0}}},{key:"noUraniumMarkers",get:function(){var e;if(!this.noUraniumRegions||!this.cities||0===this.cities.length)return[];var n,t=this.cities,r=t.map((function(e){return{x:e.x,y:e.y}})),o=w(null!==(e=this.connections)&&void 0!==e?e:[]);try{var a=function(){var e=n.value;if(!e.cost||e.cost<=0)return"continue";var o=t.find((function(n){return n.name===e.nodes[0]})),a=t.find((function(n){return n.name===e.nodes[1]}));o&&a&&r.push({x:(o.x+a.x)/2,y:(o.y+a.y)/2})};for(o.s();!(n=o.n()).done;)a()}catch(d){o.e(d)}finally{o.f()}var i,s=function(e,n,t){var r,o=1/0,a=w(t);try{for(a.s();!(r=a.n()).done;){var i=r.value,s=Math.hypot(i.x-e,i.y-n);s<o&&(o=s)}}catch(d){a.e(d)}finally{a.f()}return o},c=[],u=w(this.noUraniumRegions);try{var l=function(){var e,n=i.value,o=t.filter((function(e){return e.region===n}));if(0===o.length)return"continue";for(var a=o.map((function(e){return e.x})),u=o.map((function(e){return e.y})),l={x:a.reduce((function(e,n){return e+n}),0)/a.length,y:u.reduce((function(e,n){return e+n}),0)/u.length},f=44,h=void 0,p=void 0,g=10,y=Math.min.apply(Math,P(a));y<=Math.max.apply(Math,P(a));y+=g)for(var m=Math.min.apply(Math,P(u));m<=Math.max.apply(Math,P(u));m+=g){var v,b=o[0],x=1/0,k=w(t);try{for(k.s();!(v=k.n()).done;){var M=v.value,_=Math.hypot(M.x-y,M.y-m);_<x&&(x=_,b=M)}}catch(d){k.e(d)}finally{k.f()}if(b.region===n){var S=s(y,m,r);if((!p||S>p.clearance)&&(p={x:y,y:m,clearance:S}),S>=f){var C=Math.hypot(y-l.x,m-l.y);(!h||C<h.distToCentroid)&&(h={x:y,y:m,distToCentroid:C})}}}var B=null!==(e=h)&&void 0!==e?e:p;c.push({region:n,x:B?B.x:l.x,y:B?B.y:l.y})};for(u.s();!(i=u.n()).done;)l()}catch(d){u.e(d)}finally{u.f()}return c}},{key:"nearestCityDistance",get:function(){var e,n,t={},r=null!==(e=this.cities)&&void 0!==e?e:[],o=w(r);try{for(o.s();!(n=o.n()).done;){var a,i=n.value,s=1/0,c=w(r);try{for(c.s();!(a=c.n()).done;){var u=a.value;if(u!==i){var l=Math.hypot(u.x-i.x,u.y-i.y);l<s&&(s=l)}}}catch(d){c.e(d)}finally{c.f()}t[i.name]=s}}catch(d){o.e(d)}finally{o.f()}return t}},{key:"tapRadius",value:function(e){var n,t=(null!==(n=this.nearestCityDistance[e.name])&&void 0!==n?n:1/0)/2;return Math.max(Wi,Math.min(Vi,t))}},{key:"isNodeTile",value:function(e){return null!=e.connectionCost&&!!e.slotCosts&&e.slotCosts.length>=2}},{key:"canBuild",value:function(e){return!!this.buildableCities.find((function(n){return n==e.name}))}},{key:"buildCostLabel",value:function(e){var n=this.buildPrices&&this.buildPrices[e.name];return n?null!=n.price&&null!=n.jumpPrice?" — build for ".concat(n.price,", or ").concat(n.jumpPrice," using your free jump"):null!=n.price?" — build for ".concat(n.price):null!=n.jumpPrice?" — build for ".concat(n.jumpPrice,", using your free jump"):"":""}},{key:"isBlocked",value:function(e){return!!this.blockedCities&&this.blockedCities.includes(e.name)}},{key:"build",value:function(e){this.$emit("build",e)}},{key:"canPickRegion",value:function(e){return!!this.pickableRegions&&this.pickableRegions.includes(e.region)}},{key:"pickRegion",value:function(e){this.$emit("pickRegion",e.region)}},{key:"onCityClick",value:function(e){this.canBuild(e)?this.build(e):this.canPickRegion(e)&&this.pickRegion(e)}},{key:"onPickCoord",value:function(e){if(this.devBackdrop){var n=e.currentTarget,t=n.getScreenCTM();if(t){var r=new DOMPoint(e.clientX,e.clientY).matrixTransform(t.inverse());console.log("{ name: Cities.TODO, region: Regions.TODO, x: ".concat(Math.round(r.x),", y: ").concat(Math.round(r.y)," },"))}}}}]),t}(c.a);z([ye()],Fi.prototype,"polygons",void 0),z([ye()],Fi.prototype,"cities",void 0),z([ye()],Fi.prototype,"connections",void 0),z([ye()],Fi.prototype,"playerColors",void 0),z([ye()],Fi.prototype,"buildableCities",void 0),z([ye()],Fi.prototype,"buildPrices",void 0),z([ye()],Fi.prototype,"blockedCities",void 0),z([ye()],Fi.prototype,"pickableRegions",void 0),z([ye()],Fi.prototype,"noUraniumRegions",void 0),z([ye()],Fi.prototype,"devBackdrop",void 0),z([ye({default:0})],Fi.prototype,"mapRotation",void 0),z([ce()],Fi.prototype,"preferences",void 0),Fi=z([ie({components:{House:Ao}})],Fi);var Ji=Fi,$i=Ji,qi=Ge($i,Yi,Hi,!1,null,null,null),Zi=qi.exports,Qi=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[e._l(e.blocks,(function(n,r){return[t("g",{key:"block"+r,attrs:{transform:"translate(0, "+n.y+")"}},[n.title?t("text",{staticStyle:{"font-size":"26px"},attrs:{x:"4",y:"16","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.title)+" ")]):e._e(),n.restock?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:e.BOX_W-4,y:"16","text-anchor":"end","font-weight":"600",fill:"#3a2c08"}},[e._v(" Restock "+e._s(n.restock)+" ")]):e._e(),t("text",{staticStyle:{"font-size":"24px","letter-spacing":"1px"},attrs:{x:"4",y:"42",fill:"#3a2c08"}},[e._v("CURRENT PRICE")]),t("text",{staticStyle:{"font-size":"24px","letter-spacing":"1px"},attrs:{x:e.CUBE_BAND_CENTRE,y:"42","text-anchor":"middle",fill:"#3a2c08"}},[e._v(" AT THIS PRICE ")]),t("text",{staticStyle:{"font-size":"24px","letter-spacing":"1px"},attrs:{x:e.BOX_W-4,y:"42","text-anchor":"end",fill:"#3a2c08"}},[e._v(" CUBES LEFT ")]),e._l(n.rows,(function(n,r){return t("g",{key:"row"+r,class:[{canClick:n.buyable}],attrs:{transform:"translate(0, "+(e.HEAD_H+r*(e.BOX_H+e.BOX_GAP))+")"},on:{click:function(t){n.buyable&&e.$emit("buyResource",n.move)}}},[t("rect",{attrs:{width:e.BOX_W,height:e.BOX_H,rx:"6",fill:n.cubes>0?"darkgoldenrod":"#9c8236",stroke:n.buyable?"#1e63d0":"#6b5312","stroke-width":n.buyable?5:2,opacity:n.cubes>0?1:.55}}),n.buyable?t("rect",{attrs:{width:e.BOX_W,height:e.BOX_H,rx:"6",fill:"transparent","pointer-events":"all"}}):e._e(),t("text",{staticStyle:{"font-size":"22px","letter-spacing":"1px"},attrs:{x:"18",y:"26","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.label)+" ")]),null!=n.price?[t("text",{staticStyle:{"font-size":"26px"},attrs:{x:"18",y:"80","font-weight":"700",fill:"black"}},[e._v("$")]),t("text",{staticStyle:{"font-size":"46px"},attrs:{x:"40",y:"84","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.price)+" ")]),null!=n.next?t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"132",y:"80",fill:"#3a2c08"}},[e._v(" then $"+e._s(n.next)+" ")]):e._e()]:t("text",{staticStyle:{"font-size":"28px"},attrs:{x:"18",y:"78","font-weight":"700",fill:"black"}},[e._v("out")]),e._l(n.atPrice,(function(r){return t("circle",{key:"cube"+r,attrs:{cx:e.cubeX(n.atPrice,r),cy:58,r:"17",fill:n.color,stroke:"black","stroke-width":"2"}})})),n.flat&&n.cubes>0?t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"300",y:"66",fill:"#3a2c08"}},[e._v(" every cube at this price ")]):e._e(),t("text",{staticStyle:{"font-size":"40px"},attrs:{x:e.BOX_W-18,y:"68","text-anchor":"end","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.cubes)+" ")]),t("text",{staticStyle:{"font-size":"20px"},attrs:{x:e.BOX_W-18,y:"90","text-anchor":"end",fill:"#3a2c08"}},[e._v("LEFT")]),n.capped?t("text",{staticStyle:{"font-size":"20px"},attrs:{x:"130",y:"96",fill:"#7a1d12","font-weight":"600"}},[e._v(" step "+e._s(e.step)+" sells to $"+e._s(e.maxPrice)+" ")]):e._e(),e.canUnbuy(n)?t("g",{staticClass:"canClick",on:{click:function(t){return t.stopPropagation(),e.$emit("unbuyResource",n.move)}}},[t("rect",{attrs:{x:e.chipBox(n).hx,y:e.chipBox(n).hy,width:e.chipBox(n).hw,height:e.chipBox(n).hh,fill:"transparent","pointer-events":"all"}}),t("rect",{attrs:{x:e.chipBox(n).x,y:e.chipBox(n).y,width:e.chipBox(n).w,height:e.chipBox(n).h,rx:"10",fill:"#f0e6c8",stroke:"#6b5312","stroke-width":"2"}}),t("text",{style:"font-size: "+e.chipBox(n).fontSize+"px",attrs:{x:e.chipBox(n).x+e.chipBox(n).w/2,y:e.chipBox(n).y+e.chipBox(n).h/2+8,"text-anchor":"middle","font-weight":"700",fill:"#3a2c08"}},[e._v(" − take back ")])]):e._e(),t("title",[e._v(e._s(n.title))])],2)}))],2)]}))],2)},Xi=[],es={coal:"#6b2028",oil:"#15130f",garbage:"#f2d024",uranium:"#dc2626"},ns={coal:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],oil:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],garbage:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],uranium:[1,2,3,4,5,6,7,8,10,12,14,16]},ts=8;function rs(e){return e[0].toUpperCase()+e.slice(1)}function os(e){return void 0!==e.coalPricesNorth}function as(e){var n=e.map.maxPriceAvailable;return n?n[e.step-1]:16}function is(e,n,t){var r=e,o=r[n+"Prices"+(t?"North":"")];return void 0!==o?o:ns[n]}function ss(e,n,t){var r=e,o=r[n+"Market"+(t?"North":"")];return void 0===o?0:o}function cs(e,n){return e.resource===n.resource&&e.side===n.side&&!!e.fromStorage===!!n.fromStorage}function us(e,n,t){if("garbage"!==n||"Central Europe"!==e.map.name||void 0===t)return 0;var r=e.players[t];return r&&r.cities.some((function(e){return"Wien"===e.name}))?1:0}function ls(e,n,t,r){var o=is(e,n,t),a=ss(e,n,t),i=Math.max(0,o.length-a),s=null,c=0,u=null;if(a>0){s=o[i]-(t?0:us(e,n,r.player));for(var l=i;l<o.length&&o[l]===o[i];l++)c++;for(var d=i;d<o.length;d++)if(o[d]!==o[i]){u=o[d]-(t?0:us(e,n,r.player));break}}var f=os(e)?{resource:n,side:t?"north":"south"}:{resource:n};return{label:rs(n),color:es[n],move:f,price:s,next:u,atPrice:c,cubes:a,buyable:!!r.buyable&&r.buyable.some((function(e){return cs(e,f)})),capped:null!==s&&s>as(e),flat:!1,title:a>0?"".concat(rs(n)," — $").concat(s," each, ").concat(c," at that price, ").concat(a," left"):"".concat(rs(n)," — market empty")}}function ds(e,n,t,r,o){var a=t?{resource:"coal",fromStorage:!0}:{resource:"coal"};return{label:r,color:es.coal,move:a,price:n>0?ts:null,next:null,atPrice:0,cubes:n,buyable:!!o.buyable&&o.buyable.some((function(e){return cs(e,a)})),capped:n>0&&ts>as(e),flat:!0,title:"".concat(r," — $").concat(ts," each, ").concat(n," left")}}function fs(e){return"Australia"!==e.map.name&&"Bremen"!==e.map.name}function hs(e,n,t){var r=[];return!n&&t.isUsaRecharged&&0===e.coalMarket&&e.coalSupply>0?r.push(ds(e,e.coalSupply,!1,"Coal (from supply)",t)):r.push(ls(e,"coal",n,t)),n||void 0===e.coalStorage||r.push(ds(e,e.coalStorage,!0,"Coal (from storage)",t)),r.push(ls(e,"oil",n,t)),r.push(ls(e,"garbage",n,t)),!n&&fs(e)&&r.push(ls(e,"uranium",n,t)),r}function ps(e,n){if(e){var t=n.filter((function(e){return!e.flat})).map((function(n,t){return e[t]}));return t.every((function(e){return void 0===e}))?void 0:t.filter((function(e){return void 0!==e})).join(" / ")}}function gs(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=[];if(os(e)){var r=hs(e,!0,n);t.push({title:"North Market",restock:ps(n.resupplyNorth,r),rows:r})}var o=hs(e,!1,n);return t.push({title:os(e)?"South Market":void 0,restock:ps(n.resupply,o),rows:o}),t}var ys=700,ms=104,vs=8,bs=62,ws=30,xs=44,ks=420,Ms=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"gameState",void 0),m(B(e),"buyableResources",void 0),m(B(e),"resourceResupply",void 0),m(B(e),"resourceResupplyNorth",void 0),m(B(e),"isUsaRecharged",void 0),m(B(e),"player",void 0),m(B(e),"bufferedBuys",void 0),m(B(e),"BOX_W",ys),m(B(e),"BOX_H",ms),m(B(e),"BOX_GAP",vs),m(B(e),"HEAD_H",bs),m(B(e),"CUBE_BAND_CENTRE",ks),e}return C(t,[{key:"chipBox",value:function(e){var n=e.label.length>8;return n?{x:130,y:36,w:140,h:52,hx:120,hy:32,hw:164,hh:60,fontSize:22}:{x:130,y:6,w:140,h:52,hx:120,hy:2,hw:164,hh:60,fontSize:22}}},{key:"canUnbuy",value:function(e){return!!this.bufferedBuys&&!!this.bufferedBuys[io(e.move)]}},{key:"cubeX",value:function(e,n){return ks-(e-1)*xs/2+(n-1)*xs}},{key:"step",get:function(){return this.gameState.step}},{key:"maxPrice",get:function(){var e=this.gameState.map.maxPriceAvailable;return e?e[this.gameState.step-1]:16}},{key:"blocks",get:function(){var e=0;return gs(this.gameState,{player:this.player,buyable:this.buyableResources,resupply:this.resourceResupply,resupplyNorth:this.resourceResupplyNorth,isUsaRecharged:this.isUsaRecharged}).map((function(n){var t=b(b({},n),{},{y:e});return e+=bs+n.rows.length*(ms+vs)-vs+ws,t}))}}]),t}(c.a);z([ye()],Ms.prototype,"gameState",void 0),z([ye()],Ms.prototype,"buyableResources",void 0),z([ye()],Ms.prototype,"resourceResupply",void 0),z([ye()],Ms.prototype,"resourceResupplyNorth",void 0),z([ye()],Ms.prototype,"isUsaRecharged",void 0),z([ye()],Ms.prototype,"player",void 0),z([ye()],Ms.prototype,"bufferedBuys",void 0),Ms=z([ie],Ms);var Ps=Ms,_s=Ps,Ss=(t("3c12"),Ge(_s,Qi,Xi,!1,null,"a8c53bc0",null)),Cs=Ss.exports,Bs=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[e.isKorea?[e.resourceResupplyNorth?[e.resourceResupplyNorth[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"30",y:"-125","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"20",y:"-125","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]),e.resourceResupplyNorth[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"276",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[0])+" ")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"262",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[0])+" ")]),t("Coal",{attrs:{pieceId:-1,targetState:{x:288,y:-133},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"321",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[1])+" ")]),t("Oil",{attrs:{pieceId:-1,targetState:{x:331,y:-134},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"368",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[2])+" ")]),t("Garbage",{attrs:{pieceId:-1,targetState:{x:382,y:-134},canClick:!1,transparent:!1}})]:e._e(),t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"20",y:"-110","font-weight":"700",fill:"black"}},[e._v("North Market")]),t("rect",{attrs:{width:"760",height:"80",x:"20",y:"-100",rx:"3",fill:"#c89c3a"}}),e._l(8,(function(n){return[t("rect",{key:"north_resources"+n,attrs:{width:"70",height:"70",x:25+85*(n-1),y:"-95",rx:"2",fill:"darkgoldenrod"}}),t("circle",{key:"north_resourcesCircle"+n,attrs:{r:"10",cx:92+85*(n-1),cy:"-92",fill:"yellow"}}),t("text",{key:"north_resourcesText"+n,staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:92+85*(n-1),y:"-92",fill:"darkgoldenrod"}},[e._v(" "+e._s(n)+" ")])]})),e._l(e.coalsNorth,(function(n){return[t("Coal",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("coal",n):e.canBuyResource("coal",n.side,n.fromStorage),transparent:n.transparent,restorable:e.canUnbuy("coal",n),scale:.08},on:{click:function(t){return e.clickResource("coal",n)}}})]})),e._l(e.oilsNorth,(function(n){return[t("Oil",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("oil",n):e.canBuyResource("oil",n.side),transparent:n.transparent,restorable:e.canUnbuy("oil",n)},on:{click:function(t){return e.clickResource("oil",n)}}})]})),e._l(e.garbagesNorth,(function(n){return[t("Garbage",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("garbage",n):e.canBuyResource("garbage",n.side),transparent:n.transparent,restorable:e.canUnbuy("garbage",n)},on:{click:function(t){return e.clickResource("garbage",n)}}})]})),t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"20",y:"35","font-weight":"700",fill:"black"}},[e._v("South Market")])]:e._e(),e.resourceResupply[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"30",y:"20","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"20",y:"20","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]),e.resourceResupply[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"276",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[0])+" ")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"262",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[0])+" ")]),t("Coal",{attrs:{pieceId:-1,targetState:{x:288,y:12},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"321",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[1])+" ")]),t("Oil",{attrs:{pieceId:-1,targetState:{x:331,y:11},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"368",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[2])+" ")]),t("Garbage",{attrs:{pieceId:-1,targetState:{x:382,y:11},canClick:!1,transparent:!1}}),e.isAustraliaMarket||e.isBremenMarket?e._e():[t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"414",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[3])+" ")]),t("Uranium",{attrs:{pieceId:-1,targetState:{x:428,y:12},canClick:!1,transparent:!1}})],e.isIndiaResourceMarket||e.isNinePriceMarket||e.isAustraliaMarket?e._e():t("rect",{attrs:{width:"760",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}),e.isNinePriceMarket?t("rect",{attrs:{width:"780",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}):e._e(),e.isAustraliaMarket?t("rect",{attrs:{width:"870",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}):e._e(),e.isIndiaResourceMarket?t("rect",{attrs:{width:"680",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}):e._e(),e._l(e.isNinePriceMarket?9:e.isAustraliaMarket?10:8,(function(n){return[t("rect",{key:"resources"+n,attrs:{width:"70",height:"70",x:25+85*(n-1),y:"45",rx:"2",fill:"darkgoldenrod"}}),t("circle",{key:"resourcesCircle"+n,attrs:{r:"10",cx:92+85*(n-1),cy:"48",fill:"yellow"}}),t("text",{key:"resourcesText"+n,staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:92+85*(n-1),y:"48",fill:"darkgoldenrod"}},[e._v(" "+e._s(n)+" ")]),e.isIndiaResourceMarket||e.isNinePriceMarket||e.isAustraliaMarket||e.isBremenMarket?e._e():t("g",{key:"lines"+n},[t("line",{attrs:{x1:25+85*(n-1),y1:"68",x2:95+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:25+85*(n-1),y1:"92",x2:95+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:48+85*(n-1),y1:"40",x2:48+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:72+85*(n-1),y1:"40",x2:72+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"68",x2:42+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:58+85*(n-1),y1:"68",x2:58+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:74+85*(n-1),y1:"68",x2:74+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:48+85*(n-1),y1:"92",x2:48+85*(n-1),y2:"120",stroke:"goldenrod"}}),t("line",{attrs:{x1:72+85*(n-1),y1:"92",x2:72+85*(n-1),y2:"120",stroke:"goldenrod"}})]),e.isIndiaResourceMarket?t("g",{key:"lines"+n},[t("line",{attrs:{x1:25+85*(n-1),y1:"68",x2:95+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:25+85*(n-1),y1:"92",x2:95+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"40",x2:42+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:59+85*(n-1),y1:"40",x2:59+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:76+85*(n-1),y1:"40",x2:76+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"68",x2:42+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:58+85*(n-1),y1:"68",x2:58+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:74+85*(n-1),y1:"68",x2:74+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"92",x2:42+85*(n-1),y2:"120",stroke:"goldenrod"}}),t("line",{attrs:{x1:59+85*(n-1),y1:"92",x2:59+85*(n-1),y2:"120",stroke:"goldenrod"}}),t("line",{attrs:{x1:76+85*(n-1),y1:"92",x2:76+85*(n-1),y2:"120",stroke:"goldenrod"}})]):e._e()]})),e.isAustraliaMarket&&e.co2TaxActive?[t("rect",{attrs:{width:"160",height:"70",x:"24",y:"45",rx:"2",fill:"black",opacity:"0.55"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace","font-weight":"700"},attrs:{"text-anchor":"middle",x:"104",y:"84",fill:"white"}},[e._v(" CO₂ closed ")])]:e._e(),e.isIndiaResourceMarket?[t("g",{key:"separators"},[t("line",{attrs:{x1:"275",y1:"40",x2:"275",y2:"140",stroke:"red"}}),t("line",{attrs:{x1:"445",y1:"40",x2:"445",y2:"140",stroke:"red"}}),t("text",{attrs:{x:"220",y:"130",stroke:"red"}},[e._v("Step 1")]),t("text",{attrs:{x:"390",y:"130",stroke:"red"}},[e._v("Step 2")])])]:e._e(),e.isIndiaResourceMarket||e.isNinePriceMarket||e.isAustraliaMarket||e.isBremenMarket?e._e():[t("rect",{attrs:{width:"30",height:"30",x:"705",y:"45",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"732",cy:"48",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"732",y:"48",fill:"darkgoldenrod"}},[e._v(" 10 ")]),t("rect",{attrs:{width:"30",height:"30",x:"745",y:"45",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"772",cy:"48",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"772",y:"48",fill:"darkgoldenrod"}},[e._v(" 12 ")]),t("rect",{attrs:{width:"30",height:"30",x:"705",y:"85",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"732",cy:"88",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"732",y:"88",fill:"darkgoldenrod"}},[e._v(" 14 ")]),t("rect",{attrs:{width:"30",height:"30",x:"745",y:"85",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"772",cy:"88",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"772",y:"88",fill:"darkgoldenrod"}},[e._v(" 16 ")])],e.isUsaRecharged?[t("rect",{attrs:{width:"180",height:"70",x:"795",y:"45",rx:"2",fill:"chocolate",stroke:"sandybrown","stroke-width":"4px"}}),t("circle",{attrs:{r:"10",cx:"973",cy:"45",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"973",y:"45",fill:"darkgoldenrod"}},[e._v(" 8 ")]),t("Coal",{attrs:{pieceId:-1,targetState:{x:858,y:57},canClick:!1,transparent:!0,scale:.2}})]:e._e(),void 0!==e.coalStorage?[t("rect",{attrs:{width:"180",height:"70",x:"795",y:"45",rx:"2",fill:"chocolate",stroke:"sandybrown","stroke-width":"4px"}}),t("circle",{attrs:{r:"10",cx:"973",cy:"45",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"973",y:"45",fill:"darkgoldenrod"}},[e._v(" 8 ")]),t("text",{staticStyle:{"font-size":"11px","font-family":"monospace"},attrs:{"text-anchor":"start",x:"800",y:"42",fill:"black"}},[e._v(" Coal storage ")])]:e._e(),e._l(e.coals,(function(n){return[t("Coal",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("coal",n):e.canBuyResource("coal",n.side,n.fromStorage),transparent:n.transparent,restorable:e.canUnbuy("coal",n),scale:e.isIndiaResourceMarket?.06:.08},on:{click:function(t){return e.clickResource("coal",n)}}})]})),e._l(e.oils,(function(n){return[t("Oil",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("oil",n):e.canBuyResource("oil",n.side),transparent:n.transparent,restorable:e.canUnbuy("oil",n)},on:{click:function(t){return e.clickResource("oil",n)}}})]})),e._l(e.garbages,(function(n){return[t("Garbage",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("garbage",n):e.canBuyResource("garbage",n.side),transparent:n.transparent,restorable:e.canUnbuy("garbage",n),scale:e.isIndiaResourceMarket?.8:1},on:{click:function(t){return e.clickResource("garbage",n)}}})]})),e._l(e.uraniums,(function(n){return[t("Uranium",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("uranium",n):e.canBuyResource("uranium",n.side),transparent:n.transparent,restorable:e.canUnbuy("uranium",n)},on:{click:function(t){return e.clickResource("uranium",n)}}})]})),e.isMiddleEast?[t("rect",{attrs:{width:"80",height:"50",x:"20",y:"70",rx:"2",fill:"gray",stroke:"darkgray","stroke-width":"4px"}}),t("Oil",{attrs:{pieceId:-1,targetState:{x:35,y:80},scale:1.5,canClick:e.availableSurplusOil>0&&e.canBuyResource("oil"),transparent:0==e.availableSurplusOil},on:{click:function(n){return e.buyResource("oil")}}}),t("text",{staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"70",y:"93.5"}},[e._v(" x"+e._s(e.availableSurplusOil)+" ")])]:e._e(),e.preferences.disableHelp?e._e():[!e.isKorea&&e.buyableResources.length>0?t("rect",{attrs:{x:"15",y:"35",width:e.isAustraliaMarket?880:770,height:"90",rx:"2",fill:"none",stroke:"blue","stroke-width":"2px"}}):e._e(),e.isKorea&&e.hasBuyableNorth?t("rect",{attrs:{x:"15",y:"-105",width:"770",height:"90",rx:"2",fill:"none",stroke:"blue","stroke-width":"2px"}}):e._e(),e.isKorea&&e.hasBuyableSouth?t("rect",{attrs:{x:"15",y:"35",width:"770",height:"90",rx:"2",fill:"none",stroke:"blue","stroke-width":"2px"}}):e._e()]],2)},Ls=[],Rs=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"resourceResupply",void 0),m(B(e),"resourceResupplyNorth",void 0),m(B(e),"isUsaRecharged",void 0),m(B(e),"isMiddleEast",void 0),m(B(e),"isIndiaResourceMarket",void 0),m(B(e),"availableSurplusOil",void 0),m(B(e),"buyableResources",void 0),m(B(e),"coalStorage",void 0),m(B(e),"bufferedBuys",void 0),m(B(e),"preferences",void 0),m(B(e),"coals",[]),m(B(e),"oils",[]),m(B(e),"garbages",[]),m(B(e),"uraniums",[]),m(B(e),"isKorea",!1),m(B(e),"coalComesFromSupply",!1),m(B(e),"isNinePriceMarket",!1),m(B(e),"isAustraliaMarket",!1),m(B(e),"isBremenMarket",!1),m(B(e),"co2TaxActive",!1),m(B(e),"coalsNorth",[]),m(B(e),"oilsNorth",[]),m(B(e),"garbagesNorth",[]),e}return C(t,[{key:"buildMainRowPieces",value:function(e,n,t,r){var o,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},i=null!==(o=a.maxPrice)&&void 0!==o?o:8,s=[];e.forEach((function(e,n){if(!(e>i)){var t=s[s.length-1];t&&t.price===e?t.slots++:s.push({price:e,slots:1,firstIdx:n})}}));var c=[],u=64;return s.forEach((function(o){for(var i=60+85*(o.price-1),s=0;s<o.slots;s++){var l=o.firstIdx+s,d=1===o.slots?i:i-u/2+u*(s+.5)/o.slots;c.push({id:"".concat(t,"_").concat(l),x:d,y:r,transparent:l<e.length-n,ghostRank:e.length-n-l,side:a.side})}})),c}},{key:"createPieces",value:function(e){var n,t,r,o,a=this;if(e){this.coalComesFromSupply=!!this.isUsaRecharged&&0===e.coalMarket&&e.coalSupply>0,this.isAustraliaMarket="Australia"===(null===(n=e.map)||void 0===n?void 0:n.name),this.co2TaxActive=this.isAustraliaMarket&&e.step>=3,this.isBremenMarket="Bremen"===(null===(t=e.map)||void 0===t?void 0:t.name);var i,s,c,u,l,d=void 0!==e.coalMarketNorth;if(this.isKorea=d,d){this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48,{side:"south"}),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70,{side:"south"}),this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",94,{side:"south"}),this.uraniums=[];var f=e.uraniumPrices;return f.forEach((function(n,t){var r,o;if(n<=8)r=60+85*(n-1),o=85;else{var i=10===n||14===n?710:750,s=10===n||12===n?52:91;r=i,o=s}a.uraniums.push({id:"uranium_".concat(t),x:r,y:o,transparent:t<f.length-e.uraniumMarket,ghostRank:f.length-e.uraniumMarket-t,side:"south"})})),this.coalsNorth=this.buildMainRowPieces(e.coalPricesNorth,e.coalMarketNorth,"coal_north",-92,{side:"north"}),this.oilsNorth=this.buildMainRowPieces(e.oilPricesNorth,e.oilMarketNorth,"oil_north",-70,{side:"north"}),void(this.garbagesNorth=this.buildMainRowPieces(e.garbagePricesNorth,e.garbageMarketNorth,"garbage_north",-46,{side:"north"}))}if("Europe"===(null===(r=e.map)||void 0===r?void 0:r.name)||"North America"===(null===(o=e.map)||void 0===o?void 0:o.name))return this.isNinePriceMarket=!0,this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48,{maxPrice:9}),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70,{maxPrice:9}),this.uraniums=this.buildMainRowPieces(e.uraniumPrices,e.uraniumMarket,"uranium",92,{maxPrice:9}),void(this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",106,{maxPrice:9}));if(this.isAustraliaMarket)return this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48,{maxPrice:10}),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70,{maxPrice:10}),this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",94,{maxPrice:10}),this.uraniums=[],this.coalsNorth=[],this.oilsNorth=[],void(this.garbagesNorth=[]);if(this.isBremenMarket)return this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70),this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",94),this.uraniums=[],this.coalsNorth=[],this.oilsNorth=[],void(this.garbagesNorth=[]);if(this.isNinePriceMarket=!1,this.coalsNorth=[],this.oilsNorth=[],this.garbagesNorth=[],this.coals=[],"India"==(null===(i=e.map)||void 0===i?void 0:i.name)?Array(24).fill(0).forEach((function(n,t){var r=t;t>=0&&(r+=2),t>=2&&(r+=2),t>=4&&r++,t>=7&&r++,t>=10&&r++,t>=13&&r++,a.coals.push({id:"coal_"+t,x:672-17*r-17*Math.floor(r/4),y:48,transparent:t>=e.coalMarket,ghostRank:t-e.coalMarket+1})})):Array(24).fill(0).forEach((function(n,t){a.coals.push({id:"coal_"+t,x:668-23.5*t-14.5*Math.floor(t/3),y:48,transparent:t>=e.coalMarket,ghostRank:t-e.coalMarket+1})})),"recharged"==e.options.variant&&"USA"==(null===(s=e.map)||void 0===s?void 0:s.name)&&Object(Xr["range"])(e.coalSupply).forEach((function(e){a.coals.push({id:"coal_supply_"+e,x:800+e%8*20+(e>=8&&e<16?10:0),y:50+20*Math.floor(e/8),transparent:!1})})),void 0!==e.coalStorage&&Object(Xr["range"])(e.coalStorage).forEach((function(e){a.coals.push({id:"coal_storage_"+e,x:800+e%8*20+(e>=8&&e<16?10:0),y:50+20*Math.floor(e/8),transparent:!1,fromStorage:!0})})),this.oils=[],"Middle East"==(null===(c=e.map)||void 0===c?void 0:c.name)){var h=e.oilPrices.filter((function(e){return e>1})).length,p=e.oilPrices.filter((function(e){return 1==e})).length,g=Math.min(h,e.oilMarket);Array(h).fill(0).forEach((function(e,n){var t=n+(p-3);a.oils.push({id:"normal_oil_"+t,x:651-16*t-37*Math.floor(t/3),y:70,transparent:n>=g,ghostRank:n-g+1})}))}else Array(24).fill(0).forEach((function(n,t){a.oils.push({id:"oil_"+t,x:651-16*t-37*Math.floor(t/3),y:70,transparent:t>=e.oilMarket,ghostRank:t-e.oilMarket+1})}));this.garbages=[],"India"==(null===(u=e.map)||void 0===u?void 0:u.name)?Array(24).fill(0).forEach((function(n,t){var r=t+8;a.garbages.push({id:"garbage_"+t,x:672-17*r-17*Math.floor(r/4),y:94,transparent:t>=e.garbageMarket,ghostRank:t-e.garbageMarket+1})})):Array(24).fill(0).forEach((function(n,t){a.garbages.push({id:"garbage_"+t,x:668-23.5*t-14.5*Math.floor(t/3),y:94,transparent:t>=e.garbageMarket,ghostRank:t-e.garbageMarket+1})})),this.uraniums=[],"India"==(null===(l=e.map)||void 0===l?void 0:l.name)?Array(8).fill(0).forEach((function(n,t){a.uraniums.push({id:"uranium_"+t,x:670-85*t,y:72,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1})})):Array(12).fill(0).forEach((function(n,t){0==t?a.uraniums.push({id:"uranium_"+t,x:750,y:91,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):1==t?a.uraniums.push({id:"uranium_"+t,x:710,y:91,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):2==t?a.uraniums.push({id:"uranium_"+t,x:750,y:52,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):3==t?a.uraniums.push({id:"uranium_"+t,x:710,y:52,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):a.uraniums.push({id:"uranium_"+t,x:1010-85*t,y:72,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1})}))}}},{key:"canBuyResource",value:function(e,n,t){return!!this.buyableResources.find((function(r){return r.resource==e&&r.side==n&&!!r.fromStorage==!!t}))}},{key:"hasBuyableNorth",get:function(){var e;return!(null===(e=this.buyableResources)||void 0===e||!e.some((function(e){return"north"===e.side})))}},{key:"hasBuyableSouth",get:function(){var e;return!(null===(e=this.buyableResources)||void 0===e||!e.some((function(e){return"south"===e.side})))}},{key:"buyResource",value:function(e,n,t){this.$emit("buyResource",{resource:e,side:n,fromStorage:t})}},{key:"canUnbuy",value:function(e,n){if(!n.transparent||!n.ghostRank||!this.bufferedBuys)return!1;if(this.coalComesFromSupply&&"coal"===e&&!n.fromStorage)return!1;var t=this.bufferedBuys[io({resource:e,side:n.side,fromStorage:n.fromStorage})];return!!t&&n.ghostRank<=t}},{key:"clickResource",value:function(e,n){n.transparent?this.$emit("unbuyResource",{resource:e,side:n.side,fromStorage:n.fromStorage}):this.buyResource(e,n.side,n.fromStorage)}}]),t}(c.a);z([ye()],Rs.prototype,"resourceResupply",void 0),z([ye()],Rs.prototype,"resourceResupplyNorth",void 0),z([ye()],Rs.prototype,"isUsaRecharged",void 0),z([ye()],Rs.prototype,"isMiddleEast",void 0),z([ye()],Rs.prototype,"isIndiaResourceMarket",void 0),z([ye()],Rs.prototype,"availableSurplusOil",void 0),z([ye()],Rs.prototype,"buyableResources",void 0),z([ye()],Rs.prototype,"coalStorage",void 0),z([ye()],Rs.prototype,"bufferedBuys",void 0),z([ce()],Rs.prototype,"preferences",void 0),Rs=z([ie({components:{Coal:mo,Oil:Ho,Garbage:Po,Uranium:Zo}})],Rs);var As=Rs,Os=As,js=Ge(Os,Bs,Ls,!1,null,null,null),Ns=js.exports;function Ds(e,n){return e?n?e.phase==Pe.Auction?P(e.playerOrder):P(e.playerOrder).reverse():e.players.map((function(e,n){return n})):[]}var Ts=[["cityCount","playerOrder"],["map"],["buttons","roundInfo","powerPlantDeck"],["powerPlantMarket"],["resourceView"],["resources"],["uraniumMines"],["freeJump"],["playerBoards"]],zs=1465,Gs=16,Es=28,Is=4,Us=.72,Ks={roundInfo:1.9,playerOrder:2.5},Ys={powerPlantMarket:.88,resources:.94,resourceView:.94},Hs={recharged:'Shuffle the 13 low power plants — the "plug plants" (3-15), named for the plug on the back of the printed cards. Draw 8 and sort them ascending: the 4 cheapest form the current market, the next 4 the future market. One of the remaining low plants goes face down on top of the draw deck. Player-count removal: 2 players remove 1 low + 5 higher plants; 3 players remove 2 low + 6 higher; 4 players remove 1 low + 3 higher; 5-6 players remove none. The leftover low plants are shuffled into the deck, with the Step 3 card on the bottom.',original:"The market is fixed: power plants 3, 4, 5, 6 are the current market and 7, 8, 9, 10 the future market. Power plant 13 and the Step 3 card are set aside and the rest of the deck is shuffled, then 8 random plants are removed for 2-3 players, 4 for 4 players, and none for 5-6 players. Power plant 13 goes on top of the deck and the Step 3 card on the bottom."},Ws=function(e){return"slot".concat(e[0].toUpperCase()).concat(e.slice(1))},Vs=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Number(e.toFixed(n))},Fs=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"state",void 0),m(B(e),"player",void 0),m(B(e),"emitter",void 0),m(B(e),"avatars",void 0),m(B(e),"preferences",void 0),m(B(e),"ui",{waitingAnimations:0}),m(B(e),"paused",!1),m(B(e),"gameIsOver",!1),m(B(e),"communicator",new i["EventEmitter"]),m(B(e),"G",null),m(B(e),"_futureState",void 0),m(B(e),"defaultPlayerColors",["limegreen","mediumorchid","red","dodgerblue","yellow","brown"]),m(B(e),"animationQueue",[]),m(B(e),"logVisible",!1),m(B(e),"endScoreVisible",!1),m(B(e),"spendingVisible",!1),m(B(e),"rulesVisible",!1),m(B(e),"totalBid",0),m(B(e),"confirmMessage",""),m(B(e),"confirmVisible",!1),m(B(e),"discardedPowerPlant",null),m(B(e),"discardVisible",!1),m(B(e),"resourcesToDiscard",[]),m(B(e),"freeJumpCity",null),m(B(e),"freeJumpNormalPrice",null),m(B(e),"freeJumpSlotPrice",0),m(B(e),"freeJumpVisible",!1),m(B(e),"soleBuyerPlant",null),m(B(e),"disablePass",!1),m(B(e),"powerPlantMarket",void 0),m(B(e),"playerOrder",void 0),m(B(e),"cityCount",void 0),m(B(e),"map",void 0),m(B(e),"resources",void 0),m(B(e),"turnMoves",[]),m(B(e),"lastReplayFailure",void 0),m(B(e),"committedState",null),m(B(e),"stacked",!1),m(B(e),"portraitViewport",!1),m(B(e),"lastViewport",""),m(B(e),"viewportObserver",null),m(B(e),"stackHeight",zs),m(B(e),"slotTransforms",{}),m(B(e),"onViewportResize",(function(){var n="".concat(window.innerWidth,"x").concat(window.innerHeight);n!==e.lastViewport&&(e.lastViewport=n,e.scheduleRelayout())})),e}return C(t,[{key:"playerColors",get:function(){var e=P(this.defaultPlayerColors);if(this.G){var n,t=w(this.G.players);try{for(t.s();!(n=t.n()).done;){var r=n.value;r.color&&(e[r.id]=r.color)}}catch(o){t.e(o)}finally{t.f()}}return e}},{key:"onStateChanged",value:function(e){if(e&&!1!==e.newTurn){var n=this.committedState?this.committedState.log:null;if(this.committedState=JSON.parse(JSON.stringify(e)),this.turnMoves.length>0&&(this.turnMoves=ro(this.committedState,n,this.turnMoves,this.player)),this.turnMoves.length>0){var t=this.replayTurnBuffer();if(this.turnMoves.length>0&&(this.emitter.emit("move",P(this.turnMoves)),!1===t.newTurn))return this._futureState=e,void this.replaceState(t,!1)}}else if(e&&!to(e,this.committedState,this.turnMoves,this.player))return;this.replaceState(e)}},{key:"replayTurnBuffer",value:function(){var e=oo(this.committedState,this.turnMoves,this.player),n=e.state,t=e.applied,r=e.failure;return this.turnMoves=t,this.lastReplayFailure=r,n}},{key:"replaceState",value:function(e){var n,t=this,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];r&&(this._futureState=e),r&&e&&vr(e)&&(this.gameIsOver=!0),null!=this.player&&this.G&&this.G.players&&this.G.players[this.player].resourcesUsed.some((function(e){return null==e}))&&(n={coalLeft:this.G.players[this.player].coalLeft,oilLeft:this.G.players[this.player].oilLeft,resourcesUsed:this.G.players[this.player].resourcesUsed}),this.G=JSON.parse(JSON.stringify(e)),n&&Object.assign(this.G.players[this.player],n),this.G&&this.$nextTick((function(){var e;t.powerPlantMarket.createPieces(t.G),t.playerOrder.createPieces(t.G),t.cityCount.createPieces(t.G),t.map.createPieces(t.G),null===(e=t.resources)||void 0===e||e.createPieces(t.G),t.scheduleRelayout()}))}},{key:"updateUI",value:function(){var e=this;if(!(this.ui.waitingAnimations>0))return this.animationQueue.length>0?(this.animationQueue.shift()(),void setTimeout((function(){return e.updateUI()}))):void this.scheduleRelayout()}},{key:"checkPass",value:function(){if(this.G&&null!=this.player&&!this.G.chosenPowerPlant){var e=this.G.players[this.player];if(e&&e.availableMoves&&Object.keys(e.availableMoves).length>1){if(this.G.phase==Pe.Bureaucracy&&e.powerPlantsNotUsed.length>0&&Object.keys(e.availableMoves).includes("UsePowerPlant")&&!this.canPowerAllCitiesWithUsedPlants(e))return this.confirmMessage="Are you sure you want to pass? You have unused power plants!",void(this.confirmVisible=!0);if(this.G.phase==Pe.Resources&&!this.canPowerAllPlants(e)&&("India"!==this.G.map.name||!this.playerBoughtResourceThisTurn()))return this.confirmMessage="Are you sure you want to skip buying resources without enough to power all your plants?",void(this.confirmVisible=!0);if(this.G.phase!=Pe.Bureaucracy||e.powerPlantsNotUsed.length==e.powerPlants.length){var n=this.G.log[this.G.log.length-1];if(n.player!=this.player||n.move.name==Ke.Pass){switch(this.G.phase){case Pe.Auction:this.confirmMessage="Are you sure you want to skip auctions?";break;case Pe.Resources:this.confirmMessage="Are you sure you want to skip buying resources?";break;case Pe.Building:this.confirmMessage="Are you sure you want to skip building?";break;case Pe.Bureaucracy:this.confirmMessage="Are you sure you want to pass? You didn't use any power plant!";break;default:this.confirmMessage="Are you sure you want to pass?"}return void(this.confirmVisible=!0)}}}}this.pass()}},{key:"confirmPass",value:function(){this.confirmVisible=!1,this.pass()}},{key:"pass",value:function(){this.sendMove({name:Ke.Pass,data:!0})}},{key:"undo",value:function(){if(!this.paused&&0!==this.turnMoves.length&&this.committedState)if(this.preferences.undoWholeTurn?this.turnMoves=[]:this.turnMoves.pop(),this.turnMoves.length>0){var e=this.replayTurnBuffer();this.emitter.emit("move",P(this.turnMoves)),this.replaceState(e,!1)}else this.replaceState(this.committedState,!1)}},{key:"choosePowerPlant",value:function(e){var n=this.G.players[this.player],t=n.availableMoves;t.ChoosePowerPlant&&t.ChoosePowerPlant.includes(e.number)&&(this.isSoleBuyer()?this.soleBuyerPlant=e:this.sendMove({name:Ke.ChoosePowerPlant,data:e.number}))}},{key:"isSoleBuyer",value:function(){if(!this.canMove()||this.G.phase!==Pe.Auction||this.G.chosenPowerPlant||!this.canChoose())return!1;var e=this.G.players.filter((function(e){return!e.skipAuction&&!e.isDropped}));return 1===e.length&&e[0].id===this.player}},{key:"soleBuyerPrice",value:function(){var e;if(!this.soleBuyerPlant)return 0;var n="recharged"===this.G.options.variant&&this.G.plantDiscountActive&&(null===(e=this.G.actualMarket[0])||void 0===e?void 0:e.number)===this.soleBuyerPlant.number;return n?1:this.soleBuyerPlant.number}},{key:"confirmSoleBuyerPurchase",value:function(){this.soleBuyerPlant&&this.sendMove({name:Ke.ChoosePowerPlant,data:this.soleBuyerPlant.number}),this.soleBuyerPlant=null}},{key:"buyResource",value:function(e){var n={resource:e.resource};e.side&&(n.side=e.side),e.fromStorage&&(n.fromStorage=e.fromStorage),this.sendMove({name:Ke.BuyResource,data:n})}},{key:"unbuyResource",value:function(e){if(!this.paused&&this.committedState){var n=uo(this.turnMoves,e);if(!(n<0))if(this.turnMoves.splice(n,1),this.turnMoves.length>0){var t=this.replayTurnBuffer();this.emitter.emit("move",P(this.turnMoves)),this.replaceState(t,!1)}else this.replaceState(this.committedState,!1)}}},{key:"bufferedBuys",get:function(){return co(this.turnMoves)}},{key:"bid",value:function(e){this.sendMove({name:Ke.Bid,data:e})}},{key:"build",value:function(e){var n=this.G.players[this.player],t=n.availableMoves,r=t[Ke.Build],o=r.find((function(n){return n.name===e.name&&n.freeJump})),a=r.find((function(n){return n.name===e.name&&!n.freeJump}));o&&a?(this.freeJumpCity=e,this.freeJumpSlotPrice=o.price,this.freeJumpNormalPrice=a.price,this.freeJumpVisible=!0):o&&!a?(this.freeJumpCity=e,this.freeJumpSlotPrice=o.price,this.freeJumpNormalPrice=null,this.freeJumpVisible=!0):this.sendMove({name:Ke.Build,data:{name:e.name,price:a.price}})}},{key:"confirmFreeJump",value:function(e){var n=this.freeJumpCity,t=this.G.players[this.player],r=t.availableMoves[Ke.Build];if(this.freeJumpVisible=!1,this.freeJumpCity=null,e){var o=r.find((function(e){return e.name===n.name&&e.freeJump}));this.sendMove({name:Ke.Build,data:{name:n.name,price:o.price,freeJump:!0}})}else{var a=r.find((function(e){return e.name===n.name&&!e.freeJump}));this.sendMove({name:Ke.Build,data:{name:n.name,price:a.price}})}}},{key:"confirmDiscard",value:function(){var e=this.resourcesToDiscard.map((function(e){return parseInt(e.value)}));e.reduce((function(e,n){return e+n}),0)>0?this.sendMove({name:Ke.DiscardPowerPlant,data:this.discardedPowerPlant.number,extra:e}):this.sendMove({name:Ke.DiscardPowerPlant,data:this.discardedPowerPlant.number}),this.discardedPowerPlant=null,this.discardVisible=!1}},{key:"discardInvalid",value:function(){var e,n=this.G.players[this.player];switch(this.discardedPowerPlant.type){case Me.Coal:return e=n.hybridCapacity-2*this.discardedPowerPlant.cost>0?Math.max(0,n.oilLeft-n.oilCapacity):0,n.coalCapacity+n.hybridCapacity-2*this.discardedPowerPlant.cost+parseInt(this.resourcesToDiscard[0].value)<n.coalLeft+e;case Me.Oil:return e=n.hybridCapacity-2*this.discardedPowerPlant.cost>0?Math.max(0,n.coalLeft-n.coalCapacity):0,n.oilCapacity+n.hybridCapacity-2*this.discardedPowerPlant.cost+parseInt(this.resourcesToDiscard[0].value)<n.oilLeft+e;case Me.Garbage:return n.garbageCapacity-2*this.discardedPowerPlant.cost-n.garbageLeft+parseInt(this.resourcesToDiscard[0].value)<0;case Me.Uranium:return n.uraniumCapacity-2*this.discardedPowerPlant.cost-n.uraniumLeft+parseInt(this.resourcesToDiscard[0].value)<0;case Me.Hybrid:var t=parseInt(this.resourcesToDiscard[0].value),r=parseInt(this.resourcesToDiscard[1].value),o=n.hybridCapacity-2*this.discardedPowerPlant.cost,a=Math.max(0,n.coalLeft-n.coalCapacity-t),i=Math.max(0,n.oilLeft-n.oilCapacity-r);return o<a+i}return!0}},{key:"powerPlantClick",value:function(e){var n,t,r=this;if((null===(n=this.G)||void 0===n?void 0:n.phase)==Pe.Auction)if(e.type==Me.Wind||e.type==Me.Nuclear)this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});else{var o=this.G.players[this.player];switch(e.type){case Me.Coal:if(o.powerPlants.filter((function(n){return n.type==e.type})).length+o.powerPlants.filter((function(e){return e.type==Me.Hybrid})).length==1)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});if(0==o.coalLeft)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Coal",value:"0",max:o.coalLeft}];break;case Me.Oil:if(o.powerPlants.filter((function(n){return n.type==e.type})).length+o.powerPlants.filter((function(e){return e.type==Me.Hybrid})).length==1)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});if(0==o.oilLeft)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Oil",value:"0",max:o.oilLeft}];break;case Me.Garbage:if(1==o.powerPlants.filter((function(n){return n.type==e.type})).length)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});if(0==o.garbageLeft)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Garbage",value:"0",max:o.garbageLeft}];break;case Me.Uranium:if(1==o.powerPlants.filter((function(n){return n.type==e.type})).length)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});if(0==o.uraniumLeft)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Uranium",value:"0",max:o.uraniumLeft}];break;case Me.Hybrid:if(o.powerPlants.filter((function(n){return n.type==e.type})).length+o.powerPlants.filter((function(e){return e.type==Me.Coal})).length+o.powerPlants.filter((function(e){return e.type==Me.Oil})).length==1)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});if(o.coalLeft+o.oilLeft==0)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Coal",value:"0",max:o.coalLeft},{name:"Oil",value:"0",max:o.oilLeft}];break}this.discardedPowerPlant=e,this.discardVisible=!0}else if((null===(t=this.G)||void 0===t?void 0:t.phase)==Pe.Bureaucracy){var a=[];switch(e.type){case Me.Coal:a=Array(e.cost).fill(ke.Coal);break;case Me.Oil:a=Array(e.cost).fill(ke.Oil);break;case Me.Garbage:a=Array(e.cost).fill(ke.Garbage);break;case Me.Uranium:a=Array(e.cost).fill(ke.Uranium);break;case Me.Hybrid:var i=this.G.players[this.player];a=i.resourcesUsed,a.sort(),i.resourcesUsed=[],i.powerPlantsNotUsed=i.powerPlantsNotUsed.filter((function(n){return n!=e.number}));break}this.sendMove({name:Ke.UsePowerPlant,data:{powerPlant:e.number,resourcesSpent:a,citiesPowered:e.citiesPowered}}),this.disablePass=!0,setTimeout((function(){return r.disablePass=!1}),1e3)}}},{key:"discardResource",value:function(e){this.sendMove({name:Ke.DiscardResources,data:e})}},{key:"sendMove",value:function(e){if(!this.paused){var n=void 0!=this.player&&this.G&&this.G.players[this.player]?this.G.players[this.player].availableMoves:void 0,t=!!n&&!!n[e.name],r=b(b({},e),{},{time:Date.now()});this.turnMoves.push(r);var o=null;if(this.committedState&&void 0!=this.player){var a=this.turnMoves.length;if(o=this.replayTurnBuffer(),this.turnMoves.length<a){var i=this.turnMoves.length===a-1;if(ao(this.lastReplayFailure)||!t||!i)return;this.turnMoves.push(r),o=null}}this.emitter.emit("move",P(this.turnMoves)),o&&!1===o.newTurn&&this.replaceState(o,!1,!1)}}},{key:"gameEnded",value:function(e){return vr(e)}},{key:"moneyIsPublic",get:function(){return!!this.G&&(!!this.G.options.showMoney||this.gameIsOver||vr(this.G))}},{key:"canMove",value:function(){return void 0!=this.player&&this.G&&this.G.currentPlayers.includes(this.player)&&this.G.players[this.player]&&this.G.players[this.player].availableMoves}},{key:"canPass",value:function(){if(!this.canMove())return!1;if(this.disablePass)return!1;var e=this.G.players[this.player],n=e.availableMoves;return!!n[Ke.Pass]}},{key:"canUndo",value:function(){return!!this.canMove()&&this.turnMoves.length>0}},{key:"canBid",value:function(){if(!this.canMove())return!1;var e=this.G.players[this.player],n=e.availableMoves;return!!n[Ke.Bid]}},{key:"canChoose",value:function(){if(!this.canMove())return!1;var e=this.G.players[this.player],n=e.availableMoves;return!!n[Ke.ChoosePowerPlant]}},{key:"buyableResources",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Ke.BuyResource]||[]}},{key:"canBuyResource",value:function(e){if(!this.canMove())return!1;var n=this.G.players[this.player],t=n.availableMoves;return e?!!t[Ke.BuyResource]&&t[Ke.BuyResource].find((function(n){return n.resource==e})):!!t[Ke.BuyResource]}},{key:"getChooseablePowerPlants",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Ke.ChoosePowerPlant]}},{key:"getBuildableCities",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Ke.Build]&&n[Ke.Build].map((function(e){return e.name}))||[]}},{key:"getBuildableCityPrices",value:function(){if(!this.canMove())return{};var e=this.G.players[this.player].availableMoves[Ke.Build];if(!e)return{};var n,t={},r=w(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;t[o.name]||(t[o.name]={}),o.freeJump?t[o.name].jumpPrice=o.price:t[o.name].price=o.price}}catch(a){r.e(a)}finally{r.f()}return t}},{key:"getPickableRegions",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Ke.ChooseRegion]||[]}},{key:"pickRegion",value:function(e){this.sendMove({name:Ke.ChooseRegion,data:e})}},{key:"canChooseColor",value:function(){if(!this.canMove())return!1;var e=this.G.players[this.player];return!!e.availableMoves[Ke.ChooseColor]}},{key:"getChooseableColors",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player];return e.availableMoves[Ke.ChooseColor]||[]}},{key:"chooseColor",value:function(e){this.sendMove({name:Ke.ChooseColor,data:e})}},{key:"playerHasUsedFreeJump",value:function(e){var n,t,r=null===(n=this.G)||void 0===n?void 0:n.players[e];if(!r)return!1;if(r.usedFreeJump)return!0;if(null!==(t=this.G)&&void 0!==t&&t.log){var o,a=w(this.G.log);try{for(a.s();!(o=a.n()).done;){var i=o.value;if("move"===i.type&&i.player===e){var s,c=i.move;if((null===c||void 0===c?void 0:c.name)===Ke.Build&&!0===(null===c||void 0===c||null===(s=c.data)||void 0===s?void 0:s.freeJump))return!0}}}catch(u){a.e(u)}finally{a.f()}}return!1}},{key:"canBuild",value:function(e){if(!this.canMove())return!1;var n=this.G.players[this.player],t=n.availableMoves;return!!t[Ke.Build]&&t[Ke.Build].find((function(n){return n.name==e.name}))}},{key:"canUsePowerPlant",value:function(e){var n,t;if(!this.canMove())return!1;var r=this.G.players[this.player],o=r.availableMoves;return!(r.resourcesUsed.length>0)&&((null===(n=this.G)||void 0===n?void 0:n.phase)==Pe.Bureaucracy?!!o[Ke.UsePowerPlant]&&o[Ke.UsePowerPlant].find((function(n){return n.powerPlant==e.number})):(null===(t=this.G)||void 0===t?void 0:t.phase)==Pe.Auction?!!o[Ke.DiscardPowerPlant]&&o[Ke.DiscardPowerPlant].find((function(n){return n==e.number})):void 0)}},{key:"canPowerAllCitiesWithUsedPlants",value:function(e){var n=e.powerPlants.filter((function(n){return!e.powerPlantsNotUsed.includes(n.number)}));return n.reduce((function(e,n){return e+n.citiesPowered}),0)>=e.cities.length}},{key:"canPowerAllPlants",value:function(e){var n,t=0,r=0,o=0,a=0,i=0,s=w(e.powerPlants);try{for(s.s();!(n=s.n()).done;){var c=n.value;switch(c.type){case Me.Coal:t+=c.cost;break;case Me.Oil:r+=c.cost;break;case Me.Garbage:o+=c.cost;break;case Me.Uranium:a+=c.cost;break;case Me.Hybrid:i+=c.cost;break}}}catch(d){s.e(d)}finally{s.f()}if(t>e.coalLeft||r>e.oilLeft||o>e.garbageLeft||a>e.uraniumLeft)return!1;var u=e.coalLeft-t,l=e.oilLeft-r;return!(i>u+l)}},{key:"playerBoughtResourceThisTurn",value:function(){for(var e=this.G.log,n=e.length-1;n>=0;n--){var t=e[n];if("move"!==t.type||t.player!==this.player)return!1;if(t.move.name===Ke.BuyResource)return!0}return!1}},{key:"toggleSound",value:function(){var e=!this.preferences.sound;this.emitter.emit("update:preference",{name:"sound",value:e}),this.preferences.sound=e}},{key:"toggleHelp",value:function(){var e=!this.preferences.disableHelp;this.emitter.emit("update:preference",{name:"disableHelp",value:e}),this.preferences.disableHelp=e}},{key:"showLog",value:function(){this.logVisible=!0}},{key:"getStatusMessage",value:function(){var e;if(this.G&&this.G.phase==Pe.ColorSelection&&void 0!==this.player&&this.G.currentPlayers.includes(this.player))return"Choose your color.";if(this.G&&this.G.phase==Pe.RegionSelection&&void 0!==this.player&&this.G.currentPlayers.includes(this.player)){var n=this.G.regionDraft;return n?"Choose a region to play in (".concat(n.picked.length+1," of ").concat(n.regionsNeeded,")."):"Choose a region to play in."}if(!this.G||1==this.G.log.length)return"Game Start!";if(this.G.currentPlayers==[])return"Game ended!";if(void 0!==this.player&&null!==(e=this.G)&&void 0!==e&&e.currentPlayers.includes(this.player)){var t=this.G.players[this.player];return t.availableMoves[Ke.ChoosePowerPlant]?t.availableMoves[Ke.Pass]?"Choose a Power Plant to start an auction, or pass.":"Choose a Power Plant to start an auction.":t.availableMoves[Ke.Bid]?"It's your turn to bid!":t.availableMoves[Ke.BuyResource]?"Buy resources on the market, or pass.":t.availableMoves[Ke.Build]?"Build a new city, or pass.":t.availableMoves[Ke.UsePowerPlant]?0!=t.resourcesUsed.length?"Choose which resources to spend.":"Choose which Power Plant to use.":t.availableMoves[Ke.DiscardPowerPlant]?"Choose which Power Plant to discard.":t.availableMoves[Ke.DiscardResources]?"Choose which resources to discard.":"It's your turn!"}var r=this.G.log[this.G.log.length-1];return"move"==r.type?r.simple:"event"==r.type?r.event:void 0}},{key:"isCurrentPlayer",value:function(e){return this.G&&this.G.currentPlayers.includes(e)}},{key:"logReversed",get:function(){var e=[];return this.G&&this.G.log&&(this.G.log.forEach((function(n){"event"==n.type?e.push(n.pretty||n.event):"move"==n.type&&e.push(n.pretty)})),e.reverse()),e}},{key:"logReversedSimple",get:function(){var e=[];return this.G&&this.G.log&&(this.G.log.forEach((function(n){"event"==n.type?e.push(n.event):"move"==n.type&&e.push(n.simple)})),e.reverse()),e}},{key:"onLogChanged",value:function(){this.emitter.emit("replaceLog",P(this.logReversedSimple).reverse())}},{key:"sortedPlayers",get:function(){return Nr(this.G)}},{key:"spendingRows",get:function(){return[{label:"Income",value:function(e){return e.totalIncome}},{label:"Spending: Cities",value:function(e){return e.totalSpentCities}},{label:"Spending: Connections",value:function(e){return e.totalSpentConnections}},{label:"Cost per City",value:function(e){return e.cities.length?((e.totalSpentCities+e.totalSpentConnections)/e.cities.length).toFixed(1):"-"}},{label:"Spending: Plants",value:function(e){return e.totalSpentPlants}},{label:"Spending: Resources",value:function(e){return e.totalSpentResources}},{label:"Time Used",value:function(e){return ui(Ce(e))}}]}},{key:"standardDeckBuild",get:function(){var e,n,t;return null!==(e=Hs[null!==(n=null===(t=this.G)||void 0===t?void 0:t.options.variant)&&void 0!==n?n:"recharged"])&&void 0!==e?e:Hs.recharged}},{key:"mapDeckBuild",get:function(){var e,n,t,r=null===(e=this.G)||void 0===e?void 0:e.map.deckBuild;return r?"string"===typeof r?r:null!==(n=r[null!==(t=this.G.options.variant)&&void 0!==t?t:"recharged"])&&void 0!==n?n:"":""}},{key:"mapTransform",get:function(){var e;if(null===(e=this.G)||void 0===e||!e.map)return"";var n=y(this.G.map.mapPosition,2),t=n[0],r=n[1],o=this.G.map.mapRotation;if(!o)return"translate(".concat(t,", ").concat(r,")");var a=this.G.map.cities,i=a.map((function(e){return e.x})),s=a.map((function(e){return e.y})),c=(Math.min.apply(Math,P(i))+Math.max.apply(Math,P(i)))/2,u=(Math.min.apply(Math,P(s))+Math.max.apply(Math,P(s)))/2;return"translate(".concat(t,", ").concat(r,") rotate(").concat(o,", ").concat(c,", ").concat(u,")")}},{key:"sceneViewBox",get:function(){var e,n;return this.stacked?"0 0 ".concat(zs," ").concat(this.stackHeight):null!==(e=this.G)&&void 0!==e&&null!==(n=e.map)&&void 0!==n&&n.viewBox?"0 0 ".concat(this.G.map.viewBox[0]," ").concat(this.G.map.viewBox[1]):"0 0 1500 800"}},{key:"slotT",value:function(e){return this.slotTransforms[e]}},{key:"iconButton",value:function(e){return this.portraitViewport?"translate(110, ".concat(13+30*e,") scale(").concat(Vs(26/30,4),")"):"translate(110, ".concat(13+41*e,")")}},{key:"isPortraitViewport",value:function(){return window.innerWidth<900&&window.innerHeight>1.1*window.innerWidth}},{key:"viewportIsMeasurable",value:function(){return window.innerWidth>0&&window.innerHeight>0}},{key:"shouldStack",value:function(){return this.isPortraitViewport()&&!1!==this.preferences.stackOnPortrait}},{key:"toggleStackLayout",value:function(){var e=!this.stacked;this.emitter.emit("update:preference",{name:"stackOnPortrait",value:e}),this.preferences.stackOnPortrait=e,this.relayout()}},{key:"showResourceTrack",get:function(){return!0===this.preferences.portraitResourceTrack}},{key:"setResourceView",value:function(e){e!==this.showResourceTrack&&(this.emitter.emit("update:preference",{name:"portraitResourceTrack",value:e}),this.preferences.portraitResourceTrack=e)}},{key:"onResourceViewChanged",value:function(){var e=this;this.$nextTick((function(){var n;e.G&&(null===(n=e.resources)||void 0===n||n.createPieces(e.G));e.scheduleRelayout()}))}},{key:"relayout",value:function(){if(this.viewportIsMeasurable())if(this.portraitViewport=this.isPortraitViewport(),this.shouldStack()){var e,n={},t=w(Ts.flat());try{for(t.s();!(e=t.n()).done;){var r=e.value,o=this.$refs[Ws(r)];if(o&&"function"===typeof o.getBBox)try{var a=o.getBBox();a.width>0&&a.height>0&&(n[r]={x:a.x,y:a.y,width:a.width,height:a.height})}catch(h){}}}catch(p){t.e(p)}finally{t.f()}var i,s=Us*window.innerHeight*zs/window.innerWidth,c=function(e){return s/e},u={},l=Gs,d=w(Ts);try{var f=function(){var e=i.value,t=e.filter((function(e){return n[e]}));if(!t.length)return"continue";for(var r=Es*(t.length-1),o=zs-2*Gs-r,a=t.reduce((function(e,t){return e+n[t].width}),0),s=function(e){var t,r;return Math.min(null!==(t=Ks[e])&&void 0!==t?t:1/0,(null!==(r=Ys[e])&&void 0!==r?r:1/0)*o/n[e].width,c(n[e].height),Is)},d=Math.min(o/a,Is),f=0;f<t.length;f++){var h,g=0,y=0,m=w(t);try{for(m.s();!(h=m.n()).done;){var v=h.value,b=s(v);b<d?g+=n[v].width*b:y+=n[v].width}}catch(p){m.e(p)}finally{m.f()}if(!y)break;var x=Math.min((o-g)/y,Is);if(x<=d+1e-4)break;d=x}var k,M=function(e){return Math.min(d,s(e))},_=t.reduce((function(e,t){return e+n[t].width*M(t)}),0),S=Math.max.apply(Math,P(t.map((function(e){return n[e].height*M(e)})))),C=(zs-(_+r))/2,B=w(t);try{for(B.s();!(k=B.n()).done;){var L=k.value,R=n[L],A=M(L),O=l+(S-R.height*A)/2;u[L]="translate(".concat(Vs(C-R.x*A),", ").concat(Vs(O-R.y*A),") scale(").concat(Vs(A,4),")"),C+=R.width*A+Es}}catch(p){B.e(p)}finally{B.f()}l+=S+Es};for(d.s();!(i=d.n()).done;)f()}catch(p){d.e(p)}finally{d.f()}this.stackHeight=Math.round(l+Gs-Es),this.slotTransforms=u,this.stacked=!0}else this.stacked&&(this.stacked=!1,this.slotTransforms={})}},{key:"onStackedChanged",value:function(){this.scheduleRelayout()}},{key:"scheduleRelayout",value:function(){var e=this;this.$nextTick((function(){return e.relayout()}))}},{key:"mounted",value:function(){window.addEventListener("resize",this.onViewportResize),window.addEventListener("orientationchange",this.onViewportResize),window.addEventListener("load",this.onViewportResize),window.visualViewport&&window.visualViewport.addEventListener("resize",this.onViewportResize),"undefined"!==typeof ResizeObserver&&(this.viewportObserver=new ResizeObserver(this.onViewportResize),this.viewportObserver.observe(document.documentElement)),this.scheduleRelayout()}},{key:"beforeDestroy",value:function(){window.removeEventListener("resize",this.onViewportResize),window.removeEventListener("orientationchange",this.onViewportResize),window.removeEventListener("load",this.onViewportResize),window.visualViewport&&window.visualViewport.removeEventListener("resize",this.onViewportResize),this.viewportObserver&&(this.viewportObserver.disconnect(),this.viewportObserver=null)}},{key:"onSceneContentChanged",value:function(){this.scheduleRelayout()}},{key:"adjustedPlayerOrder",get:function(){return Ds(this.G,this.preferences.adjustPlayerOrder)}},{key:"getResourceResupply",value:function(){if(this.G){var e=this.G.resourceResupply[this.G.step-1];return e=e.substr(1,e.length-2),e.split(",")}return[0,0,0,0]}},{key:"getResourceResupplyNorth",value:function(){if(this.G&&this.G.resourceResupplyNorth){var e=this.G.resourceResupplyNorth[this.G.step-1];return e=e.substr(1,e.length-2),e.split(",")}return null}}]),t}(c.a);z([ye()],Fs.prototype,"state",void 0),z([ye(),he()],Fs.prototype,"player",void 0),z([ye()],Fs.prototype,"emitter",void 0),z([ye()],Fs.prototype,"avatars",void 0),z([ye(),he()],Fs.prototype,"preferences",void 0),z([fe()],Fs.prototype,"ui",void 0),z([fe()],Fs.prototype,"communicator",void 0),z([he()],Fs.prototype,"G",void 0),z([ve()],Fs.prototype,"powerPlantMarket",void 0),z([ve()],Fs.prototype,"playerOrder",void 0),z([ve()],Fs.prototype,"cityCount",void 0),z([ve()],Fs.prototype,"map",void 0),z([ve()],Fs.prototype,"resources",void 0),z([me("state",{immediate:!0})],Fs.prototype,"onStateChanged",null),z([me("ui.waitingAnimations")],Fs.prototype,"updateUI",null),z([me("G.log")],Fs.prototype,"onLogChanged",null),z([me("showResourceTrack")],Fs.prototype,"onResourceViewChanged",null),z([me("stacked")],Fs.prototype,"onStackedChanged",null),z([me("G")],Fs.prototype,"onSceneContentChanged",null),Fs=z([ie({created:function(){var e=this;this.emitter.on("replayStart",(function(){e.paused=!0,e.emitter.emit("replay:info",{start:1,current:e.G.log.filter((function(e){return"move"==e.type})).length,end:e._futureState.log.filter((function(e){return"move"==e.type})).length})})),this.emitter.on("replayTo",(function(n){var t=e._futureState.log.map((function(e,n){return b({index:n},e)})).filter((function(e){return"move"==e.type}));n=t[n-1].index,e.replaceState(br(e._futureState,n+1),!1),e.emitter.emit("replay:info",{start:1,current:e.G.log.filter((function(e){return"move"==e.type})).length+e.G.hiddenLog.length,end:e._futureState.log.filter((function(e){return"move"==e.type})).length})})),this.emitter.on("replayEnd",(function(){e.paused=!1,e.emitter.emit("fetchState")}))},components:{InlineLog:Qr,PlayerBoard:pi,Card:Fe,House:Ao,Coal:mo,Oil:Ho,Garbage:Po,Uranium:Zo,PassButton:Oa,UndoButton:ii,LogButton:_a,SoundButton:Ea,HelpButton:da,RulesButton:Xa,LayoutButton:va,ResourceViewButton:Va,Button:oa,Calculator:xi,PowerPlantMarket:Bi,PlayerOrder:Di,CityCount:Ki,Map:Zi,Resources:Ns,ResourceBoxes:Cs}})],Fs);var Js=Fs,$s=Js,qs=(t("bb9a"),t("7339"),Ge($s,u,l,!1,null,null,null)),Zs=qs.exports;t("5e9b"),t("e2f4");function Qs(e,n){var t=document.createElement("details");t.className="bgs-game-chat",t.open=!0,t.innerHTML='<summary>Chat</summary><div class="chat-messages" role="log" aria-label="Game chat"></div><div class="chat-composer"><input type="text" aria-label="Chat message" placeholder="Message…" autocomplete="off"><button type="button">Send</button></div><div class="chat-status" role="status"></div>';var r=document.createElement("style");r.textContent="\n.bgs-game-chat{box-sizing:border-box;font:14px/1.4 Arial,sans-serif;border:1px solid #a2aa82;border-radius:3px;margin:8px 0;padding:8px 12px;background:#f3f0dc;color:#263521}\n.bgs-game-chat summary{cursor:pointer;font-weight:650;border-radius:3px;width:fit-content;padding:2px 4px;margin:-2px -4px}\n.bgs-game-chat summary:hover{color:#126778}\n.bgs-game-chat summary:focus-visible,.bgs-game-chat button:focus-visible{outline:2px solid #247d8c;outline-offset:3px}\n.bgs-game-chat .chat-messages{max-height:250px;overflow:auto;overscroll-behavior:auto;margin:6px 0 8px}\n.bgs-game-chat article{padding:5px 0;border-bottom:1px solid #75818d26;white-space:pre-wrap;overflow-wrap:anywhere}\n.bgs-game-chat article strong{padding:0 3px;font-weight:bold}\n.bgs-game-chat article:last-child{border-bottom:0}\n.bgs-game-chat time{font-size:12px;color:#536e77;margin-left:8px;white-space:nowrap}\n.bgs-game-chat .chat-composer{display:flex;gap:6px;align-items:center;margin:0}\n.bgs-game-chat input{flex:1;min-width:0;box-sizing:border-box;height:30px;background:#f3f5eb;color:#263521;border:1px solid #899997;border-radius:2px;padding:4px 7px;font:14px Arial,sans-serif}\n.bgs-game-chat input::placeholder{color:#637477}\n.bgs-game-chat input:focus{outline:2px solid #527f89;outline-offset:1px}\n.bgs-game-chat button{box-sizing:border-box;height:30px;cursor:pointer;border:1px solid #7f8c8d;border-radius:3px;background:#dddeda;color:#172d34;padding:3px 12px;font:14px Arial,sans-serif}\n.bgs-game-chat button:hover:not(:disabled){background:#c8d3d0}\n.bgs-game-chat button:disabled{color:#788786;border-color:#b0bcb8;background:#dce3df;cursor:default}\n.bgs-game-chat .chat-status{font-size:12px;margin-top:6px}\n.bgs-game-chat .chat-status:empty{display:none}\n.chat-shortcut{position:fixed;left:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:900;padding:7px 12px;border:1px solid #6a8589;border-radius:3px;background:#263521;color:#fff;font:600 14px Arial,sans-serif;cursor:pointer;box-shadow:0 2px 6px #0003}\n.chat-shortcut[hidden]{display:none}\n.chat-shortcut:hover{background:#315966}\n.chat-shortcut:focus-visible{outline:2px solid #fff;outline-offset:2px}\n\n",t.append(r);var o=n.querySelector(".chat-host");o?o.append(t):n.insertAdjacentElement("afterend",t);var a,i=t.querySelector(".chat-messages"),s=t.querySelector("input"),c=t.querySelector("button"),u=t.querySelector(".chat-status"),l=[],d=[];e.on("state",(function(e){d=(null===e||void 0===e?void 0:e.players)||[],R()})),e.on("player",(function(e){a=null===e||void 0===e?void 0:e.index,R()}));var f,h,p,g=!1,y=!1,m="Chat is connecting…",v="",b="",x=!0,k=new Set,M=t.querySelector("summary"),P=document.createElement("button");P.type="button",P.className="chat-shortcut",P.hidden=!0,t.insertAdjacentElement("afterend",P);var _=!1;function S(){var e=k.size,n=e?"Chat · ".concat(e," unread"):"Chat";P.textContent=n,P.setAttribute("aria-label","Open ".concat(n)),M.textContent=n,P.hidden=_}P.onclick=function(){t.open=!0,requestAnimationFrame((function(){var e=Array.from(i.children).find((function(e){return k.has(e.dataset.id||"")}));e?e.scrollIntoView({block:"center"}):t.scrollIntoView({block:"center"}),M.focus({preventScroll:!0}),L()}))};var C=new IntersectionObserver((function(e){var n,r=w(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;o.target===t&&(_=o.isIntersecting&&o.intersectionRect.height>=Math.min(t.open?80:20,o.boundingClientRect.height))}}catch(a){r.e(a)}finally{r.f()}S(),L()}),{threshold:Array.from({length:21},(function(e,n){return n/20}))});function B(){c.disabled=!g||y||!!f||!s.value.trim(),s.disabled=!g||y}function L(){var n;if(t.open&&"visible"===document.visibilityState&&document.hasFocus()){var r,o=i.getBoundingClientRect(),a=Array.from(i.children).filter((function(e){var n=e.getBoundingClientRect();return n.bottom<=Math.min(o.bottom,window.innerHeight)+1&&n.top>=Math.max(o.top,0)})),s=w(a);try{for(s.s();!(r=s.n()).done;){var c=r.value;k.delete(c.dataset.id||"")}}catch(l){s.e(l)}finally{s.f()}S();var u=(null===(n=a[a.length-1])||void 0===n?void 0:n.dataset.id)||"";!/^[a-f0-9]{24}$/i.test(u)||u.toLowerCase()<=v||(b=b>u.toLowerCase()?b:u.toLowerCase(),p||(p=setTimeout((function(){p=void 0,t.open&&"visible"===document.visibilityState&&document.hasFocus()&&b>v&&(v=b,e.emit("chat:read",{messageId:v}))}),500)))}}function R(){i.textContent="";var e,n=w(l);try{var t=function(){var n,t,r=e.value,o=document.createElement("article");o.dataset.id=r._id||"";var s=document.createElement("strong");s.textContent=r.author||"Game";var c,u=null!==(n=r.playerIndex)&&void 0!==n?n:"You"===r.author?a:null===(t=d.find((function(e){return e.name===r.author})))||void 0===t?void 0:t.id;void 0!==u&&_e[u]&&(s.style.backgroundColor=(null===(c=d.find((function(e){return e.id===u})))||void 0===c?void 0:c.color)||_e[u],s.style.color="brown"===s.style.backgroundColor?"#fff":"#111");if(o.append(s,document.createTextNode(" "),document.createTextNode(r.text)),r.createdAt){var l=document.createElement("time"),f=new Date(r.createdAt);isNaN(f.getTime())||(l.textContent=f.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),l.title=f.toLocaleString(),o.append(l))}i.append(o)};for(n.s();!(e=n.n()).done;)t()}catch(r){n.e(r)}finally{n.f()}x&&(i.scrollTop=i.scrollHeight),S(),L()}function A(){if(!c.disabled){f={id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2)),text:s.value},B(),u.textContent="Sending…";var n=f;h=setTimeout((function(){f&&(f=void 0,u.textContent="No confirmation received. Check the conversation before sending again.",B())}),2e4),e.emit("chat:send",{text:n.text.trim(),requestId:n.id})}}C.observe(t),e.on("chat:messages",(function(e){l=e||[],k.clear(),R()})),e.on("chat:appended",(function(e){var n,t=w(e||[]);try{var r=function(){var e=n.value;if(!e._id||!l.some((function(n){return n._id===e._id}))){l.push(e);var t=void 0!==e.playerIndex&&e.playerIndex===a;e._id&&!t&&"You"!==e.author&&k.add(e._id)}};for(t.s();!(n=t.n()).done;)r()}catch(o){t.e(o)}finally{t.f()}R()})),e.on("chat:updated",(function(e){var n,t=w(e||[]);try{var r=function(){var e=n.value,t=l.findIndex((function(n){return n._id===e._id}));t>=0&&(l[t]=e)};for(t.s();!(n=t.n()).done;)r()}catch(o){t.e(o)}finally{t.f()}R()})),e.on("chat:deleted",(function(e){l=l.filter((function(n){return!e.includes(n._id||"")})),e.forEach((function(e){return k.delete(e)})),R()})),e.on("chat:disabled",(function(e){y=e,u.textContent=e?"Chat disabled":m,B()})),e.on("chat:state",(function(e){g=e.canSend,m=g?"":{"not-logged-in":"Sign in to chat","not-confirmed":"Confirm your account to chat","not-a-player":"Only players can send messages","chat-disabled":"Chat disabled","no-game":"Chat will be available when the game starts"}[e.reason||""]||"Chat is read-only",u.textContent=m,B()})),e.on("chat:result",(function(e){var n;(null===(n=f)||void 0===n?void 0:n.id)===e.requestId&&(h&&clearTimeout(h),e.ok&&s.value===f.text&&(s.value=""),u.textContent=e.ok?"":e.error||"Message could not be sent. Your draft is kept.",f=void 0,B())})),c.onclick=A,s.oninput=B,s.onkeydown=function(e){"Enter"!==e.key||e.shiftKey||e.isComposing||(e.preventDefault(),e.stopPropagation(),A())},i.onscroll=function(){x=i.scrollHeight-i.scrollTop-i.clientHeight<32,L()},t.ontoggle=function(){t.open&&x&&(i.scrollTop=i.scrollHeight),L()},window.addEventListener("scroll",L,{passive:!0}),window.addEventListener("focus",L),window.addEventListener("resize",L);var O=new ResizeObserver((function(){S(),L()}));O.observe(t),document.addEventListener("visibilitychange",L),u.textContent=m,B()}var Xs,ec={build:{label:"Connect a city",notes:[[0,.1,0,.12,1500],[.08,.25,95,.1,45],[.18,.14,360,.05,500]]},fuel:{label:"Buy fuel",notes:[[0,.12,0,.1,1100],[.1,.13,0,.08,600],[.12,.16,120,.06,65]]},bid:{label:"Auction bid",notes:[[0,.08,400,.07,550]]},plant:{label:"Power plant",notes:[[0,.15,110,.09],[.07,.23,220,.07,330]]},power:{label:"Generate electricity",notes:[[0,.45,60,.09,120],[.05,.4,121,.05,240],[.1,.35,0,.04,1300]]}},nc=!0;function tc(e){nc=e}function rc(e){if(nc&&ec[e]&&"undefined"!==typeof window){if("undefined"!==typeof navigator){var n=navigator.userActivation;if(n&&!n.hasBeenActive)return}var t=window.AudioContext;if(t){Xs=Xs||new t;var r=Xs;r.resume().then((function(){if(nc&&"running"===r.state){var n,t=w(ec[e].notes);try{for(t.s();!(n=t.n()).done;){var o=y(n.value,5),a=o[0],i=o[1],s=o[2],c=o[3],u=o[4],l=r.currentTime+a,d=r.createGain();if(d.gain.setValueAtTime(1e-4,l),d.gain.exponentialRampToValueAtTime(c,l+.008),d.gain.exponentialRampToValueAtTime(1e-4,l+i),d.connect(r.destination),0===s){for(var f=r.createBuffer(1,Math.ceil(r.sampleRate*i),r.sampleRate),h=f.getChannelData(0),p=0;p<h.length;p++)h[p]=2*Math.random()-1;var g=r.createBufferSource();g.buffer=f;var m=r.createBiquadFilter();m.type="lowpass",m.frequency.value=u||900,g.connect(m),m.connect(d),g.start(l),g.stop(l+i)}else{var v=r.createOscillator();v.type="sine",v.frequency.setValueAtTime(s,l),v.frequency.exponentialRampToValueAtTime(u||s,l+i),v.connect(d),v.start(l),v.stop(l+i)}}}catch(b){t.e(b)}finally{t.f()}}})).catch((function(){}))}}}function oc(e){var n,t=!1;e.on("update:preference",(function(e){"sound"===(null===e||void 0===e?void 0:e.name)&&tc(e.value)})),e.on("preferences",(function(e){"boolean"===typeof(null===e||void 0===e?void 0:e.sound)&&tc(e.sound)})),e.on("replay:start",(function(){t=!0})),e.on("replay:end",(function(){t=!1,n=void 0}));var r=function(e){var r,o=(null===e||void 0===e?void 0:e.log)||[],a=o.map((function(e){return JSON.stringify(e)})),i=n&&n.length<a.length&&n.every((function(e,n){return e===a[n]})),s=(null===(r=n)||void 0===r?void 0:r.length)||0;if(n=a,i&&!t){var c=o.slice(s).map((function(e){return ac(e)})).filter(Boolean),u=c[c.length-1];u&&rc(u)}};e.on("state",r),e.on("gamelog",(function(e){var n;null!==e&&void 0!==e&&null!==(n=e.data)&&void 0!==n&&n.state&&r(e.data.state)}))}function ac(e){var n;return{Build:"build",BuyResource:"fuel",Bid:"bid",ChoosePowerPlant:"plant",UsePowerPlant:"power"}[null===(n=e.move)||void 0===n?void 0:n.name]}function ic(e){var n={state:null,emitter:new i["EventEmitter"],preferences:c.a.observable({sound:!0,disableHelp:!1,adjustPlayerOrder:!1,undoWholeTurn:!0,fitToScreen:!0,stackOnPortrait:!0,portraitResourceTrack:!1}),avatars:[]},t=new c.a({render:function(e){return e(Zs,{props:n},[])}}).$mount(e),r=new i["EventEmitter"],o=!1;return n.emitter.on("move",(function(e){return r.emit("move",e)})),n.emitter.on("fetchState",(function(){return r.emit("fetchState")})),n.emitter.on("addLog",(function(e){return r.emit("addLog",e)})),n.emitter.on("replaceLog",(function(e){return r.emit("replaceLog",e)})),n.emitter.on("replay:info",(function(e){return r.emit("replay:info",e)})),n.emitter.on("update:preference",(function(e){return r.emit("update:preference",e)})),r.addListener("avatars",(function(e){n.avatars=e,t.$forceUpdate()})),r.addListener("state",(function(e){n.state=e,t.$forceUpdate(),t.$nextTick().then((function(){return r.emit("ready")}))})),r.addListener("state:updated",(function(){return r.emit("fetchState")})),r.addListener("player",(function(e){n.player=e.index,t.$forceUpdate()})),r.addListener("preferences",(function(e){Object.assign(n.preferences,e),t.$forceUpdate()})),r.addListener("gamelog",(function(e){var a;o||(eo(null===e||void 0===e||null===(a=e.data)||void 0===a?void 0:a.state)?(n.state=e.data.state,t.$forceUpdate()):r.emit("fetchState"))})),r.addListener("replay:start",(function(){n.emitter.emit("replayStart"),o=!0})),r.addListener("replay:to",(function(e){n.emitter.emit("replayTo",e)})),r.addListener("replay:end",(function(){n.emitter.emit("replayEnd"),o=!1,r.emit("fetchState")})),oc(r),Qs(r,t.$el),r}var sc=ic;"undefined"!==typeof window&&(window.powergrid={launch:sc});var cc=sc;n["default"]=cc},a1a4:function(e,n,t){"use strict";var r=t("a768"),o=t("41d6"),a=t("fd86"),i=t("ce17"),s=a("species");e.exports=function(e){var n=r(e),t=o.f;i&&n&&!n[s]&&t(n,s,{configurable:!0,get:function(){return this}})}},a516:function(e,n,t){"use strict";var r=t("7f82"),o=t("12aa"),a=t("b42f"),i=t("43b7"),s=t("f246"),c=t("cbe1"),u=t("cba7"),l=t("2fb6"),d=l("splice"),f=Math.max,h=Math.min,p=9007199254740991,g="Maximum allowed length exceeded";r({target:"Array",proto:!0,forced:!d},{splice:function(e,n){var t,r,l,d,y,m,v=s(this),b=i(v.length),w=o(e,b),x=arguments.length;if(0===x?t=r=0:1===x?(t=0,r=b-w):(t=x-2,r=h(f(a(n),0),b-w)),b+t-r>p)throw TypeError(g);for(l=c(v,r),d=0;d<r;d++)y=w+d,y in v&&u(l,d,v[y]);if(l.length=r,t<r){for(d=w;d<b-r;d++)y=d+r,m=d+t,y in v?v[m]=v[y]:delete v[m];for(d=b;d>b-r+t;d--)delete v[d-1]}else if(t>r)for(d=b-r;d>w;d--)y=d+r-1,m=d+t-1,y in v?v[m]=v[y]:delete v[m];for(d=0;d<t;d++)v[d+w]=arguments[d+2];return v.length=b-r+t,l}})},a64f:function(e,n,t){"use strict";var r=t("9ebe"),o=t("43b7"),a=t("6e4e"),i=function(e,n,t,s,c,u,l,d){var f,h=c,p=0,g=!!l&&a(l,d,3);while(p<s){if(p in t){if(f=g?g(t[p],p,n):t[p],u>0&&r(f))h=i(e,n,f,o(f.length),h,u-1)-1;else{if(h>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[h]=f}h++}p++}return h};e.exports=i},a768:function(e,n,t){var r=t("8aac"),o=t("68de"),a=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,n){return arguments.length<2?a(r[e])||a(o[e]):r[e]&&r[e][n]||o[e]&&o[e][n]}},a901:function(e,n,t){"use strict";var r=t("2079").charAt,o=t("2673"),a=t("4116"),i="String Iterator",s=o.set,c=o.getterFor(i);a(String,"String",(function(e){s(this,{type:i,string:String(e),index:0})}),(function(){var e,n=c(this),t=n.string,o=n.index;return o>=t.length?{value:void 0,done:!0}:(e=r(t,o),n.index+=e.length,{value:e,done:!1})}))},a9eb:function(e,n,t){var r=t("8dac");e.exports=function(e,n){if(!r(e))return e;var t,o;if(n&&"function"==typeof(t=e.toString)&&!r(o=t.call(e)))return o;if("function"==typeof(t=e.valueOf)&&!r(o=t.call(e)))return o;if(!n&&"function"==typeof(t=e.toString)&&!r(o=t.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},ac27:function(e,n){e.exports=function(e){try{return!!e()}catch(n){return!0}}},ac85:function(e,n,t){(function(e){var r;(function(e,o,a){function i(e){var n=this;function t(e,n){var t,r,o,a,i,s=[],c=128;for(n===(0|n)?(r=n,n=null):(n+="\0",r=0,c=Math.max(c,n.length)),o=0,a=-32;a<c;++a)n&&(r^=n.charCodeAt((a+32)%n.length)),0===a&&(i=r),r^=r<<10,r^=r>>>15,r^=r<<4,r^=r>>>13,a>=0&&(i=i+1640531527|0,t=s[127&a]^=r+i,o=0==t?o+1:0);for(o>=128&&(s[127&(n&&n.length||0)]=-1),o=127,a=512;a>0;--a)r=s[o+34&127],t=s[o=o+1&127],r^=r<<13,t^=t<<17,r^=r>>>15,t^=t>>>12,s[o]=r^t;e.w=i,e.X=s,e.i=o}n.next=function(){var e,t,r=n.w,o=n.X,a=n.i;return n.w=r=r+1640531527|0,t=o[a+34&127],e=o[a=a+1&127],t^=t<<13,e^=e<<17,t^=t>>>15,e^=e>>>12,t=o[a]=t^e,n.i=a,t+(r^r>>>16)|0},t(n,e)}function s(e,n){return n.i=e.i,n.w=e.w,n.X=e.X.slice(),n}function c(e,n){null==e&&(e=+new Date);var t=new i(e),r=n&&n.state,o=function(){return(t.next()>>>0)/4294967296};return o.double=function(){do{var e=t.next()>>>11,n=(t.next()>>>0)/4294967296,r=(e+n)/(1<<21)}while(0===r);return r},o.int32=t.next,o.quick=o,r&&(r.X&&s(r,t),o.state=function(){return s(t,{})}),o}o&&o.exports?o.exports=c:t("f9ad")&&t("ba96")?(r=function(){return c}.call(n,t,n,o),void 0===r||(o.exports=r)):this.xor4096=c})(0,e,t("f9ad"))}).call(this,t("e55b")(e))},b07d:function(e,n,t){"use strict";var r=t("cbdb"),o=t("0540"),a=t("57ac"),i=t("c678"),s=t("c698"),c=t("7743"),u=t("43b7"),l=t("1af6"),d=t("8bc5"),f=t("3439"),h=f.UNSUPPORTED_Y,p=[].push,g=Math.min,y=4294967295;r("split",2,(function(e,n,t){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,t){var r=String(i(this)),a=void 0===t?y:t>>>0;if(0===a)return[];if(void 0===e)return[r];if(!o(e))return n.call(r,e,a);var s,c,u,l=[],f=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),h=0,g=new RegExp(e.source,f+"g");while(s=d.call(g,r)){if(c=g.lastIndex,c>h&&(l.push(r.slice(h,s.index)),s.length>1&&s.index<r.length&&p.apply(l,s.slice(1)),u=s[0].length,h=c,l.length>=a))break;g.lastIndex===s.index&&g.lastIndex++}return h===r.length?!u&&g.test("")||l.push(""):l.push(r.slice(h)),l.length>a?l.slice(0,a):l}:"0".split(void 0,0).length?function(e,t){return void 0===e&&0===t?[]:n.call(this,e,t)}:n,[function(n,t){var o=i(this),a=void 0==n?void 0:n[e];return void 0!==a?a.call(n,o,t):r.call(String(o),n,t)},function(e,o){var i=t(r,e,this,o,r!==n);if(i.done)return i.value;var d=a(e),f=String(this),p=s(d,RegExp),m=d.unicode,v=(d.ignoreCase?"i":"")+(d.multiline?"m":"")+(d.unicode?"u":"")+(h?"g":"y"),b=new p(h?"^(?:"+d.source+")":d,v),w=void 0===o?y:o>>>0;if(0===w)return[];if(0===f.length)return null===l(b,f)?[f]:[];var x=0,k=0,M=[];while(k<f.length){b.lastIndex=h?0:k;var P,_=l(b,h?f.slice(k):f);if(null===_||(P=g(u(b.lastIndex+(h?k:0)),f.length))===x)k=c(f,k,m);else{if(M.push(f.slice(x,k)),M.length===w)return M;for(var S=1;S<=_.length-1;S++)if(M.push(_[S]),M.length===w)return M;k=x=P}}return M.push(f.slice(x)),M}]}),h)},b0d4:function(e,n,t){"use strict";var r=t("7f82"),o=t("b222").find,a=t("d684"),i="find",s=!0;i in[]&&Array(1)[i]((function(){s=!1})),r({target:"Array",proto:!0,forced:s},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),a(i)},b168:function(e,n,t){var r,o,a=t("68de"),i=t("fd70"),s=a.process,c=s&&s.versions,u=c&&c.v8;u?(r=u.split("."),o=r[0]<4?1:r[0]+r[1]):i&&(r=i.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=i.match(/Chrome\/(\d+)/),r&&(o=r[1]))),e.exports=o&&+o},b222:function(e,n,t){var r=t("6e4e"),o=t("2153"),a=t("f246"),i=t("43b7"),s=t("cbe1"),c=[].push,u=function(e){var n=1==e,t=2==e,u=3==e,l=4==e,d=6==e,f=7==e,h=5==e||d;return function(p,g,y,m){for(var v,b,w=a(p),x=o(w),k=r(g,y,3),M=i(x.length),P=0,_=m||s,S=n?_(p,M):t||f?_(p,0):void 0;M>P;P++)if((h||P in x)&&(v=x[P],b=k(v,P,w),e))if(n)S[P]=b;else if(b)switch(e){case 3:return!0;case 5:return v;case 6:return P;case 2:c.call(S,v)}else switch(e){case 4:return!1;case 7:c.call(S,v)}return d?-1:u||l?l:S}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6),filterOut:u(7)}},b2a1:function(e,n,t){var r=t("9c0c"),o=t("97cc").f,a={}.toString,i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(e){try{return o(e)}catch(n){return i.slice()}};e.exports.f=function(e){return i&&"[object Window]"==a.call(e)?s(e):o(r(e))}},b42f:function(e,n){var t=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:t)(e)}},b67b:function(e,n){e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMjQgMTJjMCA2LjYyNy01LjM3MyAxMi0xMiAxMnMtMTItNS4zNzMtMTItMTJoMmMwIDUuNTE0IDQuNDg2IDEwIDEwIDEwczEwLTQuNDg2IDEwLTEwLTQuNDg2LTEwLTEwLTEwYy0yLjc3NyAwLTUuMjg3IDEuMTQxLTcuMDk5IDIuOTc3bDIuMDYxIDIuMDYxLTYuOTYyIDEuMzU0IDEuMzA1LTcuMDEzIDIuMTc5IDIuMThjMi4xNzItMi4xOTYgNS4xODItMy41NTkgOC41MTYtMy41NTkgNi42MjcgMCAxMiA1LjM3MyAxMiAxMnptLTEzLTZ2OGg3di0yaC01di02aC0yeiIvPjwvc3ZnPg=="},b85b:function(e,n){e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NzUuNDUycHgiIGhlaWdodD0iNDc1LjQ1MXB4IiB2aWV3Qm94PSIwIDAgNDc1LjQ1MiA0NzUuNDUxIj4KPGc+Cgk8cGF0aCBkPSJNNDY4LjA4MywxMTguMzg1Yy0zLjk5LTUuMzMtOS42MS05LjQxOS0xNi44NTQtMTIuMjc1YzAuMzg3LDYuNjY1LTAuMDg2LDEyLjA5LTEuNDIsMTYuMjgxbC04NS42NSwyODEuNzg5CgkJYy0xLjUyNiw0Ljk0OC00Ljg1OSw4Ljg5Ny05Ljk5MiwxMS44NDhjLTUuMTQxLDIuOTUzLTEwLjQ2OSw0LjQyOC0xNS45ODksNC40MjhINzQuNjZjLTIyLjg0LDAtMzYuNTQyLTYuNjUyLTQxLjExMi0xOS45ODUKCQljLTEuOTAzLTUuMTQtMS44MDctOS4yMjksMC4yODgtMTIuMjc1YzIuMDkyLTIuODU3LDUuNzA4LTQuMjg4LDEwLjg1LTQuMjg4aDI0OC4xMDJjMTcuNzAyLDAsMjkuOTMtMy4yODUsMzYuNjg4LTkuODUyCgkJYzYuNzYzLTYuNTY3LDEzLjU2NS0yMS4xNzcsMjAuNDEzLTQzLjgyNGw3OC4yMjgtMjU4LjY2OWM0LjE4Ni0xNC4wODQsMi40NzQtMjYuNDU3LTUuMTQxLTM3LjExM3MtMTguNDYyLTE1Ljk4Ny0zMi41NDgtMTUuOTg3CgkJSDE3My4xNjNjLTIuNDc0LDAtNy4zMjksMC44NTQtMTQuNTYyLDIuNTY4bDAuMjg0LTAuODU5Yy01LjMzLTEuMTQtOS44NTEtMS42NjItMTMuNTYyLTEuNTcxCgkJYy0zLjcxLDAuMDk5LTcuMTM3LDEuMTkyLTEwLjI3NywzLjI4OWMtMy4xNCwyLjA5NC01LjY2NCw0LjMyOC03LjU2Niw2LjcwNmMtMS45MDMsMi4zOC0zLjc2MSw1LjQyNi01LjU2OCw5LjEzNgoJCWMtMS44MDUsMy43MTUtMy4zMyw3LjE0Mi00LjU2NywxMC4yODJjLTEuMjM3LDMuMTQtMi42NjYsNi40NzMtNC4yODEsOS45OThjLTEuNjIsMy41MjEtMy4xODYsNi40MjMtNC43MSw4LjcwNgoJCWMtMS4xNDMsMS41MjMtMi43NTgsMy41MjEtNC44NTQsNS45OTZjLTIuMDkxLDIuNDc0LTMuODA1LDQuNjY0LTUuMTM3LDYuNTY3Yy0xLjMzMSwxLjkwMy0yLjE5LDMuNjE2LTIuNTY4LDUuMTQKCQljLTAuMzc4LDEuNzExLTAuMTksNC4yMzMsMC41NzEsNy41NjZjMC43NiwzLjMyOCwxLjA0Nyw1Ljc1MywwLjg1NCw3LjI3N2MtMC43Niw3LjIzMi0zLjM3OCwxNi40MTQtNy44NDksMjcuNTUyCgkJYy00LjQ3MSwxMS4xMzYtOC41MiwxOS4xOC0xMi4xMzUsMjQuMTI2Yy0wLjc2MSwwLjk1LTIuODUzLDMuMDkyLTYuMjgsNi40MjRjLTMuNDI3LDMuMzMtNS41Miw2LjIzLTYuMjc5LDguNzA0CgkJYy0wLjc2MiwwLjk1MS0wLjgxLDMuNjE3LTAuMTQ0LDcuOTk0YzAuNjY2LDQuMzgsMC45MDcsNy40MjMsMC43MTUsOS4xMzZjLTAuNzY1LDYuNDczLTMuMTQsMTUuMDM3LTcuMTM5LDI1LjY5NwoJCWMtMy45OTksMTAuNjU3LTcuOTk0LDE5LjQxNC0xMS45OTMsMjYuMjY1Yy0wLjU2OSwxLjE0MS0yLjE4NSwzLjMyOC00Ljg1Myw2LjU2N2MtMi42NjIsMy4yMzctNC4yODMsNS45MDItNC44NTMsNy45OQoJCWMtMC4zOCwxLjUyMy0wLjMzLDQuMTg4LDAuMTQ0LDcuOTk0YzAuNDczLDMuODA2LDAuNDI2LDYuNjYtMC4xNDQsOC41NjJjLTEuNTIxLDcuMjI4LTQuMzc3LDE1Ljk0LTguNTY1LDI2LjEyNQoJCWMtNC4xODcsMTAuMTc4LTguNDcsMTguODk2LTEyLjg1MSwyNi4xMjFjLTEuMTM4LDEuOTA2LTIuNzEyLDQuMTQ1LTQuNzA4LDYuNzExYy0xLjk5OSwyLjU2Ni0zLjU2OCw0LjgwNS00LjcxMSw2LjcwNwoJCWMtMS4xNDEsMS45MDMtMS45MDMsMy45MDEtMi4yODQsNS45OTZjLTAuMTksMS4xNDMsMC4wOTgsMi45OTgsMC44NTksNS41NzFjMC43NiwyLjU2NiwxLjA0Nyw0LjYxMiwwLjg1NCw2LjE0CgkJYy0wLjE5MiwyLjY2Mi0wLjU3LDYuMTg3LTEuMTQxLDEwLjU2N2MtMC41NzIsNC4zNzMtMC44NTksNi45MzktMC44NTksNy42OTljLTQuMTg3LDExLjQyNC0zLjk5OSwyMy41MTEsMC41NzIsMzYuMjY5CgkJYzUuMzMsMTQuODM4LDE0Ljc5NywyNy4zNiwyOC40MDYsMzcuNTQxYzEzLjYxLDEwLjE4NSwyNy43NCwxNS4yNyw0Mi4zOTgsMTUuMjdoMjYzLjUyMWMxMi4zNjcsMCwyNC4wMjYtNC4xNDEsMzQuOTcxLTEyLjQxNgoJCWMxMC45NDQtOC4yODEsMTguMjI3LTE4LjUwNywyMS44MzctMzAuNjk2bDc4LjUxMS0yNTguNjYyQzQ3Ny40MTIsMTQxLjUxLDQ3NS43MDEsMTI5LjIzNCw0NjguMDgzLDExOC4zODV6IE0xNjQuMzEsMTE4Ljk1NgoJCWw1Ljk5Ny0xOC4yNzRjMC43Ni0yLjQ3NCwyLjMyOS00LjYxNSw0LjcwOS02LjQyM2MyLjM4LTEuODA1LDQuODA4LTIuNzEyLDcuMjgyLTIuNzEyaDE3My41ODljMi42NjMsMCw0LjU2NSwwLjkwMyw1LjcwOCwyLjcxMgoJCWMxLjE0LDEuODA5LDEuMzM1LDMuOTQ5LDAuNTc1LDYuNDIzbC02LjAwMiwxOC4yNzRjLTAuNzY0LDIuNDc1LTIuMzI3LDQuNjExLTQuNzEzLDYuNDI0Yy0yLjM4MiwxLjgwNS00LjgwNSwyLjcwOC03LjI3OCwyLjcwOAoJCUgxNzAuNTkzYy0yLjY2NiwwLTQuNTY4LTAuOS01LjcxMS0yLjcwOEMxNjMuNzQsMTIzLjU2NywxNjMuNTUsMTIxLjQzMSwxNjQuMzEsMTE4Ljk1NnogTTE0MC42MTUsMTkyLjA0NWw1Ljk5Ni0xOC4yNzEKCQljMC43Ni0yLjQ3NCwyLjMzMS00LjYxNSw0LjcwOS02LjQyM2MyLjM4LTEuODA5LDQuODA1LTIuNzEyLDcuMjgyLTIuNzEyaDE3My41ODNjMi42NjYsMCw0LjU3MiwwLjksNS43MTIsMi43MTIKCQljMS4xNCwxLjgwOSwxLjMzMSwzLjk0OSwwLjU2OCw2LjQyM2wtNS45OTYsMTguMjcxYy0wLjc1OSwyLjQ3NC0yLjMzLDQuNjE3LTQuNzA4LDYuNDIzYy0yLjM4MywxLjgwOS00LjgwNSwyLjcxMi03LjI4MywyLjcxMgoJCUgxNDYuODk1Yy0yLjY2NCwwLTQuNTY3LTAuOS01LjcwOC0yLjcxMkMxNDAuMDQzLDE5Ni42NjIsMTM5Ljg1NCwxOTQuNTE5LDE0MC42MTUsMTkyLjA0NXoiLz4KPC9nPgo8L3N2Zz4="},ba03:function(e,n,t){(function(e){var r;(function(e,o,a){function i(e){var n=this,t="";n.next=function(){var e=n.b,t=n.c,r=n.d,o=n.a;return e=e<<25^e>>>7^t,t=t-r|0,r=r<<24^r>>>8^o,o=o-e|0,n.b=e=e<<20^e>>>12^t,n.c=t=t-r|0,n.d=r<<16^t>>>16^o,n.a=o-e|0},n.a=0,n.b=0,n.c=-1640531527,n.d=1367130551,e===Math.floor(e)?(n.a=e/4294967296|0,n.b=0|e):t+=e;for(var r=0;r<t.length+20;r++)n.b^=0|t.charCodeAt(r),n.next()}function s(e,n){return n.a=e.a,n.b=e.b,n.c=e.c,n.d=e.d,n}function c(e,n){var t=new i(e),r=n&&n.state,o=function(){return(t.next()>>>0)/4294967296};return o.double=function(){do{var e=t.next()>>>11,n=(t.next()>>>0)/4294967296,r=(e+n)/(1<<21)}while(0===r);return r},o.int32=t.next,o.quick=o,r&&("object"==typeof r&&s(r,t),o.state=function(){return s(t,{})}),o}o&&o.exports?o.exports=c:t("f9ad")&&t("ba96")?(r=function(){return c}.call(n,t,n,o),void 0===r||(o.exports=r)):this.tychei=c})(0,e,t("f9ad"))}).call(this,t("e55b")(e))},ba28:function(e,n,t){var r=t("8c99"),o=t("338e");e.exports=Object.keys||function(e){return r(e,o)}},ba96:function(e,n){(function(n){e.exports=n}).call(this,{})},bb9a:function(e,n,t){"use strict";t("50b1")},bcba:function(e,n,t){(function(e,r){var o;
26
+ function I(e){return I="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},I(e)}function U(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function K(e){return Y(e)||H(e)||W()}function Y(e){if(Array.isArray(e)){for(var n=0,t=new Array(e.length);n<e.length;n++)t[n]=e[n];return t}}function H(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function W(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function V(){return"undefined"!==typeof Reflect&&Reflect.defineMetadata&&Reflect.getOwnMetadataKeys}function F(e,n){J(e,n),Object.getOwnPropertyNames(n.prototype).forEach((function(t){J(e.prototype,n.prototype,t)})),Object.getOwnPropertyNames(n).forEach((function(t){J(e,n,t)}))}function J(e,n,t){var r=t?Reflect.getOwnMetadataKeys(n,t):Reflect.getOwnMetadataKeys(n);r.forEach((function(r){var o=t?Reflect.getOwnMetadata(r,n,t):Reflect.getOwnMetadata(r,n);t?Reflect.defineMetadata(r,o,e,t):Reflect.defineMetadata(r,o,e)}))}var $={__proto__:[]},q=$ instanceof Array;function Z(e){return function(n,t,r){var o="function"===typeof n?n:n.constructor;o.__decorators__||(o.__decorators__=[]),"number"!==typeof r&&(r=void 0),o.__decorators__.push((function(n){return e(n,t,r)}))}}function Q(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];return c.a.extend({mixins:n})}function X(e){var n=I(e);return null==e||"object"!==n&&"function"!==n}function ee(e,n){var t=n.prototype._init;n.prototype._init=function(){var n=this,t=Object.getOwnPropertyNames(e);if(e.$options.props)for(var r in e.$options.props)e.hasOwnProperty(r)||t.push(r);t.forEach((function(t){Object.defineProperty(n,t,{get:function(){return e[t]},set:function(n){e[t]=n},configurable:!0})}))};var r=new n;n.prototype._init=t;var o={};return Object.keys(r).forEach((function(e){void 0!==r[e]&&(o[e]=r[e])})),o}var ne=["data","beforeCreate","created","beforeMount","mounted","beforeDestroy","destroyed","beforeUpdate","updated","activated","deactivated","render","errorCaptured","serverPrefetch"];function te(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n.name=n.name||e._componentTag||e.name;var t=e.prototype;Object.getOwnPropertyNames(t).forEach((function(e){if("constructor"!==e)if(ne.indexOf(e)>-1)n[e]=t[e];else{var r=Object.getOwnPropertyDescriptor(t,e);void 0!==r.value?"function"===typeof r.value?(n.methods||(n.methods={}))[e]=r.value:(n.mixins||(n.mixins=[])).push({data:function(){return U({},e,r.value)}}):(r.get||r.set)&&((n.computed||(n.computed={}))[e]={get:r.get,set:r.set})}})),(n.mixins||(n.mixins=[])).push({data:function(){return ee(this,e)}});var r=e.__decorators__;r&&(r.forEach((function(e){return e(n)})),delete e.__decorators__);var o=Object.getPrototypeOf(e.prototype),a=o instanceof c.a?o.constructor:c.a,i=a.extend(n);return oe(i,e,a),V()&&F(i,e),i}var re={prototype:!0,arguments:!0,callee:!0,caller:!0};function oe(e,n,t){Object.getOwnPropertyNames(n).forEach((function(r){if(!re[r]){var o=Object.getOwnPropertyDescriptor(e,r);if(!o||o.configurable){var a=Object.getOwnPropertyDescriptor(n,r);if(!q){if("cid"===r)return;var i=Object.getOwnPropertyDescriptor(t,r);if(!X(a.value)&&i&&i.value===a.value)return}0,Object.defineProperty(e,r,a)}}}))}function ae(e){return"function"===typeof e?te(e):function(n){return te(n,e)}}ae.registerHooks=function(e){ne.push.apply(ne,K(e))};var ie=ae,se="__reactiveInject__";function ce(e){return Z((function(n,t){"undefined"===typeof n.inject&&(n.inject={}),Array.isArray(n.inject)||(n.inject[t]=e||t)}))}function ue(e){return Z((function(n,t){if("undefined"===typeof n.inject&&(n.inject={}),!Array.isArray(n.inject)){var r=e?e.from||e:t,o=!!e&&e.default||void 0;n.computed||(n.computed={}),n.computed[t]=function(){var e=this[se];return e?e[r]:o},n.inject[se]=se}}))}function le(e){var n=function(){var t=this,r="function"===typeof e?e.call(this):e;for(var o in r=Object.create(r||null),r[se]=this[se]||{},n.managed)r[n.managed[o]]=this[o];var a=function(e){r[n.managedReactive[e]]=i[e],Object.defineProperty(r[se],n.managedReactive[e],{enumerable:!0,get:function(){return t[e]}})},i=this;for(var o in n.managedReactive)a(o);return r};return n.managed={},n.managedReactive={},n}function de(e){return"function"!==typeof e||!e.managed&&!e.managedReactive}function fe(e){return Z((function(n,t){var r=n.provide;de(r)&&(r=n.provide=le(r)),r.managed[t]=e||t}))}function he(e){return Z((function(n,t){var r=n.provide;Array.isArray(n.inject)||(n.inject=n.inject||{},n.inject[se]={from:se,default:{}}),de(r)&&(r=n.provide=le(r)),r.managedReactive[t]=e||t}))}var pe="undefined"!==typeof Reflect&&"undefined"!==typeof Reflect.getMetadata;function ge(e,n,t){if(pe&&!Array.isArray(e)&&"function"!==typeof e&&"undefined"===typeof e.type){var r=Reflect.getMetadata("design:type",n,t);r!==Object&&(e.type=r)}}function ye(e){return void 0===e&&(e={}),function(n,t){ge(e,n,t),Z((function(n,t){(n.props||(n.props={}))[t]=e}))(n,t)}}function me(e,n){void 0===n&&(n={});var t=n.deep,r=void 0!==t&&t,o=n.immediate,a=void 0!==o&&o;return Z((function(n,t){"object"!==typeof n.watch&&(n.watch=Object.create(null));var o=n.watch;"object"!==typeof o[e]||Array.isArray(o[e])?"undefined"===typeof o[e]&&(o[e]=[]):o[e]=[o[e]],o[e].push({handler:t,deep:r,immediate:a})}))}function ve(e){return Z((function(n,t){n.computed=n.computed||{},n.computed[t]={cache:!1,get:function(){return this.$refs[e||t]}}}))}var be,we=function(){var e=this,n=e.$createElement,t=e._self._c||n;return 99==e.powerPlant.number?t("g",{attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")"}},[t("rect",{attrs:{width:"60",height:"40",fill:e.getColor(),stroke:"black","stroke-width":"2",rx:"4"}}),t("text",{attrs:{"text-anchor":"middle",x:"30",y:"20",fill:"black"}},[e._v("Step 3")])]):t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")"},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("rect",{attrs:{width:"60",height:"40",fill:e.getColor(),stroke:e.hasDiscount?"palegreen":"black","stroke-width":"2",rx:"4"}}),e.hasDiscount?t("g",[t("rect",{attrs:{width:"12",height:"12",rx:"4",fill:"palegreen"}}),t("text",{staticStyle:{"font-size":"12px"},attrs:{"text-anchor":"middle",x:"6",y:"6",fill:"black"}},[e._v("$")])]):e._e(),t("g",{attrs:{transform:"translate(30, 10)"}},[t("text",{attrs:{"text-anchor":"middle",x:"1",y:"1",fill:"gray"}},[e._v(e._s(e.powerPlant.number))]),t("text",{attrs:{"text-anchor":"middle",fill:"white"}},[e._v(e._s(e.powerPlant.number))])]),t("g",{class:["piece"],attrs:{id:e.elId,transform:"translate(40, 20) scale(0.035)"}},[t("path",{attrs:{d:"M187.698 263.636V456.017L3 341.204V169.522L80.8579 108.141L187.698 263.636Z",fill:"white",stroke:"white","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361V300.164L187.698 456.017V263.636L395.724 136.361Z",fill:"white",stroke:"white","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361L187.698 263.636L80.8579 108.141L304.771 4L395.724 136.361Z",fill:"white",stroke:"white","stroke-width":"12","stroke-miterlimit":"10"}})]),t("text",{staticStyle:{"font-size":"12px"},attrs:{"text-anchor":"middle",x:"47",y:"28",fill:"black"}},[e._v(" "+e._s(e.powerPlant.citiesPowered)+" ")]),t("g",{attrs:{transform:"translate(5, 20)"}},[t("path",{attrs:{d:e.getResourcePath(),fill:"white"}})]),e.powerPlant.cost>0?t("text",{staticStyle:{"font-size":"12px"},attrs:{"text-anchor":"middle",x:"12.5",y:"27.5",fill:"black"}},[e._v(" "+e._s(e.powerPlant.cost)+" ")]):e._e(),t("g",{attrs:{transform:"translate(24, 22)"}},[t("path",{attrs:{d:"M0,3 L8,3 L8,0 L14,6 L8,12 L8,9 L0,9Z",fill:"white"}})]),t("defs",[t("linearGradient",{attrs:{id:"hybrid",x1:"0",y1:"0",x2:"100%",y2:"100%"}},[t("stop",{attrs:{offset:"50%","stop-color":"#8b4513"}}),t("stop",{attrs:{offset:"50%","stop-color":"#445"}})],1)],1)])},xe=[];(function(e){e[e["House"]=0]="House",e[e["Card"]=1]="Card",e[e["Coal"]=2]="Coal",e[e["Oil"]=3]="Oil",e[e["Garbage"]=4]="Garbage",e[e["Uranium"]=5]="Uranium",e[e["Hybrid"]=6]="Hybrid"})(be||(be={}));var ke,Me,Pe,_e=["limegreen","mediumorchid","red","dodgerblue","yellow","brown"];function Se(e,n){return"Australia"===e.map.name&&n.type===Me.Uranium}function Ce(e,n){var t,r=void 0!=e.clockStartedAt&&void 0!=n?Math.max(0,n-e.clockStartedAt):0;return(null!==(t=e.totalTimeUsed)&&void 0!==t?t:0)+r}function Be(e,n){return n.powerPlants.filter((function(n){return!Se(e,n)})).length}(function(e){e["Coal"]="coal",e["Oil"]="oil",e["Garbage"]="garbage",e["Uranium"]="uranium"})(ke||(ke={})),function(e){e[e["Coal"]=0]="Coal",e[e["Oil"]=1]="Oil",e[e["Garbage"]=2]="Garbage",e[e["Uranium"]=3]="Uranium",e[e["Hybrid"]=4]="Hybrid",e[e["Wind"]=5]="Wind",e[e["Nuclear"]=6]="Nuclear",e[e["Step3"]=7]="Step3"}(Me||(Me={})),function(e){e["ColorSelection"]="Color Selection",e["RegionSelection"]="Region Selection",e["Order"]="Order",e["Auction"]="Auction",e["Resources"]="Resources",e["Building"]="Building",e["Bureaucracy"]="Bureaucracy",e["GameEnd"]="Game End"}(Pe||(Pe={}));var Le=[2,3,4,5,6,7];function Re(e){for(var n=e.length-1;n>=0;n--)if(e[n]<2)return n;return-1}function Ae(e,n){if(!e.uraniumMineMarket)return{income:0,price:0,mines:0,cities:0};var t=n.powerPlants.filter((function(n){return Se(e,n)}));if(0===t.length)return{income:0,price:0,mines:0,cities:0};var r=t.reduce((function(e,n){return e+n.citiesPowered}),0),o=Re(e.uraniumMineMarket);if(o<0)return{income:0,price:0,mines:t.length,cities:r};var a=Le[o],i=a*r;n.money+=i,e.options.trackTotalSpent&&(n.totalIncome+=i);for(var s=0;s<t.length;s++){var c=Re(e.uraniumMineMarket);if(c<0)break;e.uraniumMineMarket[c]++}return{income:i,price:a,mines:t.length,cities:r}}function Oe(e,n){if(!e.uraniumMineMarket)return 0;for(var t=0,r=0;r<n;r++){for(var o=-1,a=0;a<e.uraniumMineMarket.length;a++)if(e.uraniumMineMarket[a]>0){o=a;break}if(o<0)break;e.uraniumMineMarket[o]--,t++}return t}var je=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"targetState",void 0),m(B(e),"pieceId",void 0),m(B(e),"transparent",void 0),m(B(e),"restorable",void 0),m(B(e),"communicator",void 0),m(B(e),"ui",void 0),m(B(e),"pieceType",void 0),m(B(e),"currentX",0),m(B(e),"currentY",0),m(B(e),"mounted",!1),m(B(e),"transitioning",!1),m(B(e),"transitionCount",0),m(B(e),"moving",!1),e}return C(t,[{key:"pieceOpacity",get:function(){return this.transparent?this.restorable?.6:.3:1}},{key:"startTransitioning",value:function(){var e=this;if(!this.transitioning){this.ui.waitingAnimations+=1,this.transitioning=!0,this.transitionCount+=1;var n=this.transitionCount;setTimeout((function(){n===e.transitionCount&&e.onTransitionEnd()}),1e3)}}},{key:"onTargetChanged",value:function(e,n){var t=this;this.targetState.x===this.currentX&&this.targetState.y===this.currentY||(!this.transitioning&&this.mounted&&(!n||e?this.startTransitioning():(this.moving=!0,setTimeout((function(){return t.moving=!1}),800))),this.mounted?setTimeout((function(){t.currentX=t.targetState.x,t.currentY=t.targetState.y})):(this.currentX=this.targetState.x,this.currentY=this.targetState.y))}},{key:"onTransitionEnd",value:function(){this.transitioning&&(this.transitioning=!1,this.ui.waitingAnimations=Math.max(this.ui.waitingAnimations-1,0))}},{key:"elId",get:function(){return this.transitioning||this.moving?"moving":void 0}}]),t}(c.a);z([ye({default:function(){return{x:0,y:0,rotate:0}}})],je.prototype,"targetState",void 0),z([ye()],je.prototype,"pieceId",void 0),z([ye()],je.prototype,"transparent",void 0),z([ye()],je.prototype,"restorable",void 0),z([ce()],je.prototype,"communicator",void 0),z([ce()],je.prototype,"ui",void 0),z([me("dragging"),me("targetState",{immediate:!0})],je.prototype,"onTargetChanged",null),je=z([ie({created:function(){},mounted:function(){this.mounted=!0},beforeDestroy:function(){this.onTransitionEnd()}})],je);var Ne,De,Te=je,ze=Te;function Ge(e,n,t,r,o,a,i,s){var c,u="function"===typeof e?e.options:e;if(n&&(u.render=n,u.staticRenderFns=t,u._compiled=!0),r&&(u.functional=!0),a&&(u._scopeId="data-v-"+a),i?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},u._ssrRegister=c):o&&(c=s?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(u.functional){u._injectStyles=c;var l=u.render;u.render=function(e,n){return c.call(n),l(e,n)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,c):[c]}return{exports:e,options:u}}var Ee=Ge(ze,Ne,De,!1,null,null,null),Ie=Ee.exports,Ue=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"owner",void 0),m(B(e),"powerPlant",void 0),m(B(e),"canClick",void 0),m(B(e),"hasDiscount",void 0),e}return C(t,[{key:"getColor",value:function(){var e;switch(null===(e=this.powerPlant)||void 0===e?void 0:e.type){case Me.Coal:return"#8b4513";case Me.Oil:return"#445";case Me.Garbage:return"goldenrod";case Me.Uranium:return"red";case Me.Hybrid:return"url(#hybrid)";case Me.Wind:return"limegreen";case Me.Nuclear:return"dodgerblue";case Me.Step3:return"dodgerblue"}}},{key:"getResourcePath",value:function(){var e;switch(null===(e=this.powerPlant)||void 0===e?void 0:e.type){case Me.Coal:return"M0,3 L7.5,0 L15,3 L15,12 L7.5,15 L0,12Z";case Me.Oil:return"M3,2 A6,3 0 0,1 12,2 L12,12 A6,3 0 0,1 3,12Z";case Me.Garbage:return"M0,3 A7.5,3 0 0,1 15,3 L15,12 A7.5,3 0 0,1 0,12Z";case Me.Uranium:return"M1,2 l4,-2 l6,0 l4,2 l0,11 l-4,2 l-6,0 l-4,-2Z";case Me.Hybrid:return"M0,3 L7.5,0 L15,3 L15,12 L7.5,15 L0,12Z M9,1 A6,3 0 0,1 18,1 L18,10 A6,3 0 0,1 10,10Z";case Me.Wind:return"";case Me.Nuclear:return"";case Me.Step3:return""}}}]),t}(Q(Ie));z([ye()],Ue.prototype,"owner",void 0),z([ye()],Ue.prototype,"powerPlant",void 0),z([ye()],Ue.prototype,"canClick",void 0),z([ye({default:!1})],Ue.prototype,"hasDiscount",void 0),Ue=z([ie({created:function(){this.pieceType=be.Card}})],Ue);var Ke,Ye,He=Ue,We=He,Ve=(t("11ac"),Ge(We,we,xe,!1,null,null,null)),Fe=Ve.exports,Je=(t("7f32"),t("22ea"),t("ec9f"),t("da71"),t("4311"),t("4cd2")),$e=t.n(Je),qe=t("0b6f"),Ze=t("3a04"),Qe=t.n(Ze);(function(e){e["ChoosePowerPlant"]="ChoosePowerPlant",e["Bid"]="Bid",e["DiscardPowerPlant"]="DiscardPowerPlant",e["DiscardResources"]="DiscardResources",e["BuyResource"]="BuyResource",e["Build"]="Build",e["UsePowerPlant"]="UsePowerPlant",e["ChooseRegion"]="ChooseRegion",e["ChooseColor"]="ChooseColor",e["Pass"]="Pass"})(Ke||(Ke={}));var Xe,en,nn=(Ye={},m(Ye,ke.Coal,[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8]),m(Ye,ke.Oil,[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8]),m(Ye,ke.Garbage,[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8]),m(Ye,ke.Uranium,[1,2,3,4,5,6,7,8,10,12,14,16]),Ye),tn=nn;t("9cd8");function rn(e){}function on(e,n){var t,r,o=1/0,a=w(e);try{for(a.s();!(r=a.n()).done;){var i=r.value,s=n(i);s<o&&(t=i,o=s)}}catch(c){a.e(c)}finally{a.f()}return t}function an(e,n){var t=Qe.a.alea(n),r=new Map;return e.forEach((function(e,n){var o=t.int32();while(r.has(o))o=t.int32();r.set(o,n)})),P(r.keys()).sort().map((function(n){return e[r.get(n)]}))}function sn(e){var n=[],t=e.hybridCapacity>0?Math.max(0,e.oilLeft-e.oilCapacity):0;e.coalLeft>0&&e.coalCapacity+e.hybridCapacity<e.coalLeft+t&&n.push(ke.Coal);var r=e.hybridCapacity>0?Math.max(0,e.coalLeft-e.coalCapacity):0;return e.oilLeft>0&&e.oilCapacity+e.hybridCapacity<e.oilLeft+r&&n.push(ke.Oil),n}function cn(e,n){var t={};switch(e.phase){case Pe.Auction:if(Be(e,n)>4||e.players.length>2&&Be(e,n)>3)t[Ke.DiscardPowerPlant]=n.powerPlants.filter((function(t,r){return r!=n.powerPlants.length-1&&!Se(e,t)})).map((function(e){return e.number}));else{var r=sn(n);if(n.garbageCapacity<n.garbageLeft&&r.push(ke.Garbage),n.uraniumCapacity<n.uraniumLeft&&r.push(ke.Uranium),r.length>0)t[Ke.DiscardResources]=r;else if(void 0==e.chosenPowerPlant){var o=e.actualMarket.filter((function(e){return n.money>=e.number}));if("Spain & Portugal"==e.map.name){var a=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));a.every((function(e){return"yellow"==e.region}))&&(o=o.filter((function(e){return e.type!=Me.Uranium})))}if("Central Europe"==e.map.name){var i=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"green"==e.region||"brown"==e.region||"purple"==e.region}));0==i.length&&(o=o.filter((function(e){return e.type!=Me.Uranium})))}if("UK & Ireland"==e.map.name){var s=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));s.every((function(e){return"green"==e.region}))&&(o=o.filter((function(e){return e.type!=Me.Uranium})))}if("Northern Europe"==e.map.name){var c=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"purple"==e.region||"yellow"==e.region||"brown"==e.region||"pink"==e.region}));0==c.length&&(o=o.filter((function(e){return e.type!=Me.Uranium})))}o.length>0&&(t[Ke.ChoosePowerPlant]=o.map((function(e){return e.number}))),(e.round>1||e.discountBonusPlayer==n.id)&&(t[Ke.Pass]=[!0])}else{if(e.options.fastBid?e.minimunBid<=n.money&&(t[Ke.Bid]=Object(qe["range"])(e.minimunBid,n.money+1)):e.currentBid?e.currentBid<n.money&&(t[Ke.Bid]=Object(qe["range"])(e.currentBid+1,n.money+1)):t[Ke.Bid]=Object(qe["range"])(e.minimunBid,n.money+1),"Spain & Portugal"==e.map.name){var u=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));u.every((function(e){return"yellow"==e.region}))&&e.chosenPowerPlant.type==Me.Uranium&&(t[Ke.Bid]=void 0)}if("Central Europe"==e.map.name){var l=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"green"==e.region||"brown"==e.region||"purple"==e.region}));0==l.length&&e.chosenPowerPlant.type==Me.Uranium&&(t[Ke.Bid]=void 0)}if("UK & Ireland"==e.map.name){var d=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));d.every((function(e){return"green"==e.region}))&&e.chosenPowerPlant.type==Me.Uranium&&(t[Ke.Bid]=void 0)}if("Northern Europe"==e.map.name){var f=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"purple"==e.region||"yellow"==e.region||"brown"==e.region||"pink"==e.region}));0==f.length&&e.chosenPowerPlant.type==Me.Uranium&&(t[Ke.Bid]=void 0)}e.options.fastBid?n.id!=e.auctioningPlayer&&(t[Ke.Pass]=[!0]):null!=e.currentBid&&(t[Ke.Pass]=[!0])}}break;case Pe.Resources:if("India"==e.map.name&&void 0!==e.chosenResource){t[Ke.Pass]=[!0];break}var h,p=[];h=e.map.maxPriceAvailable?e.map.maxPriceAvailable[e.step-1]:16;var g=void 0!==e.coalResupplyNorth,y=!g||"north"!==e.chosenSide,m=g&&"south"!==e.chosenSide;if(y&&e.coalMarket>0){var v,b=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0,w=null!==(v=e.coalPrices)&&void 0!==v?v:tn[ke.Coal],x=w[w.length-e.coalMarket];n.money>=x&&n.coalCapacity+n.hybridCapacity>b+n.coalLeft&&x<=h&&p.push(g?{resource:ke.Coal,side:"south"}:{resource:ke.Coal})}else if(y&&"recharged"==e.options.variant&&"USA"==e.map.name&&e.coalSupply>0){var k=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0;n.money>=8&&n.coalCapacity+n.hybridCapacity>k+n.coalLeft&&p.push({resource:ke.Coal})}if(y&&void 0!==e.coalStorage&&e.coalStorage>0){var M,_=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0,S=null!==(M=e.coalPrices)&&void 0!==M?M:tn[ke.Coal],C=e.coalMarket>0?S[S.length-e.coalMarket]:Number.POSITIVE_INFINITY;n.money>=8&&n.coalCapacity+n.hybridCapacity>_+n.coalLeft&&8<=h&&C>=8&&p.push({resource:ke.Coal,fromStorage:!0})}if(m&&e.coalMarketNorth>0){var B=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0,L=e.coalPricesNorth,R=L[L.length-e.coalMarketNorth];n.money>=R&&n.coalCapacity+n.hybridCapacity>B+n.coalLeft&&R<=h&&p.push({resource:ke.Coal,side:"north"})}if(y&&e.oilMarket>0){var A,O=n.hybridCapacity>0?Math.max(0,n.coalLeft-n.coalCapacity):0,j=null!==(A=e.oilPrices)&&void 0!==A?A:tn[ke.Oil],N=j[j.length-e.oilMarket];n.money>=N&&n.oilCapacity+n.hybridCapacity>O+n.oilLeft&&N<=h&&p.push(g?{resource:ke.Oil,side:"south"}:{resource:ke.Oil})}if(m&&e.oilMarketNorth>0){var D=n.hybridCapacity>0?Math.max(0,n.coalLeft-n.coalCapacity):0,T=e.oilPricesNorth,z=T[T.length-e.oilMarketNorth];n.money>=z&&n.oilCapacity+n.hybridCapacity>D+n.oilLeft&&z<=h&&p.push({resource:ke.Oil,side:"north"})}if(y&&e.garbageMarket>0){var G,E=null!==(G=e.garbagePrices)&&void 0!==G?G:tn[ke.Garbage],I=E[E.length-e.garbageMarket];if("Central Europe"==e.map.name){var U=n.cities.filter((function(e){return"Wien"==e.name}));(null===U||void 0===U?void 0:U.length)>0&&I--}n.money>=I&&n.garbageCapacity>n.garbageLeft&&I<=h&&p.push(g?{resource:ke.Garbage,side:"south"}:{resource:ke.Garbage})}if(m&&e.garbageMarketNorth>0){var K=e.garbagePricesNorth,Y=K[K.length-e.garbageMarketNorth];n.money>=Y&&n.garbageCapacity>n.garbageLeft&&Y<=h&&p.push({resource:ke.Garbage,side:"north"})}if(y&&e.uraniumMarket>0){var H,W=null!==(H=e.uraniumPrices)&&void 0!==H?H:tn[ke.Uranium],V=W[W.length-e.uraniumMarket];n.money>=V&&n.uraniumCapacity>n.uraniumLeft&&V<=h&&p.push(g?{resource:ke.Uranium,side:"south"}:{resource:ke.Uranium})}p.length>0&&(t[Ke.BuyResource]=p),t[Ke.Pass]=[!0];break;case Pe.Building:if(n.cities.length<21){var F,J,$="Japan"===e.map.name,q=$?new Set(null!==(F=e.map.startingCities)&&void 0!==F?F:[]):new Set;if(0==n.cities.length){var Z=$?e.map.cities.filter((function(e){return q.has(e.name)})):e.map.cities;J=Z.map((function(e){return{name:e.name,price:0}}))}else if($&&1===e.round)J=n.usedFreeJump?[]:e.map.cities.filter((function(e){return q.has(e.name)})).map((function(e){return{name:e.name,price:0}}));else if(J=dn(e,n).map((function(e){return{name:e.name,price:e.price}})),$&&!n.usedFreeJump){var Q=[];q.forEach((function(e){n.cities.find((function(n){return n.name===e}))||Q.push({name:e,price:0,freeJump:!0})})),J=[].concat(P(J),Q)}J.forEach((function(t){var r,o=e.map.cities.find((function(e){return e.name==t.name}));if(o)if(null!==(r=e.blockedCities)&&void 0!==r&&r.includes(t.name))t.price=9999;else{var a=e.players.filter((function(e){return e.cities.find((function(e){return t.name==e.name}))})).length;if(o.transregional){if(e.step<2)return void(t.price=9999);var i=o.slotCosts,s=o.stepSlots?o.stepSlots[e.step-1]:e.step,c=i?i.length:3;return a>=s||a>=c?t.price=9999:t.price+=i?i[a]:3==e.step?20:15,void(n.cities.find((function(e){return e.name==t.name}))&&(t.price=9999))}if(o.island&&void 0!==e.map.crossIslandSurcharge&&n.cities.length>0){var u=new Set(n.cities.map((function(n){var t;return null===(t=e.map.cities.find((function(e){return e.name==n.name})))||void 0===t?void 0:t.island})).filter((function(e){return!!e})));if(!u.has(o.island))return void(t.price=a>0?9999:10+e.map.crossIslandSurcharge)}if(o.singleOccupancy)return 0==n.cities.length||a>=1?void(t.price=9999):void(n.cities.find((function(e){return e.name==t.name}))&&(t.price=9999));"Australia"==e.map.name&&n.cities.length>0&&(t.price=Math.min(t.price,20)),"Manhattan"==e.map.name&&n.cities.length>0&&(t.price=Math.max(0,t.price-5));var l=o.slotCosts,d=o.stepSlots?o.stepSlots[e.step-1]:e.step,f=l?l.length:3;a>=d||a>=f?t.price=9999:t.price+=l?l[a]:10+5*a,n.cities.find((function(e){return e.name==t.name}))&&(t.price=9999)}else t.price=9999})),J=J.filter((function(e){return e.price<=n.money})),J.length>0&&(t[Ke.Build]=J)}t[Ke.Pass]=[!0];break;case Pe.Bureaucracy:var X=[];n.powerPlants.forEach((function(t){if(!Se(e,t)&&n.powerPlantsNotUsed.includes(t.number))switch(t.type){case Me.Coal:n.coalLeft>=t.cost&&X.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(ke.Coal),citiesPowered:t.citiesPowered});break;case Me.Oil:n.oilLeft>=t.cost&&X.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(ke.Oil),citiesPowered:t.citiesPowered});break;case Me.Garbage:n.garbageLeft>=t.cost&&X.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(ke.Garbage),citiesPowered:t.citiesPowered});break;case Me.Uranium:n.uraniumLeft>=t.cost&&X.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(ke.Uranium),citiesPowered:t.citiesPowered});break;case Me.Wind:case Me.Nuclear:X.push({powerPlant:t.number,resourcesSpent:[],citiesPowered:t.citiesPowered});break;case Me.Hybrid:var r;if(n.coalLeft+n.oilLeft>=t.cost)r=1==t.cost?[[ke.Coal],[ke.Oil]]:2==t.cost?[[ke.Coal,ke.Coal],[ke.Coal,ke.Oil],[ke.Oil,ke.Oil]]:[[ke.Coal,ke.Coal,ke.Coal],[ke.Coal,ke.Coal,ke.Oil],[ke.Coal,ke.Oil,ke.Oil],[ke.Oil,ke.Oil,ke.Oil]],r.forEach((function(e){e.filter((function(e){return e==ke.Coal})).length<=n.coalLeft&&e.filter((function(e){return e==ke.Oil})).length<=n.oilLeft&&X.push({powerPlant:t.number,resourcesSpent:e,citiesPowered:t.citiesPowered})}))}})),X.length>0&&(t[Ke.UsePowerPlant]=X),("India"!=e.map.name||n.citiesPowered>=n.targetCitiesPowered||n.isAI||0===X.length)&&(t[Ke.Pass]=[!0]);break;case Pe.RegionSelection:var ee,ne,te=null!==(ee=null===(ne=e.regionDraft)||void 0===ne?void 0:ne.picked)&&void 0!==ee?ee:[],re=un(e.map);t[Ke.ChooseRegion]=re.regions.filter((function(n){return ln(e.map.name,re,te,n)}));break;case Pe.ColorSelection:var oe,ae,ie=null!==(oe=null===(ae=e.colorDraft)||void 0===ae?void 0:ae.picked)&&void 0!==oe?oe:[];t[Ke.ChooseColor]=_e.filter((function(e){return!ie.includes(e)}));break}return t}function un(e){var n,t=e.cities.filter((function(n,t){return e.cities.findIndex((function(e){return e.region==n.region}))==t})).map((function(e){return e.region})),r=e.connections.map((function(n){return n.nodes.map((function(n){return e.cities.find((function(e){return e.name==n})).region}))})),o=t.map((function(e){return t.filter((function(n){return e!=n&&r.some((function(t){return t.includes(e)&&t.includes(n)}))}))})),a={},i=w(e.cities);try{for(i.s();!(n=i.n()).done;){var s=n.value;s.island&&void 0===a[s.region]&&(a[s.region]=s.island)}}catch(c){i.e(c)}finally{i.f()}return{regions:t,regionConnections:o,regionIsland:a}}function ln(e,n,t,r){var o=new Set(t);if(o.has(r))return!1;if(0==o.size)return!0;var a=n.regions.indexOf(r);if(-1==a)return!1;if(n.regionConnections[a].some((function(e){return o.has(e)})))return!0;if("UK & Ireland"===e){var i=new Set(P(o).map((function(e){return n.regionIsland[e]})));if(!i.has(n.regionIsland[r]))return!0}return"Australia"===e}function dn(e,n){var t=e.map.cities.map((function(e){return{name:e.name,price:n.cities.find((function(n){return n.name==e.name}))?0:9999,visited:!1}})),r=t.find((function(e){return e.name==n.cities[0].name}));if(!r)return t;r.price=0;var o=r;while(1){var a=e.map.connections.filter((function(e){return e.nodes.includes(o.name)}));a.forEach((function(r){var a,i=r.nodes.filter((function(e){return e!=o.name}))[0],s=t.find((function(e){return e.name==i})),c=e.map.cities.find((function(e){return e.name==i})),u=null!==(a=null===c||void 0===c?void 0:c.connectionCost)&&void 0!==a?a:r.cost,l=n.cities.find((function(e){return e.name==s.name}))?0:o.price+u;!s.visited&&s.price>l&&(s.price=l)})),o.visited=!0;var i=t.filter((function(e){return!e.visited})),s=on(i,(function(e){return e.price}));if(!s||s.price>n.money)break;o=s}return t}(function(e){e["Purple"]="purple",e["Green"]="green",e["Red"]="red",e["Yellow"]="yellow",e["Cyan"]="cyan",e["Brown"]="brown"})(Xe||(Xe={})),function(e){e["Seattle"]="Seattle",e["Portland"]="Portland",e["Boise"]="Boise",e["Billings"]="Billings",e["Cheyenne"]="Cheyenne",e["Denver"]="Denver",e["Omaha"]="Omaha",e["SanFrancisco"]="San Francisco",e["LosAngeles"]="Los Angeles",e["SanDiego"]="San Diego",e["LasVegas"]="Las Vegas",e["SaltLakeCity"]="Salt Lake City",e["Phoenix"]="Phoenix",e["SantaFe"]="Santa Fe",e["KansasCity"]="Kansas City",e["OklahomaCity"]="Oklahoma City",e["Dallas"]="Dallas",e["Houston"]="Houston",e["Memphis"]="Memphis",e["Birmingham"]="Birmingham",e["NewOrleans"]="New Orleans",e["Fargo"]="Fargo",e["Duluth"]="Duluth",e["Minneapolis"]="Minneapolis",e["Chicago"]="Chicago",e["StLouis"]="St. Louis",e["Cincinnati"]="Cincinnati",e["Knoxvile"]="Knoxvile",e["Detroit"]="Detroit",e["Buffalo"]="Buffalo",e["Pittsburgh"]="Pittsburgh",e["Boston"]="Boston",e["NewYork"]="New York",e["Philadelphia"]="Philadelphia",e["Washington"]="Washington",e["Norfolk"]="Norfolk",e["Raleigh"]="Raleigh",e["Atlanta"]="Atlanta",e["Savannah"]="Savannah",e["Jacksonvile"]="Jacksonvile",e["Tampa"]="Tampa",e["Miami"]="Miami"}(en||(en={}));var fn,hn,pn={name:"USA",cities:[{name:en.Seattle,region:Xe.Purple,x:74,y:99},{name:en.Portland,region:Xe.Purple,x:45,y:167},{name:en.Boise,region:Xe.Purple,x:180,y:220},{name:en.Billings,region:Xe.Purple,x:345,y:180},{name:en.Cheyenne,region:Xe.Purple,x:410,y:280},{name:en.Denver,region:Xe.Purple,x:400,y:333},{name:en.Omaha,region:Xe.Purple,x:566,y:293},{name:en.SanFrancisco,region:Xe.Cyan,x:48,y:371},{name:en.LosAngeles,region:Xe.Cyan,x:116,y:460},{name:en.SanDiego,region:Xe.Cyan,x:157,y:507},{name:en.LasVegas,region:Xe.Cyan,x:200,y:410},{name:en.SaltLakeCity,region:Xe.Cyan,x:266,y:311},{name:en.Phoenix,region:Xe.Cyan,x:260,y:486},{name:en.SantaFe,region:Xe.Cyan,x:371,y:435},{name:en.KansasCity,region:Xe.Red,x:587,y:356},{name:en.OklahomaCity,region:Xe.Red,x:550,y:437},{name:en.Dallas,region:Xe.Red,x:560,y:504},{name:en.Houston,region:Xe.Red,x:569,y:571},{name:en.Memphis,region:Xe.Red,x:678,y:449},{name:en.Birmingham,region:Xe.Red,x:739,y:486},{name:en.NewOrleans,region:Xe.Red,x:674,y:570},{name:en.Fargo,region:Xe.Yellow,x:551,y:152},{name:en.Duluth,region:Xe.Yellow,x:637,y:133},{name:en.Minneapolis,region:Xe.Yellow,x:621,y:190},{name:en.Chicago,region:Xe.Yellow,x:716,y:281},{name:en.StLouis,region:Xe.Yellow,x:678,y:362},{name:en.Cincinnati,region:Xe.Yellow,x:795,y:348},{name:en.Knoxvile,region:Xe.Yellow,x:796,y:422},{name:en.Detroit,region:Xe.Brown,x:803,y:262},{name:en.Buffalo,region:Xe.Brown,x:913,y:251},{name:en.Pittsburgh,region:Xe.Brown,x:884,y:316},{name:en.Boston,region:Xe.Brown,x:1052,y:252},{name:en.NewYork,region:Xe.Brown,x:1010,y:290},{name:en.Philadelphia,region:Xe.Brown,x:985,y:330},{name:en.Washington,region:Xe.Brown,x:934,y:357},{name:en.Norfolk,region:Xe.Green,x:969,y:405},{name:en.Raleigh,region:Xe.Green,x:915,y:437},{name:en.Atlanta,region:Xe.Green,x:801,y:487},{name:en.Savannah,region:Xe.Green,x:867,y:507},{name:en.Jacksonvile,region:Xe.Green,x:861,y:559},{name:en.Tampa,region:Xe.Green,x:819,y:621},{name:en.Miami,region:Xe.Green,x:883,y:670}],connections:[{nodes:[en.Seattle,en.Portland],cost:3},{nodes:[en.Seattle,en.Boise],cost:12},{nodes:[en.Seattle,en.Billings],cost:9},{nodes:[en.Portland,en.Boise],cost:13},{nodes:[en.Portland,en.SanFrancisco],cost:24},{nodes:[en.Boise,en.Billings],cost:12},{nodes:[en.Boise,en.Cheyenne],cost:24},{nodes:[en.Boise,en.SanFrancisco],cost:23},{nodes:[en.Boise,en.SaltLakeCity],cost:8},{nodes:[en.Billings,en.Cheyenne],cost:9},{nodes:[en.Billings,en.Fargo],cost:17},{nodes:[en.Billings,en.Minneapolis],cost:18},{nodes:[en.Cheyenne,en.Denver],cost:0},{nodes:[en.Cheyenne,en.Omaha],cost:14},{nodes:[en.Cheyenne,en.Minneapolis],cost:18},{nodes:[en.Denver,en.SaltLakeCity],cost:21},{nodes:[en.Denver,en.SantaFe],cost:13},{nodes:[en.Denver,en.KansasCity],cost:16},{nodes:[en.Omaha,en.KansasCity],cost:5},{nodes:[en.Omaha,en.Minneapolis],cost:8},{nodes:[en.Omaha,en.Chicago],cost:13},{nodes:[en.SanFrancisco,en.LosAngeles],cost:9},{nodes:[en.SanFrancisco,en.LasVegas],cost:14},{nodes:[en.SanFrancisco,en.SaltLakeCity],cost:27},{nodes:[en.LosAngeles,en.SanDiego],cost:3},{nodes:[en.LosAngeles,en.LasVegas],cost:9},{nodes:[en.SanDiego,en.LasVegas],cost:9},{nodes:[en.SanDiego,en.Phoenix],cost:14},{nodes:[en.LasVegas,en.SaltLakeCity],cost:18},{nodes:[en.LasVegas,en.Phoenix],cost:15},{nodes:[en.LasVegas,en.SantaFe],cost:27},{nodes:[en.SaltLakeCity,en.SantaFe],cost:28},{nodes:[en.Phoenix,en.SantaFe],cost:18},{nodes:[en.SantaFe,en.KansasCity],cost:16},{nodes:[en.SantaFe,en.OklahomaCity],cost:15},{nodes:[en.SantaFe,en.Dallas],cost:16},{nodes:[en.SantaFe,en.Houston],cost:21},{nodes:[en.KansasCity,en.OklahomaCity],cost:8},{nodes:[en.KansasCity,en.Memphis],cost:12},{nodes:[en.KansasCity,en.Chicago],cost:8},{nodes:[en.KansasCity,en.StLouis],cost:6},{nodes:[en.OklahomaCity,en.Dallas],cost:3},{nodes:[en.OklahomaCity,en.Memphis],cost:14},{nodes:[en.Dallas,en.Houston],cost:5},{nodes:[en.Dallas,en.Memphis],cost:12},{nodes:[en.Dallas,en.NewOrleans],cost:12},{nodes:[en.Houston,en.NewOrleans],cost:8},{nodes:[en.Memphis,en.Birmingham],cost:6},{nodes:[en.Memphis,en.NewOrleans],cost:7},{nodes:[en.Memphis,en.StLouis],cost:7},{nodes:[en.Birmingham,en.NewOrleans],cost:11},{nodes:[en.Birmingham,en.Atlanta],cost:3},{nodes:[en.Birmingham,en.Jacksonvile],cost:9},{nodes:[en.NewOrleans,en.Jacksonvile],cost:16},{nodes:[en.Fargo,en.Duluth],cost:6},{nodes:[en.Fargo,en.Minneapolis],cost:6},{nodes:[en.Duluth,en.Minneapolis],cost:5},{nodes:[en.Duluth,en.Chicago],cost:12},{nodes:[en.Duluth,en.Detroit],cost:15},{nodes:[en.Minneapolis,en.Chicago],cost:8},{nodes:[en.Chicago,en.StLouis],cost:10},{nodes:[en.Chicago,en.Cincinnati],cost:7},{nodes:[en.Chicago,en.Detroit],cost:7},{nodes:[en.StLouis,en.Cincinnati],cost:12},{nodes:[en.StLouis,en.Atlanta],cost:12},{nodes:[en.Cincinnati,en.Knoxvile],cost:6},{nodes:[en.Cincinnati,en.Detroit],cost:4},{nodes:[en.Cincinnati,en.Pittsburgh],cost:7},{nodes:[en.Cincinnati,en.Raleigh],cost:15},{nodes:[en.Knoxvile,en.Atlanta],cost:5},{nodes:[en.Detroit,en.Buffalo],cost:7},{nodes:[en.Detroit,en.Pittsburgh],cost:6},{nodes:[en.Buffalo,en.Pittsburgh],cost:7},{nodes:[en.Buffalo,en.NewYork],cost:8},{nodes:[en.Pittsburgh,en.Washington],cost:6},{nodes:[en.Pittsburgh,en.Raleigh],cost:7},{nodes:[en.Boston,en.NewYork],cost:3},{nodes:[en.NewYork,en.Philadelphia],cost:0},{nodes:[en.Philadelphia,en.Washington],cost:3},{nodes:[en.Washington,en.Norfolk],cost:5},{nodes:[en.Norfolk,en.Raleigh],cost:3},{nodes:[en.Raleigh,en.Atlanta],cost:7},{nodes:[en.Raleigh,en.Savannah],cost:7},{nodes:[en.Atlanta,en.Savannah],cost:7},{nodes:[en.Savannah,en.Jacksonvile],cost:0},{nodes:[en.Jacksonvile,en.Tampa],cost:4},{nodes:[en.Tampa,en.Miami],cost:4}],layout:"Landscape",polygons:[{region:Xe.Brown,points:[[930,423],[1082,331],[1075,231],[716,249],[758,303],[897,406]]},{region:Xe.Green,points:[[898,405],[762,499],[758,643],[887,744],[938,688],[889,618],[1014,432],[985,387],[929,420]]},{region:Xe.Yellow,points:[[895,403],[760,499],[630,393],[607,345],[608,275],[439,162],[654,114],[771,245],[716,247],[758,301]]},{region:Xe.Red,points:[[606,344],[476,371],[445,597],[546,664],[758,641],[760,497],[629,391]]},{region:Xe.Purple,points:[[606,342],[476,369],[347,395],[313,301],[18,287],[18,165],[76,74],[438,160],[607,275]]},{region:Xe.Cyan,points:[[18,285],[20,429],[142,583],[445,594],[476,368],[346,392],[312,300]]}]},gn={name:"USA",cities:[{name:en.Seattle,region:Xe.Purple,x:74,y:99},{name:en.Portland,region:Xe.Purple,x:45,y:167},{name:en.Boise,region:Xe.Purple,x:180,y:220},{name:en.Billings,region:Xe.Purple,x:345,y:180},{name:en.Cheyenne,region:Xe.Purple,x:410,y:280},{name:en.Denver,region:Xe.Purple,x:400,y:333},{name:en.Omaha,region:Xe.Purple,x:566,y:293},{name:en.SanFrancisco,region:Xe.Cyan,x:48,y:371},{name:en.LosAngeles,region:Xe.Cyan,x:116,y:460},{name:en.SanDiego,region:Xe.Cyan,x:157,y:507},{name:en.LasVegas,region:Xe.Cyan,x:200,y:410},{name:en.SaltLakeCity,region:Xe.Cyan,x:266,y:311},{name:en.Phoenix,region:Xe.Cyan,x:260,y:486},{name:en.SantaFe,region:Xe.Cyan,x:371,y:435},{name:en.KansasCity,region:Xe.Red,x:587,y:356},{name:en.OklahomaCity,region:Xe.Red,x:550,y:437},{name:en.Dallas,region:Xe.Red,x:560,y:504},{name:en.Houston,region:Xe.Red,x:569,y:571},{name:en.Memphis,region:Xe.Red,x:678,y:449},{name:en.Birmingham,region:Xe.Red,x:739,y:486},{name:en.NewOrleans,region:Xe.Red,x:674,y:570},{name:en.Fargo,region:Xe.Yellow,x:551,y:152},{name:en.Duluth,region:Xe.Yellow,x:637,y:133},{name:en.Minneapolis,region:Xe.Yellow,x:621,y:190},{name:en.Chicago,region:Xe.Yellow,x:716,y:281},{name:en.StLouis,region:Xe.Yellow,x:678,y:362},{name:en.Cincinnati,region:Xe.Yellow,x:795,y:348},{name:en.Knoxvile,region:Xe.Yellow,x:796,y:422},{name:en.Detroit,region:Xe.Brown,x:803,y:262},{name:en.Buffalo,region:Xe.Brown,x:913,y:251},{name:en.Pittsburgh,region:Xe.Brown,x:884,y:316},{name:en.Boston,region:Xe.Brown,x:1052,y:252},{name:en.NewYork,region:Xe.Brown,x:1010,y:290},{name:en.Philadelphia,region:Xe.Brown,x:985,y:330},{name:en.Washington,region:Xe.Brown,x:934,y:357},{name:en.Norfolk,region:Xe.Green,x:969,y:405},{name:en.Raleigh,region:Xe.Green,x:915,y:437},{name:en.Atlanta,region:Xe.Green,x:801,y:487},{name:en.Savannah,region:Xe.Green,x:867,y:507},{name:en.Jacksonvile,region:Xe.Green,x:861,y:559},{name:en.Tampa,region:Xe.Green,x:819,y:621},{name:en.Miami,region:Xe.Green,x:883,y:670}],connections:[{nodes:[en.Seattle,en.Portland],cost:3},{nodes:[en.Seattle,en.Boise],cost:12},{nodes:[en.Seattle,en.Billings],cost:9},{nodes:[en.Portland,en.Boise],cost:13},{nodes:[en.Portland,en.SanFrancisco],cost:24},{nodes:[en.Boise,en.Billings],cost:12},{nodes:[en.Boise,en.SanFrancisco],cost:23},{nodes:[en.Boise,en.SaltLakeCity],cost:8},{nodes:[en.Billings,en.Cheyenne],cost:9},{nodes:[en.Billings,en.Fargo],cost:17},{nodes:[en.Billings,en.Minneapolis],cost:18},{nodes:[en.Cheyenne,en.Denver],cost:0},{nodes:[en.Cheyenne,en.Omaha],cost:14},{nodes:[en.Cheyenne,en.Minneapolis],cost:18},{nodes:[en.Denver,en.SaltLakeCity],cost:21},{nodes:[en.Denver,en.SantaFe],cost:13},{nodes:[en.Denver,en.KansasCity],cost:16},{nodes:[en.Omaha,en.KansasCity],cost:5},{nodes:[en.Omaha,en.Minneapolis],cost:8},{nodes:[en.Omaha,en.Chicago],cost:12},{nodes:[en.SanFrancisco,en.LosAngeles],cost:9},{nodes:[en.SanFrancisco,en.LasVegas],cost:14},{nodes:[en.SanFrancisco,en.SaltLakeCity],cost:27},{nodes:[en.LosAngeles,en.SanDiego],cost:3},{nodes:[en.LosAngeles,en.LasVegas],cost:9},{nodes:[en.SanDiego,en.LasVegas],cost:9},{nodes:[en.SanDiego,en.Phoenix],cost:14},{nodes:[en.LasVegas,en.SaltLakeCity],cost:18},{nodes:[en.LasVegas,en.Phoenix],cost:15},{nodes:[en.LasVegas,en.SantaFe],cost:27},{nodes:[en.SaltLakeCity,en.SantaFe],cost:28},{nodes:[en.Phoenix,en.SantaFe],cost:18},{nodes:[en.SantaFe,en.KansasCity],cost:16},{nodes:[en.SantaFe,en.OklahomaCity],cost:15},{nodes:[en.SantaFe,en.Dallas],cost:16},{nodes:[en.SantaFe,en.Houston],cost:20},{nodes:[en.KansasCity,en.OklahomaCity],cost:8},{nodes:[en.KansasCity,en.Memphis],cost:12},{nodes:[en.KansasCity,en.Chicago],cost:8},{nodes:[en.KansasCity,en.StLouis],cost:6},{nodes:[en.OklahomaCity,en.Dallas],cost:3},{nodes:[en.OklahomaCity,en.Memphis],cost:14},{nodes:[en.Dallas,en.Houston],cost:5},{nodes:[en.Dallas,en.Memphis],cost:12},{nodes:[en.Dallas,en.NewOrleans],cost:12},{nodes:[en.Houston,en.NewOrleans],cost:8},{nodes:[en.Memphis,en.Birmingham],cost:6},{nodes:[en.Memphis,en.NewOrleans],cost:7},{nodes:[en.Memphis,en.StLouis],cost:7},{nodes:[en.Birmingham,en.NewOrleans],cost:11},{nodes:[en.Birmingham,en.Atlanta],cost:3},{nodes:[en.Birmingham,en.Jacksonvile],cost:9},{nodes:[en.NewOrleans,en.Jacksonvile],cost:16},{nodes:[en.Fargo,en.Duluth],cost:6},{nodes:[en.Fargo,en.Minneapolis],cost:6},{nodes:[en.Duluth,en.Minneapolis],cost:5},{nodes:[en.Duluth,en.Chicago],cost:12},{nodes:[en.Duluth,en.Detroit],cost:15},{nodes:[en.Minneapolis,en.Chicago],cost:8},{nodes:[en.Chicago,en.StLouis],cost:10},{nodes:[en.Chicago,en.Cincinnati],cost:7},{nodes:[en.Chicago,en.Detroit],cost:7},{nodes:[en.StLouis,en.Cincinnati],cost:12},{nodes:[en.StLouis,en.Atlanta],cost:12},{nodes:[en.Cincinnati,en.Knoxvile],cost:6},{nodes:[en.Cincinnati,en.Detroit],cost:4},{nodes:[en.Cincinnati,en.Pittsburgh],cost:7},{nodes:[en.Knoxvile,en.Atlanta],cost:5},{nodes:[en.Knoxvile,en.Raleigh],cost:11},{nodes:[en.Detroit,en.Buffalo],cost:7},{nodes:[en.Detroit,en.Pittsburgh],cost:6},{nodes:[en.Buffalo,en.Pittsburgh],cost:7},{nodes:[en.Buffalo,en.NewYork],cost:8},{nodes:[en.Pittsburgh,en.Washington],cost:6},{nodes:[en.Pittsburgh,en.Raleigh],cost:7},{nodes:[en.Boston,en.NewYork],cost:3},{nodes:[en.NewYork,en.Philadelphia],cost:0},{nodes:[en.Philadelphia,en.Washington],cost:3},{nodes:[en.Washington,en.Norfolk],cost:5},{nodes:[en.Norfolk,en.Raleigh],cost:3},{nodes:[en.Raleigh,en.Atlanta],cost:7},{nodes:[en.Raleigh,en.Savannah],cost:7},{nodes:[en.Atlanta,en.Savannah],cost:7},{nodes:[en.Savannah,en.Jacksonvile],cost:0},{nodes:[en.Jacksonvile,en.Tampa],cost:4},{nodes:[en.Tampa,en.Miami],cost:4}],layout:"Landscape",mapSpecificRules:"You can buy coal from the supply for $8."},yn=[{number:3,type:Me.Oil,cost:2,citiesPowered:1},{number:4,type:Me.Coal,cost:2,citiesPowered:1},{number:5,type:Me.Hybrid,cost:2,citiesPowered:1},{number:6,type:Me.Garbage,cost:1,citiesPowered:1},{number:7,type:Me.Oil,cost:3,citiesPowered:2},{number:8,type:Me.Coal,cost:3,citiesPowered:2},{number:9,type:Me.Oil,cost:1,citiesPowered:1},{number:10,type:Me.Coal,cost:2,citiesPowered:2},{number:11,type:Me.Uranium,cost:1,citiesPowered:2},{number:12,type:Me.Hybrid,cost:2,citiesPowered:2},{number:13,type:Me.Wind,cost:0,citiesPowered:1},{number:14,type:Me.Garbage,cost:2,citiesPowered:2},{number:15,type:Me.Coal,cost:2,citiesPowered:3},{number:16,type:Me.Oil,cost:2,citiesPowered:3},{number:17,type:Me.Uranium,cost:1,citiesPowered:2},{number:18,type:Me.Wind,cost:0,citiesPowered:2},{number:19,type:Me.Garbage,cost:2,citiesPowered:3},{number:20,type:Me.Coal,cost:3,citiesPowered:5},{number:21,type:Me.Hybrid,cost:2,citiesPowered:4},{number:22,type:Me.Wind,cost:0,citiesPowered:2},{number:23,type:Me.Uranium,cost:1,citiesPowered:3},{number:24,type:Me.Garbage,cost:2,citiesPowered:4},{number:25,type:Me.Coal,cost:2,citiesPowered:5},{number:26,type:Me.Oil,cost:2,citiesPowered:5},{number:27,type:Me.Wind,cost:0,citiesPowered:3},{number:28,type:Me.Uranium,cost:1,citiesPowered:4},{number:29,type:Me.Hybrid,cost:1,citiesPowered:4},{number:30,type:Me.Garbage,cost:3,citiesPowered:6},{number:31,type:Me.Coal,cost:3,citiesPowered:6},{number:32,type:Me.Oil,cost:3,citiesPowered:6},{number:33,type:Me.Wind,cost:0,citiesPowered:4},{number:34,type:Me.Uranium,cost:1,citiesPowered:5},{number:35,type:Me.Oil,cost:1,citiesPowered:5},{number:36,type:Me.Coal,cost:3,citiesPowered:7},{number:37,type:Me.Wind,cost:0,citiesPowered:4},{number:38,type:Me.Garbage,cost:3,citiesPowered:7},{number:39,type:Me.Uranium,cost:1,citiesPowered:6},{number:40,type:Me.Oil,cost:2,citiesPowered:6},{number:42,type:Me.Coal,cost:2,citiesPowered:6},{number:44,type:Me.Wind,cost:0,citiesPowered:5},{number:46,type:Me.Hybrid,cost:3,citiesPowered:7},{number:50,type:Me.Nuclear,cost:0,citiesPowered:6},{number:99,type:Me.Step3,cost:0,citiesPowered:6}],mn=Object(qe["cloneDeep"])(yn).filter((function(e){return 11!=e.number}));mn.forEach((function(e){e.type==Me.Garbage&&(e.storage=2*e.cost,e.cost++)})),function(e){e["Pink"]="pink",e["Brown"]="brown",e["Green"]="green",e["Red"]="red",e["Yellow"]="yellow"}(fn||(fn={})),function(e){e["Hobart"]="Hobart",e["Launceston"]="Launceston",e["Geelong"]="Geelong",e["Melbourne1"]="Melbourne 1",e["Melbourne2"]="Melbourne 2",e["Bendigo"]="Bendigo",e["Albury"]="Albury",e["Wollongong"]="Wollongong",e["Mildura"]="Mildura",e["Dubbo"]="Dubbo",e["Canberra"]="Canberra",e["Sydney1"]="Sydney 1",e["Sydney2"]="Sydney 2",e["Newcastle"]="Newcastle",e["Toowoomba"]="Toowoomba",e["Goldcoast"]="Gold Coast",e["Brisbane"]="Brisbane",e["Rockhampton"]="Rockhampton",e["Mackay"]="Mackay",e["Townsville"]="Townsville",e["Cairns"]="Cairns",e["Porthedland"]="Port Hedland",e["Broome"]="Broome",e["Albany"]="Albany",e["Bunbury"]="Bunbury",e["Perth"]="Perth",e["Kalgoorlie"]="Kalgoorlie",e["Geraldton"]="Geraldton",e["Darwin"]="Darwin",e["Katherine"]="Katherine",e["Tennantcreek"]="Tennant Creek",e["Alicesprings"]="Alice Springs",e["Portaugusta"]="Port Augusta",e["CooberPedy"]="Coober Pedy",e["Adelaide"]="Adelaide"}(hn||(hn={}));var vn,bn,wn={name:"Australia",layout:"Landscape",adjustRatio:[.33,.33],mapPosition:[40,-30],mapRotation:180,cities:[{name:hn.Hobart,region:fn.Pink,x:540,y:467},{name:hn.Launceston,region:fn.Pink,x:720,y:500},{name:hn.Geelong,region:fn.Pink,x:988,y:712},{name:hn.Melbourne1,region:fn.Pink,x:790,y:650},{name:hn.Melbourne2,region:fn.Pink,x:790,y:790},{name:hn.Bendigo,region:fn.Pink,x:1052,y:870},{name:hn.Albury,region:fn.Brown,x:810,y:983},{name:hn.Wollongong,region:fn.Brown,x:530,y:1080},{name:hn.Mildura,region:fn.Pink,x:1185,y:1010},{name:hn.Dubbo,region:fn.Brown,x:891,y:1364},{name:hn.Canberra,region:fn.Brown,x:804,y:1188},{name:hn.Sydney1,region:fn.Brown,x:550,y:1230},{name:hn.Sydney2,region:fn.Brown,x:550,y:1380},{name:hn.Newcastle,region:fn.Brown,x:530,y:1545},{name:hn.Toowoomba,region:fn.Green,x:1010,y:1660},{name:hn.Goldcoast,region:fn.Green,x:660,y:1730},{name:hn.Brisbane,region:fn.Green,x:740,y:1885},{name:hn.Rockhampton,region:fn.Green,x:1040,y:1987},{name:hn.Mackay,region:fn.Green,x:1260,y:2101},{name:hn.Townsville,region:fn.Green,x:1445,y:2193},{name:hn.Cairns,region:fn.Green,x:1652,y:2209},{name:hn.Porthedland,region:fn.Red,x:2741,y:2002},{name:hn.Broome,region:fn.Red,x:2503,y:2175},{name:hn.Albany,region:fn.Red,x:2400,y:850},{name:hn.Bunbury,region:fn.Red,x:2700,y:1030},{name:hn.Perth,region:fn.Red,x:2680,y:1230},{name:hn.Kalgoorlie,region:fn.Red,x:2177,y:1295},{name:hn.Geraldton,region:fn.Red,x:2747,y:1557},{name:hn.Darwin,region:fn.Yellow,x:2264,y:2016},{name:hn.Katherine,region:fn.Yellow,x:2105,y:1947},{name:hn.Tennantcreek,region:fn.Yellow,x:1905,y:1736},{name:hn.Alicesprings,region:fn.Yellow,x:1803,y:1512},{name:hn.Portaugusta,region:fn.Yellow,x:1520,y:1094},{name:hn.CooberPedy,region:fn.Yellow,x:1850,y:1232},{name:hn.Adelaide,region:fn.Yellow,x:1430,y:863}],connections:[{nodes:[hn.Broome,hn.Porthedland],cost:13},{nodes:[hn.Kalgoorlie,hn.Geraldton],cost:16},{nodes:[hn.Geraldton,hn.Perth],cost:9},{nodes:[hn.Perth,hn.Kalgoorlie],cost:12},{nodes:[hn.Kalgoorlie,hn.Albany],cost:16},{nodes:[hn.Albany,hn.Perth],cost:9},{nodes:[hn.Perth,hn.Bunbury],cost:4},{nodes:[hn.Bunbury,hn.Albany],cost:6},{nodes:[hn.Cairns,hn.Townsville],cost:9},{nodes:[hn.Townsville,hn.Mackay],cost:9},{nodes:[hn.Mackay,hn.Rockhampton],cost:8},{nodes:[hn.Rockhampton,hn.Toowoomba],cost:15},{nodes:[hn.Toowoomba,hn.Brisbane],cost:5},{nodes:[hn.Brisbane,hn.Rockhampton],cost:15},{nodes:[hn.Brisbane,hn.Goldcoast],cost:2},{nodes:[hn.Goldcoast,hn.Toowoomba],cost:6},{nodes:[hn.Goldcoast,hn.Newcastle],cost:15},{nodes:[hn.Newcastle,hn.Sydney2],cost:4},{nodes:[hn.Sydney2,hn.Sydney1],cost:0},{nodes:[hn.Newcastle,hn.Dubbo],cost:10},{nodes:[hn.Dubbo,hn.Toowoomba],cost:18},{nodes:[hn.Sydney1,hn.Wollongong],cost:2},{nodes:[hn.Sydney1,hn.Canberra],cost:8},{nodes:[hn.Canberra,hn.Dubbo],cost:11},{nodes:[hn.Canberra,hn.Newcastle],cost:10},{nodes:[hn.Dubbo,hn.Mildura],cost:16},{nodes:[hn.Mildura,hn.Canberra],cost:16},{nodes:[hn.Canberra,hn.Albury],cost:7},{nodes:[hn.Mildura,hn.Bendigo],cost:7},{nodes:[hn.Bendigo,hn.Melbourne2],cost:3},{nodes:[hn.Melbourne2,hn.Albury],cost:9},{nodes:[hn.Mildura,hn.Adelaide],cost:8},{nodes:[hn.Adelaide,hn.Portaugusta],cost:7},{nodes:[hn.Portaugusta,hn.CooberPedy],cost:11},{nodes:[hn.Mildura,hn.Portaugusta],cost:11},{nodes:[hn.Adelaide,hn.Geelong],cost:13},{nodes:[hn.Geelong,hn.Bendigo],cost:5},{nodes:[hn.Bendigo,hn.Albury],cost:6},{nodes:[hn.Wollongong,hn.Melbourne1],cost:19},{nodes:[hn.Melbourne1,hn.Launceston],cost:19},{nodes:[hn.Launceston,hn.Hobart],cost:5},{nodes:[hn.Melbourne1,hn.Geelong],cost:2},{nodes:[hn.Melbourne2,hn.Melbourne1],cost:0},{nodes:[hn.CooberPedy,hn.Alicesprings],cost:13},{nodes:[hn.Alicesprings,hn.Tennantcreek],cost:10},{nodes:[hn.Tennantcreek,hn.Katherine],cost:14},{nodes:[hn.Katherine,hn.Darwin],cost:6}],resupply:[[[3,5,4],[4,6,4],[4,7,5],[5,9,6],[7,10,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]],uraniumMineResupply:[[1,2,3],[1,2,3],[2,2,4],[2,3,5],[3,3,6]],startingResources:[24,18,15,0],startingSupply:[24,24,24,0],setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(yn).filter((function(e){return 17!==e.number}));if("original"==n){a=a.slice(8);var i=a.findIndex((function(e){return 13==e.number})),s=a.splice(i,1)[0],c=a.pop();a=an(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a.unshift(s),a.push(c),r=[Ar(3),Ar(4),Ar(5),Ar(6)],o=[Ar(7),Ar(8),Ar(9),Ar(10)]}else{var u=an(a.splice(0,13),t()+""),l=u.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=u.shift(),f=a.pop();a=an(a,t()+""),2==e?(u=u.slice(1),a=an(a.slice(5).concat(u),t()+"")):3==e?(u=u.slice(2),a=an(a.slice(6).concat(u),t()+"")):4==e?(u=u.slice(1),a=an(a.slice(3).concat(u),t()+"")):a=an(a.concat(u),t()+""),a.unshift(d),a.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},mapSpecificRules:"Uranium mines: the five uranium power plants (11, 23, 28, 34, 39) are replaced by uranium mines. Power plant 17 is removed from the deck. Mines are bought in the normal power-plant auctions but do not power cities and do not count toward the 3-power-plant hand limit (a player may hold any number of mines plus up to 3 power plants). Mines DO count for player order. Instead of powering cities, during Bureaucracy each mine produces uranium for sale on the separate uranium market. Uranium market: a separate market of 12 slots (prices $2–$7, two slots each), all filled at game start. When selling, a player earns the highest available (empty-slot) price times the total cities their mines could power, then places one uranium token per mine on the highest empty slots. The resource-market refill REMOVES uranium tokens from the cheapest filled slots. Selling happens AUTOMATICALLY during Bureaucracy, in reverse turn order (the last player in turn order sells first). The printed rules let a player decline to sell; for simplicity this implementation always sells, so no player action is required. Unlike city income, uranium income is still paid in the final round. Main resource market: there is no uranium row — coal, oil and garbage only. Step 3 CO2 tax: when Step 3 begins, the six cheapest tokens of each resource move into new $9 and $10 spaces, and the $1 and $2 spaces become inactive for the rest of the game (the market shifts up by $2). General connection: any single build may connect a city for a flat 20 Elektro instead of the shortest-path connection cost, and this may be used multiple times in one turn. Metropolises: Melbourne and Sydney each consist of two cities (1 and 2) connected by a 0-cost edge. Regions need not be adjacent: any combination of regions may be in play.\n",deckBuild:"power plant 17 is removed from the game; the five uranium mines (11, 23, 28, 34, 39) stay in the deck. Otherwise standard setup for both variants."};(function(e){e["Purple"]="purple",e["Green"]="green",e["Red"]="red",e["Blue"]="blue",e["Yellow"]="yellow"})(vn||(vn={})),function(e){e["Friedrichshafen"]="Friedrichshafen",e["Ravensburg"]="Ravensburg",e["Biberach"]="Biberach",e["Sigmarincen"]="Sigmaringen",e["Konstanz"]="Konstanz",e["Ulm"]="Ulm",e["Augsburg"]="Augsburg",e["Basel"]="Basel",e["Waldshuttiencen"]="Waldshut-Tiengen",e["Singen"]="Singen",e["Tuttlincen"]="Tuttlingen",e["Donaueschingen"]="Donaueschingen",e["Freiburg"]="Freiburg",e["Lorrach"]="Lorrach",e["Tauberbischofsheim"]="Tauberbischofsheim",e["Schwabischhall"]="Schwabisch Hall",e["Heilbronn"]="Heilbronn",e["Sinsheim"]="Sinsheim",e["Heidelber"]="Heidelberg",e["Mannheim"]="Mannheim",e["Luowigshafen"]="Ludwigshafen",e["Nurnberg"]="Nurnberg",e["Ellwangen"]="Ellwangen",e["Coppingen"]="Göppingen",e["Reutlincen"]="Reutlingen",e["Stuttgart"]="Stuttgart",e["Ludwigsburg"]="Ludwigsburg",e["Boblingen"]="Boblingen",e["Laha"]="Lahr",e["Badenbaden"]="Baden-Baden",e["Offenburg"]="Offenburg",e["Strasbourg"]="Strasbourg",e["Pforzheim"]="Pforzheim",e["Rastatt"]="Rastatt",e["Karlsruhf"]="Karlsruhe"}(bn||(bn={}));var xn,kn,Mn={name:"Baden-Württemberg",cities:[{name:bn.Friedrichshafen,region:vn.Purple,x:1286,y:2177},{name:bn.Ravensburg,region:vn.Purple,x:1365,y:2023},{name:bn.Biberach,region:vn.Purple,x:1451,y:1779},{name:bn.Sigmarincen,region:vn.Purple,x:1111,y:1803},{name:bn.Konstanz,region:vn.Purple,x:1088,y:2163},{name:bn.Ulm,region:vn.Purple,x:1541,y:1499},{name:bn.Augsburg,region:vn.Purple,x:1830,y:1505,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:bn.Basel,region:vn.Green,x:103,y:2271,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:bn.Waldshuttiencen,region:vn.Green,x:502,y:2166},{name:bn.Singen,region:vn.Green,x:874,y:2084},{name:bn.Tuttlincen,region:vn.Green,x:870,y:1854},{name:bn.Donaueschingen,region:vn.Green,x:669,y:1923},{name:bn.Freiburg,region:vn.Green,x:290,y:1828},{name:bn.Lorrach,region:vn.Green,x:212,y:2141},{name:bn.Tauberbischofsheim,region:vn.Red,x:1354,y:450},{name:bn.Schwabischhall,region:vn.Red,x:1415,y:899},{name:bn.Heilbronn,region:vn.Red,x:1115,y:872},{name:bn.Sinsheim,region:vn.Red,x:920,y:785},{name:bn.Heidelber,region:vn.Red,x:817,y:660},{name:bn.Mannheim,region:vn.Red,x:710,y:540},{name:bn.Luowigshafen,region:vn.Red,x:579,y:588,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:bn.Nurnberg,region:vn.Blue,x:1837,y:771,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:bn.Ellwangen,region:vn.Blue,x:1637,y:1030},{name:bn.Coppingen,region:vn.Blue,x:1387,y:1233},{name:bn.Reutlincen,region:vn.Blue,x:1107,y:1443},{name:bn.Stuttgart,region:vn.Blue,x:1106,y:1217},{name:bn.Ludwigsburg,region:vn.Blue,x:1099,y:1047},{name:bn.Boblingen,region:vn.Blue,x:956,y:1277},{name:bn.Laha,region:vn.Yellow,x:296,y:1575},{name:bn.Badenbaden,region:vn.Yellow,x:554,y:1259},{name:bn.Offenburg,region:vn.Yellow,x:395,y:1422},{name:bn.Strasbourg,region:vn.Yellow,x:211,y:1330,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:bn.Pforzheim,region:vn.Yellow,x:794,y:1095},{name:bn.Rastatt,region:vn.Yellow,x:509,y:1109},{name:bn.Karlsruhf,region:vn.Yellow,x:638,y:974}],connections:[{nodes:[bn.Luowigshafen,bn.Mannheim],cost:0},{nodes:[bn.Mannheim,bn.Heidelber],cost:4},{nodes:[bn.Mannheim,bn.Karlsruhf],cost:10},{nodes:[bn.Karlsruhf,bn.Heidelber],cost:9},{nodes:[bn.Heidelber,bn.Sinsheim],cost:5},{nodes:[bn.Sinsheim,bn.Tauberbischofsheim],cost:15},{nodes:[bn.Tauberbischofsheim,bn.Heilbronn],cost:13},{nodes:[bn.Heilbronn,bn.Sinsheim],cost:6},{nodes:[bn.Sinsheim,bn.Karlsruhf],cost:9},{nodes:[bn.Karlsruhf,bn.Rastatt],cost:4},{nodes:[bn.Karlsruhf,bn.Pforzheim],cost:6},{nodes:[bn.Pforzheim,bn.Sinsheim],cost:10},{nodes:[bn.Tauberbischofsheim,bn.Schwabischhall],cost:13},{nodes:[bn.Schwabischhall,bn.Ellwangen],cost:8},{nodes:[bn.Ellwangen,bn.Nurnberg],cost:18},{nodes:[bn.Schwabischhall,bn.Coppingen],cost:11},{nodes:[bn.Coppingen,bn.Ellwangen],cost:10},{nodes:[bn.Ludwigsburg,bn.Heilbronn],cost:5},{nodes:[bn.Heilbronn,bn.Schwabischhall],cost:9},{nodes:[bn.Schwabischhall,bn.Ludwigsburg],cost:10},{nodes:[bn.Ludwigsburg,bn.Coppingen],cost:9},{nodes:[bn.Coppingen,bn.Stuttgart],cost:8},{nodes:[bn.Ludwigsburg,bn.Sinsheim],cost:10},{nodes:[bn.Ludwigsburg,bn.Pforzheim],cost:8},{nodes:[bn.Pforzheim,bn.Badenbaden],cost:9},{nodes:[bn.Badenbaden,bn.Rastatt],cost:2},{nodes:[bn.Strasbourg,bn.Offenburg],cost:5},{nodes:[bn.Offenburg,bn.Badenbaden],cost:8},{nodes:[bn.Pforzheim,bn.Stuttgart],cost:8},{nodes:[bn.Stuttgart,bn.Ludwigsburg],cost:2},{nodes:[bn.Stuttgart,bn.Boblingen],cost:4},{nodes:[bn.Boblingen,bn.Pforzheim],cost:7},{nodes:[bn.Boblingen,bn.Badenbaden],cost:15},{nodes:[bn.Reutlincen,bn.Stuttgart],cost:9},{nodes:[bn.Boblingen,bn.Reutlincen],cost:8},{nodes:[bn.Reutlincen,bn.Badenbaden],cost:22},{nodes:[bn.Offenburg,bn.Reutlincen],cost:30},{nodes:[bn.Reutlincen,bn.Coppingen],cost:10},{nodes:[bn.Coppingen,bn.Ulm],cost:10},{nodes:[bn.Ulm,bn.Reutlincen],cost:16},{nodes:[bn.Ellwangen,bn.Ulm],cost:19},{nodes:[bn.Ulm,bn.Augsburg],cost:16},{nodes:[bn.Reutlincen,bn.Tuttlincen],cost:17},{nodes:[bn.Reutlincen,bn.Sigmarincen],cost:11},{nodes:[bn.Sigmarincen,bn.Ulm],cost:14},{nodes:[bn.Ulm,bn.Biberach],cost:8},{nodes:[bn.Biberach,bn.Sigmarincen],cost:11},{nodes:[bn.Biberach,bn.Ravensburg],cost:9},{nodes:[bn.Ravensburg,bn.Sigmarincen],cost:10},{nodes:[bn.Sigmarincen,bn.Tuttlincen],cost:7},{nodes:[bn.Tuttlincen,bn.Offenburg],cost:27},{nodes:[bn.Offenburg,bn.Laha],cost:3},{nodes:[bn.Laha,bn.Freiburg],cost:8},{nodes:[bn.Laha,bn.Donaueschingen],cost:19},{nodes:[bn.Donaueschingen,bn.Tuttlincen],cost:6},{nodes:[bn.Tuttlincen,bn.Singen],cost:7},{nodes:[bn.Singen,bn.Donaueschingen],cost:7},{nodes:[bn.Donaueschingen,bn.Freiburg],cost:13},{nodes:[bn.Freiburg,bn.Lorrach],cost:10},{nodes:[bn.Freiburg,bn.Waldshuttiencen],cost:15},{nodes:[bn.Waldshuttiencen,bn.Lorrach],cost:9},{nodes:[bn.Lorrach,bn.Basel],cost:2},{nodes:[bn.Waldshuttiencen,bn.Donaueschingen],cost:11},{nodes:[bn.Singen,bn.Konstanz],cost:6},{nodes:[bn.Konstanz,bn.Friedrichshafen],cost:9},{nodes:[bn.Friedrichshafen,bn.Ravensburg],cost:3},{nodes:[bn.Friedrichshafen,bn.Sigmarincen],cost:11},{nodes:[bn.Sigmarincen,bn.Konstanz],cost:14},{nodes:[bn.Konstanz,bn.Tuttlincen],cost:11}],layout:"Portrait",adjustRatio:[.425,.425],mapPosition:[100,-90],resupply:[[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],mapSpecificRules:"Phase order change: buy power plants first, then determine player order. If no power plant is sold in a round, remove the two lowest-numbered plants from the market and replace them from the draw stack. Never remove a power plant whose number is equal to or lower than the number of cities any player has powered. Transregional cities (e.g. Strasbourg) are only available starting in Step 2. Step 2 begins when any player connects to 9 cities (2 players), 6 cities (3–5 players), or 5 cities (6 players)."};(function(e){e["Green"]="green",e["Brown"]="brown",e["Yellow"]="yellow",e["Red"]="red",e["Blue"]="blue"})(xn||(xn={})),function(e){e["Groningen"]="Groningen",e["Enschede"]="Enschede",e["Apeldoorn"]="Apeldoorn",e["Arnhem"]="Arnhem",e["Leeuwarden"]="Leeuwarden",e["Nijmegen"]="Nijmegen",e["Denhelder"]="Den Helder",e["Zaanstad"]="Zaanstad",e["Amsterdam"]="Amsterdam",e["Utrecht"]="Utrecht",e["Haarlem"]="Haarlem",e["Leiden"]="Leiden",e["Denhaas"]="Den Haas",e["Rotterdam"]="Rotterdam",e["Enbosch"]="En Bosch",e["Venlo"]="Venlo",e["Eindhoven"]="Eindhoven",e["Tilburg"]="Tilburg",e["Breda"]="Breda",e["Middelburg"]="Middelburg",e["Maastricht"]="Maastricht",e["Leuven"]="Leuven",e["Brussel"]="Brussel",e["Antwerpen"]="Antwerpen",e["Gent"]="Gent",e["Kortrijk"]="Kortrijk",e["Brugge"]="Brugge",e["Dostende"]="Dostende",e["Liege"]="Liege",e["Namur"]="Namur",e["Bruxelles"]="Bruxelles",e["Charleroi"]="Charleroi",e["Mons"]="Mons",e["Arlon"]="Arlon",e["Luxembourg"]="Luxembourg"}(kn||(kn={}));var Pn,_n,Sn={name:"Benelux",cities:[{name:kn.Groningen,region:xn.Green,x:654,y:147},{name:kn.Enschede,region:xn.Green,x:659,y:369},{name:kn.Apeldoorn,region:xn.Green,x:552,y:329},{name:kn.Arnhem,region:xn.Green,x:541,y:386},{name:kn.Leeuwarden,region:xn.Green,x:560,y:136},{name:kn.Nijmegen,region:xn.Green,x:518,y:445},{name:kn.Denhelder,region:xn.Green,x:411,y:169},{name:kn.Zaanstad,region:xn.Brown,x:432,y:245},{name:kn.Amsterdam,region:xn.Brown,x:437,y:299},{name:kn.Utrecht,region:xn.Brown,x:429,y:361},{name:kn.Haarlem,region:xn.Brown,x:373,y:259},{name:kn.Leiden,region:xn.Brown,x:355,y:322},{name:kn.Denhaas,region:xn.Brown,x:300,y:347},{name:kn.Rotterdam,region:xn.Brown,x:338,y:400},{name:kn.Enbosch,region:xn.Yellow,x:448,y:447},{name:kn.Venlo,region:xn.Yellow,x:550,y:526},{name:kn.Eindhoven,region:xn.Yellow,x:463,y:539},{name:kn.Tilburg,region:xn.Yellow,x:404,y:497},{name:kn.Breda,region:xn.Yellow,x:349,y:466},{name:kn.Middelburg,region:xn.Yellow,x:210,y:453},{name:kn.Maastricht,region:xn.Yellow,x:480,y:640},{name:kn.Leuven,region:xn.Red,x:352,y:619},{name:kn.Brussel,region:xn.Red,x:286,y:595},{name:kn.Antwerpen,region:xn.Red,x:304,y:526},{name:kn.Gent,region:xn.Red,x:206,y:562},{name:kn.Kortrijk,region:xn.Red,x:132,y:589},{name:kn.Brugge,region:xn.Red,x:160,y:511},{name:kn.Dostende,region:xn.Red,x:94,y:495},{name:kn.Liege,region:xn.Blue,x:445,y:705},{name:kn.Namur,region:xn.Blue,x:361,y:713},{name:kn.Bruxelles,region:xn.Blue,x:283,y:642},{name:kn.Charleroi,region:xn.Blue,x:278,y:725},{name:kn.Mons,region:xn.Blue,x:212,y:686},{name:kn.Arlon,region:xn.Blue,x:431,y:876},{name:kn.Luxembourg,region:xn.Blue,x:502,y:918}],connections:[{nodes:[kn.Denhelder,kn.Leeuwarden],cost:13},{nodes:[kn.Leeuwarden,kn.Groningen],cost:6},{nodes:[kn.Groningen,kn.Enschede],cost:12},{nodes:[kn.Enschede,kn.Apeldoorn],cost:9},{nodes:[kn.Apeldoorn,kn.Arnhem],cost:3},{nodes:[kn.Arnhem,kn.Nijmegen],cost:2},{nodes:[kn.Nijmegen,kn.Enbosch],cost:6},{nodes:[kn.Nijmegen,kn.Venlo],cost:7},{nodes:[kn.Nijmegen,kn.Eindhoven],cost:7},{nodes:[kn.Eindhoven,kn.Enbosch],cost:4},{nodes:[kn.Enbosch,kn.Utrecht],cost:8},{nodes:[kn.Apeldoorn,kn.Leeuwarden],cost:15},{nodes:[kn.Leeuwarden,kn.Enschede],cost:13},{nodes:[kn.Enschede,kn.Arnhem],cost:7},{nodes:[kn.Arnhem,kn.Utrecht],cost:6},{nodes:[kn.Utrecht,kn.Amsterdam],cost:4},{nodes:[kn.Amsterdam,kn.Haarlem],cost:2},{nodes:[kn.Haarlem,kn.Zaanstad],cost:2},{nodes:[kn.Zaanstad,kn.Denhelder],cost:6},{nodes:[kn.Denhelder,kn.Haarlem],cost:7},{nodes:[kn.Haarlem,kn.Leiden],cost:3},{nodes:[kn.Leiden,kn.Denhaas],cost:2},{nodes:[kn.Denhaas,kn.Rotterdam],cost:3},{nodes:[kn.Rotterdam,kn.Leiden],cost:3},{nodes:[kn.Leiden,kn.Amsterdam],cost:4},{nodes:[kn.Leiden,kn.Utrecht],cost:4},{nodes:[kn.Utrecht,kn.Rotterdam],cost:5},{nodes:[kn.Rotterdam,kn.Enbosch],cost:11},{nodes:[kn.Breda,kn.Rotterdam],cost:8},{nodes:[kn.Breda,kn.Middelburg],cost:9},{nodes:[kn.Middelburg,kn.Antwerpen],cost:8},{nodes:[kn.Antwerpen,kn.Brugge],cost:9},{nodes:[kn.Brugge,kn.Dostende],cost:2},{nodes:[kn.Amsterdam,kn.Zaanstad],cost:1},{nodes:[kn.Amsterdam,kn.Apeldoorn],cost:7},{nodes:[kn.Apeldoorn,kn.Utrecht],cost:6},{nodes:[kn.Venlo,kn.Eindhoven],cost:5},{nodes:[kn.Eindhoven,kn.Tilburg],cost:4},{nodes:[kn.Tilburg,kn.Breda],cost:2},{nodes:[kn.Breda,kn.Enbosch],cost:5},{nodes:[kn.Breda,kn.Antwerpen],cost:5},{nodes:[kn.Antwerpen,kn.Tilburg],cost:6},{nodes:[kn.Antwerpen,kn.Eindhoven],cost:8},{nodes:[kn.Eindhoven,kn.Maastricht],cost:8},{nodes:[kn.Maastricht,kn.Venlo],cost:10},{nodes:[kn.Maastricht,kn.Leuven],cost:7},{nodes:[kn.Leuven,kn.Eindhoven],cost:9},{nodes:[kn.Leuven,kn.Brussel],cost:2},{nodes:[kn.Brussel,kn.Bruxelles],cost:0},{nodes:[kn.Bruxelles,kn.Charleroi],cost:5},{nodes:[kn.Charleroi,kn.Namur],cost:3},{nodes:[kn.Namur,kn.Bruxelles],cost:5},{nodes:[kn.Leuven,kn.Namur],cost:5},{nodes:[kn.Leuven,kn.Liege],cost:7},{nodes:[kn.Liege,kn.Namur],cost:6},{nodes:[kn.Liege,kn.Maastricht],cost:3},{nodes:[kn.Kortrijk,kn.Dostende],cost:5},{nodes:[kn.Brugge,kn.Kortrijk],cost:4},{nodes:[kn.Kortrijk,kn.Gent],cost:4},{nodes:[kn.Gent,kn.Brugge],cost:3},{nodes:[kn.Kortrijk,kn.Bruxelles],cost:10},{nodes:[kn.Bruxelles,kn.Mons],cost:5},{nodes:[kn.Mons,kn.Kortrijk],cost:8},{nodes:[kn.Gent,kn.Antwerpen],cost:5},{nodes:[kn.Antwerpen,kn.Brussel],cost:4},{nodes:[kn.Brussel,kn.Gent],cost:7},{nodes:[kn.Antwerpen,kn.Leuven],cost:4},{nodes:[kn.Mons,kn.Charleroi],cost:4},{nodes:[kn.Charleroi,kn.Arlon],cost:18},{nodes:[kn.Arlon,kn.Luxembourg],cost:5},{nodes:[kn.Luxembourg,kn.Liege],cost:20},{nodes:[kn.Liege,kn.Arlon],cost:18},{nodes:[kn.Arlon,kn.Namur],cost:16},{nodes:[kn.Tilburg,kn.Enbosch],cost:3}],layout:"Portrait",mapPosition:[0,-50],adjustRatio:[1.15,1.15],resupply:[[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[1,2,3],[2,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[18,24,6,2],viewBox:[1530,1060],playerOrderPosition:[1225,140],buttonsPosition:[1370,0],playerBoardsPosition:[1170,200],actualMarketWidth:495,mapSpecificRules:"Ecological plants can enter the market earlier. Remove smallest power plant after each round (unless discount plant was removed)."};(function(e){e["Red"]="red",e["Pink"]="pink",e["Purple"]="purple",e["Green"]="green",e["Brown"]="brown",e["Yellow"]="yellow"})(Pn||(Pn={})),function(e){e["Parnaiba"]="Parnaiba",e["Fortaleza"]="Fortaleza",e["Sadluis"]="Sadluis",e["Belem"]="Belem",e["Teresina"]="Teresina",e["Imperatriz"]="Imperatriz",e["Maraba"]="Maraba",e["Campinagrande"]="Campina Grande",e["Petrolina"]="Petrolina",e["Natal"]="Natal",e["Joaopessoa"]="Joaopessoa",e["Recife"]="Recife",e["Maceio"]="Maceio",e["Aracaju"]="Aracaju",e["Salvadordabahia"]="Salvador Da Bahia",e["Montesclaros"]="Montes Claros",e["Brasilia"]="Brasilia",e["Palmas"]="Palmas",e["Porangatu"]="Porangatu",e["Goiania"]="Goiania",e["Uberlandia"]="Uberlandia",e["Vitoria"]="Vitoria",e["Riodejaneiro"]="Rio De Janeiro",e["Saogoncalo"]="Sao Goncalo",e["Saopaulo"]="Sao Paulo",e["Guarulhos"]="Guarulhos",e["Campinas"]="Campinas",e["Belohorizonte"]="Belo Horizonte",e["Curitiba"]="Curitiba",e["Florianopolis"]="Florianopolis",e["Portoalecre"]="Porto Alecre",e["Pelotas"]="Pelotas",e["Urucuaiana"]="Urucuaiana",e["Londrina"]="Londrina",e["Campogrande"]="Campo Grande",e["Macapa"]="Macapa",e["Boavista"]="Boavista",e["Manaus"]="Manaus",e["Portovelho"]="Porto Velho",e["Cuiaba"]="Cuiaba",e["Vilhena"]="Vilhena",e["Riobranco"]="Rio Branco"}(_n||(_n={}));var Cn,Bn,Ln={name:"Brazil",cities:[{name:_n.Parnaiba,region:Pn.Red,x:855,y:458},{name:_n.Fortaleza,region:Pn.Red,x:961,y:478},{name:_n.Sadluis,region:Pn.Red,x:772,y:418},{name:_n.Belem,region:Pn.Red,x:655,y:378},{name:_n.Teresina,region:Pn.Red,x:846,y:548},{name:_n.Imperatriz,region:Pn.Red,x:697,y:535},{name:_n.Maraba,region:Pn.Red,x:581,y:492},{name:_n.Campinagrande,region:Pn.Pink,x:976,y:587},{name:_n.Petrolina,region:Pn.Pink,x:872,y:648},{name:_n.Natal,region:Pn.Pink,x:1061,y:518},{name:_n.Joaopessoa,region:Pn.Pink,x:1097,y:576},{name:_n.Recife,region:Pn.Pink,x:1083,y:637},{name:_n.Maceio,region:Pn.Pink,x:1040,y:699},{name:_n.Aracaju,region:Pn.Pink,x:995,y:750},{name:_n.Salvadordabahia,region:Pn.Purple,x:960,y:808},{name:_n.Montesclaros,region:Pn.Purple,x:795,y:847},{name:_n.Brasilia,region:Pn.Purple,x:671,y:817},{name:_n.Palmas,region:Pn.Purple,x:648,y:663},{name:_n.Porangatu,region:Pn.Purple,x:598,y:762},{name:_n.Goiania,region:Pn.Purple,x:601,y:889},{name:_n.Uberlandia,region:Pn.Purple,x:646,y:964},{name:_n.Vitoria,region:Pn.Green,x:910,y:971},{name:_n.Riodejaneiro,region:Pn.Green,x:795,y:1076},{name:_n.Saogoncalo,region:Pn.Green,x:843,y:1033},{name:_n.Saopaulo,region:Pn.Green,x:721,y:1134},{name:_n.Guarulhos,region:Pn.Green,x:678,y:1089},{name:_n.Campinas,region:Pn.Green,x:629,y:1037},{name:_n.Belohorizonte,region:Pn.Green,x:771,y:960},{name:_n.Curitiba,region:Pn.Brown,x:615,y:1144},{name:_n.Florianopolis,region:Pn.Brown,x:665,y:1214},{name:_n.Portoalecre,region:Pn.Brown,x:590,y:1281},{name:_n.Pelotas,region:Pn.Brown,x:551,y:1346},{name:_n.Urucuaiana,region:Pn.Brown,x:444,y:1250},{name:_n.Londrina,region:Pn.Brown,x:516,y:1075},{name:_n.Campogrande,region:Pn.Brown,x:440,y:983},{name:_n.Macapa,region:Pn.Yellow,x:561,y:317},{name:_n.Boavista,region:Pn.Yellow,x:308,y:269},{name:_n.Manaus,region:Pn.Yellow,x:258,y:466},{name:_n.Portovelho,region:Pn.Yellow,x:238,y:620},{name:_n.Cuiaba,region:Pn.Yellow,x:432,y:850},{name:_n.Vilhena,region:Pn.Yellow,x:328,y:741},{name:_n.Riobranco,region:Pn.Yellow,x:87,y:666}],connections:[{nodes:[_n.Boavista,_n.Macapa],cost:22},{nodes:[_n.Macapa,_n.Belem],cost:10},{nodes:[_n.Belem,_n.Sadluis],cost:10},{nodes:[_n.Sadluis,_n.Imperatriz],cost:9},{nodes:[_n.Belem,_n.Imperatriz],cost:9},{nodes:[_n.Belem,_n.Maraba],cost:9},{nodes:[_n.Macapa,_n.Maraba],cost:16},{nodes:[_n.Maraba,_n.Manaus],cost:22},{nodes:[_n.Macapa,_n.Manaus],cost:18},{nodes:[_n.Boavista,_n.Manaus],cost:13},{nodes:[_n.Boavista,_n.Riobranco],cost:30},{nodes:[_n.Riobranco,_n.Manaus],cost:23},{nodes:[_n.Manaus,_n.Portovelho],cost:15},{nodes:[_n.Portovelho,_n.Riobranco],cost:10},{nodes:[_n.Riobranco,_n.Vilhena],cost:18},{nodes:[_n.Portovelho,_n.Vilhena],cost:12},{nodes:[_n.Manaus,_n.Vilhena],cost:21},{nodes:[_n.Vilhena,_n.Cuiaba],cost:10},{nodes:[_n.Vilhena,_n.Maraba],cost:31},{nodes:[_n.Maraba,_n.Imperatriz],cost:4},{nodes:[_n.Sadluis,_n.Teresina],cost:8},{nodes:[_n.Teresina,_n.Imperatriz],cost:11},{nodes:[_n.Imperatriz,_n.Palmas],cost:9},{nodes:[_n.Palmas,_n.Maraba],cost:10},{nodes:[_n.Maraba,_n.Porangatu],cost:17},{nodes:[_n.Porangatu,_n.Goiania],cost:8},{nodes:[_n.Porangatu,_n.Vilhena],cost:23},{nodes:[_n.Cuiaba,_n.Porangatu],cost:16},{nodes:[_n.Porangatu,_n.Palmas],cost:8},{nodes:[_n.Palmas,_n.Brasilia],cost:13},{nodes:[_n.Brasilia,_n.Porangatu],cost:6},{nodes:[_n.Brasilia,_n.Goiania],cost:4},{nodes:[_n.Goiania,_n.Cuiaba],cost:15},{nodes:[_n.Sadluis,_n.Parnaiba],cost:5},{nodes:[_n.Parnaiba,_n.Teresina],cost:5},{nodes:[_n.Parnaiba,_n.Fortaleza],cost:7},{nodes:[_n.Fortaleza,_n.Natal],cost:8},{nodes:[_n.Natal,_n.Joaopessoa],cost:3},{nodes:[_n.Joaopessoa,_n.Recife],cost:2},{nodes:[_n.Recife,_n.Maceio],cost:3},{nodes:[_n.Maceio,_n.Aracaju],cost:3},{nodes:[_n.Aracaju,_n.Salvadordabahia],cost:4},{nodes:[_n.Natal,_n.Campinagrande],cost:4},{nodes:[_n.Fortaleza,_n.Teresina],cost:10},{nodes:[_n.Teresina,_n.Petrolina],cost:12},{nodes:[_n.Petrolina,_n.Palmas],cost:19},{nodes:[_n.Petrolina,_n.Brasilia],cost:22},{nodes:[_n.Petrolina,_n.Montesclaros],cost:19},{nodes:[_n.Montesclaros,_n.Salvadordabahia],cost:16},{nodes:[_n.Salvadordabahia,_n.Petrolina],cost:10},{nodes:[_n.Petrolina,_n.Campinagrande],cost:12},{nodes:[_n.Petrolina,_n.Aracaju],cost:11},{nodes:[_n.Vitoria,_n.Salvadordabahia],cost:16},{nodes:[_n.Montesclaros,_n.Vitoria],cost:14},{nodes:[_n.Vitoria,_n.Saogoncalo],cost:6},{nodes:[_n.Vitoria,_n.Belohorizonte],cost:9},{nodes:[_n.Belohorizonte,_n.Montesclaros],cost:8},{nodes:[_n.Montesclaros,_n.Brasilia],cost:9},{nodes:[_n.Brasilia,_n.Uberlandia],cost:8},{nodes:[_n.Uberlandia,_n.Goiania],cost:7},{nodes:[_n.Goiania,_n.Campogrande],cost:16},{nodes:[_n.Campogrande,_n.Cuiaba],cost:13},{nodes:[_n.Campogrande,_n.Londrina],cost:10},{nodes:[_n.Campogrande,_n.Uberlandia],cost:13},{nodes:[_n.Uberlandia,_n.Londrina],cost:12},{nodes:[_n.Londrina,_n.Campinas],cost:9},{nodes:[_n.Campinas,_n.Uberlandia],cost:9},{nodes:[_n.Uberlandia,_n.Belohorizonte],cost:10},{nodes:[_n.Uberlandia,_n.Brasilia],cost:8},{nodes:[_n.Brasilia,_n.Belohorizonte],cost:14},{nodes:[_n.Belohorizonte,_n.Saogoncalo],cost:7},{nodes:[_n.Saogoncalo,_n.Riodejaneiro],cost:0},{nodes:[_n.Riodejaneiro,_n.Saopaulo],cost:7},{nodes:[_n.Saopaulo,_n.Guarulhos],cost:0},{nodes:[_n.Guarulhos,_n.Campinas],cost:0},{nodes:[_n.Campinas,_n.Curitiba],cost:6},{nodes:[_n.Curitiba,_n.Londrina],cost:7},{nodes:[_n.Saopaulo,_n.Florianopolis],cost:9},{nodes:[_n.Florianopolis,_n.Curitiba],cost:4},{nodes:[_n.Londrina,_n.Urucuaiana],cost:18},{nodes:[_n.Urucuaiana,_n.Pelotas],cost:9},{nodes:[_n.Pelotas,_n.Portoalecre],cost:4},{nodes:[_n.Portoalecre,_n.Urucuaiana],cost:10},{nodes:[_n.Londrina,_n.Portoalecre],cost:16},{nodes:[_n.Portoalecre,_n.Curitiba],cost:11},{nodes:[_n.Portoalecre,_n.Florianopolis],cost:7},{nodes:[_n.Guarulhos,_n.Belohorizonte],cost:10},{nodes:[_n.Maceio,_n.Campinagrande],cost:6},{nodes:[_n.Petrolina,_n.Fortaleza],cost:14},{nodes:[_n.Recife,_n.Campinagrande],cost:3}],layout:"Portrait",adjustRatio:[.85,.85],mapPosition:[-20,-130],resupply:[[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[24,18,6,2],setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(yn),i=a.filter((function(e){return e.type==Me.Garbage&&e.number>14}));if("original"==n){a=a.slice(8);var s=a.splice(2,1)[0],c=a.splice(2,1)[0],u=a.pop();a=an(a.filter((function(e){return e.type!=Me.Garbage})),t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a=a.concat(i),a=an(a,t()+""),a.unshift(c),a.unshift(s),a.push(u),r=[Ar(3),Ar(4),Ar(5),Ar(6)],o=[Ar(7),Ar(8),Ar(9),Ar(10)]}else{var l=a.splice(3,1)[0],d=a.splice(10,1)[0],f=an(a.splice(0,11),t()+""),h=f.splice(0,6);h.push(l,d),h=h.sort((function(e,n){return e.number-n.number})),r=h.slice(0,4),o=h.slice(4);var p=f.shift(),g=a.pop();a=an(a.filter((function(e){return e.type!=Me.Garbage})),t()+""),2==e?(f=f.slice(1),a=an(a.slice(5).concat(f),t()+"")):3==e?(f=f.slice(2),a=an(a.slice(6).concat(f),t()+"")):4==e?(f=f.slice(1),a=an(a.slice(3).concat(f),t()+"")):a=an(a.concat(f),t()+""),a=a.concat(i),a=an(a,t()+""),a.unshift(p),a.push(g)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},mapSpecificRules:"Play with all garbage power plants.\n",deckBuild:{recharged:"power plants 6 and 14 always start in the market; the other six market plants are drawn from the remaining low plants. Garbage plants above 14 are set aside during the player-count removal and shuffled back in, so no garbage plant ever leaves the game.",original:"both 13 and 14 are set aside; after the player-count removal (garbage plants excluded and shuffled back in), 13 goes on top of the deck with 14 directly below it."}};(function(e){e["Blue"]="blue",e["Pink"]="pink",e["Purple"]="purple",e["Red"]="red",e["Orange"]="orange"})(Cn||(Cn={})),function(e){e["Borgfeld"]="Borgfeld",e["Oberneuland"]="Oberneuland",e["Osterholz"]="Osterholz",e["HornLehe"]="Horn-Lehe",e["Vahr"]="Vahr",e["Schwachhausen"]="Schwachhausen",e["OstlicheVorstadt"]="Östliche Vorstadt",e["Findorff"]="Findorff",e["Walle"]="Walle",e["Mitte"]="Mitte",e["Hemelingen"]="Hemelingen",e["Mahndorf"]="Mahndorf",e["Neustadt"]="Neustadt",e["Obervieland"]="Obervieland",e["Huchting"]="Huchting",e["Hofen"]="Höfen",e["Pusdorf"]="Pusdorf",e["Neustadtshafen"]="Neustadtshafen",e["Strom"]="Strom",e["Seehausen"]="Seehausen",e["Blockland"]="Blockland",e["Gropelingen"]="Gröpelingen",e["Burglesum"]="Burglesum",e["Vegesack"]="Vegesack",e["Blumenthal"]="Blumenthal"}(Bn||(Bn={}));var Rn,An,On={name:"Bremen",cities:[{name:Bn.Borgfeld,region:Cn.Blue,connectionCost:15,slotCosts:[8,14],x:645,y:273},{name:Bn.Oberneuland,region:Cn.Blue,connectionCost:14,slotCosts:[8,14,20],x:652,y:342},{name:Bn.Osterholz,region:Cn.Blue,connectionCost:11,slotCosts:[8,14,20],x:660,y:434},{name:Bn.HornLehe,region:Cn.Blue,connectionCost:9,slotCosts:[8,14,20],x:572,y:322},{name:Bn.Vahr,region:Cn.Blue,connectionCost:6,slotCosts:[8,14,20],x:583,y:376},{name:Bn.Schwachhausen,region:Cn.Pink,connectionCost:5,slotCosts:[8,14,20],x:517,y:357},{name:Bn.OstlicheVorstadt,region:Cn.Pink,connectionCost:2,slotCosts:[8,14,20],x:536,y:409},{name:Bn.Findorff,region:Cn.Pink,connectionCost:3,slotCosts:[8,14],x:488,y:311},{name:Bn.Walle,region:Cn.Pink,connectionCost:6,slotCosts:[8,14,20],x:438,y:342},{name:Bn.Mitte,region:Cn.Pink,connectionCost:1,slotCosts:[8,14,20],x:472,y:388},{name:Bn.Hemelingen,region:Cn.Purple,connectionCost:8,slotCosts:[8,14,20],x:600,y:453},{name:Bn.Mahndorf,region:Cn.Purple,connectionCost:10,slotCosts:[8,14,20],x:666,y:499},{name:Bn.Neustadt,region:Cn.Purple,connectionCost:5,slotCosts:[8,14,20],x:464,y:452},{name:Bn.Obervieland,region:Cn.Purple,connectionCost:10,slotCosts:[8,14,20],x:529,y:479},{name:Bn.Huchting,region:Cn.Purple,connectionCost:12,slotCosts:[8,14],x:386,y:442},{name:Bn.Hofen,region:Cn.Red,connectionCost:9,slotCosts:[8,14,20],x:352,y:272},{name:Bn.Pusdorf,region:Cn.Red,connectionCost:7,slotCosts:[8,14,20],x:399,y:386},{name:Bn.Neustadtshafen,region:Cn.Red,connectionCost:8,slotCosts:[8,14,20],x:375,y:340},{name:Bn.Strom,region:Cn.Red,connectionCost:14,slotCosts:[8,14,20],x:328,y:393},{name:Bn.Seehausen,region:Cn.Red,connectionCost:14,slotCosts:[8,14],x:290,y:321},{name:Bn.Blockland,region:Cn.Orange,connectionCost:11,slotCosts:[8,14,20],x:476,y:251},{name:Bn.Gropelingen,region:Cn.Orange,connectionCost:8,slotCosts:[8,14,20],x:426,y:280},{name:Bn.Burglesum,region:Cn.Orange,connectionCost:13,slotCosts:[8,14,20],x:337,y:197},{name:Bn.Vegesack,region:Cn.Orange,connectionCost:10,slotCosts:[8,14,20],x:248,y:170},{name:Bn.Blumenthal,region:Cn.Orange,connectionCost:15,slotCosts:[8,14],x:154,y:135}],connections:[{nodes:[Bn.Borgfeld,Bn.Oberneuland],cost:0},{nodes:[Bn.Oberneuland,Bn.Osterholz],cost:0},{nodes:[Bn.Borgfeld,Bn.HornLehe],cost:0},{nodes:[Bn.Oberneuland,Bn.HornLehe],cost:0},{nodes:[Bn.Oberneuland,Bn.Vahr],cost:0},{nodes:[Bn.Osterholz,Bn.Vahr],cost:0},{nodes:[Bn.HornLehe,Bn.Vahr],cost:0},{nodes:[Bn.HornLehe,Bn.Schwachhausen],cost:0},{nodes:[Bn.HornLehe,Bn.Findorff],cost:0},{nodes:[Bn.Vahr,Bn.Hemelingen],cost:0},{nodes:[Bn.Osterholz,Bn.Mahndorf],cost:0},{nodes:[Bn.Hofen,Bn.Neustadtshafen],cost:0},{nodes:[Bn.Hofen,Bn.Seehausen],cost:0},{nodes:[Bn.Pusdorf,Bn.Neustadtshafen],cost:0},{nodes:[Bn.Neustadtshafen,Bn.Seehausen],cost:0},{nodes:[Bn.Neustadtshafen,Bn.Strom],cost:0},{nodes:[Bn.Seehausen,Bn.Strom],cost:0},{nodes:[Bn.Blockland,Bn.Gropelingen],cost:0},{nodes:[Bn.Blockland,Bn.Burglesum],cost:0},{nodes:[Bn.Gropelingen,Bn.Burglesum],cost:0},{nodes:[Bn.Burglesum,Bn.Vegesack],cost:0},{nodes:[Bn.Vegesack,Bn.Blumenthal],cost:0},{nodes:[Bn.Mahndorf,Bn.Hemelingen],cost:0},{nodes:[Bn.Hemelingen,Bn.Obervieland],cost:0},{nodes:[Bn.Obervieland,Bn.Neustadt],cost:0},{nodes:[Bn.Neustadt,Bn.Huchting],cost:0},{nodes:[Bn.Hemelingen,Bn.OstlicheVorstadt],cost:0},{nodes:[Bn.Obervieland,Bn.OstlicheVorstadt],cost:0},{nodes:[Bn.Neustadt,Bn.Mitte],cost:0},{nodes:[Bn.Neustadt,Bn.OstlicheVorstadt],cost:0},{nodes:[Bn.Huchting,Bn.Strom],cost:0},{nodes:[Bn.Huchting,Bn.Pusdorf],cost:0},{nodes:[Bn.Findorff,Bn.Walle],cost:0},{nodes:[Bn.Findorff,Bn.Mitte],cost:0},{nodes:[Bn.Findorff,Bn.Schwachhausen],cost:0},{nodes:[Bn.Schwachhausen,Bn.OstlicheVorstadt],cost:0},{nodes:[Bn.Schwachhausen,Bn.Mitte],cost:0},{nodes:[Bn.Walle,Bn.Mitte],cost:0},{nodes:[Bn.Mitte,Bn.OstlicheVorstadt],cost:0},{nodes:[Bn.Strom,Bn.Pusdorf],cost:0},{nodes:[Bn.Vahr,Bn.Schwachhausen],cost:0},{nodes:[Bn.Blockland,Bn.HornLehe],cost:0},{nodes:[Bn.Hemelingen,Bn.Osterholz],cost:0},{nodes:[Bn.Hofen,Bn.Gropelingen],cost:0},{nodes:[Bn.Hofen,Bn.Burglesum],cost:0},{nodes:[Bn.Burglesum,Bn.Seehausen],cost:0},{nodes:[Bn.Walle,Bn.Gropelingen],cost:0},{nodes:[Bn.Walle,Bn.Blockland],cost:0},{nodes:[Bn.Findorff,Bn.Blockland],cost:0},{nodes:[Bn.Walle,Bn.Hofen],cost:0},{nodes:[Bn.Walle,Bn.Neustadtshafen],cost:0},{nodes:[Bn.Walle,Bn.Pusdorf],cost:0},{nodes:[Bn.Pusdorf,Bn.Neustadt],cost:0}],layout:"Landscape",adjustRatio:[1.75,1.75],mapPosition:[-120,-140],mapRotation:0,resupply:[[[4,5,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,3,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,1],[1,2,1],[2,3,2],[3,3,3],[3,5,3]],[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]],coalPrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],oilPrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],garbagePrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],startingResources:[22,16,16,0],startingSupply:[22,22,22,0],setupDeck:function(e,n,t){var r=new Set([11,17,23,28,34,36,38,39,46]);e<=4&&(r.add(31),r.add(50));var o,a,i=Object(qe["cloneDeep"])(yn).filter((function(e){return!r.has(e.number)})),s=i.pop();if("original"==n){o=[Ar(3),Ar(4),Ar(5),Ar(6)],a=[Ar(7),Ar(8),Ar(9),Ar(10)];var c=new Set([3,4,5,6,7,8,9,10]),u=i.find((function(e){return 13==e.number})),l=i.filter((function(e){return!c.has(e.number)&&13!=e.number}));return l=an(l,t()+""),l.unshift(u),l.push(s),{actualMarket:o,futureMarket:a,powerPlantsDeck:l}}var d=an(i.filter((function(e){return e.number<=15})),t()+""),f=i.filter((function(e){return e.number>15})),h=d.splice(0,8).sort((function(e,n){return e.number-n.number}));o=h.slice(0,4),a=h.slice(4);var p=d.shift();return f=an(f.concat(d),t()+""),f.unshift(p),f.push(s),{actualMarket:o,futureMarket:a,powerPlantsDeck:f}},mapSpecificRules:"Flat district costs: instead of connection costs between cities, each district has a single cost. Connecting a new district to your network costs the sum of the district costs along the cheapest path from your network (you pay for each district entered, including ones you only pass through), plus the cheapest building cost (8 / 14 / 20 Elektro) in the new district. (on your 1st placement if A has 1 and B has 3 then A to B is 8+3+8=19, and B to A is 8+1+8=17, meaning it is asymmetrical) Small districts have only two spaces (8 / 14) and can hold just two networks.\nNo uranium: uranium is never sold, and every plant that burns it is removed from the game. Plant 50 needs no fuel, so it stays in the deck with 5 or 6 players.\nStep 2 begins once a player has 5 connected districts (4 for 6 players); the game ends when a player connects 13 districts (12 for 5 players, 11 for 6).\n",deckBuild:{recharged:"power plants 11, 17, 23, 28, 34, 36, 38, 39 and 46 are removed before setup — the six uranium plants plus the three plants that power 7 cities. With 2 to 4 players, plants 31 and 50 are removed as well. No further power plants are removed for the number of players. The opening market of eight is then drawn from the low plants (numbered 15 or less); of the low plants left over, one is placed on top of the draw deck and the rest are shuffled into it, with the Step 3 card on the bottom.",original:"same removals; the market is the fixed 3-6 / 7-10 (none of these are removed on Bremen), plant 13 is placed on top of the deck and the Step 3 card on the bottom."}};(function(e){e["Blue"]="blue",e["Brown"]="brown",e["Purple"]="purple",e["Red"]="red",e["Yellow"]="yellow",e["Green"]="green"})(Rn||(Rn={})),function(e){e["Bialystok"]="Bialystok",e["Lublin"]="Lublin",e["Warszawa"]="Warszawa",e["Krakow"]="Krakow",e["Sosnowiec"]="Sosnowiec",e["Katowice"]="Katowice",e["Czestochowa"]="Czesto Chowa",e["Presov"]="Presov",e["Kosice"]="Kosice",e["Poprad"]="Poprad",e["Zilina"]="Zilina",e["Bratislava"]="Bratislava",e["Trnava"]="Trnava",e["Nyiregyhaza"]="Nyiregyhaza",e["Miskolc"]="Miskolc",e["Szeged"]="Szeged",e["Kecskeme"]="Kecskeme",e["Budapest"]="Budapest",e["Pecs"]="Pecs",e["Gyor"]="Gyor",e["Banskabystrica"]="Banska Bystrica",e["Goansk"]="Goansk",e["Goynia"]="Goynia",e["Byogoszcz"]="Byogoszcz",e["Wroclaw"]="Wroclaw",e["Poznan"]="Poznan",e["Szczecin"]="Szczecin",e["Lodz"]="Lodz",e["Graz"]="Graz",e["Klagenfurt"]="Klagenfurt",e["Villach"]="Villach",e["Innsbruck"]="Innsbruck",e["Salzburg"]="Salzburg",e["Linz"]="Linz",e["Wien"]="Wien",e["Hradeckralove"]="Hradec Kralove",e["Brno"]="Brno",e["Ceskebudejovice"]="Ceske Budejovice",e["Praha"]="Praha",e["Ostrava"]="Ostrava",e["Plzen"]="Plzen",e["Ustinadlaben"]="Ustinad Laben"}(An||(An={}));var jn,Nn,Dn={name:"Central Europe",noUraniumRegions:[Rn.Blue,Rn.Red,Rn.Yellow],cities:[{name:An.Bialystok,region:Rn.Blue,x:543,y:135},{name:An.Lublin,region:Rn.Blue,x:590,y:294},{name:An.Warszawa,region:Rn.Blue,x:482,y:253},{name:An.Krakow,region:Rn.Blue,x:533,y:443},{name:An.Sosnowiec,region:Rn.Blue,x:468,y:443},{name:An.Katowice,region:Rn.Blue,x:446,y:483},{name:An.Czestochowa,region:Rn.Blue,x:419,y:397},{name:An.Presov,region:Rn.Brown,x:619,y:487},{name:An.Kosice,region:Rn.Brown,x:646,y:538},{name:An.Poprad,region:Rn.Brown,x:565,y:529},{name:An.Zilina,region:Rn.Brown,x:476,y:551},{name:An.Bratislava,region:Rn.Brown,x:423,y:693},{name:An.Trnava,region:Rn.Brown,x:452,y:638},{name:An.Nyiregyhaza,region:Rn.Purple,x:698,y:582},{name:An.Miskolc,region:Rn.Purple,x:621,y:597},{name:An.Szeged,region:Rn.Purple,x:680,y:764},{name:An.Kecskeme,region:Rn.Purple,x:630,y:727},{name:An.Budapest,region:Rn.Purple,x:557,y:689},{name:An.Pecs,region:Rn.Purple,x:566,y:832},{name:An.Gyor,region:Rn.Purple,x:489,y:729},{name:An.Banskabystrica,region:Rn.Brown,x:525,y:601},{name:An.Goansk,region:Rn.Red,x:286,y:158},{name:An.Goynia,region:Rn.Red,x:249,y:131},{name:An.Byogoszcz,region:Rn.Red,x:297,y:257},{name:An.Wroclaw,region:Rn.Red,x:321,y:445},{name:An.Poznan,region:Rn.Red,x:261,y:342},{name:An.Szczecin,region:Rn.Red,x:110,y:316},{name:An.Lodz,region:Rn.Red,x:420,y:337},{name:An.Graz,region:Rn.Yellow,x:376,y:811},{name:An.Klagenfurt,region:Rn.Yellow,x:340,y:875},{name:An.Villach,region:Rn.Yellow,x:272,y:875},{name:An.Innsbruck,region:Rn.Yellow,x:140,y:879},{name:An.Salzburg,region:Rn.Yellow,x:209,y:805},{name:An.Linz,region:Rn.Yellow,x:265,y:744},{name:An.Wien,region:Rn.Yellow,x:366,y:701},{name:An.Hradeckralove,region:Rn.Green,x:291,y:546},{name:An.Brno,region:Rn.Green,x:354,y:597},{name:An.Ceskebudejovice,region:Rn.Green,x:248,y:670},{name:An.Praha,region:Rn.Green,x:220,y:593},{name:An.Ostrava,region:Rn.Green,x:413,y:535},{name:An.Plzen,region:Rn.Green,x:158,y:645},{name:An.Ustinadlaben,region:Rn.Green,x:165,y:537}],connections:[{nodes:[An.Goynia,An.Goansk],cost:0},{nodes:[An.Goansk,An.Byogoszcz],cost:8},{nodes:[An.Goynia,An.Szczecin],cost:17},{nodes:[An.Szczecin,An.Poznan],cost:14},{nodes:[An.Szczecin,An.Wroclaw],cost:22},{nodes:[An.Wroclaw,An.Poznan],cost:9},{nodes:[An.Poznan,An.Lodz],cost:13},{nodes:[An.Lodz,An.Byogoszcz],cost:12},{nodes:[An.Byogoszcz,An.Szczecin],cost:15},{nodes:[An.Wroclaw,An.Lodz],cost:12},{nodes:[An.Lodz,An.Czestochowa],cost:7},{nodes:[An.Czestochowa,An.Wroclaw],cost:9},{nodes:[An.Wroclaw,An.Ostrava],cost:11},{nodes:[An.Ostrava,An.Hradeckralove],cost:16},{nodes:[An.Hradeckralove,An.Wroclaw],cost:10},{nodes:[An.Wroclaw,An.Ustinadlaben],cost:17},{nodes:[An.Ustinadlaben,An.Hradeckralove],cost:10},{nodes:[An.Hradeckralove,An.Brno],cost:9},{nodes:[An.Brno,An.Ostrava],cost:12},{nodes:[An.Ostrava,An.Katowice],cost:4},{nodes:[An.Czestochowa,An.Lublin],cost:17},{nodes:[An.Lublin,An.Presov],cost:20},{nodes:[An.Presov,An.Krakow],cost:13},{nodes:[An.Krakow,An.Poprad],cost:11},{nodes:[An.Poprad,An.Zilina],cost:11},{nodes:[An.Zilina,An.Krakow],cost:12},{nodes:[An.Krakow,An.Sosnowiec],cost:4},{nodes:[An.Warszawa,An.Bialystok],cost:14},{nodes:[An.Bialystok,An.Goansk],cost:20},{nodes:[An.Byogoszcz,An.Warszawa],cost:15},{nodes:[An.Warszawa,An.Lublin],cost:10},{nodes:[An.Lodz,An.Warszawa],cost:7},{nodes:[An.Bialystok,An.Lublin],cost:15},{nodes:[An.Lublin,An.Krakow],cost:16},{nodes:[An.Poprad,An.Kosice],cost:6},{nodes:[An.Kosice,An.Nyiregyhaza],cost:8},{nodes:[An.Kosice,An.Miskolc],cost:4},{nodes:[An.Miskolc,An.Poprad],cost:9},{nodes:[An.Poprad,An.Banskabystrica],cost:11},{nodes:[An.Banskabystrica,An.Zilina],cost:6},{nodes:[An.Zilina,An.Trnava],cost:10},{nodes:[An.Zilina,An.Brno],cost:14},{nodes:[An.Brno,An.Wien],cost:8},{nodes:[An.Bratislava,An.Brno],cost:10},{nodes:[An.Brno,An.Trnava],cost:10},{nodes:[An.Trnava,An.Banskabystrica],cost:10},{nodes:[An.Banskabystrica,An.Miskolc],cost:11},{nodes:[An.Miskolc,An.Nyiregyhaza],cost:7},{nodes:[An.Nyiregyhaza,An.Szeged],cost:16},{nodes:[An.Szeged,An.Kecskeme],cost:5},{nodes:[An.Budapest,An.Trnava],cost:9},{nodes:[An.Trnava,An.Bratislava],cost:2},{nodes:[An.Bratislava,An.Wien],cost:3},{nodes:[An.Wien,An.Ceskebudejovice],cost:14},{nodes:[An.Ceskebudejovice,An.Praha],cost:10},{nodes:[An.Praha,An.Brno],cost:13},{nodes:[An.Brno,An.Ceskebudejovice],cost:15},{nodes:[An.Ceskebudejovice,An.Plzen],cost:11},{nodes:[An.Plzen,An.Praha],cost:7},{nodes:[An.Praha,An.Ustinadlaben],cost:6},{nodes:[An.Ustinadlaben,An.Plzen],cost:9},{nodes:[An.Ceskebudejovice,An.Linz],cost:8},{nodes:[An.Linz,An.Wien],cost:11},{nodes:[An.Wien,An.Graz],cost:12},{nodes:[An.Graz,An.Linz],cost:16},{nodes:[An.Linz,An.Salzburg],cost:9},{nodes:[An.Salzburg,An.Graz],cost:22},{nodes:[An.Graz,An.Gyor],cost:14},{nodes:[An.Gyor,An.Wien],cost:8},{nodes:[An.Bratislava,An.Gyor],cost:6},{nodes:[An.Gyor,An.Trnava],cost:5},{nodes:[An.Banskabystrica,An.Budapest],cost:12},{nodes:[An.Budapest,An.Gyor],cost:5},{nodes:[An.Budapest,An.Kecskeme],cost:6},{nodes:[An.Kecskeme,An.Miskolc],cost:10},{nodes:[An.Miskolc,An.Budapest],cost:9},{nodes:[An.Szeged,An.Pecs],cost:12},{nodes:[An.Pecs,An.Kecskeme],cost:11},{nodes:[An.Budapest,An.Pecs],cost:12},{nodes:[An.Pecs,An.Gyor],cost:15},{nodes:[An.Graz,An.Pecs],cost:19},{nodes:[An.Graz,An.Klagenfurt],cost:10},{nodes:[An.Klagenfurt,An.Villach],cost:4},{nodes:[An.Klagenfurt,An.Salzburg],cost:20},{nodes:[An.Salzburg,An.Innsbruck],cost:15},{nodes:[An.Innsbruck,An.Villach],cost:22},{nodes:[An.Poznan,An.Byogoszcz],cost:7},{nodes:[An.Lublin,An.Lodz],cost:16},{nodes:[An.Czestochowa,An.Sosnowiec],cost:4},{nodes:[An.Sosnowiec,An.Katowice],cost:0},{nodes:[An.Czestochowa,An.Krakow],cost:6},{nodes:[An.Poprad,An.Presov],cost:7},{nodes:[An.Presov,An.Kosice],cost:2},{nodes:[An.Ostrava,An.Zilina],cost:7},{nodes:[An.Ostrava,An.Krakow],cost:7},{nodes:[An.Praha,An.Hradeckralove],cost:8}],layout:"Portrait",mapPosition:[70,-60],adjustRatio:[1.15,1.15],startingResources:[24,18,6,5],resupply:[[[4,5,3],[5,6,3],[6,7,5],[7,8,5],[8,10,6]],[[1,2,3],[2,2,3],[2,3,4],[3,4,5],[4,5,6]],[[1,3,3],[1,3,3],[2,4,4],[3,4,5],[3,6,6]],[[1,1,1],[1,1,1],[1,2,1],[2,2,2],[2,3,2]]]};(function(e){e["Pink"]="pink",e["Green"]="green",e["Red"]="red",e["Brown"]="brown",e["Purple"]="purple",e["Yellow"]="yellow"})(jn||(jn={})),function(e){e["Hegang"]="Hegang",e["Qiqhaer"]="Qiqha'er",e["Haerbin"]="Haerbin",e["Jilin"]="Jilin",e["Fushun"]="Fushun",e["Anshan"]="Anshan",e["Dalian"]="Dalian",e["Shanghai"]="Shanghai",e["Hangzhou"]="Hangzhou",e["Nanjing"]="Nanjing",e["Qingdao"]="Qingdao",e["Jinan"]="Jinan",e["Zhengzhou"]="Zhengzhou",e["Shijiazhuang"]="Shijiazhuang",e["Changchun"]="Changchun",e["Shenyang"]="Shenyang",e["Tangshan"]="Tangshan",e["Tianjin"]="Tianjin",e["Beijing"]="Beijing",e["Taiyuan"]="Taiyuan",e["Baotou"]="Baotou",e["Fuzhou"]="Fuzhou",e["Nanchang"]="Nanchang",e["Chaozhou"]="Chaozhou",e["Hongkong"]="Hong Kong",e["Guangzhou"]="Guangzhou",e["Changsha"]="Changsha",e["Wuhan"]="Wuhan",e["Hami"]="Hami",e["Karamay"]="Karamay",e["Wulumuqi"]="Wulumuqi",e["Kuerle"]="Ku'erle",e["Yinchuan"]="Yinchuan",e["Xining"]="Xining",e["Lanzhou"]="Lanzhou",e["Kunming"]="Kunming",e["Chengou"]="Chengou",e["Xian"]="Xi'an",e["Chongqing"]="Chongqing",e["Nanning"]="Nanning",e["Haikou"]="Haikou",e["Guiyang"]="Guiyang"}(Nn||(Nn={}));var Tn,zn,Gn={name:"China",cities:[{name:Nn.Hegang,region:jn.Pink,x:3920,y:290},{name:Nn.Qiqhaer,region:jn.Pink,x:3422,y:262},{name:Nn.Haerbin,region:jn.Pink,x:3672,y:434},{name:Nn.Jilin,region:jn.Pink,x:3744,y:614},{name:Nn.Fushun,region:jn.Pink,x:3712,y:784},{name:Nn.Anshan,region:jn.Pink,x:3510,y:902},{name:Nn.Dalian,region:jn.Pink,x:3424,y:1052},{name:Nn.Shanghai,region:jn.Green,x:3462,y:1672},{name:Nn.Hangzhou,region:jn.Green,x:3280,y:1824},{name:Nn.Nanjing,region:jn.Green,x:3130,y:1632},{name:Nn.Qingdao,region:jn.Green,x:3322,y:1316},{name:Nn.Jinan,region:jn.Green,x:3002,y:1292},{name:Nn.Zhengzhou,region:jn.Green,x:2778,y:1438},{name:Nn.Shijiazhuang,region:jn.Green,x:2866,y:1152},{name:Nn.Changchun,region:jn.Red,x:3504,y:590},{name:Nn.Shenyang,region:jn.Red,x:3458,y:778},{name:Nn.Tangshan,region:jn.Red,x:3158,y:908},{name:Nn.Tianjin,region:jn.Red,x:3134,y:1016},{name:Nn.Beijing,region:jn.Red,x:2886,y:910},{name:Nn.Taiyuan,region:jn.Red,x:2588,y:1130},{name:Nn.Baotou,region:jn.Red,x:2500,y:862},{name:Nn.Fuzhou,region:jn.Brown,x:3290,y:2132},{name:Nn.Nanchang,region:jn.Brown,x:3004,y:1974},{name:Nn.Chaozhou,region:jn.Brown,x:3096,y:2322},{name:Nn.Hongkong,region:jn.Brown,x:2902,y:2552},{name:Nn.Guangzhou,region:jn.Brown,x:2694,y:2352},{name:Nn.Changsha,region:jn.Brown,x:2682,y:1988},{name:Nn.Wuhan,region:jn.Brown,x:2810,y:1786},{name:Nn.Hami,region:jn.Purple,x:1816,y:698},{name:Nn.Karamay,region:jn.Purple,x:1304,y:372},{name:Nn.Wulumuqi,region:jn.Purple,x:1520,y:558},{name:Nn.Kuerle,region:jn.Purple,x:1326,y:756},{name:Nn.Yinchuan,region:jn.Purple,x:2208,y:1058},{name:Nn.Xining,region:jn.Purple,x:1868,y:1226},{name:Nn.Lanzhou,region:jn.Purple,x:2142,y:1328},{name:Nn.Kunming,region:jn.Yellow,x:1840,y:2248},{name:Nn.Chengou,region:jn.Yellow,x:1988,y:1736},{name:Nn.Xian,region:jn.Yellow,x:2440,y:1478},{name:Nn.Chongqing,region:jn.Yellow,x:2300,y:1880},{name:Nn.Nanning,region:jn.Yellow,x:2318,y:2452},{name:Nn.Haikou,region:jn.Yellow,x:2524,y:2680},{name:Nn.Guiyang,region:jn.Yellow,x:2212,y:2112}],connections:[{nodes:[Nn.Kunming,Nn.Chengou],cost:16},{nodes:[Nn.Nanning,Nn.Haikou],cost:10},{nodes:[Nn.Guangzhou,Nn.Hongkong],cost:4},{nodes:[Nn.Guangzhou,Nn.Chaozhou],cost:7},{nodes:[Nn.Chaozhou,Nn.Hongkong],cost:7},{nodes:[Nn.Guangzhou,Nn.Haikou],cost:13},{nodes:[Nn.Nanning,Nn.Guangzhou],cost:11},{nodes:[Nn.Xining,Nn.Chengou],cost:20},{nodes:[Nn.Chengou,Nn.Chongqing],cost:6},{nodes:[Nn.Chongqing,Nn.Guiyang],cost:9},{nodes:[Nn.Guiyang,Nn.Kunming],cost:12},{nodes:[Nn.Guiyang,Nn.Nanning],cost:12},{nodes:[Nn.Guiyang,Nn.Guangzhou],cost:18},{nodes:[Nn.Guangzhou,Nn.Changsha],cost:14},{nodes:[Nn.Changsha,Nn.Chongqing],cost:16},{nodes:[Nn.Changsha,Nn.Wuhan],cost:6},{nodes:[Nn.Wuhan,Nn.Nanchang],cost:6},{nodes:[Nn.Nanchang,Nn.Changsha],cost:7},{nodes:[Nn.Changsha,Nn.Guiyang],cost:15},{nodes:[Nn.Guiyang,Nn.Chengou],cost:13},{nodes:[Nn.Guangzhou,Nn.Nanchang],cost:16},{nodes:[Nn.Nanchang,Nn.Chaozhou],cost:14},{nodes:[Nn.Chaozhou,Nn.Fuzhou],cost:9},{nodes:[Nn.Fuzhou,Nn.Nanchang],cost:13},{nodes:[Nn.Wuhan,Nn.Hangzhou],cost:13},{nodes:[Nn.Hangzhou,Nn.Fuzhou],cost:13},{nodes:[Nn.Hangzhou,Nn.Shanghai],cost:4},{nodes:[Nn.Shanghai,Nn.Nanjing],cost:6},{nodes:[Nn.Nanjing,Nn.Hangzhou],cost:5},{nodes:[Nn.Hangzhou,Nn.Nanchang],cost:10},{nodes:[Nn.Chongqing,Nn.Wuhan],cost:18},{nodes:[Nn.Lanzhou,Nn.Chengou],cost:16},{nodes:[Nn.Chengou,Nn.Xian],cost:14},{nodes:[Nn.Xian,Nn.Chongqing],cost:14},{nodes:[Nn.Xian,Nn.Wuhan],cost:15},{nodes:[Nn.Wuhan,Nn.Zhengzhou],cost:10},{nodes:[Nn.Zhengzhou,Nn.Xian],cost:10},{nodes:[Nn.Xian,Nn.Lanzhou],cost:15},{nodes:[Nn.Lanzhou,Nn.Yinchuan],cost:9},{nodes:[Nn.Yinchuan,Nn.Xining],cost:11},{nodes:[Nn.Lanzhou,Nn.Taiyuan],cost:18},{nodes:[Nn.Taiyuan,Nn.Xian],cost:12},{nodes:[Nn.Taiyuan,Nn.Zhengzhou],cost:11},{nodes:[Nn.Taiyuan,Nn.Shijiazhuang],cost:5},{nodes:[Nn.Shijiazhuang,Nn.Tianjin],cost:5},{nodes:[Nn.Shijiazhuang,Nn.Jinan],cost:6},{nodes:[Nn.Shijiazhuang,Nn.Zhengzhou],cost:9},{nodes:[Nn.Zhengzhou,Nn.Jinan],cost:7},{nodes:[Nn.Zhengzhou,Nn.Nanjing],cost:12},{nodes:[Nn.Nanjing,Nn.Wuhan],cost:10},{nodes:[Nn.Jinan,Nn.Nanjing],cost:11},{nodes:[Nn.Nanjing,Nn.Qingdao],cost:12},{nodes:[Nn.Qingdao,Nn.Jinan],cost:6},{nodes:[Nn.Jinan,Nn.Tianjin],cost:6},{nodes:[Nn.Xining,Nn.Lanzhou],cost:6},{nodes:[Nn.Yinchuan,Nn.Baotou],cost:9},{nodes:[Nn.Baotou,Nn.Taiyuan],cost:9},{nodes:[Nn.Taiyuan,Nn.Yinchuan],cost:14},{nodes:[Nn.Yinchuan,Nn.Hami],cost:25},{nodes:[Nn.Hami,Nn.Xining],cost:25},{nodes:[Nn.Wulumuqi,Nn.Kuerle],cost:9},{nodes:[Nn.Kuerle,Nn.Karamay],cost:12},{nodes:[Nn.Karamay,Nn.Wulumuqi],cost:7},{nodes:[Nn.Wulumuqi,Nn.Hami],cost:12},{nodes:[Nn.Hami,Nn.Kuerle],cost:15},{nodes:[Nn.Taiyuan,Nn.Beijing],cost:10},{nodes:[Nn.Beijing,Nn.Shijiazhuang],cost:6},{nodes:[Nn.Beijing,Nn.Tangshan],cost:3},{nodes:[Nn.Tangshan,Nn.Tianjin],cost:0},{nodes:[Nn.Beijing,Nn.Baotou],cost:14},{nodes:[Nn.Tangshan,Nn.Shenyang],cost:11},{nodes:[Nn.Dalian,Nn.Anshan],cost:6},{nodes:[Nn.Qiqhaer,Nn.Hegang],cost:11},{nodes:[Nn.Hegang,Nn.Haerbin],cost:7},{nodes:[Nn.Haerbin,Nn.Qiqhaer],cost:6},{nodes:[Nn.Changchun,Nn.Jilin],cost:2},{nodes:[Nn.Jilin,Nn.Haerbin],cost:5},{nodes:[Nn.Haerbin,Nn.Changchun],cost:5},{nodes:[Nn.Changchun,Nn.Shenyang],cost:5},{nodes:[Nn.Shenyang,Nn.Anshan],cost:2},{nodes:[Nn.Jilin,Nn.Fushun],cost:6},{nodes:[Nn.Fushun,Nn.Shenyang],cost:0},{nodes:[Nn.Changchun,Nn.Qiqhaer],cost:9}],layout:"Portrait",mapPosition:[-400,70],adjustRatio:[.35,.35],resupply:[[[4,4,3],[5,5,3],[6,6,4],[7,7,5],[9,9,6]],[[2,2,4],[3,3,4],[4,4,5],[5,5,6],[6,6,7]],[[2,2,1],[2,2,1],[3,3,2],[3,3,3],[5,5,3]],[[1,1,1],[1,1,1],[2,2,2],[3,3,2],[3,3,3]]],startingResources:[12,12,6,0],setupDeck:function(e,n,t){var r=Object(qe["cloneDeep"])(yn),o=[];2==e||3==e?o=[3,4,9,11,16,18,20,24,30,33,46]:4==e?o=[3,4,11,18,24,33,46]:5!=e&&6!=e||(o=[3,4,33]);var a=r.filter((function(e){return!o.includes(e.number)})),i=a.filter((function(e){return e.number<=30})),s=a.filter((function(e){return e.type==Me.Step3})),c=an(a.filter((function(e){return e.number>=31&&e.number<=35})).concat(s),t()+""),u=an(a.filter((function(e){return e.number>=36&&e.number<=50})),t()+""),l=i.splice(0,e),d=[],f=i.concat(c).concat(u);return{actualMarket:l,futureMarket:d,powerPlantsDeck:f}},mapSpecificRules:"There are several changes to when new plants are drawn. In particular, during steps 1 and 2, plants are only drawn from the deck during the bureaucracy phase.\n",deckBuild:"the same plants are removed every game: with 2-3 players 3, 4, 9, 11, 16, 18, 20, 24, 30, 33, 46; with 4 players 3, 4, 11, 18, 24, 33, 46; with 5-6 players 3, 4, 33. The deck is ordered, not shuffled: plants 5-30 in ascending order on top, then plants 31-35 shuffled together with the Step 3 card, then plants 36-50 shuffled on the bottom. The starting market has one plant per player and the future market starts empty."};(function(e){e["Pink"]="pink",e["Red"]="red",e["Brown"]="brown",e["Yellow"]="yellow",e["Orange"]="orange",e["Blue"]="blue",e["Green"]="green"})(Tn||(Tn={})),function(e){e["Glasgow"]="Glasgow",e["Dublin"]="Dublin",e["Birmingham"]="Birmingham",e["London"]="London",e["Randstad"]="Randstad",e["Vlaanderen"]="Vlaanderen",e["RheinRuhr"]="Rhein-Ruhr",e["Paris"]="Paris",e["Bordeaux"]="Bordeaux",e["Lyon"]="Lyon",e["Marseille"]="Marseille",e["Lisboa"]="Lisboa",e["Madrid"]="Madrid",e["Barcelona"]="Barcelona",e["Bremen"]="Bremen",e["Berlin"]="Berlin",e["RheinMain"]="Rhein-Main",e["Stuttgart"]="Stuttgart",e["Praha"]="Praha",e["Katowice"]="Katowice",e["München"]="München",e["Zürich"]="Zürich",e["Milano"]="Milano",e["Roma"]="Roma",e["Napoli"]="Napoli",e["Wien"]="Wien",e["Budapest"]="Budapest",e["Zagreb"]="Zagreb",e["Oslo"]="Oslo",e["Stockholm"]="Stockholm",e["Helsinki"]="Helsinki",e["Tallinn"]="Tallinn",e["Kobenhavn"]="København",e["Riga"]="Riga",e["StPetersburg"]="St. Petersburg",e["Minsk"]="Minsk",e["Moskwa"]="Moskwa",e["Warszawa"]="Warszawa",e["Kyjiv"]="Kyjiv",e["Kharkiv"]="Kharkiv",e["Odessa"]="Odessa",e["Bucuresti"]="Bucureşti",e["Beograd"]="Beograd",e["Sofia"]="Sofia",e["Tirana"]="Tirana",e["Athina"]="Athina",e["Istanbul"]="Istanbul",e["Izmir"]="Izmir",e["Ankara"]="Ankara"}(zn||(zn={}));var En,In,Un={name:"Europe",cities:[{name:zn.Glasgow,region:Tn.Pink,x:490,y:510},{name:zn.Dublin,region:Tn.Pink,x:390,y:660},{name:zn.Birmingham,region:Tn.Pink,x:485,y:695},{name:zn.London,region:Tn.Pink,x:545,y:800},{name:zn.Randstad,region:Tn.Pink,x:786,y:594},{name:zn.Vlaanderen,region:Tn.Pink,x:794,y:756},{name:zn.RheinRuhr,region:Tn.Pink,x:820,y:884},{name:zn.Paris,region:Tn.Red,x:632,y:926},{name:zn.Bordeaux,region:Tn.Red,x:655,y:1095},{name:zn.Lyon,region:Tn.Red,x:785,y:1100},{name:zn.Marseille,region:Tn.Red,x:815,y:1240},{name:zn.Barcelona,region:Tn.Red,x:650,y:1280},{name:zn.Madrid,region:Tn.Red,x:435,y:1335},{name:zn.Lisboa,region:Tn.Red,x:255,y:1335},{name:zn.Bremen,region:Tn.Brown,x:1010,y:770},{name:zn.Berlin,region:Tn.Brown,x:1180,y:800},{name:zn.RheinMain,region:Tn.Brown,x:982,y:898},{name:zn.Stuttgart,region:Tn.Brown,x:995,y:1e3},{name:zn.München,region:Tn.Brown,x:1114,y:1020},{name:zn.Praha,region:Tn.Brown,x:1235,y:940},{name:zn.Katowice,region:Tn.Brown,x:1380,y:940},{name:zn.Zürich,region:Tn.Yellow,x:1010,y:1100},{name:zn.Milano,region:Tn.Yellow,x:1075,y:1180},{name:zn.Roma,region:Tn.Yellow,x:1180,y:1310},{name:zn.Napoli,region:Tn.Yellow,x:1235,y:1430},{name:zn.Wien,region:Tn.Yellow,x:1265,y:1080},{name:zn.Budapest,region:Tn.Yellow,x:1390,y:1080},{name:zn.Zagreb,region:Tn.Yellow,x:1300,y:1180},{name:zn.Oslo,region:Tn.Orange,x:1015,y:365},{name:zn.Stockholm,region:Tn.Orange,x:1170,y:415},{name:zn.Helsinki,region:Tn.Orange,x:1395,y:360},{name:zn.Tallinn,region:Tn.Orange,x:1410,y:470},{name:zn.Riga,region:Tn.Orange,x:1395,y:575},{name:zn.Kobenhavn,region:Tn.Orange,x:1180,y:660},{name:zn.StPetersburg,region:Tn.Orange,x:1620,y:460},{name:zn.Warszawa,region:Tn.Blue,x:1500,y:815},{name:zn.Minsk,region:Tn.Blue,x:1610,y:815},{name:zn.Moskwa,region:Tn.Blue,x:1830,y:600},{name:zn.Kyjiv,region:Tn.Blue,x:1690,y:980},{name:zn.Kharkiv,region:Tn.Blue,x:1860,y:980},{name:zn.Odessa,region:Tn.Blue,x:1720,y:1100},{name:zn.Bucuresti,region:Tn.Blue,x:1610,y:1175},{name:zn.Beograd,region:Tn.Green,x:1390,y:1175},{name:zn.Sofia,region:Tn.Green,x:1505,y:1240},{name:zn.Tirana,region:Tn.Green,x:1370,y:1330},{name:zn.Athina,region:Tn.Green,x:1480,y:1450},{name:zn.Istanbul,region:Tn.Green,x:1665,y:1335},{name:zn.Izmir,region:Tn.Green,x:1730,y:1430},{name:zn.Ankara,region:Tn.Green,x:1850,y:1380}],connections:[{nodes:[zn.Dublin,zn.Glasgow],cost:17},{nodes:[zn.Glasgow,zn.Birmingham],cost:13},{nodes:[zn.Dublin,zn.Birmingham],cost:15},{nodes:[zn.Birmingham,zn.London],cost:4},{nodes:[zn.London,zn.Vlaanderen],cost:15},{nodes:[zn.London,zn.Randstad],cost:18},{nodes:[zn.Randstad,zn.Vlaanderen],cost:4},{nodes:[zn.Vlaanderen,zn.RheinRuhr],cost:4},{nodes:[zn.Paris,zn.Bordeaux],cost:12},{nodes:[zn.Paris,zn.Lyon],cost:11},{nodes:[zn.Bordeaux,zn.Lyon],cost:12},{nodes:[zn.Lyon,zn.Marseille],cost:8},{nodes:[zn.Bordeaux,zn.Marseille],cost:12},{nodes:[zn.Marseille,zn.Barcelona],cost:11},{nodes:[zn.Bordeaux,zn.Barcelona],cost:15},{nodes:[zn.Bordeaux,zn.Madrid],cost:15},{nodes:[zn.Madrid,zn.Barcelona],cost:14},{nodes:[zn.Madrid,zn.Lisboa],cost:13},{nodes:[zn.Paris,zn.London],cost:16},{nodes:[zn.Paris,zn.Vlaanderen],cost:7},{nodes:[zn.Paris,zn.RheinRuhr],cost:10},{nodes:[zn.Bremen,zn.Berlin],cost:6},{nodes:[zn.Bremen,zn.RheinMain],cost:9},{nodes:[zn.Berlin,zn.RheinMain],cost:10},{nodes:[zn.Berlin,zn.Praha],cost:7},{nodes:[zn.RheinMain,zn.Praha],cost:10},{nodes:[zn.RheinMain,zn.München],cost:6},{nodes:[zn.RheinMain,zn.Stuttgart],cost:3},{nodes:[zn.Stuttgart,zn.München],cost:5},{nodes:[zn.München,zn.Praha],cost:6},{nodes:[zn.Praha,zn.Katowice],cost:8},{nodes:[zn.Bremen,zn.Randstad],cost:8},{nodes:[zn.Bremen,zn.Vlaanderen],cost:10},{nodes:[zn.RheinMain,zn.Vlaanderen],cost:6},{nodes:[zn.RheinMain,zn.RheinRuhr],cost:3},{nodes:[zn.Stuttgart,zn.Paris],cost:14},{nodes:[zn.Zürich,zn.Milano],cost:11},{nodes:[zn.Milano,zn.Zagreb],cost:17},{nodes:[zn.Milano,zn.Roma],cost:19},{nodes:[zn.Roma,zn.Napoli],cost:7},{nodes:[zn.Wien,zn.Budapest],cost:5},{nodes:[zn.Wien,zn.Zagreb],cost:8},{nodes:[zn.Budapest,zn.Zagreb],cost:7},{nodes:[zn.Paris,zn.Zürich],cost:14},{nodes:[zn.Lyon,zn.Zürich],cost:14},{nodes:[zn.Lyon,zn.Milano],cost:11},{nodes:[zn.Marseille,zn.Milano],cost:13},{nodes:[zn.Zürich,zn.München],cost:8},{nodes:[zn.Zürich,zn.Stuttgart],cost:5},{nodes:[zn.München,zn.Wien],cost:9},{nodes:[zn.Praha,zn.Wien],cost:7},{nodes:[zn.Wien,zn.Katowice],cost:8},{nodes:[zn.Budapest,zn.Katowice],cost:11},{nodes:[zn.Oslo,zn.Kobenhavn],cost:17},{nodes:[zn.Oslo,zn.Stockholm],cost:13},{nodes:[zn.Stockholm,zn.Kobenhavn],cost:18},{nodes:[zn.Stockholm,zn.Helsinki],cost:21},{nodes:[zn.Helsinki,zn.StPetersburg],cost:11},{nodes:[zn.Tallinn,zn.StPetersburg],cost:9},{nodes:[zn.Tallinn,zn.Riga],cost:7},{nodes:[zn.Riga,zn.StPetersburg],cost:13},{nodes:[zn.Kobenhavn,zn.Bremen],cost:12},{nodes:[zn.Kobenhavn,zn.Berlin],cost:15},{nodes:[zn.Warszawa,zn.Minsk],cost:10},{nodes:[zn.Warszawa,zn.Kyjiv],cost:14},{nodes:[zn.Minsk,zn.Moskwa],cost:14},{nodes:[zn.Minsk,zn.Kyjiv],cost:10},{nodes:[zn.Moskwa,zn.Kharkiv],cost:16},{nodes:[zn.Kyjiv,zn.Kharkiv],cost:9},{nodes:[zn.Kyjiv,zn.Odessa],cost:9},{nodes:[zn.Kharkiv,zn.Odessa],cost:13},{nodes:[zn.Odessa,zn.Bucuresti],cost:10},{nodes:[zn.Berlin,zn.Warszawa],cost:11},{nodes:[zn.Praha,zn.Warszawa],cost:11},{nodes:[zn.Katowice,zn.Warszawa],cost:5},{nodes:[zn.Kobenhavn,zn.Warszawa],cost:25},{nodes:[zn.Riga,zn.Warszawa],cost:12},{nodes:[zn.Riga,zn.Minsk],cost:8},{nodes:[zn.Riga,zn.Moskwa],cost:18},{nodes:[zn.StPetersburg,zn.Moskwa],cost:14},{nodes:[zn.Kyjiv,zn.Budapest],cost:21},{nodes:[zn.Odessa,zn.Budapest],cost:25},{nodes:[zn.Bucuresti,zn.Budapest],cost:16},{nodes:[zn.Beograd,zn.Sofia],cost:11},{nodes:[zn.Beograd,zn.Tirana],cost:15},{nodes:[zn.Sofia,zn.Tirana],cost:13},{nodes:[zn.Sofia,zn.Athina],cost:17},{nodes:[zn.Sofia,zn.Istanbul],cost:13},{nodes:[zn.Tirana,zn.Athina],cost:16},{nodes:[zn.Istanbul,zn.Izmir],cost:8},{nodes:[zn.Istanbul,zn.Ankara],cost:9},{nodes:[zn.Izmir,zn.Ankara],cost:10},{nodes:[zn.Bucuresti,zn.Beograd],cost:12},{nodes:[zn.Bucuresti,zn.Sofia],cost:9},{nodes:[zn.Bucuresti,zn.Istanbul],cost:13},{nodes:[zn.Beograd,zn.Zagreb],cost:9},{nodes:[zn.Beograd,zn.Napoli],cost:18},{nodes:[zn.Beograd,zn.Budapest],cost:10},{nodes:[zn.Tirana,zn.Napoli],cost:25}],layout:"Landscape",adjustRatio:[.5,.5],mapPosition:[-30,-50],mapRotation:10,resupply:[[[2,6,2],[2,6,2],[3,7,4],[3,8,4],[5,10,5]],[[2,2,3],[2,2,3],[3,3,4],[4,3,5],[4,5,6]],[[2,3,5],[2,3,5],[3,4,5],[3,5,7],[4,6,8]],[[1,1,2],[1,1,2],[1,2,2],[2,3,3],[2,3,4]]],coalPrices:[1,1,1,1,2,2,2,2,3,3,3,3,4,4,5,5,6,6,7,7,8,8,9,9],oilPrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,9,9],garbagePrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],uraniumPrices:[1,2,3,4,5,6,7,7,8,8,9,9],startingResources:[20,16,18,4],startingSupply:[24,24,24,12],setupDeck:function(e,n,t){var r=Object(qe["cloneDeep"])(yn),o=r.findIndex((function(e){return e.type===Me.Step3})),a=r.splice(o,1)[0],i=an(r.splice(0,13),t()+""),s=an(r,t()+""),c=i.splice(0,9).sort((function(e,n){return e.number-n.number})),u=c.slice(0,4),l=c.slice(4),d=0,f=0;2==e?(d=1,f=5):3==e?(d=2,f=6):4==e&&(d=1,f=3);var h=Math.max(0,d-i.length),p=i.slice(d),g=s.slice(f+h),y=an(p.concat(g),t()+"");if(y.length>0&&y[0].number<=15){var m=y.findIndex((function(e){return e.number>15}));if(m>0){var v=[y[m],y[0]];y[0]=v[0],y[m]=v[1]}}return y.push(a),{actualMarket:u,futureMarket:l,powerPlantsDeck:y}},mapSpecificRules:"When Step 2 begins, remove the lowest-numbered plant from the current market from the game once and do not replace it; the future market then has 4 plants instead of 5.\n",deckBuild:"Europe uses the New Power Plants Set 2 deck (cards with a plug on the back). The power plant market starts as 4 current + 5 future power plants (9 total), all drawn from the plug plants; the top card of the draw deck is never a plug plant."};(function(e){e["Brown"]="brown",e["Purple"]="purple",e["Blue"]="blue",e["Yellow"]="yellow",e["Green"]="green",e["Red"]="red"})(En||(En={})),function(e){e["Calais"]="Calais",e["Lile"]="Lile",e["Amiens"]="Amiens",e["Reims"]="Reims",e["Metz"]="Metz",e["Nancy"]="Nancy",e["Strasbourg"]="Strasbourg",e["Havre"]="Havre",e["Caen"]="Caen",e["Brest"]="Brest",e["Rennes"]="Rennes",e["Lemans"]="Le Mans",e["Angers"]="Angers",e["Rouen"]="Rouen",e["Paris1"]="Paris 1",e["Paris2"]="Paris 2",e["Paris3"]="Paris 3",e["Orleans"]="Orleans",e["Tours"]="Tours",e["Limoges"]="Limoges",e["Clermontferrand"]="Clermont-Ferrand",e["Besancon"]="Besancon",e["Dijon"]="Dijon",e["Lyon"]="Lyon",e["Chamonix"]="Chamonix",e["Mulhouse"]="Mulhouse",e["Grenoble"]="Grenoble",e["Saintetienne"]="Saint-Etienne",e["Nice"]="Nice",e["Toulon"]="Toulon",e["Aimenprovence"]="Aim-En-Provence",e["Marseille"]="Marseille",e["Nimes"]="Nimes",e["Montpellier"]="Montpellier",e["Perpignan"]="Perpignan",e["Nantes"]="Nantes",e["Larochelle"]="La Rochelle",e["Bordeaux"]="Bordeaux",e["Biarritz"]="Biarritz",e["Toulous"]="Toulous",e["Carcassone"]="Carcas Sone",e["Lourdes"]="Lourdes"}(In||(In={}));var Kn,Yn,Hn={name:"France",cities:[{name:In.Calais,region:En.Brown,x:661,y:294},{name:In.Lile,region:En.Brown,x:791,y:328},{name:In.Amiens,region:En.Brown,x:700,y:433},{name:In.Reims,region:En.Brown,x:888,y:531},{name:In.Metz,region:En.Brown,x:1076,y:528},{name:In.Nancy,region:En.Brown,x:1078,y:643},{name:In.Strasbourg,region:En.Brown,x:1208,y:615},{name:In.Havre,region:En.Purple,x:487,y:471},{name:In.Caen,region:En.Purple,x:423,y:567},{name:In.Brest,region:En.Purple,x:79,y:654},{name:In.Rennes,region:En.Purple,x:326,y:695},{name:In.Lemans,region:En.Purple,x:516,y:699},{name:In.Angers,region:En.Purple,x:446,y:798},{name:In.Rouen,region:En.Purple,x:598,y:506},{name:In.Paris1,region:En.Blue,x:693,y:553},{name:In.Paris2,region:En.Blue,x:779,y:566},{name:In.Paris3,region:En.Blue,x:722,y:633},{name:In.Orleans,region:En.Blue,x:684,y:736},{name:In.Tours,region:En.Blue,x:564,y:813},{name:In.Limoges,region:En.Blue,x:605,y:1009},{name:In.Clermontferrand,region:En.Blue,x:777,y:1017},{name:In.Besancon,region:En.Yellow,x:1084,y:828},{name:In.Dijon,region:En.Yellow,x:964,y:801},{name:In.Lyon,region:En.Yellow,x:964,y:973},{name:In.Chamonix,region:En.Yellow,x:1153,y:987},{name:In.Mulhouse,region:En.Yellow,x:1180,y:742},{name:In.Grenoble,region:En.Yellow,x:1048,y:1116},{name:In.Saintetienne,region:En.Yellow,x:892,y:1088},{name:In.Nice,region:En.Green,x:1178,y:1302},{name:In.Toulon,region:En.Green,x:1070,y:1397},{name:In.Aimenprovence,region:En.Green,x:1016,y:1304},{name:In.Marseille,region:En.Green,x:954,y:1369},{name:In.Nimes,region:En.Green,x:889,y:1256},{name:In.Montpellier,region:En.Green,x:816,y:1330},{name:In.Perpignan,region:En.Green,x:767,y:1460},{name:In.Nantes,region:En.Red,x:330,y:833},{name:In.Larochelle,region:En.Red,x:379,y:959},{name:In.Bordeaux,region:En.Red,x:435,y:1148},{name:In.Biarritz,region:En.Red,x:345,y:1328},{name:In.Toulous,region:En.Red,x:621,y:1309},{name:In.Carcassone,region:En.Red,x:700,y:1382},{name:In.Lourdes,region:En.Red,x:479,y:1393}],connections:[{nodes:[In.Calais,In.Havre],cost:13},{nodes:[In.Calais,In.Lile],cost:7},{nodes:[In.Calais,In.Amiens],cost:8},{nodes:[In.Lile,In.Reims],cost:9},{nodes:[In.Havre,In.Rouen],cost:5},{nodes:[In.Havre,In.Caen],cost:5},{nodes:[In.Caen,In.Rennes],cost:12},{nodes:[In.Rennes,In.Brest],cost:16},{nodes:[In.Brest,In.Nantes],cost:19},{nodes:[In.Rennes,In.Nantes],cost:7},{nodes:[In.Rennes,In.Angers],cost:7},{nodes:[In.Rennes,In.Lemans],cost:9},{nodes:[In.Caen,In.Lemans],cost:10},{nodes:[In.Lemans,In.Paris3],cost:10},{nodes:[In.Paris3,In.Caen],cost:12},{nodes:[In.Caen,In.Rouen],cost:9},{nodes:[In.Rouen,In.Paris1],cost:9},{nodes:[In.Rouen,In.Amiens],cost:6},{nodes:[In.Lile,In.Amiens],cost:7},{nodes:[In.Amiens,In.Reims],cost:11},{nodes:[In.Reims,In.Metz],cost:12},{nodes:[In.Metz,In.Strasbourg],cost:11},{nodes:[In.Strasbourg,In.Nancy],cost:10},{nodes:[In.Strasbourg,In.Mulhouse],cost:6},{nodes:[In.Mulhouse,In.Besancon],cost:8},{nodes:[In.Besancon,In.Nancy],cost:14},{nodes:[In.Nancy,In.Dijon],cost:15},{nodes:[In.Reims,In.Nancy],cost:13},{nodes:[In.Nancy,In.Paris2],cost:21},{nodes:[In.Paris1,In.Paris2],cost:0},{nodes:[In.Paris1,In.Paris3],cost:0},{nodes:[In.Paris2,In.Dijon],cost:20},{nodes:[In.Dijon,In.Orleans],cost:18},{nodes:[In.Orleans,In.Lemans],cost:8},{nodes:[In.Lemans,In.Tours],cost:5},{nodes:[In.Tours,In.Orleans],cost:7},{nodes:[In.Paris1,In.Amiens],cost:9},{nodes:[In.Dijon,In.Clermontferrand],cost:19},{nodes:[In.Clermontferrand,In.Limoges],cost:12},{nodes:[In.Limoges,In.Toulous],cost:19},{nodes:[In.Toulous,In.Clermontferrand],cost:24},{nodes:[In.Clermontferrand,In.Montpellier],cost:22},{nodes:[In.Montpellier,In.Nimes],cost:3},{nodes:[In.Saintetienne,In.Grenoble],cost:10},{nodes:[In.Grenoble,In.Chamonix],cost:12},{nodes:[In.Chamonix,In.Besancon],cost:19},{nodes:[In.Besancon,In.Dijon],cost:6},{nodes:[In.Dijon,In.Lyon],cost:13},{nodes:[In.Lyon,In.Clermontferrand],cost:11},{nodes:[In.Saintetienne,In.Montpellier],cost:18},{nodes:[In.Saintetienne,In.Nimes],cost:16},{nodes:[In.Nimes,In.Aimenprovence],cost:8},{nodes:[In.Aimenprovence,In.Nice],cost:8},{nodes:[In.Nice,In.Toulon],cost:7},{nodes:[In.Toulon,In.Marseille],cost:3},{nodes:[In.Marseille,In.Aimenprovence],cost:0},{nodes:[In.Nice,In.Grenoble],cost:19},{nodes:[In.Grenoble,In.Aimenprovence],cost:17},{nodes:[In.Grenoble,In.Nimes],cost:18},{nodes:[In.Montpellier,In.Toulous],cost:14},{nodes:[In.Toulous,In.Bordeaux],cost:14},{nodes:[In.Bordeaux,In.Limoges],cost:13},{nodes:[In.Limoges,In.Tours],cost:13},{nodes:[In.Tours,In.Larochelle],cost:13},{nodes:[In.Larochelle,In.Angers],cost:12},{nodes:[In.Angers,In.Lemans],cost:5},{nodes:[In.Angers,In.Nantes],cost:5},{nodes:[In.Nantes,In.Larochelle],cost:9},{nodes:[In.Larochelle,In.Bordeaux],cost:13},{nodes:[In.Bordeaux,In.Biarritz],cost:12},{nodes:[In.Bordeaux,In.Lourdes],cost:14},{nodes:[In.Lourdes,In.Biarritz],cost:9},{nodes:[In.Lourdes,In.Toulous],cost:10},{nodes:[In.Lourdes,In.Carcassone],cost:15},{nodes:[In.Lourdes,In.Perpignan],cost:20},{nodes:[In.Perpignan,In.Carcassone],cost:6},{nodes:[In.Carcassone,In.Toulous],cost:6},{nodes:[In.Carcassone,In.Montpellier],cost:9},{nodes:[In.Montpellier,In.Perpignan],cost:11},{nodes:[In.Orleans,In.Limoges],cost:19},{nodes:[In.Orleans,In.Clermontferrand],cost:18},{nodes:[In.Paris3,In.Orleans],cost:7},{nodes:[In.Angers,In.Tours],cost:6},{nodes:[In.Larochelle,In.Limoges],cost:13},{nodes:[In.Nancy,In.Metz],cost:3},{nodes:[In.Nancy,In.Mulhouse],cost:12},{nodes:[In.Besancon,In.Lyon],cost:16},{nodes:[In.Lyon,In.Grenoble],cost:7},{nodes:[In.Lyon,In.Chamonix],cost:13},{nodes:[In.Lyon,In.Saintetienne],cost:6},{nodes:[In.Saintetienne,In.Clermontferrand],cost:10},{nodes:[In.Paris2,In.Reims],cost:9},{nodes:[In.Paris3,In.Paris2],cost:0}],layout:"Portrait",mapPosition:[50,-100],adjustRatio:[.7,.7],resupply:[[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[24,18,6,8],setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(yn);if("original"==n){a=a.slice(8);var i=a.splice(0,1)[0];a.splice(1,1)[0];var s=a.pop();a=an(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a.unshift(i),a.push(s),r=[Ar(3),Ar(4),Ar(5),Ar(6)],o=[Ar(7),Ar(8),Ar(9),Ar(10)]}else{a.splice(10,1)[0];var c=a.splice(8,1)[0],u=an(a.splice(0,11),t()+""),l=u.splice(0,7);l.push(c),l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=u.shift(),f=a.pop();a=an(a,t()+""),2==e?a=an(a.slice(6).concat(u),t()+""):3==e?(u=u.slice(1),a=an(a.slice(6).concat(u),t()+"")):a=an(4==e?a.slice(3).concat(u):a.concat(u),t()+""),a.unshift(d),a.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},deckBuild:{recharged:"power plant 13 is removed from the game and power plant 11 always starts in the market. Removal by player count: 2 players remove 6 higher plants, 3 players remove 1 low and 6 higher, 4 players remove 3 higher.",original:"power plant 13 is removed from the game; power plant 11 is placed on top of the deck in its place."}};(function(e){e["Purple"]="purple",e["Green"]="green",e["Red"]="red",e["Yellow"]="yellow",e["Cyan"]="cyan",e["Brown"]="brown"})(Kn||(Kn={})),function(e){e["Flensburg"]="Flensburg",e["Kiel"]="Kiel",e["Hamburg"]="Hamburg",e["Hannover"]="Hannover",e["Bremen"]="Bremen",e["Wilhelmshaven"]="Wilhelmshaven",e["Cuxhaven"]="Cuxhaven",e["Lubeck"]="Lubeck",e["Rostock"]="Rostock",e["Schwerin"]="Schwerin",e["Torgelow"]="Torgelow",e["Magdeburg"]="Magdeburg",e["Berlin"]="Berlin",e["FrankfurtO"]="Frankfurt-O",e["Halle"]="Halle",e["Leipzig"]="Leipzig",e["Dresden"]="Dresden",e["Erfurt"]="Erfurt",e["Fulda"]="Fulda",e["Würzburg"]="Würzburg",e["Nurnberg"]="Nurnberg",e["Osnabrück"]="Osnabrück",e["Münster"]="Münster",e["Essen"]="Essen",e["Duisburg"]="Duisburg",e["Dortmund"]="Dortmund",e["Dusseldorf"]="Dusseldorf",e["Kassel"]="Kassel",e["Aachen"]="Aachen",e["Köln"]="Köln",e["Trier"]="Trier",e["Wiesbaden"]="Wiesbaden",e["FrankfurtM"]="Frankfurt-M",e["Saarbrücken"]="Saarbrücken",e["Mannheim"]="Mannheim",e["Freiburg"]="Freiburg",e["Stuttgart"]="Stuttgart",e["Konstanz"]="Konstanz",e["Augsburg"]="Augsburg",e["Regensburg"]="Regensburg",e["München"]="München",e["Passau"]="Passau",e["Stralsund"]="Stralsund",e["Mainz"]="Mainz"}(Yn||(Yn={}));var Wn,Vn,Fn={name:"Germany",cities:[{name:Yn.Flensburg,region:Kn.Green,x:37,y:427},{name:Yn.Kiel,region:Kn.Green,x:106,y:392},{name:Yn.Hamburg,region:Kn.Green,x:212,y:396},{name:Yn.Hannover,region:Kn.Green,x:378,y:395},{name:Yn.Bremen,region:Kn.Green,x:276,y:463},{name:Yn.Wilhelmshaven,region:Kn.Green,x:211,y:521},{name:Yn.Cuxhaven,region:Kn.Green,x:168,y:474},{name:Yn.Lubeck,region:Kn.Brown,x:153,y:341},{name:Yn.Rostock,region:Kn.Brown,x:128,y:256},{name:Yn.Schwerin,region:Kn.Brown,x:217,y:297},{name:Yn.Torgelow,region:Kn.Brown,x:210,y:126},{name:Yn.Magdeburg,region:Kn.Brown,x:389,y:271},{name:Yn.Berlin,region:Kn.Brown,x:355,y:170},{name:Yn.FrankfurtO,region:Kn.Brown,x:381,y:99},{name:Yn.Halle,region:Kn.Yellow,x:493,y:259},{name:Yn.Leipzig,region:Kn.Yellow,x:526,y:222},{name:Yn.Dresden,region:Kn.Yellow,x:572,y:126},{name:Yn.Erfurt,region:Kn.Yellow,x:567,y:309},{name:Yn.Fulda,region:Kn.Yellow,x:628,y:398},{name:Yn.Würzburg,region:Kn.Yellow,x:735,y:386},{name:Yn.Nurnberg,region:Kn.Yellow,x:780,y:309},{name:Yn.Osnabrück,region:Kn.Red,x:359,y:516},{name:Yn.Münster,region:Kn.Red,x:427,y:554},{name:Yn.Essen,region:Kn.Red,x:475,y:603},{name:Yn.Duisburg,region:Kn.Red,x:456,y:645},{name:Yn.Dortmund,region:Kn.Red,x:505,y:543},{name:Yn.Dusseldorf,region:Kn.Red,x:537,y:635},{name:Yn.Kassel,region:Kn.Red,x:524,y:430},{name:Yn.Aachen,region:Kn.Cyan,x:614,y:654},{name:Yn.Köln,region:Kn.Cyan,x:590,y:589},{name:Yn.Trier,region:Kn.Cyan,x:739,y:628},{name:Yn.Wiesbaden,region:Kn.Cyan,x:697,y:514},{name:Yn.FrankfurtM,region:Kn.Cyan,x:672,y:473},{name:Yn.Saarbrücken,region:Kn.Cyan,x:818,y:568},{name:Yn.Mannheim,region:Kn.Cyan,x:796,y:479},{name:Yn.Freiburg,region:Kn.Purple,x:966,y:537},{name:Yn.Stuttgart,region:Kn.Purple,x:884,y:458},{name:Yn.Konstanz,region:Kn.Purple,x:1011,y:459},{name:Yn.Augsburg,region:Kn.Purple,x:911,y:346},{name:Yn.Regensburg,region:Kn.Purple,x:846,y:256},{name:Yn.München,region:Kn.Purple,x:967,y:278},{name:Yn.Passau,region:Kn.Purple,x:904,y:153}],connections:[{nodes:[Yn.Flensburg,Yn.Kiel],cost:4},{nodes:[Yn.Kiel,Yn.Hamburg],cost:8},{nodes:[Yn.Kiel,Yn.Lubeck],cost:4},{nodes:[Yn.Hamburg,Yn.Hannover],cost:17},{nodes:[Yn.Hamburg,Yn.Bremen],cost:11},{nodes:[Yn.Hamburg,Yn.Cuxhaven],cost:11},{nodes:[Yn.Hamburg,Yn.Lubeck],cost:6},{nodes:[Yn.Hamburg,Yn.Schwerin],cost:8},{nodes:[Yn.Bremen,Yn.Wilhelmshaven],cost:11},{nodes:[Yn.Bremen,Yn.Hannover],cost:10},{nodes:[Yn.Bremen,Yn.Cuxhaven],cost:8},{nodes:[Yn.Bremen,Yn.Osnabrück],cost:11},{nodes:[Yn.Hannover,Yn.Schwerin],cost:19},{nodes:[Yn.Hannover,Yn.Magdeburg],cost:15},{nodes:[Yn.Hannover,Yn.Erfurt],cost:19},{nodes:[Yn.Hannover,Yn.Osnabrück],cost:16},{nodes:[Yn.Hannover,Yn.Kassel],cost:15},{nodes:[Yn.Wilhelmshaven,Yn.Osnabrück],cost:14},{nodes:[Yn.Lubeck,Yn.Schwerin],cost:6},{nodes:[Yn.Schwerin,Yn.Rostock],cost:6},{nodes:[Yn.Schwerin,Yn.Torgelow],cost:19},{nodes:[Yn.Schwerin,Yn.Berlin],cost:18},{nodes:[Yn.Schwerin,Yn.Magdeburg],cost:16},{nodes:[Yn.Torgelow,Yn.Rostock],cost:19},{nodes:[Yn.Torgelow,Yn.Berlin],cost:15},{nodes:[Yn.Berlin,Yn.Magdeburg],cost:10},{nodes:[Yn.Berlin,Yn.FrankfurtO],cost:6},{nodes:[Yn.Berlin,Yn.Halle],cost:17},{nodes:[Yn.Magdeburg,Yn.Halle],cost:11},{nodes:[Yn.FrankfurtO,Yn.Leipzig],cost:21},{nodes:[Yn.FrankfurtO,Yn.Dresden],cost:16},{nodes:[Yn.Halle,Yn.Leipzig],cost:0},{nodes:[Yn.Leipzig,Yn.Dresden],cost:13},{nodes:[Yn.Erfurt,Yn.Halle],cost:6},{nodes:[Yn.Erfurt,Yn.Dresden],cost:19},{nodes:[Yn.Erfurt,Yn.Nurnberg],cost:21},{nodes:[Yn.Erfurt,Yn.Fulda],cost:13},{nodes:[Yn.Erfurt,Yn.Kassel],cost:15},{nodes:[Yn.Fulda,Yn.Würzburg],cost:11},{nodes:[Yn.Fulda,Yn.Kassel],cost:8},{nodes:[Yn.Fulda,Yn.FrankfurtM],cost:8},{nodes:[Yn.Würzburg,Yn.Nurnberg],cost:8},{nodes:[Yn.Würzburg,Yn.FrankfurtM],cost:13},{nodes:[Yn.Würzburg,Yn.Mannheim],cost:10},{nodes:[Yn.Würzburg,Yn.Stuttgart],cost:12},{nodes:[Yn.Würzburg,Yn.Augsburg],cost:19},{nodes:[Yn.Nurnberg,Yn.Augsburg],cost:18},{nodes:[Yn.Nurnberg,Yn.Regensburg],cost:12},{nodes:[Yn.Osnabrück,Yn.Münster],cost:7},{nodes:[Yn.Osnabrück,Yn.Kassel],cost:20},{nodes:[Yn.Münster,Yn.Essen],cost:6},{nodes:[Yn.Münster,Yn.Dortmund],cost:2},{nodes:[Yn.Essen,Yn.Duisburg],cost:0},{nodes:[Yn.Essen,Yn.Dusseldorf],cost:2},{nodes:[Yn.Essen,Yn.Dortmund],cost:4},{nodes:[Yn.Dortmund,Yn.Kassel],cost:18},{nodes:[Yn.Dortmund,Yn.Köln],cost:10},{nodes:[Yn.Dortmund,Yn.FrankfurtM],cost:20},{nodes:[Yn.Kassel,Yn.FrankfurtM],cost:13},{nodes:[Yn.Dusseldorf,Yn.Aachen],cost:9},{nodes:[Yn.Dusseldorf,Yn.Köln],cost:4},{nodes:[Yn.Aachen,Yn.Köln],cost:7},{nodes:[Yn.Aachen,Yn.Trier],cost:19},{nodes:[Yn.Trier,Yn.Köln],cost:20},{nodes:[Yn.Trier,Yn.Wiesbaden],cost:18},{nodes:[Yn.Trier,Yn.Saarbrücken],cost:11},{nodes:[Yn.Wiesbaden,Yn.FrankfurtM],cost:0},{nodes:[Yn.Wiesbaden,Yn.Köln],cost:21},{nodes:[Yn.Wiesbaden,Yn.Saarbrücken],cost:10},{nodes:[Yn.Wiesbaden,Yn.Mannheim],cost:11},{nodes:[Yn.Mannheim,Yn.Saarbrücken],cost:11},{nodes:[Yn.Mannheim,Yn.Stuttgart],cost:6},{nodes:[Yn.Stuttgart,Yn.Saarbrücken],cost:17},{nodes:[Yn.Stuttgart,Yn.Freiburg],cost:16},{nodes:[Yn.Stuttgart,Yn.Konstanz],cost:16},{nodes:[Yn.Stuttgart,Yn.Augsburg],cost:15},{nodes:[Yn.Konstanz,Yn.Freiburg],cost:14},{nodes:[Yn.Konstanz,Yn.Augsburg],cost:17},{nodes:[Yn.Regensburg,Yn.Augsburg],cost:13},{nodes:[Yn.Regensburg,Yn.München],cost:10},{nodes:[Yn.Regensburg,Yn.Passau],cost:12},{nodes:[Yn.Augsburg,Yn.München],cost:6},{nodes:[Yn.Passau,Yn.München],cost:14}],layout:"Landscape",mapPosition:[20,20]},Jn={name:"Germany",cities:[{name:Yn.Flensburg,region:Kn.Green,x:37,y:427},{name:Yn.Kiel,region:Kn.Green,x:106,y:392},{name:Yn.Hamburg,region:Kn.Green,x:212,y:396},{name:Yn.Hannover,region:Kn.Green,x:378,y:395},{name:Yn.Bremen,region:Kn.Green,x:276,y:463},{name:Yn.Wilhelmshaven,region:Kn.Green,x:211,y:521},{name:Yn.Cuxhaven,region:Kn.Green,x:168,y:474},{name:Yn.Lubeck,region:Kn.Brown,x:153,y:341},{name:Yn.Rostock,region:Kn.Brown,x:128,y:256},{name:Yn.Schwerin,region:Kn.Brown,x:217,y:297},{name:Yn.Stralsund,region:Kn.Brown,x:210,y:126},{name:Yn.Magdeburg,region:Kn.Brown,x:389,y:271},{name:Yn.Berlin,region:Kn.Brown,x:355,y:170},{name:Yn.FrankfurtO,region:Kn.Brown,x:381,y:99},{name:Yn.Halle,region:Kn.Yellow,x:493,y:259},{name:Yn.Leipzig,region:Kn.Yellow,x:526,y:222},{name:Yn.Dresden,region:Kn.Yellow,x:572,y:126},{name:Yn.Erfurt,region:Kn.Yellow,x:567,y:309},{name:Yn.Fulda,region:Kn.Yellow,x:628,y:398},{name:Yn.Würzburg,region:Kn.Yellow,x:735,y:386},{name:Yn.Nurnberg,region:Kn.Yellow,x:780,y:309},{name:Yn.Osnabrück,region:Kn.Red,x:359,y:516},{name:Yn.Münster,region:Kn.Red,x:427,y:554},{name:Yn.Essen,region:Kn.Red,x:475,y:603},{name:Yn.Duisburg,region:Kn.Red,x:456,y:645},{name:Yn.Dortmund,region:Kn.Red,x:505,y:543},{name:Yn.Dusseldorf,region:Kn.Red,x:537,y:635},{name:Yn.Kassel,region:Kn.Red,x:524,y:430},{name:Yn.Aachen,region:Kn.Cyan,x:614,y:654},{name:Yn.Köln,region:Kn.Cyan,x:590,y:589},{name:Yn.Trier,region:Kn.Cyan,x:739,y:628},{name:Yn.Mainz,region:Kn.Cyan,x:697,y:514},{name:Yn.FrankfurtM,region:Kn.Cyan,x:672,y:473},{name:Yn.Saarbrücken,region:Kn.Cyan,x:818,y:568},{name:Yn.Mannheim,region:Kn.Cyan,x:796,y:479},{name:Yn.Freiburg,region:Kn.Purple,x:966,y:537},{name:Yn.Stuttgart,region:Kn.Purple,x:884,y:458},{name:Yn.Konstanz,region:Kn.Purple,x:1011,y:459},{name:Yn.Augsburg,region:Kn.Purple,x:911,y:346},{name:Yn.Regensburg,region:Kn.Purple,x:846,y:256},{name:Yn.München,region:Kn.Purple,x:967,y:278},{name:Yn.Passau,region:Kn.Purple,x:904,y:153}],connections:[{nodes:[Yn.Flensburg,Yn.Kiel],cost:4},{nodes:[Yn.Kiel,Yn.Hamburg],cost:8},{nodes:[Yn.Kiel,Yn.Lubeck],cost:4},{nodes:[Yn.Hamburg,Yn.Hannover],cost:17},{nodes:[Yn.Hamburg,Yn.Bremen],cost:11},{nodes:[Yn.Hamburg,Yn.Cuxhaven],cost:11},{nodes:[Yn.Hamburg,Yn.Lubeck],cost:6},{nodes:[Yn.Hamburg,Yn.Schwerin],cost:8},{nodes:[Yn.Bremen,Yn.Wilhelmshaven],cost:11},{nodes:[Yn.Bremen,Yn.Hannover],cost:10},{nodes:[Yn.Bremen,Yn.Cuxhaven],cost:8},{nodes:[Yn.Bremen,Yn.Osnabrück],cost:11},{nodes:[Yn.Hannover,Yn.Schwerin],cost:19},{nodes:[Yn.Hannover,Yn.Magdeburg],cost:15},{nodes:[Yn.Hannover,Yn.Erfurt],cost:19},{nodes:[Yn.Hannover,Yn.Osnabrück],cost:16},{nodes:[Yn.Hannover,Yn.Kassel],cost:15},{nodes:[Yn.Wilhelmshaven,Yn.Osnabrück],cost:14},{nodes:[Yn.Lubeck,Yn.Schwerin],cost:6},{nodes:[Yn.Schwerin,Yn.Rostock],cost:6},{nodes:[Yn.Schwerin,Yn.Stralsund],cost:19},{nodes:[Yn.Schwerin,Yn.Berlin],cost:18},{nodes:[Yn.Schwerin,Yn.Magdeburg],cost:16},{nodes:[Yn.Stralsund,Yn.Rostock],cost:19},{nodes:[Yn.Stralsund,Yn.Berlin],cost:15},{nodes:[Yn.Berlin,Yn.Magdeburg],cost:10},{nodes:[Yn.Berlin,Yn.FrankfurtO],cost:6},{nodes:[Yn.Berlin,Yn.Halle],cost:17},{nodes:[Yn.Magdeburg,Yn.Halle],cost:11},{nodes:[Yn.FrankfurtO,Yn.Leipzig],cost:21},{nodes:[Yn.FrankfurtO,Yn.Dresden],cost:16},{nodes:[Yn.Halle,Yn.Leipzig],cost:0},{nodes:[Yn.Leipzig,Yn.Dresden],cost:13},{nodes:[Yn.Erfurt,Yn.Halle],cost:6},{nodes:[Yn.Erfurt,Yn.Dresden],cost:19},{nodes:[Yn.Erfurt,Yn.Nurnberg],cost:21},{nodes:[Yn.Erfurt,Yn.Fulda],cost:13},{nodes:[Yn.Erfurt,Yn.Kassel],cost:15},{nodes:[Yn.Fulda,Yn.Würzburg],cost:11},{nodes:[Yn.Fulda,Yn.Kassel],cost:8},{nodes:[Yn.Fulda,Yn.FrankfurtM],cost:8},{nodes:[Yn.Würzburg,Yn.Nurnberg],cost:8},{nodes:[Yn.Würzburg,Yn.FrankfurtM],cost:13},{nodes:[Yn.Würzburg,Yn.Mannheim],cost:10},{nodes:[Yn.Würzburg,Yn.Stuttgart],cost:12},{nodes:[Yn.Würzburg,Yn.Augsburg],cost:19},{nodes:[Yn.Nurnberg,Yn.Augsburg],cost:18},{nodes:[Yn.Nurnberg,Yn.Regensburg],cost:12},{nodes:[Yn.Osnabrück,Yn.Münster],cost:7},{nodes:[Yn.Osnabrück,Yn.Kassel],cost:20},{nodes:[Yn.Münster,Yn.Essen],cost:6},{nodes:[Yn.Münster,Yn.Dortmund],cost:2},{nodes:[Yn.Essen,Yn.Duisburg],cost:0},{nodes:[Yn.Essen,Yn.Dusseldorf],cost:2},{nodes:[Yn.Essen,Yn.Dortmund],cost:5},{nodes:[Yn.Dortmund,Yn.Kassel],cost:18},{nodes:[Yn.Dortmund,Yn.Köln],cost:10},{nodes:[Yn.Dortmund,Yn.FrankfurtM],cost:20},{nodes:[Yn.Kassel,Yn.FrankfurtM],cost:13},{nodes:[Yn.Dusseldorf,Yn.Aachen],cost:9},{nodes:[Yn.Dusseldorf,Yn.Köln],cost:4},{nodes:[Yn.Aachen,Yn.Köln],cost:7},{nodes:[Yn.Aachen,Yn.Trier],cost:19},{nodes:[Yn.Trier,Yn.Köln],cost:20},{nodes:[Yn.Trier,Yn.Mainz],cost:18},{nodes:[Yn.Trier,Yn.Saarbrücken],cost:11},{nodes:[Yn.Mainz,Yn.FrankfurtM],cost:0},{nodes:[Yn.Mainz,Yn.Köln],cost:21},{nodes:[Yn.Mainz,Yn.Saarbrücken],cost:10},{nodes:[Yn.Mainz,Yn.Mannheim],cost:11},{nodes:[Yn.Mannheim,Yn.Saarbrücken],cost:16},{nodes:[Yn.Mannheim,Yn.Stuttgart],cost:6},{nodes:[Yn.Stuttgart,Yn.Saarbrücken],cost:17},{nodes:[Yn.Stuttgart,Yn.Freiburg],cost:16},{nodes:[Yn.Stuttgart,Yn.Konstanz],cost:16},{nodes:[Yn.Stuttgart,Yn.Augsburg],cost:15},{nodes:[Yn.Konstanz,Yn.Freiburg],cost:14},{nodes:[Yn.Konstanz,Yn.Augsburg],cost:17},{nodes:[Yn.Regensburg,Yn.Augsburg],cost:13},{nodes:[Yn.Regensburg,Yn.München],cost:10},{nodes:[Yn.Regensburg,Yn.Passau],cost:12},{nodes:[Yn.Augsburg,Yn.München],cost:6},{nodes:[Yn.Passau,Yn.München],cost:14}],layout:"Landscape",mapPosition:[20,20],mapSpecificRules:"Stop resupplying uranium after power plant 39 has been bought."};(function(e){e["Red"]="red",e["Brown"]="brown",e["Green"]="green",e["Orange"]="orange",e["Yellow"]="yellow",e["Pink"]="pink"})(Wn||(Wn={})),function(e){e["Thiruvananthapuram"]="Thiruvananthapuram",e["Madurai"]="Madurai",e["Coimbatore"]="Coimbatore",e["Chennai"]="Chennai",e["Hyderabad"]="Hyderabad",e["Bangalore1"]="Bangalore 1",e["Bangalore2"]="Bangalore 2",e["Dibrugarh"]="Dibrugarh",e["Imphal"]="Imphal",e["Aizawi"]="Aizawi",e["Chittagong"]="Chittagong",e["Shillong"]="Shillong",e["Dhaka"]="Dhaka",e["Khulna"]="Khulna",e["Darjeeling"]="Darjeeling",e["Kathmandu"]="Kathmandu",e["Patna"]="Patna",e["Lakhnau"]="Lakhnau",e["Varanasi"]="Varanasi",e["Agra"]="Agra",e["Kanpur"]="Kanpur",e["Srinagar"]="Srinagar",e["Ludhiana"]="Ludhiana",e["Delhi1"]="Delhi 1",e["Delhi2"]="Delhi 2",e["Jaipur"]="Jaipur",e["Udaipur"]="Udaipur",e["Ahmedabad"]="Ahmedabad",e["Dhanbad"]="Dhanbad",e["Kolkata"]="Kolkata",e["Bhudaneswar"]="Bhudaneswar",e["Sambalpur"]="Sambalpur",e["Jabalpur"]="Jabalpur",e["Nagpur"]="Nagpur",e["Visakhapatnam"]="Visakhapatnam",e["Goa"]="Goa",e["Pune"]="Pune",e["Surat"]="Surat",e["Indore"]="Indore",e["Bhopal"]="Bhopal",e["Mumbai1"]="Mumbai 1",e["Mumbai2"]="Mumbai 2"}(Vn||(Vn={}));var $n,qn,Zn={name:"India",cities:[{name:Vn.Thiruvananthapuram,region:Wn.Red,x:217,y:868},{name:Vn.Madurai,region:Wn.Red,x:230,y:829},{name:Vn.Coimbatore,region:Wn.Red,x:197,y:797},{name:Vn.Chennai,region:Wn.Red,x:289,y:740},{name:Vn.Hyderabad,region:Wn.Red,x:232,y:618},{name:Vn.Bangalore1,region:Wn.Red,x:205,y:710},{name:Vn.Bangalore2,region:Wn.Red,x:205,y:735},{name:Vn.Dibrugarh,region:Wn.Brown,x:669,y:328},{name:Vn.Imphal,region:Wn.Brown,x:658,y:392},{name:Vn.Aizawi,region:Wn.Brown,x:625,y:427},{name:Vn.Chittagong,region:Wn.Brown,x:589,y:483},{name:Vn.Shillong,region:Wn.Brown,x:586,y:395},{name:Vn.Dhaka,region:Wn.Brown,x:548,y:432},{name:Vn.Khulna,region:Wn.Brown,x:528,y:468},{name:Vn.Darjeeling,region:Wn.Green,x:496,y:333},{name:Vn.Kathmandu,region:Wn.Green,x:418,y:307},{name:Vn.Patna,region:Wn.Green,x:416,y:373},{name:Vn.Lakhnau,region:Wn.Green,x:310,y:338},{name:Vn.Varanasi,region:Wn.Green,x:350,y:385},{name:Vn.Agra,region:Wn.Green,x:228,y:335},{name:Vn.Kanpur,region:Wn.Green,x:269,y:373},{name:Vn.Srinagar,region:Wn.Orange,x:135,y:115},{name:Vn.Ludhiana,region:Wn.Orange,x:186,y:215},{name:Vn.Delhi1,region:Wn.Orange,x:190,y:281},{name:Vn.Delhi2,region:Wn.Orange,x:190,y:303},{name:Vn.Jaipur,region:Wn.Orange,x:158,y:341},{name:Vn.Udaipur,region:Wn.Orange,x:105,y:410},{name:Vn.Ahmedabad,region:Wn.Orange,x:75,y:456},{name:Vn.Dhanbad,region:Wn.Yellow,x:424,y:427},{name:Vn.Kolkata,region:Wn.Yellow,x:463,y:477},{name:Vn.Bhudaneswar,region:Wn.Yellow,x:428,y:533},{name:Vn.Sambalpur,region:Wn.Yellow,x:376,y:494},{name:Vn.Jabalpur,region:Wn.Yellow,x:293,y:478},{name:Vn.Nagpur,region:Wn.Yellow,x:250,y:510},{name:Vn.Visakhapatnam,region:Wn.Yellow,x:358,y:597},{name:Vn.Goa,region:Wn.Pink,x:109,y:677},{name:Vn.Pune,region:Wn.Pink,x:133,y:587},{name:Vn.Surat,region:Wn.Pink,x:80,y:510},{name:Vn.Indore,region:Wn.Pink,x:160,y:476},{name:Vn.Bhopal,region:Wn.Pink,x:208,y:437},{name:Vn.Mumbai1,region:Wn.Pink,x:58,y:570},{name:Vn.Mumbai2,region:Wn.Pink,x:58,y:593}],connections:[{nodes:[Vn.Srinagar,Vn.Ludhiana],cost:15},{nodes:[Vn.Ludhiana,Vn.Delhi1],cost:9},{nodes:[Vn.Delhi1,Vn.Delhi2],cost:0},{nodes:[Vn.Delhi2,Vn.Jaipur],cost:7},{nodes:[Vn.Delhi2,Vn.Agra],cost:6},{nodes:[Vn.Jaipur,Vn.Bhopal],cost:12},{nodes:[Vn.Jaipur,Vn.Kanpur],cost:12},{nodes:[Vn.Agra,Vn.Lakhnau],cost:8},{nodes:[Vn.Lakhnau,Vn.Kathmandu],cost:15},{nodes:[Vn.Kathmandu,Vn.Darjeeling],cost:13},{nodes:[Vn.Darjeeling,Vn.Shillong],cost:12},{nodes:[Vn.Shillong,Vn.Patna],cost:18},{nodes:[Vn.Patna,Vn.Kathmandu],cost:10},{nodes:[Vn.Imphal,Vn.Dibrugarh],cost:11},{nodes:[Vn.Dibrugarh,Vn.Shillong],cost:9},{nodes:[Vn.Shillong,Vn.Imphal],cost:12},{nodes:[Vn.Imphal,Vn.Aizawi],cost:7},{nodes:[Vn.Shillong,Vn.Dhaka],cost:10},{nodes:[Vn.Dhaka,Vn.Khulna],cost:6},{nodes:[Vn.Khulna,Vn.Kolkata],cost:3},{nodes:[Vn.Dhanbad,Vn.Dhaka],cost:14},{nodes:[Vn.Jabalpur,Vn.Sambalpur],cost:13},{nodes:[Vn.Sambalpur,Vn.Nagpur],cost:13},{nodes:[Vn.Nagpur,Vn.Visakhapatnam],cost:17},{nodes:[Vn.Visakhapatnam,Vn.Sambalpur],cost:12},{nodes:[Vn.Jabalpur,Vn.Kanpur],cost:11},{nodes:[Vn.Varanasi,Vn.Jabalpur],cost:11},{nodes:[Vn.Kanpur,Vn.Varanasi],cost:8},{nodes:[Vn.Varanasi,Vn.Patna],cost:5},{nodes:[Vn.Patna,Vn.Lakhnau],cost:11},{nodes:[Vn.Kanpur,Vn.Bhopal],cost:13},{nodes:[Vn.Ahmedabad,Vn.Bhopal],cost:11},{nodes:[Vn.Bhopal,Vn.Udaipur],cost:11},{nodes:[Vn.Udaipur,Vn.Jaipur],cost:9},{nodes:[Vn.Ahmedabad,Vn.Surat],cost:7},{nodes:[Vn.Ahmedabad,Vn.Indore],cost:8},{nodes:[Vn.Indore,Vn.Surat],cost:10},{nodes:[Vn.Mumbai1,Vn.Mumbai2],cost:0},{nodes:[Vn.Mumbai2,Vn.Pune],cost:4},{nodes:[Vn.Pune,Vn.Hyderabad],cost:13},{nodes:[Vn.Pune,Vn.Nagpur],cost:17},{nodes:[Vn.Pune,Vn.Indore],cost:15},{nodes:[Vn.Goa,Vn.Coimbatore],cost:18},{nodes:[Vn.Bangalore1,Vn.Bangalore2],cost:0},{nodes:[Vn.Bangalore2,Vn.Coimbatore],cost:9},{nodes:[Vn.Coimbatore,Vn.Thiruvananthapuram],cost:10},{nodes:[Vn.Thiruvananthapuram,Vn.Madurai],cost:7},{nodes:[Vn.Madurai,Vn.Chennai],cost:12},{nodes:[Vn.Chennai,Vn.Bangalore1],cost:9},{nodes:[Vn.Bangalore1,Vn.Hyderabad],cost:14},{nodes:[Vn.Hyderabad,Vn.Goa],cost:15},{nodes:[Vn.Goa,Vn.Bangalore2],cost:14},{nodes:[Vn.Mumbai2,Vn.Goa],cost:11},{nodes:[Vn.Indore,Vn.Nagpur],cost:10},{nodes:[Vn.Sambalpur,Vn.Dhanbad],cost:8},{nodes:[Vn.Sambalpur,Vn.Bhudaneswar],cost:7},{nodes:[Vn.Bhudaneswar,Vn.Kolkata],cost:11},{nodes:[Vn.Kolkata,Vn.Dhanbad],cost:9},{nodes:[Vn.Dhanbad,Vn.Patna],cost:8},{nodes:[Vn.Nagpur,Vn.Hyderabad],cost:12},{nodes:[Vn.Hyderabad,Vn.Visakhapatnam],cost:13},{nodes:[Vn.Visakhapatnam,Vn.Chennai],cost:17},{nodes:[Vn.Chittagong,Vn.Aizawi],cost:7},{nodes:[Vn.Dhaka,Vn.Aizawi],cost:8},{nodes:[Vn.Dhaka,Vn.Chittagong],cost:7},{nodes:[Vn.Patna,Vn.Darjeeling],cost:11},{nodes:[Vn.Visakhapatnam,Vn.Bhudaneswar],cost:12},{nodes:[Vn.Udaipur,Vn.Ahmedabad],cost:6},{nodes:[Vn.Madurai,Vn.Coimbatore],cost:6},{nodes:[Vn.Bangalore2,Vn.Madurai],cost:10},{nodes:[Vn.Bhopal,Vn.Jabalpur],cost:8},{nodes:[Vn.Bhopal,Vn.Nagpur],cost:7},{nodes:[Vn.Bhopal,Vn.Indore],cost:4},{nodes:[Vn.Surat,Vn.Mumbai1],cost:6},{nodes:[Vn.Agra,Vn.Kanpur],cost:8},{nodes:[Vn.Kanpur,Vn.Lakhnau],cost:3},{nodes:[Vn.Lakhnau,Vn.Varanasi],cost:7}],layout:"Portrait",viewBox:[1480,1100],mapPosition:[200,-60],adjustRatio:[1.25,1.25],resupply:[[[4,5,4],[5,6,4],[6,7,5],[7,8,6],[8,10,7]],[[1,2,2],[2,2,2],[2,3,3],[3,4,4],[4,5,5]],[[1,3,4],[1,3,4],[3,4,6],[4,5,7],[4,7,9]],[[1,1,1],[1,1,1],[1,2,1],[2,2,2],[2,3,2]]],startingResources:[24,21,20,3],startingSupply:[24,24,24,8],maxPriceAvailable:[3,5,8],coalPrices:[1,1,1,1,2,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],garbagePrices:[1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6],uraniumPrices:[1,2,3,4,5,6,7,8],setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(mn);if("original"==n){a=a.slice(8);var i=a.findIndex((function(e){return 13==e.number})),s=a.splice(i,1)[0],c=a.pop();a=an(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a.unshift(s),a.push(c),r=[Ar(3,"India"),Ar(4,"India"),Ar(5,"India"),Ar(6,"India")],o=[Ar(7,"India"),Ar(8,"India"),Ar(9,"India"),Ar(10,"India")]}else{var u=an(a.splice(0,12),t()+""),l=u.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=u.shift(),f=a.pop();a=an(a,t()+""),2==e?(u=u.slice(1),a=an(a.slice(5).concat(u),t()+"")):3==e?(u=u.slice(2),a=an(a.slice(6).concat(u),t()+"")):4==e?(u=u.slice(1),a=an(a.slice(3).concat(u),t()+"")):a=an(a.concat(u),t()+""),a.unshift(d),a.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},mapSpecificRules:"The power grid will suffer a power outage if the number of cities built in one round is more than twice the number of players — 9 or more cities in a 4-player game. Every player is then penalized $3 for each city they own, though income for the round never falls below $0.\nPlayers take turns buying one resource at a time. The resource market is limited by step: only resources costing $3 or less may be bought in step 1, $5 or less in step 2, and the whole market is open from step 3.\nGarbage plants are less efficient. Their cost is one higher, but their storage capacity is not changed.\nPlayers must power as many cities as possible in each round.",deckBuild:"power plant 11 is removed from the game; otherwise standard setup for both variants (original: plant 13 on top of the deck)."};(function(e){e["Brown"]="brown",e["Purple"]="purple",e["Red"]="red",e["Green"]="green",e["Yellow"]="yellow",e["Blue"]="blue"})($n||($n={})),function(e){e["Siracusa"]="Siracusa",e["Reggiodical"]="Reggio Di Cal",e["Cosenza"]="Cosenza",e["Messina"]="Messina",e["Palermo"]="Palermo",e["Catania"]="Catania",e["Brindisi"]="Brindisi",e["Taranto"]="Taranto",e["Bari"]="Bari",e["Foggia"]="Foggia",e["Pesara"]="Pesara",e["Napoli"]="Napoli",e["Salerno"]="Salerno",e["Roma"]="Roma",e["Ancona"]="Ancona",e["Rimini"]="Rimini",e["Ravenna"]="Ravenna",e["Sanmarino"]="San Marino",e["Perugia"]="Perugia",e["Frienze"]="Frienze",e["Udine"]="Udine",e["Trieste"]="Trieste",e["Bolanzo"]="Bolanzo",e["Mestre"]="Mestre",e["Venezia"]="Venezia",e["Vicenza"]="Vicenza",e["Padua"]="Padua",e["Ferrara"]="Ferrara",e["Bologna"]="Bologna",e["Modena"]="Modena",e["Reggio"]="Reggio",e["Pisa"]="Pisa",e["Parma"]="Parma",e["Laspezia"]="La Spezia",e["Torino"]="Torino",e["Bergamo"]="Bergamo",e["Milano"]="Milano",e["Brescia"]="Brescia",e["Picenza"]="Picenza",e["Genova"]="Genova",e["Verona"]="Verona",e["Lovorno"]="Lovorno"}(qn||(qn={}));var Qn,Xn,et={name:"Italy",cities:[{name:qn.Siracusa,region:$n.Brown,x:1048,y:471},{name:qn.Reggiodical,region:$n.Brown,x:1013,y:346},{name:qn.Cosenza,region:$n.Brown,x:960,y:240},{name:qn.Messina,region:$n.Brown,x:975,y:365},{name:qn.Palermo,region:$n.Brown,x:875,y:468},{name:qn.Catania,region:$n.Brown,x:1007,y:460},{name:qn.Brindisi,region:$n.Purple,x:945,y:4},{name:qn.Taranto,region:$n.Brown,x:933,y:92},{name:qn.Bari,region:$n.Purple,x:871,y:32},{name:qn.Foggia,region:$n.Purple,x:777,y:69},{name:qn.Pesara,region:$n.Purple,x:646,y:76},{name:qn.Napoli,region:$n.Purple,x:747,y:222},{name:qn.Salerno,region:$n.Purple,x:799,y:212},{name:qn.Roma,region:$n.Purple,x:583,y:228},{name:qn.Ancona,region:$n.Red,x:549,y:16},{name:qn.Rimini,region:$n.Red,x:459,y:13},{name:qn.Ravenna,region:$n.Red,x:401,y:-5},{name:qn.Sanmarino,region:$n.Red,x:456,y:88},{name:qn.Perugia,region:$n.Red,x:507,y:123},{name:qn.Frienze,region:$n.Red,x:389,y:159},{name:qn.Udine,region:$n.Green,x:358,y:-207},{name:qn.Trieste,region:$n.Green,x:410,y:-181},{name:qn.Bolanzo,region:$n.Green,x:197,y:-172},{name:qn.Mestre,region:$n.Green,x:318,y:-115},{name:qn.Venezia,region:$n.Green,x:349,y:-103},{name:qn.Vicenza,region:$n.Green,x:235,y:-89},{name:qn.Padua,region:$n.Green,x:279,y:-72},{name:qn.Torino,region:$n.Blue,x:57,y:215},{name:qn.Bergamo,region:$n.Blue,x:125,y:14},{name:qn.Milano,region:$n.Blue,x:123,y:102},{name:qn.Brescia,region:$n.Blue,x:182,y:2},{name:qn.Picenza,region:$n.Blue,x:182,y:105},{name:qn.Genova,region:$n.Blue,x:182,y:217},{name:qn.Verona,region:$n.Blue,x:231,y:-13},{name:qn.Lovorno,region:$n.Red,x:333,y:216},{name:qn.Ferrara,region:$n.Yellow,x:333,y:-3},{name:qn.Bologna,region:$n.Yellow,x:350,y:85},{name:qn.Modena,region:$n.Yellow,x:303,y:72},{name:qn.Reggio,region:$n.Yellow,x:263,y:96},{name:qn.Pisa,region:$n.Yellow,x:304,y:197},{name:qn.Parma,region:$n.Yellow,x:224,y:81},{name:qn.Laspezia,region:$n.Yellow,x:245,y:206}],connections:[{nodes:[qn.Palermo,qn.Catania],cost:15},{nodes:[qn.Catania,qn.Siracusa],cost:3},{nodes:[qn.Catania,qn.Messina],cost:6},{nodes:[qn.Messina,qn.Palermo],cost:15},{nodes:[qn.Messina,qn.Reggiodical],cost:3},{nodes:[qn.Reggiodical,qn.Cosenza],cost:13},{nodes:[qn.Cosenza,qn.Salerno],cost:18},{nodes:[qn.Cosenza,qn.Taranto],cost:15},{nodes:[qn.Taranto,qn.Brindisi],cost:4},{nodes:[qn.Brindisi,qn.Bari],cost:7},{nodes:[qn.Bari,qn.Taranto],cost:7},{nodes:[qn.Taranto,qn.Salerno],cost:19},{nodes:[qn.Salerno,qn.Bari],cost:16},{nodes:[qn.Bari,qn.Foggia],cost:8},{nodes:[qn.Foggia,qn.Salerno],cost:10},{nodes:[qn.Salerno,qn.Napoli],cost:3},{nodes:[qn.Napoli,qn.Foggia],cost:12},{nodes:[qn.Napoli,qn.Roma],cost:14},{nodes:[qn.Roma,qn.Foggia],cost:22},{nodes:[qn.Foggia,qn.Pesara],cost:10},{nodes:[qn.Pesara,qn.Roma],cost:14},{nodes:[qn.Roma,qn.Ancona],cost:17},{nodes:[qn.Roma,qn.Perugia],cost:13},{nodes:[qn.Perugia,qn.Sanmarino],cost:12},{nodes:[qn.Sanmarino,qn.Rimini],cost:0},{nodes:[qn.Rimini,qn.Ancona],cost:6},{nodes:[qn.Ancona,qn.Perugia],cost:10},{nodes:[qn.Ancona,qn.Pesara],cost:9},{nodes:[qn.Roma,qn.Frienze],cost:20},{nodes:[qn.Lovorno,qn.Roma],cost:19},{nodes:[qn.Frienze,qn.Perugia],cost:13},{nodes:[qn.Frienze,qn.Sanmarino],cost:12},{nodes:[qn.Genova,qn.Torino],cost:12},{nodes:[qn.Torino,qn.Milano],cost:8},{nodes:[qn.Milano,qn.Bergamo],cost:3},{nodes:[qn.Bergamo,qn.Bolanzo],cost:12},{nodes:[qn.Bolanzo,qn.Brescia],cost:12},{nodes:[qn.Bolanzo,qn.Mestre],cost:12},{nodes:[qn.Bolanzo,qn.Udine],cost:14},{nodes:[qn.Udine,qn.Trieste],cost:4},{nodes:[qn.Udine,qn.Venezia],cost:7},{nodes:[qn.Venezia,qn.Mestre],cost:0},{nodes:[qn.Genova,qn.Laspezia],cost:5},{nodes:[qn.Laspezia,qn.Pisa],cost:5},{nodes:[qn.Pisa,qn.Lovorno],cost:0},{nodes:[qn.Genova,qn.Milano],cost:9},{nodes:[qn.Milano,qn.Picenza],cost:4},{nodes:[qn.Picenza,qn.Parma],cost:4},{nodes:[qn.Parma,qn.Reggio],cost:2},{nodes:[qn.Reggio,qn.Modena],cost:2},{nodes:[qn.Modena,qn.Bologna],cost:3},{nodes:[qn.Bologna,qn.Pisa],cost:12},{nodes:[qn.Pisa,qn.Reggio],cost:10},{nodes:[qn.Laspezia,qn.Parma],cost:9},{nodes:[qn.Laspezia,qn.Reggio],cost:9},{nodes:[qn.Genova,qn.Picenza],cost:7},{nodes:[qn.Genova,qn.Parma],cost:11},{nodes:[qn.Milano,qn.Brescia],cost:4},{nodes:[qn.Brescia,qn.Bergamo],cost:3},{nodes:[qn.Brescia,qn.Verona],cost:4},{nodes:[qn.Brescia,qn.Picenza],cost:5},{nodes:[qn.Bolanzo,qn.Vicenza],cost:10},{nodes:[qn.Vicenza,qn.Padua],cost:3},{nodes:[qn.Vicenza,qn.Verona],cost:3},{nodes:[qn.Verona,qn.Parma],cost:6},{nodes:[qn.Parma,qn.Brescia],cost:6},{nodes:[qn.Verona,qn.Padua],cost:5},{nodes:[qn.Padua,qn.Mestre],cost:3},{nodes:[qn.Venezia,qn.Ravenna],cost:12},{nodes:[qn.Ravenna,qn.Ferrara],cost:4},{nodes:[qn.Ferrara,qn.Venezia],cost:9},{nodes:[qn.Ferrara,qn.Padua],cost:7},{nodes:[qn.Ferrara,qn.Verona],cost:7},{nodes:[qn.Verona,qn.Modena],cost:8},{nodes:[qn.Frienze,qn.Pisa],cost:5},{nodes:[qn.Frienze,qn.Ravenna],cost:10},{nodes:[qn.Ravenna,qn.Rimini],cost:4},{nodes:[qn.Frienze,qn.Bologna],cost:8},{nodes:[qn.Bologna,qn.Ravenna],cost:4},{nodes:[qn.Bologna,qn.Ferrara],cost:3},{nodes:[qn.Ferrara,qn.Modena],cost:4}],mapPosition:[-20,320],mapSpecificRules:"Stop resupplying uranium after power plant 39 has been bought.",startingResources:[18,15,12,2]};(function(e){e["Brown"]="brown",e["Green"]="green",e["Purple"]="purple",e["Yellow"]="yellow",e["Red"]="red"})(Qn||(Qn={})),function(e){e["Asahikawa"]="Asahikawa",e["Sapporo"]="Sapporo",e["Hakodate"]="Hakodate",e["Admori"]="Admori",e["Morioka"]="Morioka",e["Akita"]="Akita",e["Sendai"]="Sendai",e["Niigata"]="Niigata",e["Koriyama"]="Koriyama",e["Nagano"]="Nagano",e["Saitama"]="Saitama",e["Tokyo"]="Tokyo",e["Chiba"]="Chiba",e["Yokohama"]="Yokohama",e["Kanazawa"]="Kanazawa",e["Toyama"]="Toyama",e["Kyoto"]="Kyoto",e["Osaka"]="Osaka",e["Nagoya"]="Nagoya",e["Kofu"]="Kofu",e["Hamamatsu"]="Hamamatsu",e["Kobe"]="Kobe",e["Matsue"]="Matsue",e["Okayama"]="Okayama",e["Takamatsu"]="Takamatsu",e["Kochi"]="Kochi",e["Matsuyama"]="Matsuyama",e["Hiroshima"]="Hiroshima",e["Shimonoseki"]="Shimonoseki",e["Oita"]="Oita",e["Miyazaki"]="Miyazaki",e["Kagoshima"]="Kagoshima",e["Kumamoto"]="Kumamoto",e["Fukuoka"]="Fukuoka",e["Nagasaki"]="Nagasaki"}(Xn||(Xn={}));var nt,tt,rt={name:"Japan",cities:[{name:Xn.Asahikawa,region:Qn.Brown,x:3384,y:1014},{name:Xn.Sapporo,region:Qn.Brown,x:3028,y:982,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:Xn.Hakodate,region:Qn.Brown,x:2622,y:1112},{name:Xn.Admori,region:Qn.Brown,x:3818,y:1336},{name:Xn.Morioka,region:Qn.Brown,x:3636,y:1646,slotCosts:[15,20],stepSlots:[0,1,2]},{name:Xn.Akita,region:Qn.Brown,x:3472,y:1480},{name:Xn.Sendai,region:Qn.Brown,x:3408,y:1886},{name:Xn.Niigata,region:Qn.Green,x:2874,y:1628},{name:Xn.Koriyama,region:Qn.Green,x:3086,y:1932,slotCosts:[10,15]},{name:Xn.Nagano,region:Qn.Green,x:2486,y:1722},{name:Xn.Saitama,region:Qn.Green,x:2450,y:1986,slotCosts:[15,20],stepSlots:[0,1,2]},{name:Xn.Tokyo,region:Qn.Green,x:2524,y:2122,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:Xn.Chiba,region:Qn.Green,x:2650,y:2316},{name:Xn.Yokohama,region:Qn.Green,x:2306,y:2244,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:Xn.Kanazawa,region:Qn.Purple,x:2207,y:1385},{name:Xn.Toyama,region:Qn.Purple,x:2257,y:1595,slotCosts:[15,20],stepSlots:[0,1,2]},{name:Xn.Kyoto,region:Qn.Purple,x:1765,y:1595},{name:Xn.Osaka,region:Qn.Purple,x:1517,y:1631,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:Xn.Nagoya,region:Qn.Purple,x:1942,y:1751},{name:Xn.Kofu,region:Qn.Purple,x:2179,y:1897},{name:Xn.Hamamatsu,region:Qn.Purple,x:1958,y:2024,slotCosts:[10,15]},{name:Xn.Kobe,region:Qn.Yellow,x:1555,y:1451,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:Xn.Matsue,region:Qn.Yellow,x:1457,y:1006,slotCosts:[15,20],stepSlots:[0,1,2]},{name:Xn.Okayama,region:Qn.Yellow,x:1390,y:1286},{name:Xn.Takamatsu,region:Qn.Yellow,x:1268,y:1507},{name:Xn.Kochi,region:Qn.Yellow,x:974,y:1472,slotCosts:[10,15]},{name:Xn.Matsuyama,region:Qn.Yellow,x:1036,y:1268},{name:Xn.Hiroshima,region:Qn.Yellow,x:1103,y:1078},{name:Xn.Shimonoseki,region:Qn.Red,x:856,y:962},{name:Xn.Oita,region:Qn.Red,x:731,y:1166,slotCosts:[10,15]},{name:Xn.Miyazaki,region:Qn.Red,x:469,y:1318,slotCosts:[15,20],stepSlots:[0,1,2]},{name:Xn.Kagoshima,region:Qn.Red,x:157,y:1255},{name:Xn.Kumamoto,region:Qn.Red,x:457,y:1045},{name:Xn.Fukuoka,region:Qn.Red,x:644,y:823,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:Xn.Nagasaki,region:Qn.Red,x:313,y:875}],layout:"Portrait",adjustRatio:[.28,.28],mapPosition:[0,120],resupply:[[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[21,15,9,3],startingCities:["Fukuoka","Kobe","Osaka","Sapporo","Tokyo","Yokohama"],mapSpecificRules:"Users may build 0, 1, 2 houses in round 1. The first house you place MUST be in one of the six special starting cities: Fukuoka, Kobe, Osaka, Sapporo, Tokyo, or Yokohama whether it be round 1 or after.\nYou get a free jump but that free jump can only go into one of these six starting cities (you still pay for the house, just no connection fee).\nAll of these six special starting cities are [10, 10, 20] meaning two players can go there in step 1 and these cities are marked with 10 on the map.\nIf you build 2 cities in round 1, you must use your free jump even though they might have 0 connection like Tokyo and Yokohama (system will auto use your free jump).\nIn Step 3, the third connection spots (cost 20) are opened in the starting cities and are available for normal or free jump.\nSome smaller cities have only two building spots (10 and 15, or 15 and 20). These cities are marked with an X. An X at the top means no Step 1 builds, an X at the bottom means no Step 3 builds.\nIf all starting city spots are taken, you cannot use your free jump.",connections:[{nodes:[Xn.Nagasaki,Xn.Fukuoka],cost:10},{nodes:[Xn.Fukuoka,Xn.Shimonoseki],cost:10},{nodes:[Xn.Shimonoseki,Xn.Hiroshima],cost:12},{nodes:[Xn.Hiroshima,Xn.Matsue],cost:13},{nodes:[Xn.Kumamoto,Xn.Kagoshima],cost:13},{nodes:[Xn.Kagoshima,Xn.Miyazaki],cost:8},{nodes:[Xn.Miyazaki,Xn.Kumamoto],cost:11},{nodes:[Xn.Kumamoto,Xn.Oita],cost:12},{nodes:[Xn.Oita,Xn.Miyazaki],cost:12},{nodes:[Xn.Oita,Xn.Matsuyama],cost:14},{nodes:[Xn.Matsuyama,Xn.Kochi],cost:7},{nodes:[Xn.Kochi,Xn.Takamatsu],cost:9},{nodes:[Xn.Hiroshima,Xn.Okayama],cost:11},{nodes:[Xn.Okayama,Xn.Matsue],cost:11},{nodes:[Xn.Okayama,Xn.Kobe],cost:9},{nodes:[Xn.Kobe,Xn.Matsue],cost:16},{nodes:[Xn.Matsuyama,Xn.Takamatsu],cost:10},{nodes:[Xn.Takamatsu,Xn.Okayama],cost:9},{nodes:[Xn.Osaka,Xn.Nagoya],cost:9},{nodes:[Xn.Nagoya,Xn.Kyoto],cost:9},{nodes:[Xn.Kyoto,Xn.Kobe],cost:3},{nodes:[Xn.Osaka,Xn.Kyoto],cost:0},{nodes:[Xn.Kyoto,Xn.Kanazawa],cost:19},{nodes:[Xn.Kanazawa,Xn.Toyama],cost:3},{nodes:[Xn.Kanazawa,Xn.Nagoya],cost:16},{nodes:[Xn.Nagoya,Xn.Toyama],cost:15},{nodes:[Xn.Toyama,Xn.Nagano],cost:9},{nodes:[Xn.Nagano,Xn.Niigata],cost:12},{nodes:[Xn.Niigata,Xn.Akita],cost:16},{nodes:[Xn.Hamamatsu,Xn.Kofu],cost:12},{nodes:[Xn.Kofu,Xn.Nagoya],cost:15},{nodes:[Xn.Nagoya,Xn.Hamamatsu],cost:6},{nodes:[Xn.Kofu,Xn.Saitama],cost:8},{nodes:[Xn.Saitama,Xn.Tokyo],cost:0},{nodes:[Xn.Tokyo,Xn.Yokohama],cost:0},{nodes:[Xn.Tokyo,Xn.Chiba],cost:4},{nodes:[Xn.Chiba,Xn.Sendai],cost:21},{nodes:[Xn.Tokyo,Xn.Koriyama],cost:14},{nodes:[Xn.Koriyama,Xn.Niigata],cost:11},{nodes:[Xn.Saitama,Xn.Nagano],cost:17},{nodes:[Xn.Saitama,Xn.Niigata],cost:21},{nodes:[Xn.Koriyama,Xn.Sendai],cost:7},{nodes:[Xn.Sendai,Xn.Akita],cost:14},{nodes:[Xn.Akita,Xn.Koriyama],cost:21},{nodes:[Xn.Sendai,Xn.Morioka],cost:10},{nodes:[Xn.Morioka,Xn.Akita],cost:7},{nodes:[Xn.Akita,Xn.Admori],cost:10},{nodes:[Xn.Admori,Xn.Morioka],cost:10},{nodes:[Xn.Admori,Xn.Hakodate],cost:15},{nodes:[Xn.Hakodate,Xn.Sapporo],cost:14},{nodes:[Xn.Sapporo,Xn.Asahikawa],cost:8},{nodes:[Xn.Kumamoto,Xn.Shimonoseki],cost:16},{nodes:[Xn.Kumamoto,Xn.Fukuoka],cost:8}]},ot=b({},rt);(function(e){e["Yellow"]="yellow",e["Red"]="red",e["Brown"]="brown",e["Green"]="green",e["Purple"]="purple",e["Pink"]="pink"})(nt||(nt={})),function(e){e["Gyeongju"]="Gyeongju",e["Ulsan"]="Ulsan",e["Busan"]="Busan",e["Jinju"]="Jinju",e["Daegu"]="Daegu",e["Andong"]="Andong",e["Sangju"]="Sangju",e["Rasun"]="Rasun",e["Cheongjin"]="Cheongjin",e["Gyeongseong"]="Gyeongseong",e["Seongjin"]="Seongjin",e["Hyesan"]="Hyesan",e["Hamheung"]="Hamheung",e["Wonsan"]="Wonsan",e["Samcheok"]="Samcheok",e["Donghae"]="Donghae",e["Taeraek"]="Taeraek",e["Gangneung"]="Gangneung",e["Sokcho"]="Sokcho",e["Wonju"]="Wonju",e["Chuncheon"]="Chuncheon",e["Chungju"]="Chungju",e["Cheongju"]="Cheongju",e["Jeju"]="Jeju",e["Gwangju"]="Gwangju",e["Naju"]="Naju",e["Jeonju"]="Jeonju",e["Daejeon"]="Daejeon",e["Yongin"]="Yongin",e["Seoul"]="Seoul",e["Suwon"]="Suwon",e["Goyang"]="Goyang",e["Anyang"]="Anyang",e["Incheon"]="Incheon",e["Gaesung"]="Gaesung",e["Ganggye"]="Ganggye",e["Haeju"]="Haeju",e["Pyeongyang"]="Pyeongyang",e["Hwangju"]="Hwangju",e["Nampo"]="Nampo",e["Anju"]="Anju",e["Sinuiju"]="Sinuiju"}(tt||(tt={}));var at,it={name:"Korea",cities:[{name:tt.Gyeongju,region:nt.Yellow,x:2161,y:2980},{name:tt.Ulsan,region:nt.Yellow,x:2185,y:3226},{name:tt.Busan,region:nt.Yellow,x:2041,y:3440},{name:tt.Jinju,region:nt.Yellow,x:1676,y:3431},{name:tt.Daegu,region:nt.Yellow,x:1876,y:3062},{name:tt.Andong,region:nt.Yellow,x:1987,y:2737},{name:tt.Sangju,region:nt.Yellow,x:1747,y:2827},{name:tt.Rasun,region:nt.Red,x:2485,y:361},{name:tt.Cheongjin,region:nt.Red,x:2309,y:491},{name:tt.Gyeongseong,region:nt.Red,x:2209,y:689},{name:tt.Seongjin,region:nt.Red,x:2060,y:1001},{name:tt.Hyesan,region:nt.Red,x:1783,y:665},{name:tt.Hamheung,region:nt.Red,x:1516,y:1283},{name:tt.Wonsan,region:nt.Red,x:1484,y:1600},{name:tt.Samcheok,region:nt.Brown,x:2171,y:2437},{name:tt.Donghae,region:nt.Brown,x:2041,y:2299},{name:tt.Taeraek,region:nt.Brown,x:1999,y:2528},{name:tt.Gangneung,region:nt.Brown,x:1949,y:2092},{name:tt.Sokcho,region:nt.Brown,x:1832,y:1915},{name:tt.Wonju,region:nt.Brown,x:1735,y:2293},{name:tt.Chuncheon,region:nt.Brown,x:1594,y:2056},{name:tt.Chungju,region:nt.Green,x:1744,y:2552},{name:tt.Cheongju,region:nt.Green,x:1547,y:2645},{name:tt.Jeju,region:nt.Green,x:1223,y:4051},{name:tt.Gwangju,region:nt.Green,x:1309,y:3380},{name:tt.Naju,region:nt.Green,x:1121,y:3569},{name:tt.Jeonju,region:nt.Green,x:1363,y:3109},{name:tt.Daejeon,region:nt.Green,x:1462,y:2839},{name:tt.Yongin,region:nt.Purple,x:1532,y:2371},{name:tt.Seoul,region:nt.Purple,x:1400,y:2203},{name:tt.Suwon,region:nt.Purple,x:1366,y:2488},{name:tt.Goyang,region:nt.Purple,x:1219,y:2270},{name:tt.Anyang,region:nt.Purple,x:1156,y:2446},{name:tt.Incheon,region:nt.Purple,x:1028,y:2311},{name:tt.Gaesung,region:nt.Purple,x:1171,y:2042},{name:tt.Ganggye,region:nt.Pink,x:1213,y:809},{name:tt.Haeju,region:nt.Pink,x:856,y:2135},{name:tt.Pyeongyang,region:nt.Pink,x:938,y:1642},{name:tt.Hwangju,region:nt.Pink,x:901,y:1886},{name:tt.Nampo,region:nt.Pink,x:677,y:1763},{name:tt.Anju,region:nt.Pink,x:812,y:1391},{name:tt.Sinuiju,region:nt.Pink,x:433,y:1105}],connections:[{nodes:[tt.Naju,tt.Jeju],cost:19},{nodes:[tt.Naju,tt.Jinju],cost:15},{nodes:[tt.Jinju,tt.Gwangju],cost:14},{nodes:[tt.Gwangju,tt.Naju],cost:2},{nodes:[tt.Gwangju,tt.Jeonju],cost:11},{nodes:[tt.Jeonju,tt.Jinju],cost:15},{nodes:[tt.Jinju,tt.Busan],cost:11},{nodes:[tt.Jinju,tt.Daegu],cost:11},{nodes:[tt.Daegu,tt.Jeonju],cost:16},{nodes:[tt.Daegu,tt.Busan],cost:12},{nodes:[tt.Busan,tt.Ulsan],cost:7},{nodes:[tt.Ulsan,tt.Daegu],cost:10},{nodes:[tt.Jeonju,tt.Daejeon],cost:9},{nodes:[tt.Daejeon,tt.Daegu],cost:15},{nodes:[tt.Andong,tt.Gyeongju],cost:11},{nodes:[tt.Gyeongju,tt.Daegu],cost:7},{nodes:[tt.Gyeongju,tt.Ulsan],cost:3},{nodes:[tt.Daegu,tt.Sangju],cost:9},{nodes:[tt.Sangju,tt.Daejeon],cost:8},{nodes:[tt.Daegu,tt.Andong],cost:10},{nodes:[tt.Andong,tt.Sangju],cost:6},{nodes:[tt.Andong,tt.Taeraek],cost:8},{nodes:[tt.Taeraek,tt.Samcheok],cost:5},{nodes:[tt.Samcheok,tt.Donghae],cost:0},{nodes:[tt.Donghae,tt.Gangneung],cost:4},{nodes:[tt.Chungju,tt.Taeraek],cost:13},{nodes:[tt.Andong,tt.Chungju],cost:11},{nodes:[tt.Chungju,tt.Cheongju],cost:7},{nodes:[tt.Cheongju,tt.Sangju],cost:8},{nodes:[tt.Sangju,tt.Chungju],cost:9},{nodes:[tt.Daejeon,tt.Cheongju],cost:4},{nodes:[tt.Wonju,tt.Donghae],cost:14},{nodes:[tt.Wonju,tt.Taeraek],cost:13},{nodes:[tt.Chungju,tt.Wonju],cost:5},{nodes:[tt.Wonju,tt.Gangneung],cost:12},{nodes:[tt.Wonju,tt.Sokcho],cost:15},{nodes:[tt.Sokcho,tt.Gangneung],cost:6},{nodes:[tt.Chuncheon,tt.Wonju],cost:7},{nodes:[tt.Sinuiju,tt.Ganggye],cost:25},{nodes:[tt.Ganggye,tt.Hyesan],cost:20},{nodes:[tt.Sinuiju,tt.Anju],cost:13},{nodes:[tt.Anju,tt.Ganggye],cost:22},{nodes:[tt.Ganggye,tt.Hamheung],cost:19},{nodes:[tt.Hamheung,tt.Anju],cost:20},{nodes:[tt.Anju,tt.Nampo],cost:10},{nodes:[tt.Anju,tt.Pyeongyang],cost:7},{nodes:[tt.Pyeongyang,tt.Nampo],cost:5},{nodes:[tt.Nampo,tt.Hwangju],cost:4},{nodes:[tt.Hwangju,tt.Pyeongyang],cost:4},{nodes:[tt.Pyeongyang,tt.Wonsan],cost:18},{nodes:[tt.Pyeongyang,tt.Hamheung],cost:23},{nodes:[tt.Hamheung,tt.Wonsan],cost:11},{nodes:[tt.Pyeongyang,tt.Gaesung],cost:14},{nodes:[tt.Gaesung,tt.Haeju],cost:8},{nodes:[tt.Haeju,tt.Hwangju],cost:8},{nodes:[tt.Gaesung,tt.Goyang],cost:7},{nodes:[tt.Anyang,tt.Suwon],cost:3},{nodes:[tt.Suwon,tt.Yongin],cost:2},{nodes:[tt.Goyang,tt.Incheon],cost:0},{nodes:[tt.Incheon,tt.Anyang],cost:0},{nodes:[tt.Goyang,tt.Seoul],cost:0},{nodes:[tt.Suwon,tt.Cheongju],cost:10},{nodes:[tt.Seoul,tt.Yongin],cost:2},{nodes:[tt.Gaesung,tt.Chuncheon],cost:13},{nodes:[tt.Gaesung,tt.Wonsan],cost:18},{nodes:[tt.Wonsan,tt.Sokcho],cost:18},{nodes:[tt.Wonsan,tt.Chuncheon],cost:19},{nodes:[tt.Sokcho,tt.Chuncheon],cost:10},{nodes:[tt.Chuncheon,tt.Seoul],cost:8},{nodes:[tt.Chuncheon,tt.Yongin],cost:9},{nodes:[tt.Yongin,tt.Wonju],cost:8},{nodes:[tt.Yongin,tt.Chungju],cost:10},{nodes:[tt.Yongin,tt.Cheongju],cost:10},{nodes:[tt.Rasun,tt.Cheongjin],cost:8},{nodes:[tt.Cheongjin,tt.Gyeongseong],cost:4},{nodes:[tt.Gyeongseong,tt.Seongjin],cost:16},{nodes:[tt.Hyesan,tt.Gyeongseong],cost:18},{nodes:[tt.Hyesan,tt.Seongjin],cost:14},{nodes:[tt.Seongjin,tt.Hamheung],cost:17},{nodes:[tt.Hamheung,tt.Hyesan],cost:23}],layout:"Portrait",adjustRatio:[.25,.25],mapPosition:[40,30],viewBox:[1480,1180],supplyPosition:[675,1040],resupply:[[[2,2,2],[2,3,2],[3,3,2],[3,4,3],[4,5,3]],[[1,1,3],[1,2,3],[2,3,3],[3,3,4],[3,4,4]],[[1,1,2],[1,1,2],[1,2,2],[2,2,3],[2,3,3]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],resupplyNorth:[[[1,2,1],[2,2,1],[2,3,2],[2,3,2],[3,4,3]],[[1,1,1],[1,1,1],[1,1,2],[1,2,2],[2,2,3]],[[0,1,1],[0,1,1],[1,1,2],[1,1,2],[1,2,3]]],startingResources:[12,12,4,2],startingResourcesNorth:[12,6,2],startingSupply:[24,24,24,12],coalPrices:[1,2,3,4,5,5,6,6,7,7,8,8],oilPrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8],garbagePrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8],uraniumPrices:[1,2,3,4,5,6,7,8,10,12,14,16],coalPricesNorth:[1,1,2,2,3,3,4,4,5,6,7,8],oilPricesNorth:[1,2,3,4,5,6,7,8],garbagePricesNorth:[1,2,3,4,5,6,7,8],mapSpecificRules:"Korea has two separate resource markets: North and South.\nOn your buying turn, choose one side — all resources you buy that turn must come from that side. The next turn you may choose the other side.\nThe North market has no uranium track; uranium is only available from the South.\nBoth markets share a single supply pool. During bureaucracy, North restocks first, then South from whatever remains."};t("d4b6");(function(e){e["Manhattan"]="manhattan"})(at||(at={}));var st,ct,ut=[{name:"M1",region:at.Manhattan,connectionCost:5,slotCosts:[40],x:236,y:129},{name:"M2",region:at.Manhattan,connectionCost:5,slotCosts:[40],x:294,y:132},{name:"M3",region:at.Manhattan,connectionCost:5,slotCosts:[40],x:456,y:135},{name:"M4",region:at.Manhattan,connectionCost:5,slotCosts:[40],x:529,y:137},{name:"M5",region:at.Manhattan,connectionCost:5,slotCosts:[40],x:234,y:236},{name:"M6",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:292,y:236},{name:"M7",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:456,y:238},{name:"M8",region:at.Manhattan,connectionCost:5,slotCosts:[40],x:532,y:239},{name:"M9",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:307,y:318},{name:"M10",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:235,y:340},{name:"M11",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:457,y:340},{name:"M12",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:529,y:344},{name:"M13",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:290,y:367},{name:"M14",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:241,y:420},{name:"M15",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:300,y:421},{name:"M16",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:389,y:422},{name:"M17",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:457,y:423},{name:"M18",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:523,y:423},{name:"M19",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:344,y:431},{name:"M20",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:243,y:480},{name:"M21",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:300,y:481},{name:"M22",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:348,y:482},{name:"M23",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:393,y:483},{name:"M24",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:455,y:484},{name:"M25",region:at.Manhattan,connectionCost:5,slotCosts:[35],x:521,y:485},{name:"M26",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:240,y:539},{name:"M27",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:301,y:540},{name:"M28",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:353,y:541},{name:"M29",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:400,y:541},{name:"M30",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:456,y:542},{name:"M31",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:522,y:543},{name:"M32",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:405,y:588},{name:"M33",region:at.Manhattan,connectionCost:5,slotCosts:[30],x:239,y:605},{name:"M34",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:303,y:605},{name:"M35",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:455,y:606},{name:"M36",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:528,y:607},{name:"M37",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:367,y:609},{name:"M38",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:289,y:680},{name:"M39",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:466,y:680},{name:"M40",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:512,y:680},{name:"M41",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:363,y:681},{name:"M42",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:571,y:681},{name:"M43",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:417,y:682},{name:"M44",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:427,y:740},{name:"M45",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:632,y:740},{name:"M46",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:505,y:741},{name:"M47",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:572,y:741},{name:"M48",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:378,y:745},{name:"M49",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:346,y:761},{name:"M50",region:at.Manhattan,connectionCost:5,slotCosts:[25],x:312,y:775},{name:"M51",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:640,y:784},{name:"M52",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:571,y:787},{name:"M53",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:427,y:790},{name:"M54",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:514,y:790},{name:"M55",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:473,y:794},{name:"M56",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:646,y:821},{name:"M57",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:585,y:827},{name:"M58",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:430,y:832},{name:"M59",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:533,y:833},{name:"M60",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:482,y:834},{name:"M61",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:389,y:851},{name:"M62",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:350,y:852},{name:"M63",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:613,y:859},{name:"M64",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:673,y:860},{name:"M65",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:433,y:871},{name:"M66",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:571,y:873},{name:"M67",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:482,y:874},{name:"M68",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:534,y:885},{name:"M69",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:636,y:892},{name:"M70",region:at.Manhattan,connectionCost:5,slotCosts:[20],x:371,y:895},{name:"M71",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:482,y:914},{name:"M72",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:593,y:915},{name:"M73",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:427,y:920},{name:"M74",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:389,y:934},{name:"M75",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:555,y:937},{name:"M76",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:466,y:950},{name:"M77",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:520,y:962},{name:"M78",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:379,y:983},{name:"M79",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:424,y:986},{name:"M80",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:484,y:993},{name:"M81",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:394,y:1038},{name:"M82",region:at.Manhattan,connectionCost:5,slotCosts:[15],x:429,y:1041},{name:"M83",region:at.Manhattan,connectionCost:5,slotCosts:[10],x:478,y:1041}],lt=[{nodes:["M1","M2"],cost:0},{nodes:["M1","M5"],cost:0},{nodes:["M2","M6"],cost:0},{nodes:["M3","M4"],cost:0},{nodes:["M3","M7"],cost:0},{nodes:["M4","M8"],cost:0},{nodes:["M5","M6"],cost:0},{nodes:["M5","M10"],cost:0},{nodes:["M6","M9"],cost:0},{nodes:["M7","M8"],cost:0},{nodes:["M7","M11"],cost:0},{nodes:["M8","M12"],cost:0},{nodes:["M9","M13"],cost:0},{nodes:["M10","M13"],cost:0},{nodes:["M10","M14"],cost:0},{nodes:["M11","M12"],cost:0},{nodes:["M11","M17"],cost:0},{nodes:["M12","M18"],cost:0},{nodes:["M13","M15"],cost:0},{nodes:["M14","M15"],cost:0},{nodes:["M14","M20"],cost:0},{nodes:["M15","M19"],cost:0},{nodes:["M15","M21"],cost:0},{nodes:["M16","M17"],cost:0},{nodes:["M16","M19"],cost:0},{nodes:["M16","M23"],cost:0},{nodes:["M17","M18"],cost:0},{nodes:["M17","M24"],cost:0},{nodes:["M18","M25"],cost:0},{nodes:["M19","M22"],cost:0},{nodes:["M20","M21"],cost:0},{nodes:["M20","M26"],cost:0},{nodes:["M21","M22"],cost:0},{nodes:["M21","M27"],cost:0},{nodes:["M22","M23"],cost:0},{nodes:["M22","M28"],cost:0},{nodes:["M23","M24"],cost:0},{nodes:["M23","M29"],cost:0},{nodes:["M24","M25"],cost:0},{nodes:["M24","M30"],cost:0},{nodes:["M25","M31"],cost:0},{nodes:["M26","M27"],cost:0},{nodes:["M26","M33"],cost:0},{nodes:["M27","M28"],cost:0},{nodes:["M27","M34"],cost:0},{nodes:["M28","M29"],cost:0},{nodes:["M28","M37"],cost:0},{nodes:["M29","M30"],cost:0},{nodes:["M29","M32"],cost:0},{nodes:["M30","M31"],cost:0},{nodes:["M30","M35"],cost:0},{nodes:["M31","M36"],cost:0},{nodes:["M32","M35"],cost:0},{nodes:["M32","M37"],cost:0},{nodes:["M33","M34"],cost:0},{nodes:["M33","M38"],cost:0},{nodes:["M34","M37"],cost:0},{nodes:["M34","M38"],cost:0},{nodes:["M35","M36"],cost:0},{nodes:["M35","M39"],cost:0},{nodes:["M36","M40"],cost:0},{nodes:["M36","M42"],cost:0},{nodes:["M37","M41"],cost:0},{nodes:["M37","M43"],cost:0},{nodes:["M38","M41"],cost:0},{nodes:["M38","M50"],cost:0},{nodes:["M39","M40"],cost:0},{nodes:["M39","M43"],cost:0},{nodes:["M39","M46"],cost:0},{nodes:["M40","M42"],cost:0},{nodes:["M40","M46"],cost:0},{nodes:["M41","M43"],cost:0},{nodes:["M41","M48"],cost:0},{nodes:["M41","M49"],cost:0},{nodes:["M42","M45"],cost:0},{nodes:["M42","M47"],cost:0},{nodes:["M43","M44"],cost:0},{nodes:["M44","M48"],cost:0},{nodes:["M44","M53"],cost:0},{nodes:["M44","M55"],cost:0},{nodes:["M45","M47"],cost:0},{nodes:["M45","M51"],cost:0},{nodes:["M46","M47"],cost:0},{nodes:["M46","M54"],cost:0},{nodes:["M46","M55"],cost:0},{nodes:["M47","M52"],cost:0},{nodes:["M48","M49"],cost:0},{nodes:["M48","M53"],cost:0},{nodes:["M48","M61"],cost:0},{nodes:["M49","M50"],cost:0},{nodes:["M49","M61"],cost:0},{nodes:["M50","M62"],cost:0},{nodes:["M51","M52"],cost:0},{nodes:["M51","M56"],cost:0},{nodes:["M52","M54"],cost:0},{nodes:["M52","M57"],cost:0},{nodes:["M52","M59"],cost:0},{nodes:["M53","M55"],cost:0},{nodes:["M53","M58"],cost:0},{nodes:["M54","M55"],cost:0},{nodes:["M54","M59"],cost:0},{nodes:["M55","M60"],cost:0},{nodes:["M56","M57"],cost:0},{nodes:["M56","M63"],cost:0},{nodes:["M56","M64"],cost:0},{nodes:["M57","M59"],cost:0},{nodes:["M57","M63"],cost:0},{nodes:["M57","M66"],cost:0},{nodes:["M58","M60"],cost:0},{nodes:["M58","M61"],cost:0},{nodes:["M58","M65"],cost:0},{nodes:["M59","M60"],cost:0},{nodes:["M59","M66"],cost:0},{nodes:["M59","M68"],cost:0},{nodes:["M60","M67"],cost:0},{nodes:["M61","M62"],cost:0},{nodes:["M61","M65"],cost:0},{nodes:["M61","M73"],cost:0},{nodes:["M62","M70"],cost:0},{nodes:["M63","M64"],cost:0},{nodes:["M63","M66"],cost:0},{nodes:["M63","M69"],cost:0},{nodes:["M64","M69"],cost:0},{nodes:["M65","M67"],cost:0},{nodes:["M65","M73"],cost:0},{nodes:["M66","M68"],cost:0},{nodes:["M66","M72"],cost:0},{nodes:["M67","M68"],cost:0},{nodes:["M67","M71"],cost:0},{nodes:["M68","M71"],cost:0},{nodes:["M68","M75"],cost:0},{nodes:["M69","M72"],cost:0},{nodes:["M70","M73"],cost:0},{nodes:["M70","M74"],cost:0},{nodes:["M71","M73"],cost:0},{nodes:["M71","M76"],cost:0},{nodes:["M72","M75"],cost:0},{nodes:["M73","M74"],cost:0},{nodes:["M73","M76"],cost:0},{nodes:["M73","M79"],cost:0},{nodes:["M74","M78"],cost:0},{nodes:["M74","M79"],cost:0},{nodes:["M75","M77"],cost:0},{nodes:["M76","M77"],cost:0},{nodes:["M76","M79"],cost:0},{nodes:["M76","M80"],cost:0},{nodes:["M77","M80"],cost:0},{nodes:["M78","M79"],cost:0},{nodes:["M78","M81"],cost:0},{nodes:["M79","M80"],cost:0},{nodes:["M79","M82"],cost:0},{nodes:["M80","M83"],cost:0},{nodes:["M81","M82"],cost:0},{nodes:["M82","M83"],cost:0}],dt={name:"Manhattan",cities:ut,connections:lt,layout:"Portrait",adjustRatio:[1.15,1.15],mapPosition:[30,10],mapRotation:0,viewBox:[1480,1400],supplyPosition:[675,1240],resupply:[[[4,4,4],[4,4,4],[5,5,5],[6,6,6],[7,7,7]],[[3,3,3],[3,3,3],[4,4,4],[5,5,5],[6,6,6]],[[2,2,2],[2,2,2],[3,3,3],[4,4,4],[5,5,5]],[[1,1,1],[1,1,1],[2,2,2],[2,2,2],[3,3,3]]],startingResources:[18,18,9,4],startingSupply:[24,24,24,12],setupDeck:function(e,n,t){var r=new Set;e<=3&&(r.add(20),r.add(22),r.add(37));var o=Object(qe["cloneDeep"])(yn).filter((function(e){return!r.has(e.number)}));o.pop();var a=an(o.filter((function(e){return e.number<=15})),t()+""),i=an(o.filter((function(e){return e.number>15})),t()+"");a.splice(0,4);var s=a.splice(0,8).sort((function(e,n){return e.number-n.number})),c=s.slice(0,4),u=s.slice(4),l=[].concat(P(a),P(i));return{actualMarket:c,futureMarket:u,powerPlantsDeck:l}},blockSpaces:function(e,n,t){if(e>=5)return[];for(var r={10:3,15:3,20:2,25:2,30:2,35:2},o=4===e?1:2,a=[],i=function(){var e=y(c[s],2),r=e[0],i=e[1],u=Number(r),l=i*o,d=an(n.filter((function(e){return e.slotCosts&&e.slotCosts[0]===u})).map((function(e){return e.name})),t()+"");a.push.apply(a,P(d.slice(0,l)))},s=0,c=Object.entries(r);s<c.length;s++)i();return a},mapSpecificRules:"Single region, one house per space: every building space holds just one house at its printed building cost (10–40 Elektro). The game runs only in Step 1 until the end. Connections: your first house may be any empty space (pay only its building cost); a space directly adjacent to your network costs only its building cost; otherwise pay a flat 5 Elektro for each space you transit through (blocked spaces, or spaces you choose not to connect) plus the building cost of the target space. Uranium is used. With fewer players, some spaces are blocked at setup (4 players block 14 spaces; 2–3 players block 28). In the physical game the players mutually choose which spaces to block; here the system selects them automatically for your convenience. If you buy the discounted power plant you may purchase another power plant during the same phase. Power plant market: during each Bureaucracy phase the two highest plants of the future market are placed on a discard pile and the market is refilled to 8 from the deck. When the deck runs out for the first time, the discard pile is shuffled and becomes the new deck; from then on, each Bureaucracy phase the highest future-market plant is instead placed under the deck. When the deck runs out for the second time, every plant in the whole market becomes available for auction, and each Bureaucracy phase the lowest plant is removed from the game. If the market is completely empty, no more power plants can be bought. The game ends when a player has connected 18 spaces (17 for 3–4 players, 15 for 5, 14 for 6).\n",deckBuild:"at the start of the game, 4 random plug plants are removed. Of the other 9, 8 are in the starting market and 1 is on the top of the deck. The rest of the deck is random with no plug plants. The Step 3 card is removed from the game. For 2-3 players: also place power plants 20, 22, and 37 into the game box."};(function(e){e["Pink"]="pink",e["Green"]="green",e["Orange"]="orange",e["Yellow"]="yellow",e["Red"]="red",e["Brown"]="brown"})(st||(st={})),function(e){e["Mashhad"]="Mashhad",e["Corgan"]="Corgan",e["Tehran"]="Tehran",e["Tabriz"]="Tabriz",e["Mosul"]="Mosul",e["Kermanshah"]="Kermanshah",e["Baghdad"]="Baghdad",e["Isfahan"]="Isfahan",e["Yazo"]="Yazo",e["Zahedan"]="Zahedan",e["Kerman"]="Kerman",e["Shiraz"]="Shiraz",e["Bandarabbas"]="Bandar Abbas",e["Chabahar"]="Chabahar",e["Dubai"]="Dubai",e["Muscat"]="Muscat",e["Abudhari"]="Abu Dhari",e["Alain"]="Alain",e["Salalah"]="Salalah",e["Doha"]="Doha",e["Manama"]="Manama",e["Ahvaz"]="Ahvaz",e["Basra"]="Basra",e["Najaf"]="Najaf",e["Kuwaitcity"]="Kuwait City",e["Buraydah"]="Buraydah",e["Riyadh"]="Riyadh",e["Medina"]="Medina",e["Alhasahah"]="Al Hasahah",e["Aleppo"]="Aleppo",e["Damascus"]="Damascus",e["Amman"]="Amman",e["Beirut"]="Beirut",e["Jerusalem"]="Jerusalem",e["Aqaba"]="Aqaba",e["Mukalla"]="Mukalla",e["Sanaa"]="Sanaa",e["Aden"]="Aden",e["Alhudaydah"]="Al-Hudaydah",e["Abha"]="Abha",e["Mecca"]="Mecca",e["Jeddah"]="Jeddah"}(ct||(ct={}));var ft,ht,pt={name:"Middle East",cities:[{name:ct.Mashhad,region:st.Pink,x:859,y:327},{name:ct.Corgan,region:st.Pink,x:734,y:287},{name:ct.Tehran,region:st.Pink,x:633,y:342},{name:ct.Tabriz,region:st.Pink,x:450,y:251},{name:ct.Mosul,region:st.Pink,x:352,y:307},{name:ct.Kermanshah,region:st.Pink,x:503,y:391},{name:ct.Baghdad,region:st.Pink,x:393,y:406},{name:ct.Isfahan,region:st.Green,x:621,y:436},{name:ct.Yazo,region:st.Green,x:720,y:472},{name:ct.Zahedan,region:st.Green,x:896,y:547},{name:ct.Kerman,region:st.Green,x:784,y:534},{name:ct.Shiraz,region:st.Green,x:651,y:557},{name:ct.Bandarabbas,region:st.Green,x:756,y:629},{name:ct.Chabahar,region:st.Green,x:898,y:687},{name:ct.Dubai,region:st.Orange,x:752,y:690},{name:ct.Muscat,region:st.Orange,x:828,y:773},{name:ct.Abudhari,region:st.Orange,x:692,y:747},{name:ct.Alain,region:st.Orange,x:715,y:812},{name:ct.Salalah,region:st.Orange,x:694,y:981},{name:ct.Doha,region:st.Orange,x:596,y:713},{name:ct.Manama,region:st.Orange,x:532,y:652},{name:ct.Ahvaz,region:st.Yellow,x:555,y:499},{name:ct.Basra,region:st.Yellow,x:452,y:519},{name:ct.Najaf,region:st.Yellow,x:356,y:478},{name:ct.Kuwaitcity,region:st.Yellow,x:500,y:580},{name:ct.Buraydah,region:st.Yellow,x:360,y:674},{name:ct.Riyadh,region:st.Yellow,x:443,y:741},{name:ct.Medina,region:st.Yellow,x:264,y:738},{name:ct.Alhasahah,region:st.Red,x:248,y:300},{name:ct.Aleppo,region:st.Red,x:132,y:315},{name:ct.Damascus,region:st.Red,x:186,y:433},{name:ct.Amman,region:st.Red,x:171,y:493},{name:ct.Beirut,region:st.Red,x:94,y:401},{name:ct.Jerusalem,region:st.Red,x:76,y:481},{name:ct.Aqaba,region:st.Red,x:103,y:563},{name:ct.Mukalla,region:st.Brown,x:555,y:1059},{name:ct.Sanaa,region:st.Brown,x:426,y:1018},{name:ct.Aden,region:st.Brown,x:431,y:1105},{name:ct.Alhudaydah,region:st.Brown,x:317,y:1057},{name:ct.Abha,region:st.Brown,x:306,y:938},{name:ct.Mecca,region:st.Brown,x:280,y:850},{name:ct.Jeddah,region:st.Brown,x:190,y:800}],connections:[{nodes:[ct.Tabriz,ct.Tehran],cost:13},{nodes:[ct.Tehran,ct.Corgan],cost:9},{nodes:[ct.Corgan,ct.Mashhad],cost:12},{nodes:[ct.Mashhad,ct.Zahedan],cost:20},{nodes:[ct.Zahedan,ct.Kerman],cost:10},{nodes:[ct.Kerman,ct.Yazo],cost:7},{nodes:[ct.Yazo,ct.Mashhad],cost:18},{nodes:[ct.Mashhad,ct.Tehran],cost:19},{nodes:[ct.Tehran,ct.Yazo],cost:12},{nodes:[ct.Yazo,ct.Shiraz],cost:9},{nodes:[ct.Shiraz,ct.Kerman],cost:11},{nodes:[ct.Yazo,ct.Isfahan],cost:7},{nodes:[ct.Isfahan,ct.Shiraz],cost:10},{nodes:[ct.Isfahan,ct.Tehran],cost:9},{nodes:[ct.Tehran,ct.Kermanshah],cost:13},{nodes:[ct.Kermanshah,ct.Isfahan],cost:13},{nodes:[ct.Isfahan,ct.Ahvaz],cost:11},{nodes:[ct.Ahvaz,ct.Shiraz],cost:11},{nodes:[ct.Ahvaz,ct.Kermanshah],cost:11},{nodes:[ct.Kermanshah,ct.Tabriz],cost:13},{nodes:[ct.Tabriz,ct.Mosul],cost:13},{nodes:[ct.Mosul,ct.Baghdad],cost:8},{nodes:[ct.Baghdad,ct.Kermanshah],cost:8},{nodes:[ct.Basra,ct.Ahvaz],cost:3},{nodes:[ct.Ahvaz,ct.Kuwaitcity],cost:7},{nodes:[ct.Kuwaitcity,ct.Basra],cost:5},{nodes:[ct.Basra,ct.Najaf],cost:10},{nodes:[ct.Najaf,ct.Baghdad],cost:4},{nodes:[ct.Baghdad,ct.Basra],cost:12},{nodes:[ct.Alhasahah,ct.Mosul],cost:4},{nodes:[ct.Alhasahah,ct.Baghdad],cost:11},{nodes:[ct.Baghdad,ct.Damascus],cost:16},{nodes:[ct.Damascus,ct.Najaf],cost:15},{nodes:[ct.Alhasahah,ct.Damascus],cost:14},{nodes:[ct.Damascus,ct.Amman],cost:4},{nodes:[ct.Amman,ct.Aqaba],cost:7},{nodes:[ct.Aqaba,ct.Jerusalem],cost:6},{nodes:[ct.Jerusalem,ct.Amman],cost:3},{nodes:[ct.Jerusalem,ct.Beirut],cost:6},{nodes:[ct.Beirut,ct.Damascus],cost:4},{nodes:[ct.Damascus,ct.Aleppo],cost:8},{nodes:[ct.Aleppo,ct.Beirut],cost:9},{nodes:[ct.Aleppo,ct.Alhasahah],cost:7},{nodes:[ct.Baghdad,ct.Tabriz],cost:18},{nodes:[ct.Zahedan,ct.Chabahar],cost:13},{nodes:[ct.Zahedan,ct.Bandarabbas],cost:14},{nodes:[ct.Bandarabbas,ct.Kerman],cost:13},{nodes:[ct.Shiraz,ct.Bandarabbas],cost:14},{nodes:[ct.Bandarabbas,ct.Chabahar],cost:15},{nodes:[ct.Kuwaitcity,ct.Manama],cost:12},{nodes:[ct.Manama,ct.Doha],cost:6},{nodes:[ct.Doha,ct.Abudhari],cost:9},{nodes:[ct.Abudhari,ct.Dubai],cost:2},{nodes:[ct.Dubai,ct.Muscat],cost:9},{nodes:[ct.Muscat,ct.Alain],cost:7},{nodes:[ct.Alain,ct.Abudhari],cost:3},{nodes:[ct.Alain,ct.Dubai],cost:3},{nodes:[ct.Riyadh,ct.Alain],cost:23},{nodes:[ct.Doha,ct.Riyadh],cost:12},{nodes:[ct.Riyadh,ct.Manama],cost:10},{nodes:[ct.Riyadh,ct.Kuwaitcity],cost:12},{nodes:[ct.Kuwaitcity,ct.Buraydah],cost:12},{nodes:[ct.Buraydah,ct.Riyadh],cost:7},{nodes:[ct.Buraydah,ct.Medina],cost:10},{nodes:[ct.Medina,ct.Riyadh],cost:15},{nodes:[ct.Buraydah,ct.Najaf],cost:14},{nodes:[ct.Aqaba,ct.Jeddah],cost:23},{nodes:[ct.Aqaba,ct.Medina],cost:17},{nodes:[ct.Medina,ct.Jeddah],cost:7},{nodes:[ct.Jeddah,ct.Mecca],cost:1},{nodes:[ct.Mecca,ct.Medina],cost:7},{nodes:[ct.Mecca,ct.Riyadh],cost:17},{nodes:[ct.Riyadh,ct.Abha],cost:19},{nodes:[ct.Abha,ct.Mecca],cost:12},{nodes:[ct.Salalah,ct.Muscat],cost:21},{nodes:[ct.Alain,ct.Salalah],cost:18},{nodes:[ct.Salalah,ct.Mukalla],cost:15},{nodes:[ct.Salalah,ct.Sanaa],cost:25},{nodes:[ct.Sanaa,ct.Mukalla],cost:14},{nodes:[ct.Mukalla,ct.Aden],cost:13},{nodes:[ct.Aden,ct.Alhudaydah],cost:9},{nodes:[ct.Alhudaydah,ct.Abha],cost:10},{nodes:[ct.Abha,ct.Sanaa],cost:11},{nodes:[ct.Sanaa,ct.Alhudaydah],cost:5}],layout:"Portrait",mapPosition:[0,-100],resupply:[[[2,1,1],[2,1,1],[3,2,2],[4,3,2],[5,4,3]],[[5,3,2],[5,3,2],[6,3,2],[8,4,3],[9,5,4]],[[1,3,4],[1,3,4],[1,4,6],[1,4,8],[1,6,9]],[[0,2,2],[0,2,2],[0,3,3],[0,3,4],[0,4,5]]],startingResources:[21,21,3,3],startingSupply:[24,24,21,11],mapSpecificRules:"Only coal and oil can be bought for $1, and any number of oil can restock at $1.\nDuring step 1, garbage and uranium plants will be removed from the current market.\nStep 2 will be triggered after going through the deck once rather than by a specific number of cities.\nStep 3 will be triggered after going through the deck a second time."};(function(e){e["Pink"]="pink",e["Brown"]="brown",e["Orange"]="orange",e["Green"]="green",e["Blue"]="blue",e["Yellow"]="yellow",e["Red"]="red"})(ft||(ft={})),function(e){e["Edmonton"]="Edmonton",e["Calgary"]="Calgary",e["Vancouver"]="Vancouver",e["Seattle"]="Seattle",e["Regina"]="Regina",e["Winnipeg"]="Winnipeg",e["Minneapolis"]="Minneapolis",e["Portland"]="Portland",e["SanFrancisco"]="San Francisco",e["LosAngeles"]="Los Angeles",e["SanDiego"]="San Diego",e["SaltLakeCity"]="Salt Lake City",e["LasVegas"]="Las Vegas",e["Denver"]="Denver",e["Albuquerque"]="Albuquerque",e["Juarez"]="Juarez",e["Chihuahua"]="Chihuahua",e["Monterrey"]="Monterrey",e["Guadalajara"]="Guadalajara",e["MexicoCityN"]="Mexico City N",e["MexicoCityS"]="Mexico City S",e["SanAntonio"]="San Antonio",e["DallasFortWorth"]="Dallas-Fort Worth",e["Houston"]="Houston",e["NewOrleans"]="New Orleans",e["Atlanta"]="Atlanta",e["Jacksonville"]="Jacksonville",e["Miami"]="Miami",e["Milwaukee"]="Milwaukee",e["Chicago"]="Chicago",e["KansasCity"]="Kansas City",e["StLouis"]="St. Louis",e["Indianapolis"]="Indianapolis",e["OklahomaCity"]="Oklahoma City",e["Memphis"]="Memphis",e["Toronto"]="Toronto",e["Detroit"]="Detroit",e["Pittsburgh"]="Pittsburgh",e["Columbus"]="Columbus",e["Nashville"]="Nashville",e["Washington"]="Washington",e["Charlotte"]="Charlotte",e["Quebec"]="Quebec",e["Ottawa"]="Ottawa",e["Montreal"]="Montreal",e["NewYorkN"]="New York N",e["NewYorkS"]="New York S",e["Boston"]="Boston",e["Philadelphia"]="Philadelphia"}(ht||(ht={}));var gt,yt,mt,vt={name:"North America",cities:[{name:ht.Edmonton,region:ft.Pink,x:325,y:71},{name:ht.Calgary,region:ft.Pink,x:250,y:190},{name:ht.Vancouver,region:ft.Pink,x:114,y:266},{name:ht.Seattle,region:ft.Pink,x:100,y:387},{name:ht.Regina,region:ft.Pink,x:536,y:277},{name:ht.Winnipeg,region:ft.Pink,x:830,y:272},{name:ht.Minneapolis,region:ft.Pink,x:907,y:486},{name:ht.Portland,region:ft.Brown,x:122,y:516},{name:ht.SanFrancisco,region:ft.Brown,x:123,y:697},{name:ht.LosAngeles,region:ft.Brown,x:160,y:911},{name:ht.SanDiego,region:ft.Brown,x:223,y:1007},{name:ht.SaltLakeCity,region:ft.Brown,x:380,y:555},{name:ht.LasVegas,region:ft.Brown,x:322,y:760},{name:ht.Denver,region:ft.Brown,x:569,y:694},{name:ht.Albuquerque,region:ft.Orange,x:539,y:941},{name:ht.Juarez,region:ft.Orange,x:558,y:1043},{name:ht.Chihuahua,region:ft.Orange,x:577,y:1183},{name:ht.Monterrey,region:ft.Orange,x:791,y:1292},{name:ht.Guadalajara,region:ft.Orange,x:715,y:1391},{name:ht.MexicoCityN,region:ft.Orange,x:913,y:1335},{name:ht.MexicoCityS,region:ft.Orange,x:913,y:1425},{name:ht.SanAntonio,region:ft.Green,x:767,y:1172},{name:ht.DallasFortWorth,region:ft.Green,x:850,y:1020},{name:ht.Houston,region:ft.Green,x:940,y:1145},{name:ht.NewOrleans,region:ft.Green,x:1126,y:1095},{name:ht.Atlanta,region:ft.Green,x:1318,y:1021},{name:ht.Jacksonville,region:ft.Green,x:1398,y:1109},{name:ht.Miami,region:ft.Green,x:1398,y:1235},{name:ht.Milwaukee,region:ft.Blue,x:1206,y:414},{name:ht.Chicago,region:ft.Blue,x:1121,y:531},{name:ht.KansasCity,region:ft.Blue,x:825,y:720},{name:ht.StLouis,region:ft.Blue,x:1047,y:768},{name:ht.Indianapolis,region:ft.Blue,x:1206,y:694},{name:ht.OklahomaCity,region:ft.Blue,x:800,y:870},{name:ht.Memphis,region:ft.Blue,x:1099,y:938},{name:ht.Toronto,region:ft.Yellow,x:1488,y:513},{name:ht.Detroit,region:ft.Yellow,x:1390,y:590},{name:ht.Pittsburgh,region:ft.Yellow,x:1524,y:659},{name:ht.Columbus,region:ft.Yellow,x:1398,y:733},{name:ht.Nashville,region:ft.Yellow,x:1233,y:826},{name:ht.Washington,region:ft.Yellow,x:1554,y:829},{name:ht.Charlotte,region:ft.Yellow,x:1480,y:965},{name:ht.Quebec,region:ft.Red,x:1911,y:354},{name:ht.Ottawa,region:ft.Red,x:1653,y:458},{name:ht.Montreal,region:ft.Red,x:1875,y:461},{name:ht.NewYorkN,region:ft.Red,x:1727,y:561},{name:ht.NewYorkS,region:ft.Red,x:1727,y:637},{name:ht.Boston,region:ft.Red,x:1928,y:579},{name:ht.Philadelphia,region:ft.Red,x:1724,y:755}],connections:[{nodes:[ht.Edmonton,ht.Calgary],cost:5},{nodes:[ht.Calgary,ht.Vancouver],cost:16},{nodes:[ht.Vancouver,ht.Seattle],cost:4},{nodes:[ht.Edmonton,ht.Regina],cost:15},{nodes:[ht.Calgary,ht.Regina],cost:14},{nodes:[ht.Vancouver,ht.Regina],cost:28},{nodes:[ht.Regina,ht.Winnipeg],cost:11},{nodes:[ht.Winnipeg,ht.Minneapolis],cost:13},{nodes:[ht.Seattle,ht.Portland],cost:5},{nodes:[ht.Regina,ht.SaltLakeCity],cost:29},{nodes:[ht.Regina,ht.Denver],cost:24},{nodes:[ht.Winnipeg,ht.Denver],cost:26},{nodes:[ht.Minneapolis,ht.Denver],cost:23},{nodes:[ht.Portland,ht.SanFrancisco],cost:20},{nodes:[ht.SanFrancisco,ht.LosAngeles],cost:12},{nodes:[ht.LosAngeles,ht.SanDiego],cost:3},{nodes:[ht.Portland,ht.SaltLakeCity],cost:22},{nodes:[ht.SanFrancisco,ht.SaltLakeCity],cost:22},{nodes:[ht.SanFrancisco,ht.LasVegas],cost:16},{nodes:[ht.SaltLakeCity,ht.LasVegas],cost:14},{nodes:[ht.LasVegas,ht.LosAngeles],cost:8},{nodes:[ht.SaltLakeCity,ht.Denver],cost:14},{nodes:[ht.LasVegas,ht.Denver],cost:25},{nodes:[ht.LosAngeles,ht.Albuquerque],cost:25},{nodes:[ht.LasVegas,ht.Albuquerque],cost:18},{nodes:[ht.Denver,ht.Albuquerque],cost:12},{nodes:[ht.SanDiego,ht.Juarez],cost:22},{nodes:[ht.Albuquerque,ht.Juarez],cost:9},{nodes:[ht.Juarez,ht.Chihuahua],cost:8},{nodes:[ht.Chihuahua,ht.Monterrey],cost:14},{nodes:[ht.Chihuahua,ht.Guadalajara],cost:23},{nodes:[ht.Monterrey,ht.Guadalajara],cost:16},{nodes:[ht.Monterrey,ht.MexicoCityS],cost:17},{nodes:[ht.Guadalajara,ht.MexicoCityS],cost:10},{nodes:[ht.MexicoCityN,ht.MexicoCityS],cost:0},{nodes:[ht.Albuquerque,ht.OklahomaCity],cost:18},{nodes:[ht.Juarez,ht.DallasFortWorth],cost:19},{nodes:[ht.Juarez,ht.SanAntonio],cost:18},{nodes:[ht.Chihuahua,ht.SanAntonio],cost:16},{nodes:[ht.Monterrey,ht.SanAntonio],cost:10},{nodes:[ht.Milwaukee,ht.Chicago],cost:3},{nodes:[ht.Chicago,ht.KansasCity],cost:16},{nodes:[ht.Chicago,ht.StLouis],cost:9},{nodes:[ht.Chicago,ht.Indianapolis],cost:6},{nodes:[ht.KansasCity,ht.StLouis],cost:8},{nodes:[ht.StLouis,ht.Indianapolis],cost:8},{nodes:[ht.KansasCity,ht.OklahomaCity],cost:10},{nodes:[ht.KansasCity,ht.Memphis],cost:14},{nodes:[ht.StLouis,ht.Memphis],cost:9},{nodes:[ht.OklahomaCity,ht.Memphis],cost:15},{nodes:[ht.Milwaukee,ht.Minneapolis],cost:10},{nodes:[ht.KansasCity,ht.Minneapolis],cost:14},{nodes:[ht.KansasCity,ht.Denver],cost:19},{nodes:[ht.OklahomaCity,ht.Denver],cost:17},{nodes:[ht.OklahomaCity,ht.DallasFortWorth],cost:7},{nodes:[ht.Memphis,ht.DallasFortWorth],cost:15},{nodes:[ht.Memphis,ht.NewOrleans],cost:14},{nodes:[ht.Memphis,ht.Atlanta],cost:12},{nodes:[ht.DallasFortWorth,ht.SanAntonio],cost:9},{nodes:[ht.DallasFortWorth,ht.Houston],cost:8},{nodes:[ht.DallasFortWorth,ht.NewOrleans],cost:16},{nodes:[ht.SanAntonio,ht.Houston],cost:6},{nodes:[ht.Houston,ht.NewOrleans],cost:12},{nodes:[ht.NewOrleans,ht.Atlanta],cost:16},{nodes:[ht.NewOrleans,ht.Jacksonville],cost:20},{nodes:[ht.Atlanta,ht.Jacksonville],cost:10},{nodes:[ht.Jacksonville,ht.Miami],cost:12},{nodes:[ht.Atlanta,ht.Nashville],cost:9},{nodes:[ht.Atlanta,ht.Charlotte],cost:8},{nodes:[ht.Jacksonville,ht.Charlotte],cost:12},{nodes:[ht.Toronto,ht.Detroit],cost:8},{nodes:[ht.Toronto,ht.Pittsburgh],cost:11},{nodes:[ht.Detroit,ht.Columbus],cost:7},{nodes:[ht.Columbus,ht.Pittsburgh],cost:6},{nodes:[ht.Nashville,ht.Columbus],cost:15},{nodes:[ht.Nashville,ht.Washington],cost:22},{nodes:[ht.Nashville,ht.Charlotte],cost:12},{nodes:[ht.Columbus,ht.Washington],cost:12},{nodes:[ht.Washington,ht.Pittsburgh],cost:7},{nodes:[ht.Washington,ht.Charlotte],cost:12},{nodes:[ht.Detroit,ht.Chicago],cost:10},{nodes:[ht.Columbus,ht.Chicago],cost:10},{nodes:[ht.Columbus,ht.Indianapolis],cost:7},{nodes:[ht.Nashville,ht.Indianapolis],cost:9},{nodes:[ht.Nashville,ht.StLouis],cost:9},{nodes:[ht.Nashville,ht.Memphis],cost:7},{nodes:[ht.Toronto,ht.Ottawa],cost:8},{nodes:[ht.Toronto,ht.NewYorkS],cost:14},{nodes:[ht.Pittsburgh,ht.NewYorkS],cost:11},{nodes:[ht.Pittsburgh,ht.Philadelphia],cost:9},{nodes:[ht.Washington,ht.Philadelphia],cost:5},{nodes:[ht.Quebec,ht.Montreal],cost:5},{nodes:[ht.Montreal,ht.Boston],cost:9},{nodes:[ht.Ottawa,ht.Montreal],cost:3},{nodes:[ht.Ottawa,ht.NewYorkS],cost:13},{nodes:[ht.Montreal,ht.NewYorkS],cost:12},{nodes:[ht.NewYorkS,ht.Boston],cost:7},{nodes:[ht.NewYorkS,ht.Philadelphia],cost:3},{nodes:[ht.NewYorkN,ht.NewYorkS],cost:0}],layout:"Landscape",adjustRatio:[.5,.38],mapPosition:[70,50],mapRotation:-2,resupply:[[[2,5,2],[2,5,2],[3,6,3],[4,7,4],[5,8,5]],[[3,1,3],[3,1,3],[3,2,4],[4,2,5],[5,3,6]],[[2,2,4],[2,2,4],[3,3,5],[3,3,6],[4,4,7]],[[2,1,2],[2,1,2],[2,1,2],[3,2,3],[3,2,4]]],coalPrices:[1,1,1,1,2,2,2,2,3,3,3,3,4,4,5,5,6,6,7,7,8,8,9,9],oilPrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,9,9],garbagePrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],uraniumPrices:[1,2,3,4,5,6,7,7,8,8,9,9],startingResources:[20,14,18,2],startingSupply:[24,24,24,12]};(function(e){e["Brown"]="brown",e["Yellow"]="yellow",e["Pink"]="pink",e["Purple"]="purple",e["Orange"]="orange",e["Red"]="red"})(yt||(yt={})),function(e){e["Oulu"]="Oulu",e["Kuopid"]="Kuopid",e["Tampere"]="Tampere",e["Helsinki"]="Helsinki",e["Espoo"]="Espoo",e["Pori"]="Pori",e["Turku"]="Turku",e["Uppsala"]="Uppsala",e["Stockholm"]="Stockholm",e["Vasteras"]="Vasteras",e["Drebro"]="Drebro",e["Sundsvall"]="Sundsvall",e["Lulea"]="Lulea",e["Ostersund"]="Ostersund",e["Tallinn"]="Tallinn",e["Tartu"]="Tartu",e["Daugavpils"]="Daugavpils",e["Vilnius"]="Vilnius",e["Kaunas"]="Kaunas",e["Riga"]="Riga",e["Klaipeda"]="Klaipeda",e["Karlstad"]="Karlstad",e["Linkopinc"]="Linkopinc",e["Jonkoping"]="Jonkoping",e["Visby"]="Visby",e["Kristianstad"]="Kristianstad",e["Malmo"]="Malmo",e["Goteborg"]="Goteborg",e["Aalborg"]="Aalborg",e["Aarhus"]="Aarhus",e["Kobenhavn"]="Kobenhavn",e["Nykobingfalster"]="Nykobing Falster",e["Ringkobing"]="Ringkobing",e["Esbjerg"]="Esbjerg",e["Odense"]="Odense",e["Tromso"]="Tromso",e["Bood"]="Bood",e["Trondheim"]="Trondheim",e["Oslo"]="Oslo",e["Arendal"]="Arendal",e["Bergen"]="Bergen",e["Stavanger"]="Stavanger"}(mt||(mt={}));var bt,wt,xt={name:"Northern Europe",noUraniumRegions:[yt.Red,yt.Orange],cities:[{name:mt.Oulu,region:yt.Brown,x:514,y:376},{name:mt.Kuopid,region:yt.Brown,x:551,y:474},{name:mt.Tampere,region:yt.Brown,x:492,y:544},{name:mt.Helsinki,region:yt.Brown,x:530,y:602},{name:mt.Espoo,region:yt.Brown,x:457,y:603},{name:mt.Pori,region:yt.Brown,x:400,y:526},{name:mt.Turku,region:yt.Brown,x:409,y:593},{name:mt.Uppsala,region:yt.Yellow,x:350,y:585},{name:mt.Stockholm,region:yt.Yellow,x:380,y:660},{name:mt.Vasteras,region:yt.Yellow,x:295,y:576},{name:mt.Drebro,region:yt.Yellow,x:295,y:628},{name:mt.Sundsvall,region:yt.Yellow,x:332,y:506},{name:mt.Lulea,region:yt.Yellow,x:423,y:345},{name:mt.Ostersund,region:yt.Yellow,x:272,y:462},{name:mt.Tallinn,region:yt.Pink,x:475,y:656},{name:mt.Tartu,region:yt.Pink,x:544,y:689},{name:mt.Daugavpils,region:yt.Pink,x:547,y:771},{name:mt.Vilnius,region:yt.Pink,x:520,y:819},{name:mt.Kaunas,region:yt.Pink,x:458,y:811},{name:mt.Riga,region:yt.Pink,x:472,y:734},{name:mt.Klaipeda,region:yt.Pink,x:411,y:784},{name:mt.Karlstad,region:yt.Purple,x:246,y:629},{name:mt.Linkopinc,region:yt.Purple,x:309,y:676},{name:mt.Jonkoping,region:yt.Purple,x:285,y:712},{name:mt.Visby,region:yt.Purple,x:364,y:717},{name:mt.Kristianstad,region:yt.Purple,x:330,y:750},{name:mt.Malmo,region:yt.Purple,x:287,y:787},{name:mt.Goteborg,region:yt.Purple,x:231,y:700},{name:mt.Aalborg,region:yt.Orange,x:177,y:717},{name:mt.Aarhus,region:yt.Orange,x:195,y:758},{name:mt.Kobenhavn,region:yt.Orange,x:228,y:792},{name:mt.Nykobingfalster,region:yt.Orange,x:238,y:842},{name:mt.Ringkobing,region:yt.Orange,x:120,y:733},{name:mt.Esbjerg,region:yt.Orange,x:104,y:787},{name:mt.Odense,region:yt.Orange,x:148,y:824},{name:mt.Tromso,region:yt.Red,x:371,y:122},{name:mt.Bood,region:yt.Red,x:276,y:254},{name:mt.Trondheim,region:yt.Red,x:173,y:450},{name:mt.Oslo,region:yt.Red,x:176,y:606},{name:mt.Arendal,region:yt.Red,x:145,y:651},{name:mt.Bergen,region:yt.Red,x:68,y:586},{name:mt.Stavanger,region:yt.Red,x:72,y:647}],layout:"Portrait",adjustRatio:[1.5,1.2],mapPosition:[60,-40],mapRotation:20,viewBox:[1480,1326],supplyPosition:[675,1184],startingResources:[18,18,12,6],resupply:[[[2,4,3],[3,4,4],[4,5,5],[4,5,6],[6,8,5]],[[1,2,3],[2,2,3],[2,3,4],[3,4,5],[4,5,6]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,2,2],[1,2,2],[2,3,2],[2,4,3],[2,4,4]]],regionalPowerPlants:(gt={},m(gt,yt.Orange,[{number:19,type:Me.Oil,cost:2,citiesPowered:4},{number:26,type:Me.Oil,cost:3,citiesPowered:5}]),m(gt,yt.Red,[{number:7,type:Me.Wind,cost:0,citiesPowered:1},{number:46,type:Me.Wind,cost:0,citiesPowered:6}]),m(gt,yt.Purple,[{number:10,type:Me.Uranium,cost:2,citiesPowered:3},{number:39,type:Me.Wind,cost:0,citiesPowered:5}]),m(gt,yt.Yellow,[{number:21,type:Me.Wind,cost:0,citiesPowered:2},{number:25,type:Me.Uranium,cost:1,citiesPowered:4}]),m(gt,yt.Brown,[{number:32,type:Me.Garbage,cost:2,citiesPowered:6},{number:44,type:Me.Uranium,cost:1,citiesPowered:7}]),m(gt,yt.Pink,[{number:18,type:Me.Oil,cost:1,citiesPowered:3},{number:22,type:Me.Wind,cost:0,citiesPowered:3}]),gt),mapSpecificRules:"Nuclear plants may only be purchased by players with at least one city in Sweden, Finland, or the Baltic States. Players with cities only in Norway or Denmark may not bid on or buy nuclear plants. Resources start at: coal 3 Elektro, oil 3 Elektro, garbage 5 Elektro, uranium 7 Elektro.\n",deckBuild:"standard setup; the regions in play swap in regional versions of certain power plants (same numbers, different fuel or output).",connections:[{nodes:[mt.Bood,mt.Tromso],cost:17},{nodes:[mt.Tromso,mt.Oulu],cost:25},{nodes:[mt.Oulu,mt.Kuopid],cost:10},{nodes:[mt.Lulea,mt.Tromso],cost:19},{nodes:[mt.Lulea,mt.Oulu],cost:13},{nodes:[mt.Oulu,mt.Pori],cost:15},{nodes:[mt.Oulu,mt.Tampere],cost:14},{nodes:[mt.Sundsvall,mt.Lulea],cost:16},{nodes:[mt.Lulea,mt.Bood],cost:16},{nodes:[mt.Bood,mt.Ostersund],cost:18},{nodes:[mt.Ostersund,mt.Lulea],cost:17},{nodes:[mt.Lulea,mt.Pori],cost:22},{nodes:[mt.Pori,mt.Sundsvall],cost:17},{nodes:[mt.Bood,mt.Trondheim],cost:21},{nodes:[mt.Trondheim,mt.Bergen],cost:17},{nodes:[mt.Trondheim,mt.Oslo],cost:17},{nodes:[mt.Oslo,mt.Ostersund],cost:18},{nodes:[mt.Ostersund,mt.Karlstad],cost:16},{nodes:[mt.Bergen,mt.Oslo],cost:15},{nodes:[mt.Oslo,mt.Stavanger],cost:11},{nodes:[mt.Stavanger,mt.Arendal],cost:8},{nodes:[mt.Arendal,mt.Oslo],cost:7},{nodes:[mt.Bergen,mt.Stavanger],cost:9},{nodes:[mt.Arendal,mt.Ringkobing],cost:19},{nodes:[mt.Ringkobing,mt.Esbjerg],cost:4},{nodes:[mt.Esbjerg,mt.Odense],cost:5},{nodes:[mt.Odense,mt.Nykobingfalster],cost:8},{nodes:[mt.Arendal,mt.Aalborg],cost:16},{nodes:[mt.Arendal,mt.Goteborg],cost:19},{nodes:[mt.Goteborg,mt.Oslo],cost:11},{nodes:[mt.Oslo,mt.Karlstad],cost:7},{nodes:[mt.Karlstad,mt.Goteborg],cost:9},{nodes:[mt.Karlstad,mt.Jonkoping],cost:9},{nodes:[mt.Karlstad,mt.Linkopinc],cost:7},{nodes:[mt.Tampere,mt.Kuopid],cost:10},{nodes:[mt.Tampere,mt.Pori],cost:4},{nodes:[mt.Tampere,mt.Turku],cost:5},{nodes:[mt.Tampere,mt.Espoo],cost:5},{nodes:[mt.Tampere,mt.Helsinki],cost:6},{nodes:[mt.Helsinki,mt.Espoo],cost:2},{nodes:[mt.Espoo,mt.Tallinn],cost:7},{nodes:[mt.Tallinn,mt.Helsinki],cost:7},{nodes:[mt.Visby,mt.Kristianstad],cost:13},{nodes:[mt.Visby,mt.Klaipeda],cost:19},{nodes:[mt.Visby,mt.Riga],cost:20},{nodes:[mt.Riga,mt.Tallinn],cost:11},{nodes:[mt.Tallinn,mt.Tartu],cost:5},{nodes:[mt.Tartu,mt.Daugavpils],cost:9},{nodes:[mt.Riga,mt.Tartu],cost:7},{nodes:[mt.Daugavpils,mt.Kaunas],cost:7},{nodes:[mt.Kaunas,mt.Vilnius],cost:3},{nodes:[mt.Kaunas,mt.Klaipeda],cost:7},{nodes:[mt.Klaipeda,mt.Riga],cost:8},{nodes:[mt.Riga,mt.Kaunas],cost:8},{nodes:[mt.Riga,mt.Daugavpils],cost:7},{nodes:[mt.Daugavpils,mt.Vilnius],cost:5},{nodes:[mt.Vasteras,mt.Sundsvall],cost:10},{nodes:[mt.Sundsvall,mt.Ostersund],cost:7},{nodes:[mt.Uppsala,mt.Stockholm],cost:2},{nodes:[mt.Uppsala,mt.Turku],cost:15},{nodes:[mt.Uppsala,mt.Pori],cost:17},{nodes:[mt.Uppsala,mt.Sundsvall],cost:11},{nodes:[mt.Vasteras,mt.Drebro],cost:5},{nodes:[mt.Drebro,mt.Linkopinc],cost:3},{nodes:[mt.Linkopinc,mt.Stockholm],cost:7},{nodes:[mt.Visby,mt.Stockholm],cost:12},{nodes:[mt.Visby,mt.Linkopinc],cost:9},{nodes:[mt.Jonkoping,mt.Malmo],cost:10},{nodes:[mt.Jonkoping,mt.Kristianstad],cost:8},{nodes:[mt.Kristianstad,mt.Malmo],cost:3},{nodes:[mt.Malmo,mt.Kobenhavn],cost:3},{nodes:[mt.Kobenhavn,mt.Nykobingfalster],cost:6},{nodes:[mt.Odense,mt.Aarhus],cost:7},{nodes:[mt.Aarhus,mt.Aalborg],cost:3},{nodes:[mt.Aalborg,mt.Goteborg],cost:11},{nodes:[mt.Kobenhavn,mt.Goteborg],cost:18},{nodes:[mt.Goteborg,mt.Jonkoping],cost:4},{nodes:[mt.Trondheim,mt.Ostersund],cost:9},{nodes:[mt.Vasteras,mt.Stockholm],cost:4},{nodes:[mt.Esbjerg,mt.Aarhus],cost:5},{nodes:[mt.Jonkoping,mt.Linkopinc],cost:5},{nodes:[mt.Kobenhavn,mt.Jonkoping],cost:12},{nodes:[mt.Karlstad,mt.Drebro],cost:4},{nodes:[mt.Vasteras,mt.Uppsala],cost:2},{nodes:[mt.Odense,mt.Kobenhavn],cost:7},{nodes:[mt.Kobenhavn,mt.Aarhus],cost:10},{nodes:[mt.Ringkobing,mt.Aalborg],cost:5},{nodes:[mt.Linkopinc,mt.Kristianstad],cost:9},{nodes:[mt.Drebro,mt.Stockholm],cost:7},{nodes:[mt.Espoo,mt.Turku],cost:4},{nodes:[mt.Pori,mt.Turku],cost:4}]};(function(e){e["Green"]="green",e["Brown"]="brown",e["Pink"]="pink",e["Red"]="red",e["Yellow"]="yellow",e["Purple"]="purple"})(bt||(bt={})),function(e){e["Septiles"]="Sept-Iles",e["Portcartier"]="Port-Cartier",e["Baiecomeau"]="Baie-Comeau",e["Chicoutimi"]="Chicoutimi",e["Alma"]="Alma",e["Roberval"]="Roberval",e["Jonquiere"]="Jonquiere",e["Gaspe"]="Gaspe",e["Steannedesmonts"]="Ste-Anne-Des-Monts",e["Matane"]="Matane",e["Rimouski"]="Rimouski",e["Pointealacroix"]="Pointe-A-La-Croix",e["Riviereduloup"]="Riviere-Du-Loup",e["Montmagny"]="Montmagny",e["Stgeorges"]="St-Georges",e["Sherbrooke"]="Sherbrooke",e["Victoriaville"]="Victoriaville",e["Stsimeon"]="St-Simeon",e["Charlesbourg"]="Charlesbourg",e["Quebec"]="Quebec",e["Beauport"]="Beauport",e["Granby"]="Granby",e["Sthyacinthe"]="St-Hyacinthe",e["Brossard"]="Brossard",e["Valleyfield"]="Valleyfield",e["Vaudreuildorion"]="Vaudreuil-Dorion",e["Montreal"]="Montreal",e["Pointeclaire"]="Pointe-Claire",e["Shawinigan"]="Shawinigan",e["Troisrivieres"]="Trois-Rivieres",e["Drummondville"]="Drummond-Ville",e["Repentigny"]="Repentigny",e["Longueuil"]="Longueuil",e["Laval"]="Laval",e["Lachute"]="Lachute",e["Amos"]="Amos",e["Valdor"]="Val-Dor",e["Rouynnoranda"]="Rouyn-Noranda",e["Montlaurier"]="Mont-Laurier",e["Maniwaki"]="Maniwaki",e["Gatineau"]="Gatineau",e["Hull"]="Hull"}(wt||(wt={}));var kt,Mt,Pt={name:"Quebec",cities:[{name:wt.Septiles,region:bt.Green,x:3524,y:228},{name:wt.Portcartier,region:bt.Green,x:3328,y:370},{name:wt.Baiecomeau,region:bt.Green,x:3066,y:630},{name:wt.Chicoutimi,region:bt.Green,x:2392,y:898},{name:wt.Alma,region:bt.Green,x:2172,y:844},{name:wt.Roberval,region:bt.Green,x:1944,y:950},{name:wt.Jonquiere,region:bt.Green,x:2240,y:1052},{name:wt.Gaspe,region:bt.Brown,x:4014,y:808},{name:wt.Steannedesmonts,region:bt.Brown,x:3512,y:708},{name:wt.Matane,region:bt.Brown,x:3244,y:808},{name:wt.Rimouski,region:bt.Brown,x:2990,y:946},{name:wt.Pointealacroix,region:bt.Brown,x:3492,y:1094},{name:wt.Riviereduloup,region:bt.Brown,x:2780,y:1208},{name:wt.Montmagny,region:bt.Brown,x:2522,y:1534},{name:wt.Stgeorges,region:bt.Pink,x:2506,y:1836},{name:wt.Sherbrooke,region:bt.Pink,x:2242,y:2128},{name:wt.Victoriaville,region:bt.Pink,x:2178,y:1822},{name:wt.Stsimeon,region:bt.Pink,x:2576,y:1146},{name:wt.Charlesbourg,region:bt.Pink,x:2246,y:1434},{name:wt.Quebec,region:bt.Pink,x:2302,y:1536},{name:wt.Beauport,region:bt.Pink,x:2196,y:1524},{name:wt.Granby,region:bt.Red,x:1974,y:2160},{name:wt.Sthyacinthe,region:bt.Red,x:1796,y:2038},{name:wt.Brossard,region:bt.Red,x:1790,y:2296},{name:wt.Valleyfield,region:bt.Red,x:1576,y:2306},{name:wt.Vaudreuildorion,region:bt.Red,x:1414,y:2186},{name:wt.Montreal,region:bt.Red,x:1624,y:2052},{name:wt.Pointeclaire,region:bt.Red,x:1510,y:2060},{name:wt.Shawinigan,region:bt.Yellow,x:1864,y:1448},{name:wt.Troisrivieres,region:bt.Yellow,x:1918,y:1650},{name:wt.Drummondville,region:bt.Yellow,x:1984,y:1886},{name:wt.Repentigny,region:bt.Yellow,x:1696,y:1820},{name:wt.Longueuil,region:bt.Yellow,x:1598,y:1964},{name:wt.Laval,region:bt.Yellow,x:1512,y:1990},{name:wt.Lachute,region:bt.Yellow,x:1364,y:1944},{name:wt.Amos,region:bt.Purple,x:492,y:868},{name:wt.Valdor,region:bt.Purple,x:570,y:1098},{name:wt.Rouynnoranda,region:bt.Purple,x:236,y:1028},{name:wt.Montlaurier,region:bt.Purple,x:1180,y:1630},{name:wt.Maniwaki,region:bt.Purple,x:964,y:1760},{name:wt.Gatineau,region:bt.Purple,x:1076,y:2096},{name:wt.Hull,region:bt.Purple,x:862,y:2104}],connections:[{nodes:[wt.Maniwaki,wt.Montlaurier],cost:5},{nodes:[wt.Maniwaki,wt.Valdor],cost:24},{nodes:[wt.Valdor,wt.Amos],cost:8},{nodes:[wt.Amos,wt.Rouynnoranda],cost:9},{nodes:[wt.Rouynnoranda,wt.Valdor],cost:12},{nodes:[wt.Hull,wt.Maniwaki],cost:15},{nodes:[wt.Hull,wt.Gatineau],cost:0},{nodes:[wt.Gatineau,wt.Montlaurier],cost:16},{nodes:[wt.Montlaurier,wt.Lachute],cost:18},{nodes:[wt.Shawinigan,wt.Troisrivieres],cost:3},{nodes:[wt.Troisrivieres,wt.Drummondville],cost:9},{nodes:[wt.Drummondville,wt.Victoriaville],cost:6},{nodes:[wt.Victoriaville,wt.Stgeorges],cost:10},{nodes:[wt.Stgeorges,wt.Sherbrooke],cost:15},{nodes:[wt.Sherbrooke,wt.Granby],cost:8},{nodes:[wt.Granby,wt.Sthyacinthe],cost:4},{nodes:[wt.Sthyacinthe,wt.Drummondville],cost:6},{nodes:[wt.Troisrivieres,wt.Victoriaville],cost:9},{nodes:[wt.Victoriaville,wt.Sherbrooke],cost:9},{nodes:[wt.Sherbrooke,wt.Drummondville],cost:9},{nodes:[wt.Sthyacinthe,wt.Repentigny],cost:7},{nodes:[wt.Sthyacinthe,wt.Brossard],cost:5},{nodes:[wt.Brossard,wt.Valleyfield],cost:8},{nodes:[wt.Valleyfield,wt.Vaudreuildorion],cost:4},{nodes:[wt.Gatineau,wt.Lachute],cost:14},{nodes:[wt.Montlaurier,wt.Shawinigan],cost:28},{nodes:[wt.Shawinigan,wt.Beauport],cost:14},{nodes:[wt.Beauport,wt.Troisrivieres],cost:15},{nodes:[wt.Troisrivieres,wt.Repentigny],cost:13},{nodes:[wt.Repentigny,wt.Longueuil],cost:3},{nodes:[wt.Laval,wt.Lachute],cost:6},{nodes:[wt.Vaudreuildorion,wt.Pointeclaire],cost:3},{nodes:[wt.Montreal,wt.Brossard],cost:4},{nodes:[wt.Laval,wt.Longueuil],cost:0},{nodes:[wt.Pointeclaire,wt.Montreal],cost:0},{nodes:[wt.Montreal,wt.Longueuil],cost:0},{nodes:[wt.Pointeclaire,wt.Laval],cost:0},{nodes:[wt.Beauport,wt.Charlesbourg],cost:0},{nodes:[wt.Charlesbourg,wt.Quebec],cost:0},{nodes:[wt.Quebec,wt.Beauport],cost:0},{nodes:[wt.Victoriaville,wt.Beauport],cost:12},{nodes:[wt.Quebec,wt.Stgeorges],cost:12},{nodes:[wt.Stgeorges,wt.Montmagny],cost:12},{nodes:[wt.Montmagny,wt.Riviereduloup],cost:16},{nodes:[wt.Jonquiere,wt.Charlesbourg],cost:21},{nodes:[wt.Montmagny,wt.Quebec],cost:5},{nodes:[wt.Stsimeon,wt.Charlesbourg],cost:18},{nodes:[wt.Drummondville,wt.Granby],cost:4},{nodes:[wt.Roberval,wt.Shawinigan],cost:25},{nodes:[wt.Jonquiere,wt.Stsimeon],cost:16},{nodes:[wt.Roberval,wt.Jonquiere],cost:10},{nodes:[wt.Jonquiere,wt.Alma],cost:4},{nodes:[wt.Alma,wt.Chicoutimi],cost:4},{nodes:[wt.Jonquiere,wt.Chicoutimi],cost:0},{nodes:[wt.Chicoutimi,wt.Baiecomeau],cost:23},{nodes:[wt.Stsimeon,wt.Baiecomeau],cost:23},{nodes:[wt.Baiecomeau,wt.Portcartier],cost:16},{nodes:[wt.Septiles,wt.Portcartier],cost:6},{nodes:[wt.Riviereduloup,wt.Rimouski],cost:12},{nodes:[wt.Rimouski,wt.Matane],cost:11},{nodes:[wt.Matane,wt.Pointealacroix],cost:15},{nodes:[wt.Matane,wt.Steannedesmonts],cost:10},{nodes:[wt.Pointealacroix,wt.Steannedesmonts],cost:16},{nodes:[wt.Steannedesmonts,wt.Gaspe],cost:21},{nodes:[wt.Gaspe,wt.Pointealacroix],cost:25}],layout:"Portrait",adjustRatio:[.25,.35],mapPosition:[-20,75],resupply:[[[3,3,3],[4,4,3],[5,4,4],[5,5,5],[7,6,6]],[[2,2,3],[2,3,3],[3,4,4],[4,5,4],[5,6,5]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[21,21,6,2],setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(yn);if("original"==n){var i=a.filter((function(e){return[13,18,22].includes(e.number)})),s=a.filter((function(e){return(e.type==Me.Wind||e.type==Me.Nuclear)&&![13,18,22].includes(e.number)})),c=a.filter((function(e){return e.type!=Me.Wind&&e.type!=Me.Nuclear}));a=c.slice(8),r=[Ar(3),Ar(4),Ar(5),Ar(6)],o=[Ar(7),Ar(8),Ar(9),Ar(10)];var u=a.pop();a=an(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a=a.concat(s),a=an(a,t()+""),a=i.concat(a),a.push(u)}else{var l=a.pop(),d=a.filter((function(e){return e.number>=3&&e.number<=10})),f=a.filter((function(e){return 13==e.number})),h=a.filter((function(e){return 18==e.number||22==e.number})),p=a.filter((function(e){return![13,18,22].includes(e.number)&&(e.type==Me.Wind||e.type==Me.Nuclear)})),g=a.filter((function(e){return e.type!=Me.Wind&&e.number>=11&&e.number<=15})),y=a.filter((function(e){return e.type!=Me.Wind&&e.type!=Me.Nuclear&&e.number>=16}));2==e?(g=an(g,t()+"").slice(1),y=an(y,t()+"").slice(5)):3==e?(g=an(g,t()+"").slice(2),y=an(y,t()+"").slice(6)):4==e&&(g=an(g,t()+"").slice(1),y=an(y,t()+"").slice(3));var m=an(d.concat(f).concat(g),t()+""),v=m.splice(0,8);v=v.sort((function(e,n){return e.number-n.number})),r=v.splice(0,4),o=v;var b=m.splice(0,1);a=m.concat(p).concat(y),a=an(a,t()+""),a=b.concat(h).concat(a).concat([l])}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},mapSpecificRules:"Ecological power plants will never be put on the bottom of the deck.\n",deckBuild:{recharged:"the starting market is drawn from the low plants (including 13); one more low plant goes on top of the deck, with 18 and 22 placed directly beneath it. Ecological plants (wind and fusion) are never removed during setup.",original:"power plants 13, 18, 22 are set aside and placed on top of the deck (13 topmost); ecological plants are excluded from the player-count removal."}};(function(e){e["Green"]="green",e["Pink"]="pink",e["Red"]="red",e["Yellow"]="yellow",e["Purple"]="purple",e["Brown"]="brown"})(kt||(kt={})),function(e){e["Murmansk"]="Murmansk",e["Arkhangelsk"]="Arkhangelsk",e["Syktyvkar"]="Syktyvkar",e["Kirov"]="Kirov",e["Kazan"]="Kazan",e["Cheboksary"]="Cheboksary",e["Ulyanovsk"]="Ulyanovsk",e["Tula"]="Tula",e["Kaliningrad"]="Kaliningrad",e["Ryazan"]="Ryazan",e["Nizhnynovgorod"]="Nizhny Novgorod",e["Moscow"]="Moscow",e["Stpetersburg"]="St Petersburg",e["Yaroslavl"]="Yaroslavl",e["Chita"]="Chita",e["Bratsk"]="Bratsk",e["Krasnoyarsk"]="Krasnoyarsk",e["Kemerovd"]="Kemerovd",e["Novokuznetsk"]="Novokuznetsk",e["Irkutsk"]="Irkutsk",e["Ulanude"]="Ulan Ude",e["Norilsk"]="Norilsk",e["Surgut"]="Surgut",e["Tyumen"]="Tyumen",e["Tomsk"]="Tomsk",e["Novosibirsk"]="Novosibirsk",e["Barnaul"]="Barnaul",e["Omsk"]="Omsk",e["Chelyabinsk"]="Chelyabinsk",e["Ufa"]="Ufa",e["Perm"]="Perm",e["Yekaterinburg"]="Yekaterinburg",e["Orenburg"]="Orenburg",e["Naberezhnyechelny"]="Naberezhnye Chelny",e["Samara"]="Samara",e["Astrakhan"]="Astrakhan",e["Makhachkala"]="Makhachkala",e["Saratov"]="Saratov",e["Volgograd"]="Volgograd",e["Krasnodar"]="Krasnodar",e["Rostov"]="Rostov",e["Voronezh"]="Voronezh"}(Mt||(Mt={}));var _t,St,Ct={name:"Russia",cities:[{name:Mt.Murmansk,region:kt.Green,x:1574,y:351},{name:Mt.Arkhangelsk,region:kt.Green,x:1456,y:695},{name:Mt.Syktyvkar,region:kt.Green,x:1669,y:1005},{name:Mt.Kirov,region:kt.Green,x:1457,y:1172},{name:Mt.Kazan,region:kt.Green,x:1378,y:1478},{name:Mt.Cheboksary,region:kt.Green,x:1200,y:1328},{name:Mt.Ulyanovsk,region:kt.Green,x:884,y:1448},{name:Mt.Tula,region:kt.Pink,x:485,y:1077},{name:Mt.Kaliningrad,region:kt.Pink,x:394,y:606},{name:Mt.Ryazan,region:kt.Pink,x:793,y:1193},{name:Mt.Nizhnynovgorod,region:kt.Pink,x:1129,y:1116},{name:Mt.Moscow,region:kt.Pink,x:763,y:961},{name:Mt.Stpetersburg,region:kt.Pink,x:883,y:597},{name:Mt.Yaroslavl,region:kt.Pink,x:1018,y:915},{name:Mt.Chita,region:kt.Red,x:4168,y:2048},{name:Mt.Bratsk,region:kt.Red,x:3599,y:1808},{name:Mt.Krasnoyarsk,region:kt.Red,x:3230,y:1930},{name:Mt.Kemerovd,region:kt.Red,x:2953,y:1987},{name:Mt.Novokuznetsk,region:kt.Red,x:3041,y:2159},{name:Mt.Irkutsk,region:kt.Red,x:3721,y:2162},{name:Mt.Ulanude,region:kt.Red,x:4030,y:2228},{name:Mt.Norilsk,region:kt.Yellow,x:3001,y:856},{name:Mt.Surgut,region:kt.Yellow,x:2348,y:1411},{name:Mt.Tyumen,region:kt.Yellow,x:2060,y:1627},{name:Mt.Tomsk,region:kt.Yellow,x:2773,y:1835},{name:Mt.Novosibirsk,region:kt.Yellow,x:2647,y:2005},{name:Mt.Barnaul,region:kt.Yellow,x:2662,y:2191},{name:Mt.Omsk,region:kt.Yellow,x:2195,y:1957},{name:Mt.Chelyabinsk,region:kt.Purple,x:1768,y:1865},{name:Mt.Ufa,region:kt.Purple,x:1472,y:1907},{name:Mt.Perm,region:kt.Purple,x:1688,y:1388},{name:Mt.Yekaterinburg,region:kt.Purple,x:1757,y:1620},{name:Mt.Orenburg,region:kt.Purple,x:1250,y:1997},{name:Mt.Naberezhnyechelny,region:kt.Purple,x:1427,y:1709},{name:Mt.Samara,region:kt.Purple,x:1132,y:1701},{name:Mt.Astrakhan,region:kt.Brown,x:619,y:2092},{name:Mt.Makhachkala,region:kt.Brown,x:317,y:2262},{name:Mt.Saratov,region:kt.Brown,x:808,y:1661},{name:Mt.Volgograd,region:kt.Brown,x:589,y:1795},{name:Mt.Krasnodar,region:kt.Brown,x:260,y:1865},{name:Mt.Rostov,region:kt.Brown,x:311,y:1658},{name:Mt.Voronezh,region:kt.Brown,x:485,y:1409}],connections:[{nodes:[Mt.Kaliningrad,Mt.Stpetersburg],cost:15},{nodes:[Mt.Stpetersburg,Mt.Murmansk],cost:19},{nodes:[Mt.Murmansk,Mt.Arkhangelsk],cost:15},{nodes:[Mt.Arkhangelsk,Mt.Stpetersburg],cost:14},{nodes:[Mt.Tula,Mt.Kaliningrad],cost:20},{nodes:[Mt.Tula,Mt.Moscow],cost:3},{nodes:[Mt.Moscow,Mt.Ryazan],cost:3},{nodes:[Mt.Ryazan,Mt.Voronezh],cost:5},{nodes:[Mt.Voronezh,Mt.Tula],cost:5},{nodes:[Mt.Tula,Mt.Stpetersburg],cost:13},{nodes:[Mt.Tula,Mt.Ryazan],cost:0},{nodes:[Mt.Stpetersburg,Mt.Moscow],cost:10},{nodes:[Mt.Moscow,Mt.Yaroslavl],cost:3},{nodes:[Mt.Yaroslavl,Mt.Nizhnynovgorod],cost:4},{nodes:[Mt.Nizhnynovgorod,Mt.Moscow],cost:7},{nodes:[Mt.Yaroslavl,Mt.Stpetersburg],cost:9},{nodes:[Mt.Yaroslavl,Mt.Arkhangelsk],cost:12},{nodes:[Mt.Arkhangelsk,Mt.Syktyvkar],cost:10},{nodes:[Mt.Syktyvkar,Mt.Surgut],cost:21},{nodes:[Mt.Perm,Mt.Syktyvkar],cost:8},{nodes:[Mt.Syktyvkar,Mt.Kirov],cost:6},{nodes:[Mt.Syktyvkar,Mt.Nizhnynovgorod],cost:11},{nodes:[Mt.Nizhnynovgorod,Mt.Arkhangelsk],cost:15},{nodes:[Mt.Nizhnynovgorod,Mt.Cheboksary],cost:3},{nodes:[Mt.Cheboksary,Mt.Ulyanovsk],cost:4},{nodes:[Mt.Ulyanovsk,Mt.Voronezh],cost:11},{nodes:[Mt.Voronezh,Mt.Volgograd],cost:8},{nodes:[Mt.Volgograd,Mt.Saratov],cost:6},{nodes:[Mt.Saratov,Mt.Samara],cost:5},{nodes:[Mt.Samara,Mt.Ulyanovsk],cost:3},{nodes:[Mt.Ulyanovsk,Mt.Kazan],cost:3},{nodes:[Mt.Kazan,Mt.Samara],cost:4},{nodes:[Mt.Samara,Mt.Naberezhnyechelny],cost:5},{nodes:[Mt.Cheboksary,Mt.Kazan],cost:2},{nodes:[Mt.Cheboksary,Mt.Kirov],cost:5},{nodes:[Mt.Kirov,Mt.Kazan],cost:5},{nodes:[Mt.Kazan,Mt.Perm],cost:8},{nodes:[Mt.Kazan,Mt.Naberezhnyechelny],cost:3},{nodes:[Mt.Naberezhnyechelny,Mt.Ufa],cost:4},{nodes:[Mt.Ufa,Mt.Orenburg],cost:6},{nodes:[Mt.Orenburg,Mt.Samara],cost:6},{nodes:[Mt.Orenburg,Mt.Naberezhnyechelny],cost:7},{nodes:[Mt.Ufa,Mt.Chelyabinsk],cost:8},{nodes:[Mt.Chelyabinsk,Mt.Yekaterinburg],cost:3},{nodes:[Mt.Yekaterinburg,Mt.Perm],cost:5},{nodes:[Mt.Perm,Mt.Kirov],cost:6},{nodes:[Mt.Chelyabinsk,Mt.Tyumen],cost:5},{nodes:[Mt.Tyumen,Mt.Surgut],cost:10},{nodes:[Mt.Syktyvkar,Mt.Tyumen],cost:17},{nodes:[Mt.Tyumen,Mt.Yekaterinburg],cost:5},{nodes:[Mt.Chelyabinsk,Mt.Omsk],cost:13},{nodes:[Mt.Omsk,Mt.Tyumen],cost:9},{nodes:[Mt.Tyumen,Mt.Tomsk],cost:19},{nodes:[Mt.Tomsk,Mt.Surgut],cost:15},{nodes:[Mt.Tomsk,Mt.Novosibirsk],cost:4},{nodes:[Mt.Novosibirsk,Mt.Barnaul],cost:4},{nodes:[Mt.Barnaul,Mt.Omsk],cost:11},{nodes:[Mt.Omsk,Mt.Novosibirsk],cost:10},{nodes:[Mt.Omsk,Mt.Tomsk],cost:12},{nodes:[Mt.Rostov,Mt.Krasnodar],cost:4},{nodes:[Mt.Krasnodar,Mt.Volgograd],cost:9},{nodes:[Mt.Volgograd,Mt.Astrakhan],cost:6},{nodes:[Mt.Krasnodar,Mt.Makhachkala],cost:14},{nodes:[Mt.Makhachkala,Mt.Astrakhan],cost:8},{nodes:[Mt.Makhachkala,Mt.Volgograd],cost:11},{nodes:[Mt.Rostov,Mt.Volgograd],cost:7},{nodes:[Mt.Ryazan,Mt.Ulyanovsk],cost:9},{nodes:[Mt.Ulyanovsk,Mt.Saratov],cost:6},{nodes:[Mt.Saratov,Mt.Voronezh],cost:8},{nodes:[Mt.Rostov,Mt.Voronezh],cost:9},{nodes:[Mt.Naberezhnyechelny,Mt.Perm],cost:6},{nodes:[Mt.Naberezhnyechelny,Mt.Yekaterinburg],cost:8},{nodes:[Mt.Ufa,Mt.Yekaterinburg],cost:6},{nodes:[Mt.Chita,Mt.Ulanude],cost:6},{nodes:[Mt.Ulanude,Mt.Irkutsk],cost:6},{nodes:[Mt.Irkutsk,Mt.Novokuznetsk],cost:21},{nodes:[Mt.Novokuznetsk,Mt.Kemerovd],cost:3},{nodes:[Mt.Kemerovd,Mt.Tomsk],cost:3},{nodes:[Mt.Novosibirsk,Mt.Novokuznetsk],cost:5},{nodes:[Mt.Novosibirsk,Mt.Kemerovd],cost:4},{nodes:[Mt.Novokuznetsk,Mt.Barnaul],cost:6},{nodes:[Mt.Kemerovd,Mt.Krasnoyarsk],cost:7},{nodes:[Mt.Krasnoyarsk,Mt.Novokuznetsk],cost:7},{nodes:[Mt.Krasnoyarsk,Mt.Irkutsk],cost:17},{nodes:[Mt.Krasnoyarsk,Mt.Bratsk],cost:10},{nodes:[Mt.Bratsk,Mt.Tomsk],cost:17},{nodes:[Mt.Bratsk,Mt.Irkutsk],cost:10},{nodes:[Mt.Bratsk,Mt.Ulanude],cost:14},{nodes:[Mt.Tomsk,Mt.Norilsk],cost:24},{nodes:[Mt.Norilsk,Mt.Bratsk],cost:29},{nodes:[Mt.Norilsk,Mt.Surgut],cost:19}],adjustRatio:[.25,.25],resupply:[[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[3,4,3],[3,4,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,3],[2,2,3],[3,3,4],[4,3,5],[4,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[18,24,0,7],setupDeck:function(e,n,t){var r=Object(qe["cloneDeep"])(yn),o=[],a=[],i=r.pop();if("original"==n){o=r.filter((function(e){return e.number>=3&&e.number<=5})),a=r.filter((function(e){return e.number>=7&&e.number<=9}));var s=Ar(10),c=Ar(11),u=Ar(13),l=r.filter((function(e){return 12==e.number||e.number>=15})),d=an(l,t()+"");2==e||3==e?d=d.slice(8):4==e&&(d=d.slice(4));var f=d.slice(0,3).concat(s,c);f=an(f,t()+""),r=[u].concat(f,d.slice(3),i)}else{var h=r.filter((function(e){return e.number<=15&&6!=e.number&&14!=e.number})),p=an(h,t()+""),g=r.filter((function(e){return e.number>=16})),y=an(g,t()+"");2==e?y=y.slice(6):3==e?y=y.slice(8):4==e&&(y=y.slice(4));var m=p.slice(0,6),v=p.slice(6);m=m.sort((function(e,n){return e.number-n.number})),o=m.slice(0,3),a=m.slice(3),r=v.concat(y,i)}return{actualMarket:o,futureMarket:a,powerPlantsDeck:r}},mapSpecificRules:"The power plant market is restricted, and the rules for removing old plants are changed.\n",deckBuild:{recharged:"plants 6 and 14 are removed from the game. The market has 6 plants (3 current, 3 future) drawn at random from the low plants; the six undrawn low plants sit shuffled on top of the deck. Removal by player count (higher plants only): 2 players remove 6, 3 players remove 8, 4 players remove 4.",original:"plants 6 and 14 are removed from the game; the market is 3, 4, 5 / 7, 8, 9. Plant 13 goes on top of the deck, then five shuffled cards (plants 10, 11 and the top three of the deck), then the rest, with the Step 3 card on the bottom."}};(function(e){e["Orange"]="orange",e["Green"]="green",e["Yellow"]="yellow",e["Brown"]="brown",e["Red"]="red"})(_t||(_t={})),function(e){e["Zimbabwe"]="Zimbabwe",e["Musina"]="Musina",e["Botswana"]="Botswana",e["Polokwane"]="Polokwane",e["PretoriaN"]="Pretoria N",e["PretoriaS"]="Pretoria S",e["Rustenburg"]="Rustenburg",e["Mozambique"]="Mozambique",e["Mbombela"]="Mbombela",e["Eswatini"]="Eswatini",e["Germiston"]="Germiston",e["JohannesburgN"]="Johannesburg N",e["JohannesburgS"]="Johannesburg S",e["Ladysmith"]="Ladysmith",e["Newcastle"]="Newcastle",e["Pietermaritzburg"]="Pietermaritzburg",e["DurbanN"]="Durban N",e["DurbanS"]="Durban S",e["Mthatha"]="Mthatha",e["Lesotho"]="Lesotho",e["Bloemfontein"]="Bloemfontein",e["Klerksdorp"]="Klerksdorp",e["Welkom"]="Welkom",e["Kuruman"]="Kuruman",e["Kimberly"]="Kimberly",e["Upington"]="Upington",e["Springbok"]="Springbok",e["Namibia"]="Namibia",e["DeAar"]="De Aar",e["BeaufortWest"]="Beaufort West",e["EastLondon"]="East London",e["PortElizabeth"]="Port Elizabeth",e["George"]="George",e["CapeTownN"]="Cape Town N",e["CapeTownS"]="Cape Town S"}(St||(St={}));var Bt,Lt,Rt={name:"South Africa",cities:[{name:St.Zimbabwe,region:_t.Orange,x:903,y:50,singleOccupancy:!0},{name:St.Musina,region:_t.Orange,x:874,y:134},{name:St.Botswana,region:_t.Orange,x:560,y:187,singleOccupancy:!0},{name:St.Polokwane,region:_t.Orange,x:802,y:189},{name:St.PretoriaN,region:_t.Orange,x:759,y:261},{name:St.PretoriaS,region:_t.Orange,x:759,y:291},{name:St.Rustenburg,region:_t.Orange,x:632,y:232},{name:St.Mozambique,region:_t.Green,x:1011,y:170,singleOccupancy:!0},{name:St.Mbombela,region:_t.Green,x:891,y:275},{name:St.Eswatini,region:_t.Green,x:926,y:351,singleOccupancy:!0},{name:St.Germiston,region:_t.Green,x:836,y:351},{name:St.JohannesburgN,region:_t.Green,x:753,y:343},{name:St.JohannesburgS,region:_t.Green,x:754,y:371},{name:St.Ladysmith,region:_t.Green,x:823,y:456},{name:St.Newcastle,region:_t.Yellow,x:957,y:478},{name:St.Pietermaritzburg,region:_t.Yellow,x:851,y:511},{name:St.DurbanN,region:_t.Yellow,x:894,y:563},{name:St.DurbanS,region:_t.Yellow,x:893,y:592},{name:St.Mthatha,region:_t.Yellow,x:791,y:663},{name:St.Lesotho,region:_t.Yellow,x:759,y:523,singleOccupancy:!0},{name:St.Bloemfontein,region:_t.Yellow,x:656,y:509},{name:St.Klerksdorp,region:_t.Brown,x:660,y:362},{name:St.Welkom,region:_t.Brown,x:652,y:431},{name:St.Kuruman,region:_t.Brown,x:499,y:386},{name:St.Kimberly,region:_t.Brown,x:564,y:496},{name:St.Upington,region:_t.Brown,x:378,y:453},{name:St.Springbok,region:_t.Brown,x:211,y:530},{name:St.Namibia,region:_t.Brown,x:189,y:311,singleOccupancy:!0},{name:St.DeAar,region:_t.Red,x:539,y:665},{name:St.BeaufortWest,region:_t.Red,x:427,y:705},{name:St.EastLondon,region:_t.Red,x:722,y:750},{name:St.PortElizabeth,region:_t.Red,x:600,y:811},{name:St.George,region:_t.Red,x:439,y:811},{name:St.CapeTownN,region:_t.Red,x:233,y:783},{name:St.CapeTownS,region:_t.Red,x:231,y:812}],connections:[{nodes:[St.Springbok,St.Namibia],cost:30},{nodes:[St.Bloemfontein,St.Lesotho],cost:30},{nodes:[St.Germiston,St.Eswatini],cost:30},{nodes:[St.Mbombela,St.Mozambique],cost:30},{nodes:[St.Botswana,St.Rustenburg],cost:30},{nodes:[St.Zimbabwe,St.Musina],cost:30},{nodes:[St.CapeTownS,St.CapeTownN],cost:0},{nodes:[St.CapeTownS,St.George],cost:16},{nodes:[St.George,St.PortElizabeth],cost:12},{nodes:[St.PortElizabeth,St.EastLondon],cost:13},{nodes:[St.EastLondon,St.Mthatha],cost:8},{nodes:[St.Mthatha,St.DurbanS],cost:13},{nodes:[St.DurbanS,St.DurbanN],cost:0},{nodes:[St.DurbanN,St.Pietermaritzburg],cost:3},{nodes:[St.DurbanN,St.Newcastle],cost:9},{nodes:[St.Newcastle,St.Pietermaritzburg],cost:9},{nodes:[St.Pietermaritzburg,St.Ladysmith],cost:5},{nodes:[St.Ladysmith,St.Newcastle],cost:10},{nodes:[St.Bloemfontein,St.Mthatha],cost:18},{nodes:[St.Bloemfontein,St.EastLondon],cost:22},{nodes:[St.EastLondon,St.DeAar],cost:22},{nodes:[St.DeAar,St.PortElizabeth],cost:18},{nodes:[St.George,St.DeAar],cost:17},{nodes:[St.DeAar,St.BeaufortWest],cost:10},{nodes:[St.BeaufortWest,St.George],cost:8},{nodes:[St.BeaufortWest,St.CapeTownN],cost:22},{nodes:[St.CapeTownN,St.Springbok],cost:22},{nodes:[St.Springbok,St.BeaufortWest],cost:24},{nodes:[St.DeAar,St.Springbok],cost:26},{nodes:[St.Springbok,St.Upington],cost:16},{nodes:[St.Upington,St.DeAar],cost:16},{nodes:[St.DeAar,St.Bloemfontein],cost:13},{nodes:[St.Bloemfontein,St.Kimberly],cost:6},{nodes:[St.Kimberly,St.DeAar],cost:10},{nodes:[St.Kimberly,St.Upington],cost:14},{nodes:[St.Kimberly,St.Welkom],cost:9},{nodes:[St.Welkom,St.Bloemfontein],cost:6},{nodes:[St.Bloemfontein,St.Ladysmith],cost:19},{nodes:[St.Mthatha,St.Pietermaritzburg],cost:12},{nodes:[St.Upington,St.Kuruman],cost:11},{nodes:[St.Musina,St.Polokwane],cost:8},{nodes:[St.Polokwane,St.PretoriaN],cost:11},{nodes:[St.PretoriaN,St.PretoriaS],cost:0},{nodes:[St.PretoriaS,St.JohannesburgN],cost:2},{nodes:[St.JohannesburgN,St.JohannesburgS],cost:0},{nodes:[St.JohannesburgS,St.Germiston],cost:1},{nodes:[St.JohannesburgN,St.Mbombela],cost:13},{nodes:[St.Mbombela,St.Germiston],cost:13},{nodes:[St.PretoriaN,St.Mbombela],cost:13},{nodes:[St.Mbombela,St.Polokwane],cost:10},{nodes:[St.Musina,St.Mbombela],cost:15},{nodes:[St.PretoriaN,St.Rustenburg],cost:4},{nodes:[St.Rustenburg,St.JohannesburgN],cost:4},{nodes:[St.JohannesburgN,St.Klerksdorp],cost:7},{nodes:[St.Klerksdorp,St.Welkom],cost:5},{nodes:[St.Bloemfontein,St.JohannesburgS],cost:16},{nodes:[St.Kuruman,St.Rustenburg],cost:18},{nodes:[St.Klerksdorp,St.Kuruman],cost:12},{nodes:[St.Kuruman,St.Kimberly],cost:8},{nodes:[St.JohannesburgS,St.Ladysmith],cost:13},{nodes:[St.Ladysmith,St.Germiston],cost:13}],resupply:[[[4,7,5],[4,7,5],[5,8,6],[6,9,7],[7,10,8]],[[1,2,1],[1,2,1],[2,3,2],[2,4,3],[4,5,4]],[[1,3,3],[1,3,3],[2,4,4],[3,4,5],[3,6,6]],[[1,1,2],[1,1,2],[2,2,3],[2,3,3],[2,3,4]]],layout:"Landscape",adjustRatio:[.9,.75],mapPosition:[70,50],mapRotation:0,startingResources:[24,15,12,3],startingSupply:[24,24,24,12],setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(yn).filter((function(e){return 7!==e.number}));if("original"==n){a=a.slice(8);var i=a.findIndex((function(e){return 13==e.number})),s=a.splice(i,1)[0],c=a.pop();a=an(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a.unshift(s),a.push(c),r=[Ar(3),Ar(4),Ar(5),Ar(6)],o=[Ar(8),Ar(9),Ar(10),Ar(11)]}else{var u=an(a.splice(0,12),t()+""),l=u.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=u.shift(),f=a.pop();a=an(a,t()+""),2==e?(u=u.slice(1),a=an(a.slice(5).concat(u),t()+"")):3==e?(u=u.slice(2),a=an(a.slice(6).concat(u),t()+"")):4==e?(u=u.slice(1),a=an(a.slice(3).concat(u),t()+"")):a=an(a.concat(u),t()+""),a.unshift(d),a.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},mapSpecificRules:"Coal storage: there is a separate storage space below the resource market, empty at game start. Coal used to power plants returns to this storage space (not the main supply). The resource-market refill draws coal from storage first, then from the main supply. Players can always buy coal for $8 from the storage space (in addition to the standard market price). Metropolises: Cape Town, Durban, Johannesburg and Pretoria each consist of two cities (N and S) connected by a 0-cost edge. Cross-border connections: the six 30-Elektro connections to neighboring countries (Namibia, Botswana, Zimbabwe, Mozambique, Eswatini, Lesotho) are available from the start of the game. The 30 Elektro is the complete cost — no house-base cost is added on top. Only a single player can build on each cross-border space (cap of 1 instead of the standard 3).\n",deckBuild:"power plant 07 is removed from the game; otherwise standard setup for both variants (in the original variant the future market becomes 8, 9, 10, 11)."};(function(e){e["Pink"]="pink",e["Brown"]="brown",e["Green"]="green",e["Purple"]="purple",e["Red"]="red",e["Yellow"]="yellow"})(Bt||(Bt={})),function(e){e["Gerona"]="Gerona",e["Barcelona"]="Barcelona",e["Tarragona"]="Tarragona",e["Lerida"]="Lerida",e["Castellondelaplana"]="Castellon De La Plana",e["Valencia"]="Valencia",e["Alicante"]="Alicante",e["Sansebastian"]="San Sebastian",e["Pamplona"]="Pamplona",e["Zaragoza"]="Zaragoza",e["Madrid"]="Madrid",e["Logrono"]="Logrono",e["Bilbao"]="Bilbao",e["Santander"]="Santander",e["Gijon"]="Gijon",e["Leon"]="Leon",e["Valladolid"]="Valladolid",e["Salamanca"]="Salamanca",e["Orense"]="Orense",e["Lacoruna"]="La Coruna",e["Santiagodecompostela"]="Santiago De Compostela",e["Cuenca"]="Cuenca",e["Albacete"]="Albacete",e["Murcia"]="Murcia",e["Toledo"]="Toledo",e["Ciudadreal"]="Ciudad Real",e["Caceres"]="Caceres",e["Merida"]="Merida",e["Almeria"]="Almeria",e["Granada"]="Granada",e["Cordoba"]="Cordoba",e["Malaga"]="Malaga",e["Cadiz"]="Cadiz",e["Sevilla"]="Sevilla",e["Huelva"]="Huelva",e["Evora"]="Evora",e["Faro"]="Faro",e["Portimao"]="Portimao",e["Setubal"]="Setubal",e["Lisboa"]="Lisboa",e["Porto"]="Porto",e["Braga"]="Braga"}(Lt||(Lt={}));var At,Ot,jt={name:"Spain & Portugal",noUraniumRegions:[Bt.Yellow],cities:[{name:Lt.Evora,region:Bt.Yellow,x:890,y:1780},{name:Lt.Faro,region:Bt.Yellow,x:822,y:2348},{name:Lt.Portimao,region:Bt.Yellow,x:592,y:2218},{name:Lt.Setubal,region:Bt.Yellow,x:578,y:1864},{name:Lt.Lisboa,region:Bt.Yellow,x:572,y:1586},{name:Lt.Porto,region:Bt.Yellow,x:736,y:1052},{name:Lt.Braga,region:Bt.Yellow,x:990,y:828},{name:Lt.Gerona,region:Bt.Pink,x:3728,y:666},{name:Lt.Barcelona,region:Bt.Pink,x:3538,y:848},{name:Lt.Tarragona,region:Bt.Pink,x:3312,y:970},{name:Lt.Lerida,region:Bt.Pink,x:3166,y:752},{name:Lt.Castellondelaplana,region:Bt.Pink,x:3010,y:1284},{name:Lt.Valencia,region:Bt.Pink,x:2938,y:1580},{name:Lt.Alicante,region:Bt.Pink,x:2936,y:1922},{name:Lt.Sansebastian,region:Bt.Brown,x:2498,y:278},{name:Lt.Pamplona,region:Bt.Brown,x:2648,y:484},{name:Lt.Zaragoza,region:Bt.Brown,x:2760,y:810},{name:Lt.Madrid,region:Bt.Brown,x:2088,y:1170},{name:Lt.Logrono,region:Bt.Brown,x:2310,y:622},{name:Lt.Bilbao,region:Bt.Brown,x:2264,y:226},{name:Lt.Santander,region:Bt.Brown,x:2022,y:252},{name:Lt.Gijon,region:Bt.Green,x:1672,y:190},{name:Lt.Leon,region:Bt.Green,x:1604,y:518},{name:Lt.Valladolid,region:Bt.Green,x:1850,y:782},{name:Lt.Salamanca,region:Bt.Green,x:1564,y:1032},{name:Lt.Orense,region:Bt.Green,x:1072,y:532},{name:Lt.Lacoruna,region:Bt.Green,x:982,y:184},{name:Lt.Santiagodecompostela,region:Bt.Green,x:772,y:394},{name:Lt.Cuenca,region:Bt.Purple,x:2464,y:1300},{name:Lt.Albacete,region:Bt.Purple,x:2532,y:1684},{name:Lt.Murcia,region:Bt.Purple,x:2678,y:2056},{name:Lt.Toledo,region:Bt.Purple,x:1920,y:1400},{name:Lt.Ciudadreal,region:Bt.Purple,x:1982,y:1714},{name:Lt.Caceres,region:Bt.Purple,x:1354,y:1432},{name:Lt.Merida,region:Bt.Purple,x:1318,y:1764},{name:Lt.Almeria,region:Bt.Red,x:2402,y:2440},{name:Lt.Granada,region:Bt.Red,x:2044,y:2272},{name:Lt.Cordoba,region:Bt.Red,x:1728,y:2074},{name:Lt.Malaga,region:Bt.Red,x:1782,y:2484},{name:Lt.Cadiz,region:Bt.Red,x:1290,y:2552},{name:Lt.Sevilla,region:Bt.Red,x:1390,y:2168},{name:Lt.Huelva,region:Bt.Red,x:1082,y:2196}],connections:[{nodes:[Lt.Huelva,Lt.Faro],cost:6},{nodes:[Lt.Faro,Lt.Portimao],cost:4},{nodes:[Lt.Portimao,Lt.Setubal],cost:12},{nodes:[Lt.Setubal,Lt.Evora],cost:6},{nodes:[Lt.Evora,Lt.Merida],cost:9},{nodes:[Lt.Merida,Lt.Sevilla],cost:14},{nodes:[Lt.Sevilla,Lt.Cadiz],cost:8},{nodes:[Lt.Cadiz,Lt.Malaga],cost:12},{nodes:[Lt.Malaga,Lt.Granada],cost:7},{nodes:[Lt.Granada,Lt.Almeria],cost:9},{nodes:[Lt.Almeria,Lt.Murcia],cost:13},{nodes:[Lt.Murcia,Lt.Alicante],cost:4},{nodes:[Lt.Alicante,Lt.Valencia],cost:9},{nodes:[Lt.Valencia,Lt.Castellondelaplana],cost:4},{nodes:[Lt.Albacete,Lt.Almeria],cost:19},{nodes:[Lt.Albacete,Lt.Murcia],cost:10},{nodes:[Lt.Albacete,Lt.Alicante],cost:11},{nodes:[Lt.Albacete,Lt.Valencia],cost:11},{nodes:[Lt.Albacete,Lt.Cuenca],cost:8},{nodes:[Lt.Albacete,Lt.Ciudadreal],cost:13},{nodes:[Lt.Albacete,Lt.Granada],cost:19},{nodes:[Lt.Albacete,Lt.Toledo],cost:14},{nodes:[Lt.Toledo,Lt.Madrid],cost:6},{nodes:[Lt.Madrid,Lt.Cuenca],cost:11},{nodes:[Lt.Cuenca,Lt.Valencia],cost:13},{nodes:[Lt.Cuenca,Lt.Castellondelaplana],cost:14},{nodes:[Lt.Castellondelaplana,Lt.Tarragona],cost:12},{nodes:[Lt.Toledo,Lt.Caceres],cost:16},{nodes:[Lt.Caceres,Lt.Merida],cost:4},{nodes:[Lt.Merida,Lt.Ciudadreal],cost:16},{nodes:[Lt.Ciudadreal,Lt.Granada],cost:16},{nodes:[Lt.Granada,Lt.Cordoba],cost:11},{nodes:[Lt.Cordoba,Lt.Malaga],cost:11},{nodes:[Lt.Malaga,Lt.Sevilla],cost:12},{nodes:[Lt.Sevilla,Lt.Cordoba],cost:8},{nodes:[Lt.Cordoba,Lt.Ciudadreal],cost:10},{nodes:[Lt.Merida,Lt.Cordoba],cost:14},{nodes:[Lt.Huelva,Lt.Cadiz],cost:9},{nodes:[Lt.Huelva,Lt.Sevilla],cost:6},{nodes:[Lt.Merida,Lt.Huelva],cost:15},{nodes:[Lt.Huelva,Lt.Evora],cost:12},{nodes:[Lt.Evora,Lt.Faro],cost:13},{nodes:[Lt.Faro,Lt.Setubal],cost:14},{nodes:[Lt.Setubal,Lt.Lisboa],cost:4},{nodes:[Lt.Lisboa,Lt.Evora],cost:9},{nodes:[Lt.Lisboa,Lt.Merida],cost:16},{nodes:[Lt.Caceres,Lt.Ciudadreal],cost:16},{nodes:[Lt.Toledo,Lt.Cuenca],cost:13},{nodes:[Lt.Salamanca,Lt.Toledo],cost:14},{nodes:[Lt.Salamanca,Lt.Madrid],cost:14},{nodes:[Lt.Salamanca,Lt.Caceres],cost:13},{nodes:[Lt.Porto,Lt.Lisboa],cost:18},{nodes:[Lt.Porto,Lt.Salamanca],cost:19},{nodes:[Lt.Porto,Lt.Caceres],cost:21},{nodes:[Lt.Caceres,Lt.Lisboa],cost:19},{nodes:[Lt.Ciudadreal,Lt.Toledo],cost:7},{nodes:[Lt.Braga,Lt.Porto],cost:3},{nodes:[Lt.Braga,Lt.Salamanca],cost:19},{nodes:[Lt.Salamanca,Lt.Valladolid],cost:7},{nodes:[Lt.Valladolid,Lt.Madrid],cost:13},{nodes:[Lt.Madrid,Lt.Zaragoza],cost:19},{nodes:[Lt.Zaragoza,Lt.Lerida],cost:8},{nodes:[Lt.Lerida,Lt.Tarragona],cost:6},{nodes:[Lt.Tarragona,Lt.Barcelona],cost:6},{nodes:[Lt.Lerida,Lt.Castellondelaplana],cost:13},{nodes:[Lt.Castellondelaplana,Lt.Zaragoza],cost:15},{nodes:[Lt.Zaragoza,Lt.Cuenca],cost:16},{nodes:[Lt.Braga,Lt.Valladolid],cost:24},{nodes:[Lt.Lerida,Lt.Barcelona],cost:10},{nodes:[Lt.Barcelona,Lt.Gerona],cost:6},{nodes:[Lt.Gerona,Lt.Lerida],cost:13},{nodes:[Lt.Lerida,Lt.Pamplona],cost:17},{nodes:[Lt.Pamplona,Lt.Zaragoza],cost:11},{nodes:[Lt.Zaragoza,Lt.Logrono],cost:11},{nodes:[Lt.Logrono,Lt.Madrid],cost:18},{nodes:[Lt.Santiagodecompostela,Lt.Braga],cost:11},{nodes:[Lt.Braga,Lt.Orense],cost:9},{nodes:[Lt.Orense,Lt.Santiagodecompostela],cost:7},{nodes:[Lt.Santiagodecompostela,Lt.Lacoruna],cost:4},{nodes:[Lt.Lacoruna,Lt.Gijon],cost:9},{nodes:[Lt.Gijon,Lt.Santander],cost:11},{nodes:[Lt.Santander,Lt.Bilbao],cost:6},{nodes:[Lt.Bilbao,Lt.Sansebastian],cost:5},{nodes:[Lt.Sansebastian,Lt.Pamplona],cost:6},{nodes:[Lt.Pamplona,Lt.Logrono],cost:7},{nodes:[Lt.Logrono,Lt.Sansebastian],cost:9},{nodes:[Lt.Bilbao,Lt.Logrono],cost:9},{nodes:[Lt.Logrono,Lt.Santander],cost:13},{nodes:[Lt.Santander,Lt.Valladolid],cost:16},{nodes:[Lt.Valladolid,Lt.Logrono],cost:15},{nodes:[Lt.Leon,Lt.Santander],cost:13},{nodes:[Lt.Gijon,Lt.Leon],cost:9},{nodes:[Lt.Leon,Lt.Valladolid],cost:9},{nodes:[Lt.Valladolid,Lt.Orense],cost:22},{nodes:[Lt.Orense,Lt.Leon],cost:14},{nodes:[Lt.Gijon,Lt.Orense],cost:10},{nodes:[Lt.Orense,Lt.Lacoruna],cost:6}],layout:"Portrait",adjustRatio:[.315,.315],mapPosition:[-135,60],resupply:[[[3,4,2],[4,5,2],[4,6,3],[4,7,3],[6,8,4]],[[2,3,5],[2,4,5],[3,5,6],[4,6,7],[5,7,9]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[0,2,1],[0,2,1],[0,4,1],[0,5,1],[0,5,2]]],startingResources:[24,18,9,8],setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(yn);if(a=a.filter((function(e){return![18,22,27].includes(e.number)})),"original"==n){a=a.slice(8);var i=a.splice(2,1)[0],s=a.pop();a=an(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a.unshift(i),a.push(s),r=[Ar(3),Ar(4),Ar(5),Ar(6)],o=[Ar(7),Ar(8),Ar(9),Ar(10)]}else{var c=an(a.splice(0,13),t()+""),u=c.splice(0,8);u=u.sort((function(e,n){return e.number-n.number})),r=u.slice(0,4),o=u.slice(4);var l=c.shift(),d=a.pop();a=an(a,t()+""),2==e?(c=c.slice(1),a=an(a.slice(5).concat(c),t()+"")):3==e?(c=c.slice(2),a=an(a.slice(6).concat(c),t()+"")):4==e?(c=c.slice(1),a=an(a.slice(3).concat(c),t()+"")):a=an(a.concat(c),t()+""),a.unshift(l),a.push(d)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},mapSpecificRules:"You cannot buy a nuclear power plant if you only have cities in Portugal.\n",deckBuild:"power plants 18, 22 and 27 are set aside at setup; when Step 2 begins they are placed on top of the deck (18 topmost, then 22, then 27)."};(function(e){e["Red"]="red",e["Pink"]="pink",e["Yellow"]="yellow",e["Brown"]="brown",e["Orange"]="orange",e["Green"]="green"})(At||(At={})),function(e){e["Norwich"]="Norwich",e["London1"]="London 1",e["London2"]="London 2",e["Brighton"]="Brighton",e["Southampton"]="Southampton",e["Plymouth"]="Plymouth",e["Leicester"]="Leicester",e["Bristol"]="Bristol",e["Newcastleupontyne"]="Newcastle Upon Tyne",e["Leeds"]="Leeds",e["Sheffield"]="Sheffield",e["Nottingham"]="Nottingham",e["Birmingham"]="Birmingham",e["Manchester"]="Manchester",e["Liverpool"]="Liverpool",e["Newportcasnewydd"]="Newport Casnewydd",e["Bangor"]="Bangor",e["Aberystwyth"]="Aberystwyth",e["Swanseaabertawe"]="Swansea Abertawe",e["Cardiffcaerdydd"]="Cardiff Caerdydd",e["Haverfordwesthwlffordd"]="Haverfordwest Hwlffordd",e["Invernessinbhirnis"]="Inverness Inbhir Nis",e["Aberdeenobardheathain"]="Aberdeen Obar Dheathain",e["Dundeedundeach"]="Dundee Dun Deach",e["Perthpeairt"]="Perth Peairt",e["Edinburgh"]="Edinburgh",e["Dumfries"]="Dumfries",e["Glasgow"]="Glasgow",e["Coleraine"]="Coleraine",e["Derry"]="Derry",e["Belfast"]="Belfast",e["Newry"]="Newry",e["Omagh"]="Omagh",e["Sligo"]="Sligo",e["Dublin"]="Dublin",e["Waterford"]="Waterford",e["Cork"]="Cork",e["Athlone"]="Athlone",e["Galway"]="Galway",e["Limerick"]="Limerick"}(Ot||(Ot={}));var Nt={name:"UK & Ireland",noUraniumRegions:[At.Green],cities:[{name:Ot.Norwich,region:At.Red,island:"gb",x:646,y:702},{name:Ot.London1,region:At.Red,island:"gb",x:554,y:756},{name:Ot.London2,region:At.Red,island:"gb",x:550,y:780},{name:Ot.Brighton,region:At.Red,island:"gb",x:537,y:837},{name:Ot.Southampton,region:At.Red,island:"gb",x:451,y:805},{name:Ot.Plymouth,region:At.Red,island:"gb",x:312,y:814},{name:Ot.Leicester,region:At.Red,island:"gb",x:540,y:680},{name:Ot.Bristol,region:At.Red,island:"gb",x:425,y:762},{name:Ot.Newcastleupontyne,region:At.Pink,island:"gb",x:550,y:414},{name:Ot.Leeds,region:At.Pink,island:"gb",x:559,y:541},{name:Ot.Sheffield,region:At.Pink,island:"gb",x:530,y:590},{name:Ot.Nottingham,region:At.Pink,island:"gb",x:531,y:632},{name:Ot.Birmingham,region:At.Pink,island:"gb",x:465,y:663},{name:Ot.Manchester,region:At.Pink,island:"gb",x:479,y:543},{name:Ot.Liverpool,region:At.Pink,island:"gb",x:433,y:576},{name:Ot.Newportcasnewydd,region:At.Yellow,island:"gb",x:425,y:722},{name:Ot.Bangor,region:At.Yellow,island:"gb",x:348,y:574},{name:Ot.Aberystwyth,region:At.Yellow,island:"gb",x:357,y:639},{name:Ot.Swanseaabertawe,region:At.Yellow,island:"gb",x:346,y:706},{name:Ot.Cardiffcaerdydd,region:At.Yellow,island:"gb",x:357,y:761},{name:Ot.Haverfordwesthwlffordd,region:At.Yellow,island:"gb",x:303,y:673},{name:Ot.Invernessinbhirnis,region:At.Brown,island:"gb",x:479,y:208},{name:Ot.Aberdeenobardheathain,region:At.Brown,island:"gb",x:588,y:245},{name:Ot.Dundeedundeach,region:At.Brown,island:"gb",x:552,y:286},{name:Ot.Perthpeairt,region:At.Brown,island:"gb",x:489,y:307},{name:Ot.Edinburgh,region:At.Brown,island:"gb",x:494,y:375},{name:Ot.Dumfries,region:At.Brown,island:"gb",x:441,y:417},{name:Ot.Glasgow,region:At.Brown,island:"gb",x:422,y:335},{name:Ot.Coleraine,region:At.Orange,island:"ie",x:330,y:367},{name:Ot.Derry,region:At.Orange,island:"ie",x:256,y:362},{name:Ot.Belfast,region:At.Orange,island:"ie",x:342,y:421},{name:Ot.Newry,region:At.Orange,island:"ie",x:298,y:462},{name:Ot.Omagh,region:At.Orange,island:"ie",x:260,y:403},{name:Ot.Sligo,region:At.Green,island:"ie",x:181,y:411},{name:Ot.Dublin,region:At.Green,island:"ie",x:274,y:530},{name:Ot.Waterford,region:At.Green,island:"ie",x:210,y:611},{name:Ot.Cork,region:At.Green,island:"ie",x:114,y:626},{name:Ot.Athlone,region:At.Green,island:"ie",x:200,y:489},{name:Ot.Galway,region:At.Green,island:"ie",x:112,y:486},{name:Ot.Limerick,region:At.Green,island:"ie",x:122,y:546}],connections:[{nodes:[Ot.Nottingham,Ot.Leicester],cost:4},{nodes:[Ot.London1,Ot.London2],cost:0},{nodes:[Ot.London2,Ot.Brighton],cost:6},{nodes:[Ot.Brighton,Ot.Southampton],cost:7},{nodes:[Ot.Southampton,Ot.Plymouth],cost:19},{nodes:[Ot.Plymouth,Ot.Bristol],cost:14},{nodes:[Ot.Bristol,Ot.Newportcasnewydd],cost:7},{nodes:[Ot.Cardiffcaerdydd,Ot.Swanseaabertawe],cost:7},{nodes:[Ot.Swanseaabertawe,Ot.Newportcasnewydd],cost:8},{nodes:[Ot.Newportcasnewydd,Ot.Cardiffcaerdydd],cost:3},{nodes:[Ot.Bristol,Ot.Southampton],cost:11},{nodes:[Ot.Southampton,Ot.London2],cost:9},{nodes:[Ot.London2,Ot.Bristol],cost:14},{nodes:[Ot.London1,Ot.Newportcasnewydd],cost:16},{nodes:[Ot.Haverfordwesthwlffordd,Ot.Aberystwyth],cost:9},{nodes:[Ot.Haverfordwesthwlffordd,Ot.Swanseaabertawe],cost:8},{nodes:[Ot.Swanseaabertawe,Ot.Aberystwyth],cost:11},{nodes:[Ot.Aberystwyth,Ot.Bangor],cost:11},{nodes:[Ot.Bangor,Ot.Liverpool],cost:9},{nodes:[Ot.Liverpool,Ot.Aberystwyth],cost:16},{nodes:[Ot.Aberystwyth,Ot.Newportcasnewydd],cost:14},{nodes:[Ot.Aberystwyth,Ot.Birmingham],cost:16},{nodes:[Ot.Birmingham,Ot.Liverpool],cost:12},{nodes:[Ot.Birmingham,Ot.Newportcasnewydd],cost:9},{nodes:[Ot.London1,Ot.Norwich],cost:11},{nodes:[Ot.Norwich,Ot.Leicester],cost:12},{nodes:[Ot.Leicester,Ot.London1],cost:10},{nodes:[Ot.London1,Ot.Birmingham],cost:13},{nodes:[Ot.Birmingham,Ot.Leicester],cost:6},{nodes:[Ot.Birmingham,Ot.Nottingham],cost:7},{nodes:[Ot.Nottingham,Ot.Sheffield],cost:6},{nodes:[Ot.Sheffield,Ot.Leeds],cost:5},{nodes:[Ot.Leeds,Ot.Manchester],cost:8},{nodes:[Ot.Manchester,Ot.Sheffield],cost:8},{nodes:[Ot.Sheffield,Ot.Liverpool],cost:12},{nodes:[Ot.Liverpool,Ot.Nottingham],cost:15},{nodes:[Ot.Manchester,Ot.Dumfries],cost:18},{nodes:[Ot.Manchester,Ot.Newcastleupontyne],cost:15},{nodes:[Ot.Newcastleupontyne,Ot.Dumfries],cost:12},{nodes:[Ot.Dumfries,Ot.Edinburgh],cost:12},{nodes:[Ot.Edinburgh,Ot.Newcastleupontyne],cost:13},{nodes:[Ot.Newcastleupontyne,Ot.Leeds],cost:13},{nodes:[Ot.Dumfries,Ot.Glasgow],cost:11},{nodes:[Ot.Glasgow,Ot.Edinburgh],cost:7},{nodes:[Ot.Glasgow,Ot.Perthpeairt],cost:10},{nodes:[Ot.Perthpeairt,Ot.Dundeedundeach],cost:3},{nodes:[Ot.Glasgow,Ot.Invernessinbhirnis],cost:20},{nodes:[Ot.Invernessinbhirnis,Ot.Perthpeairt],cost:14},{nodes:[Ot.Invernessinbhirnis,Ot.Dundeedundeach],cost:14},{nodes:[Ot.Invernessinbhirnis,Ot.Aberdeenobardheathain],cost:15},{nodes:[Ot.Aberdeenobardheathain,Ot.Dundeedundeach],cost:10},{nodes:[Ot.Limerick,Ot.Cork],cost:12},{nodes:[Ot.Cork,Ot.Waterford],cost:8},{nodes:[Ot.Waterford,Ot.Limerick],cost:11},{nodes:[Ot.Limerick,Ot.Galway],cost:10},{nodes:[Ot.Galway,Ot.Sligo],cost:10},{nodes:[Ot.Sligo,Ot.Derry],cost:10},{nodes:[Ot.Derry,Ot.Coleraine],cost:6},{nodes:[Ot.Coleraine,Ot.Belfast],cost:8},{nodes:[Ot.Belfast,Ot.Newry],cost:6},{nodes:[Ot.Newry,Ot.Dublin],cost:10},{nodes:[Ot.Dublin,Ot.Waterford],cost:13},{nodes:[Ot.Galway,Ot.Athlone],cost:8},{nodes:[Ot.Athlone,Ot.Sligo],cost:9},{nodes:[Ot.Athlone,Ot.Limerick],cost:9},{nodes:[Ot.Limerick,Ot.Dublin],cost:16},{nodes:[Ot.Dublin,Ot.Athlone],cost:9},{nodes:[Ot.Athlone,Ot.Newry],cost:12},{nodes:[Ot.Athlone,Ot.Omagh],cost:14},{nodes:[Ot.Omagh,Ot.Newry],cost:8},{nodes:[Ot.Omagh,Ot.Belfast],cost:10},{nodes:[Ot.Belfast,Ot.Derry],cost:10},{nodes:[Ot.Omagh,Ot.Derry],cost:5},{nodes:[Ot.Omagh,Ot.Sligo],cost:10}],layout:"Portrait",adjustRatio:[1.1,1.1],mapPosition:[10,-75],mapRotation:0,resupply:[[[3,4,3],[3,5,3],[4,6,4],[4,7,5],[6,8,6]],[[2,3,2],[2,4,2],[3,5,3],[4,6,4],[5,7,5]],[[1,2,2],[1,2,2],[2,3,3],[3,3,5],[3,5,5]],[[1,1,1],[1,2,1],[1,3,1],[2,4,2],[2,4,3]]],startingResources:[24,18,12,0],startingSupply:[24,24,24,12],crossIslandSurcharge:20,setupDeck:function(e,n,t){var r,o,a=Object(qe["cloneDeep"])(yn);if("original"==n){a=a.slice(8);var i=a.findIndex((function(e){return 13==e.number})),s=a.splice(i,1)[0],c=a.pop();a=an(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a.unshift(s),a.splice(a.length-2,0,c),r=[Ar(3),Ar(4),Ar(5),Ar(6)],o=[Ar(7),Ar(8),Ar(9),Ar(10)]}else{var u=an(a.splice(0,13),t()+""),l=u.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=u.shift(),f=a.pop();a=an(a,t()+""),2==e?(u=u.slice(1),a=an(a.slice(5).concat(u),t()+"")):3==e?(u=u.slice(2),a=an(a.slice(6).concat(u),t()+"")):4==e?(u=u.slice(1),a=an(a.slice(3).concat(u),t()+"")):a=an(a.concat(u),t()+""),a.unshift(d),a.splice(a.length-2,0,f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:a}},mapSpecificRules:"Two networks: Ireland (Green and Orange regions) and Great Britain (Red, Pink, Yellow, Brown) have no sea connection. A player may run one network on each island. Starting a second network on the other island is only possible on an EMPTY spot and costs an extra 20 Elektro on top of the normal first-house cost($10). Nuclear restriction: a player whose network is entirely in the Republic of Ireland (Green region) cannot bid on or auction a nuclear power plant until they build a city in Scotland, Wales, England, or Northern Ireland. Early Step 3: the Step 3 card is placed 3rd from last in the deck (two plants below it). Step 2 begins when a player connects their 7th city (6th for 6 players).\n",deckBuild:"standard setup for both variants, except the Step 3 card is placed third from the bottom of the deck (two plants below it)."},Dt=[pn,Fn,Ln,jt,Hn,Zn,et,Pt,pt,Gn,Sn,Ct,Dn,Mn,xt,it,Un,vt,Rt,Nt,wn,On,dt,rt],Tt=[gn,Jn,Ln,jt,Hn,Zn,et,Pt,pt,Gn,Sn,Ct,Dn,Mn,xt,it,Un,vt,Rt,Nt,wn,On,dt,ot];const zt=Math.pow(2,-52),Gt=new Uint32Array(512);class Et{static from(e,n=$t,t=qt){const r=e.length,o=new Float64Array(2*r);for(let a=0;a<r;a++){const r=e[a];o[2*a]=n(r),o[2*a+1]=t(r)}return new Et(o)}constructor(e){const n=e.length>>1;if(n>0&&"number"!==typeof e[0])throw new Error("Expected coords to contain numbers.");this.coords=e;const t=Math.max(2*n-5,0);this._triangles=new Uint32Array(3*t),this._halfedges=new Int32Array(3*t),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){const{coords:e,_hullPrev:n,_hullNext:t,_hullTri:r,_hullHash:o}=this,a=e.length>>1;let i=1/0,s=1/0,c=-1/0,u=-1/0;for(let _=0;_<a;_++){const n=e[2*_],t=e[2*_+1];n<i&&(i=n),t<s&&(s=t),n>c&&(c=n),t>u&&(u=t),this._ids[_]=_}const l=(i+c)/2,d=(s+u)/2;let f,h,p,g=1/0;for(let _=0;_<a;_++){const n=Ut(l,d,e[2*_],e[2*_+1]);n<g&&(f=_,g=n)}const y=e[2*f],m=e[2*f+1];g=1/0;for(let _=0;_<a;_++){if(_===f)continue;const n=Ut(y,m,e[2*_],e[2*_+1]);n<g&&n>0&&(h=_,g=n)}let v=e[2*h],b=e[2*h+1],w=1/0;for(let _=0;_<a;_++){if(_===f||_===h)continue;const n=Wt(y,m,v,b,e[2*_],e[2*_+1]);n<w&&(p=_,w=n)}let x=e[2*p],k=e[2*p+1];if(w===1/0){for(let r=0;r<a;r++)this._dists[r]=e[2*r]-e[0]||e[2*r+1]-e[1];Ft(this._ids,this._dists,0,a-1);const n=new Uint32Array(a);let t=0;for(let e=0,r=-1/0;e<a;e++){const o=this._ids[e];this._dists[o]>r&&(n[t++]=o,r=this._dists[o])}return this.hull=n.subarray(0,t),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(Yt(y,m,v,b,x,k)){const e=h,n=v,t=b;h=p,v=x,b=k,p=e,x=n,k=t}const M=Vt(y,m,v,b,x,k);this._cx=M.x,this._cy=M.y;for(let _=0;_<a;_++)this._dists[_]=Ut(e[2*_],e[2*_+1],M.x,M.y);Ft(this._ids,this._dists,0,a-1),this._hullStart=f;let P=3;t[f]=n[p]=h,t[h]=n[f]=p,t[p]=n[h]=f,r[f]=0,r[h]=1,r[p]=2,o.fill(-1),o[this._hashKey(y,m)]=f,o[this._hashKey(v,b)]=h,o[this._hashKey(x,k)]=p,this.trianglesLen=0,this._addTriangle(f,h,p,-1,-1,-1);for(let _,S,C=0;C<this._ids.length;C++){const a=this._ids[C],i=e[2*a],s=e[2*a+1];if(C>0&&Math.abs(i-_)<=zt&&Math.abs(s-S)<=zt)continue;if(_=i,S=s,a===f||a===h||a===p)continue;let c=0;for(let e=0,n=this._hashKey(i,s);e<this._hashSize;e++)if(c=o[(n+e)%this._hashSize],-1!==c&&c!==t[c])break;c=n[c];let u,l=c;while(u=t[l],!Yt(i,s,e[2*l],e[2*l+1],e[2*u],e[2*u+1]))if(l=u,l===c){l=-1;break}if(-1===l)continue;let d=this._addTriangle(l,a,t[l],-1,-1,r[l]);r[a]=this._legalize(d+2),r[l]=d,P++;let g=t[l];while(u=t[g],Yt(i,s,e[2*g],e[2*g+1],e[2*u],e[2*u+1]))d=this._addTriangle(g,a,u,r[a],-1,r[g]),r[a]=this._legalize(d+2),t[g]=g,P--,g=u;if(l===c)while(u=n[l],Yt(i,s,e[2*u],e[2*u+1],e[2*l],e[2*l+1]))d=this._addTriangle(u,a,l,-1,r[l],r[u]),this._legalize(d+2),r[u]=d,t[l]=l,P--,l=u;this._hullStart=n[a]=l,t[l]=n[g]=a,t[a]=g,o[this._hashKey(i,s)]=a,o[this._hashKey(e[2*l],e[2*l+1])]=l}this.hull=new Uint32Array(P);for(let _=0,S=this._hullStart;_<P;_++)this.hull[_]=S,S=t[S];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,n){return Math.floor(It(e-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(e){const{_triangles:n,_halfedges:t,coords:r}=this;let o=0,a=0;while(1){const i=t[e],s=e-e%3;if(a=s+(e+2)%3,-1===i){if(0===o)break;e=Gt[--o];continue}const c=i-i%3,u=s+(e+1)%3,l=c+(i+2)%3,d=n[a],f=n[e],h=n[u],p=n[l],g=Ht(r[2*d],r[2*d+1],r[2*f],r[2*f+1],r[2*h],r[2*h+1],r[2*p],r[2*p+1]);if(g){n[e]=p,n[i]=d;const r=t[l];if(-1===r){let n=this._hullStart;do{if(this._hullTri[n]===l){this._hullTri[n]=e;break}n=this._hullPrev[n]}while(n!==this._hullStart)}this._link(e,r),this._link(i,t[a]),this._link(a,l);const s=c+(i+1)%3;o<Gt.length&&(Gt[o++]=s)}else{if(0===o)break;e=Gt[--o]}}return a}_link(e,n){this._halfedges[e]=n,-1!==n&&(this._halfedges[n]=e)}_addTriangle(e,n,t,r,o,a){const i=this.trianglesLen;return this._triangles[i]=e,this._triangles[i+1]=n,this._triangles[i+2]=t,this._link(i,r),this._link(i+1,o),this._link(i+2,a),this.trianglesLen+=3,i}}function It(e,n){const t=e/(Math.abs(e)+Math.abs(n));return(n>0?3-t:1+t)/4}function Ut(e,n,t,r){const o=e-t,a=n-r;return o*o+a*a}function Kt(e,n,t,r,o,a){const i=(r-n)*(o-e),s=(t-e)*(a-n);return Math.abs(i-s)>=33306690738754716e-32*Math.abs(i+s)?i-s:0}function Yt(e,n,t,r,o,a){const i=Kt(o,a,e,n,t,r)||Kt(e,n,t,r,o,a)||Kt(t,r,o,a,e,n);return i<0}function Ht(e,n,t,r,o,a,i,s){const c=e-i,u=n-s,l=t-i,d=r-s,f=o-i,h=a-s,p=c*c+u*u,g=l*l+d*d,y=f*f+h*h;return c*(d*y-g*h)-u*(l*y-g*f)+p*(l*h-d*f)<0}function Wt(e,n,t,r,o,a){const i=t-e,s=r-n,c=o-e,u=a-n,l=i*i+s*s,d=c*c+u*u,f=.5/(i*u-s*c),h=(u*l-s*d)*f,p=(i*d-c*l)*f;return h*h+p*p}function Vt(e,n,t,r,o,a){const i=t-e,s=r-n,c=o-e,u=a-n,l=i*i+s*s,d=c*c+u*u,f=.5/(i*u-s*c),h=e+(u*l-s*d)*f,p=n+(i*d-c*l)*f;return{x:h,y:p}}function Ft(e,n,t,r){if(r-t<=20)for(let o=t+1;o<=r;o++){const r=e[o],a=n[r];let i=o-1;while(i>=t&&n[e[i]]>a)e[i+1]=e[i--];e[i+1]=r}else{const o=t+r>>1;let a=t+1,i=r;Jt(e,o,a),n[e[t]]>n[e[r]]&&Jt(e,t,r),n[e[a]]>n[e[r]]&&Jt(e,a,r),n[e[t]]>n[e[a]]&&Jt(e,t,a);const s=e[a],c=n[s];while(1){do{a++}while(n[e[a]]<c);do{i--}while(n[e[i]]>c);if(i<a)break;Jt(e,a,i)}e[t+1]=e[i],e[i]=s,r-a+1>=i-t?(Ft(e,n,a,r),Ft(e,n,t,i-1)):(Ft(e,n,t,i-1),Ft(e,n,a,r))}}function Jt(e,n,t){const r=e[n];e[n]=e[t],e[t]=r}function $t(e){return e[0]}function qt(e){return e[1]}function Zt(e,n,t){var r=P(new Set(e.cities.map((function(e){return e.region})))),o=Array(7*n).fill(0).map((function(e){return{name:"",region:"",x:0,y:0}})),a=[420,490,490],i=[490,560,700],s=a[n-3],c=i[n-3],u=70,l=Math.ceil(s/u),d=Math.ceil(c/u),f=l*d,h=Array(f).fill(-1);e.mapPosition=[100,200],e.layout="Portrait";var p=Array(f).fill(0).map((function(e,n){return n}));o.forEach((function(e,n){var r=p[Math.floor(t()*p.length)],o=Math.floor(r/l),a=r%l;e.x=Math.floor(2*a*u),e.y=Math.floor(o*u),o%2===0&&(e.x+=u);var i=2*t()*Math.PI,s=t()*u/2;e.x+=s*Math.cos(i),e.y+=s*Math.sin(i),p=p.filter((function(e){return e!==r})),h[r]=n}));for(var g=Array(o.length).fill(0).map((function(e){return Array(o.length).fill(0)})),y=Array(o.length).fill(0).map((function(e){return Array(o.length).fill(null)})),m=Et.from(o,(function(e){return e.x}),(function(e){return e.y})),v=0;v<m.triangles.length;v+=3){var b=o[m.triangles[v]],w=o[m.triangles[v+1]],x=o[m.triangles[v+2]],k=g[m.triangles[v]][m.triangles[v+1]],M=k?Math.pow(k,2):Math.pow(b.x-w.x,2)+Math.pow(b.y-w.y,2),_=k||(g[m.triangles[v+1]][m.triangles[v]]=g[m.triangles[v]][m.triangles[v+1]]=Math.sqrt(M));k=g[m.triangles[v]][m.triangles[v+2]];var S=k?Math.pow(k,2):Math.pow(b.x-x.x,2)+Math.pow(b.y-x.y,2),C=k||(g[m.triangles[v+2]][m.triangles[v]]=g[m.triangles[v]][m.triangles[v+2]]=Math.sqrt(S));k=g[m.triangles[v+1]][m.triangles[v+2]];var B=k?Math.pow(k,2):Math.pow(w.x-x.x,2)+Math.pow(w.y-x.y,2),L=k||(g[m.triangles[v+2]][m.triangles[v+1]]=g[m.triangles[v+1]][m.triangles[v+2]]=Math.sqrt(B)),R=Math.acos((M+S-B)/(2*_*C)),A=Math.acos((M+B-S)/(2*_*L)),O=Math.PI-R-A,j=105*Math.PI/180;!1!==y[m.triangles[v]][m.triangles[v+1]]&&O<j?(y[m.triangles[v]][m.triangles[v+1]]=!0,y[m.triangles[v+1]][m.triangles[v]]=!0):(y[m.triangles[v]][m.triangles[v+1]]=!1,y[m.triangles[v+1]][m.triangles[v]]=!1),!1!==y[m.triangles[v]][m.triangles[v+2]]&&A<j?(y[m.triangles[v]][m.triangles[v+2]]=!0,y[m.triangles[v+2]][m.triangles[v]]=!0):(y[m.triangles[v]][m.triangles[v+2]]=!1,y[m.triangles[v+2]][m.triangles[v]]=!1),!1!==y[m.triangles[v+1]][m.triangles[v+2]]&&R<j?(y[m.triangles[v+1]][m.triangles[v+2]]=!0,y[m.triangles[v+2]][m.triangles[v+1]]=!0):(y[m.triangles[v+1]][m.triangles[v+2]]=!1,y[m.triangles[v+2]][m.triangles[v+1]]=!1)}for(var N=0,D=1e3,T=0;T<o.length;T++)for(var z=0;z<T;z++)if(y[T][z]){var G=g[T][z];N=Math.max(N,G),D=Math.min(D,G)}var E=5===n?[[s/4,c/4],[s/4,3*c/4],[s/2,c/2],[3*s/4,c/4],[3*s/4,3*c/4]]:4===n?[[s/4,c/4],[s/4,3*c/4],[3*s/4,c/4],[3*s/4,3*c/4]]:[[s/4,c/4],[s/2,c/2],[3*s/4,3*c/4]],I=Qt(o.map((function(e){return[e.x,e.y]})),n,E,y),U=Array(n).fill(0);o.forEach((function(e,n){e.region=r[I[n]],e.name=Object(qe["upperFirst"])(e.region)+" "+(1+U[I[n]]++)}));for(var K=[],Y=0;Y<o.length;Y++)for(var H=0;H<Y;H++)if(y[Y][H]){var W=o[Y],V=o[H],F=g[Y][H];K.push({nodes:[W.name,V.name],cost:Math.floor(5*F/u)})}return e.cities=o,e.connections=K,e}function Qt(e,n,t,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:100,a=Array(e.length).fill(0),i=Math.ceil(e.length/n),s=!1,c=function(){var r=Array(n).fill(0),c=Array(e.length).fill(0).map((function(e){return Array(n).fill(0)}));e.forEach((function(e,n){var o=null,s=0;t.forEach((function(t,a){var u=Xt(e,t);(null===o||u<o)&&r[a]<i&&(o=u,s=a),c[n][a]=u})),a[n]=s,r[s]++}));var u=Array(t.length).fill(0).map((function(e){return[0,0]})),l=Array(t.length).fill(0);e.forEach((function(e,n){u[a[n]][0]+=e[0],u[a[n]][1]+=e[1],l[a[n]]++})),s=!0,t.forEach((function(e,n){u[n][0]=u[n][0]/l[n],u[n][1]=u[n][1]/l[n],e[0]===u[n][0]&&e[1]===u[n][1]||(s=!1)})),t=u,console.log("iterations",o),console.log("centroids",t),s=s||0===--o};do{c()}while(!s);var u=10;do{console.log("Refining"),s=!0,e.forEach((function(n,o){var i=a[o],c=r[o].some((function(e,n){return e&&i===a[n]}));if(!c){var u=t[i],l=null,d=null;r[o].forEach((function(n,t){if(n){var r=e[t],o=Xt(r,u);(null===l||o<l)&&(l=o,d=t)}})),a[o]=a[d],a[d]=i,s=!1}})),s=s||0===--u}while(!s);return a}function Xt(e,n){return(e[0]-n[0])*(e[0]-n[0])+(e[1]-n[1])*(e[1]-n[1])}var er=[10,7,7,7,6],nr=[9,6,6,6,5],tr=[10,7,7,7,6],rr=[21,17,17,15,14],or=[18,17,17,15,14],ar=[5,5,5,5,4],ir=[13,13,13,12,11],sr=[18,17,17,15,14],cr=[10,22,33,44,54,64,73,82,90,98,105,112,118,124,129,134,138,142,145,148,150,150],ur=[3,3,4,5,5];function lr(e,n,t,r){var o,a,i=Object(qe["cloneDeep"])(yn);if("original"==n){i=i.slice(8);var s=i.splice(2,1)[0],c=i.pop();i=an(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i.unshift(s),i.push(c),o=[Ar(3),Ar(4),Ar(5),Ar(6)],a=[Ar(7),Ar(8),Ar(9),Ar(10)]}else{var u=an(i.splice(0,13),t()+""),l=u.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),o=l.slice(0,4),a=l.slice(4);var d=u.shift(),f=i.pop();i=an(i,t()+""),2==e?(u=u.slice(1),i=an(i.slice(5).concat(u),t()+"")):3==e?(u=u.slice(2),i=an(i.slice(6).concat(u),t()+"")):4==e?(u=u.slice(1),i=an(i.slice(3).concat(u),t()+"")):r&&(i=an(i.concat(u),t()+"")),i.unshift(d),i.push(f)}return{actualMarket:o,futureMarket:a,powerPlantsDeck:i}}function dr(e,n,t,r,o){var a,i,s,c,u,l,d,f,h=n.fastBid,p=void 0!==h&&h,g=n.map,y=void 0===g?"USA":g,m=n.variant,v=void 0===m?"original":m,w=n.showMoney,x=void 0!==w&&w,k=n.useNewRechargedSetup,M=void 0===k||k,_=n.trackTotalSpent,S=void 0===_||_,C=n.randomizeMap,B=void 0!==C&&C,L=n.chooseRegions,R=void 0!==L&&L,A=n.chooseColors,O=void 0!==A&&A;t=null!==(a=t)&&void 0!==a?a:Math.random().toString();var j=Qe()(t),N="original"==v?Dt.find((function(e){return e.name==y})):Tt.find((function(e){return e.name==y}));if(!N)throw new Error('Map "'.concat(y,'" not found for variant "').concat(v,'"'));var D,T,z,G=Object(qe["cloneDeep"])(N);if(r)z=r,D=z.splice(0,4),T=z.splice(0,4);else if(G.setupDeck){var E=G.setupDeck(e,v,j);D=E.actualMarket,T=E.futureMarket,z=E.powerPlantsDeck}else{var I=lr(e,v,j,M);D=I.actualMarket,T=I.futureMarket,z=I.powerPlantsDeck}var U,K,Y,H,W,V,F,J,$,q=Object(qe["range"])(e).map((function(e){return{id:e,powerPlants:[],coalCapacity:0,coalLeft:0,oilCapacity:0,oilLeft:0,garbageCapacity:0,garbageLeft:0,uraniumCapacity:0,uraniumLeft:0,hybridCapacity:0,hybridLeft:0,money:50,housesLeft:22,cities:[],powerPlantsNotUsed:[],availableMoves:null,lastMove:null,isDropped:!1,isAI:!1,bid:0,passed:!1,skipAuction:!1,citiesPowered:0,resourcesUsed:[],totalIncome:0,totalSpentCities:0,totalSpentConnections:0,totalSpentPlants:0,totalSpentResources:0,usedFreeJump:!1,totalTimeUsed:0}})),Z=q.length-2,Q=Object(qe["range"])(e),X=Q[0];if(G.resupplyNorth&&(W=G.resupplyNorth[0],V=G.resupplyNorth[1],F=G.resupplyNorth[2]),G.resupply?(U=G.resupply[0],K=G.resupply[1],Y=G.resupply[2],H=G.resupply[3]):(U=[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],K=[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],Y=[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],H=[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]),"Portrait"==G.layout||B){var ee="USA"===G.name&&"recharged"===v;G.viewBox=G.viewBox||[1480,1060],G.adjustRatio=G.adjustRatio||[1,1],G.playerOrderPosition=G.playerOrderPosition||[1160,160],G.cityCountPosition=G.cityCountPosition||[0,0],G.powerPlantMarketPosition=G.powerPlantMarketPosition||[745,0],G.actualMarketWidth=G.actualMarketWidth||430,G.mapPosition=G.mapPosition||[0,0],G.buttonsPosition=G.buttonsPosition||[1305,0],G.playerBoardsPosition=G.playerBoardsPosition||[1105,240],G.roundInfoPosition=G.roundInfoPosition||[20,920],G.supplyPosition=G.supplyPosition||[ee?480:675,920]}else G.viewBox=G.viewBox||[1465,860],G.adjustRatio=G.adjustRatio||[1,1],G.playerOrderPosition=G.playerOrderPosition||[1160,140],G.cityCountPosition=G.cityCountPosition||[0,0],G.powerPlantMarketPosition=G.powerPlantMarketPosition||[745,0],G.actualMarketWidth=G.actualMarketWidth||430,G.mapPosition=G.mapPosition||[-10,0],G.buttonsPosition=G.buttonsPosition||[1305,0],G.playerBoardsPosition=G.playerBoardsPosition||[1105,200],G.roundInfoPosition=G.roundInfoPosition||[20,590],G.supplyPosition=G.supplyPosition||[0,720];if(B)J=Zt(G,ur[Z],j);else{G.cities=G.cities.map((function(e){return b(b({},e),{},{x:e.x*G.adjustRatio[0],y:e.y*G.adjustRatio[1]})}));var ne=un(G),te=ne.regions,re=Math.min(ur[Z],te.length);if(R&&te.length>re)J=G,$={regionsNeeded:re,picked:[]};else{var oe=new Set;while(oe.size!=re){var ae=te[Math.floor(j()*te.length)];ln(G.name,ne,P(oe),ae)&&(oe.add(ae),"Italy"===G.name&&oe.has("red")&&oe.has("green")&&oe.has("blue")&&oe.clear())}J=fr(G,oe),hr(G,oe,D,T,z)}}var ie=G.startingResources?G.startingResources[0]:24,se=G.startingResources?G.startingResources[1]:18,ce=G.startingResources?G.startingResources[2]:"original"==v?6:9,ue=G.startingResources?G.startingResources[3]:2,le=G.startingSupply?G.startingSupply[0]:24,de=G.startingSupply?G.startingSupply[1]:24,fe=G.startingSupply?G.startingSupply[2]:24,he=G.startingSupply?G.startingSupply[3]:12,pe=null===(i=G.startingResourcesNorth)||void 0===i?void 0:i[0],ge=null===(s=G.startingResourcesNorth)||void 0===s?void 0:s[1],ye=null===(c=G.startingResourcesNorth)||void 0===c?void 0:c[2],me=le-ie-(null!==pe&&void 0!==pe?pe:0),ve=de-se-(null!==ge&&void 0!==ge?ge:0),be=fe-ce-(null!==ye&&void 0!==ye?ye:0),we=he-ue,xe=Object(qe["cloneDeep"])(null!==(u=G.coalPrices)&&void 0!==u?u:tn.coal),ke=Object(qe["cloneDeep"])(null!==(l=G.oilPrices)&&void 0!==l?l:tn.oil),Me=Object(qe["cloneDeep"])(null!==(d=G.garbagePrices)&&void 0!==d?d:tn.garbage),_e=Object(qe["cloneDeep"])(null!==(f=G.uraniumPrices)&&void 0!==f?f:tn.uranium),Se=G.coalPricesNorth?Object(qe["cloneDeep"])(G.coalPricesNorth):void 0,Ce=G.oilPricesNorth?Object(qe["cloneDeep"])(G.oilPricesNorth):void 0,Be=G.garbagePricesNorth?Object(qe["cloneDeep"])(G.garbagePricesNorth):void 0,Le="South Africa"==(o||J).name,Re={map:o||J,players:q,playerOrder:Q,currentPlayers:[X],powerPlantsDeck:z,coalSupply:me,oilSupply:ve,garbageSupply:be,uraniumSupply:we,coalStorage:Le?0:void 0,coalResupply:U,oilResupply:K,garbageResupply:Y,uraniumResupply:H,coalMarket:ie,oilMarket:se,garbageMarket:ce,uraniumMarket:ue,uraniumMineMarket:"Australia"==(o||J).name?[2,2,2,2,2,2]:void 0,coalPrices:xe,oilPrices:ke,garbagePrices:Me,uraniumPrices:_e,coalMarketNorth:pe,oilMarketNorth:ge,garbageMarketNorth:ye,coalResupplyNorth:W,oilResupplyNorth:V,garbageResupplyNorth:F,coalPricesNorth:Se,oilPricesNorth:Ce,garbagePricesNorth:Be,actualMarket:D,futureMarket:T,chosenPowerPlant:void 0,currentBid:void 0,highestBidders:[],auctioningPlayer:void 0,step:1,phase:Pe.Auction,options:{fastBid:p,map:y,variant:v,showMoney:x,useNewRechargedSetup:M,trackTotalSpent:S,chooseRegions:R,chooseColors:O},log:[],hiddenLog:[],seed:t,round:1,newTurn:!0,auctionSkips:0,citiesToStep2:"Baden-Württemberg"==(o||J).name?nr[e-2]:"UK & Ireland"==(o||J).name?tr[e-2]:"Bremen"==(o||J).name?ar[e-2]:er[e-2],citiesToEndGame:"South Africa"==(o||J).name?or[e-2]:"UK & Ireland"==(o||J).name&&2==e?Math.min(rr[e-2],(o||J).cities.length):"Bremen"==(o||J).name?ir[e-2]:"Manhattan"==(o||J).name?sr[e-2]:rr[e-2],resourceResupply:["[".concat(U[Z][0],", ").concat(K[Z][0],", ").concat(Y[Z][0],", ").concat(H[Z][0],"]"),"[".concat(U[Z][1],", ").concat(K[Z][1],", ").concat(Y[Z][1],", ").concat(H[Z][1],"]"),"[".concat(U[Z][2],", ").concat(K[Z][2],", ").concat(Y[Z][2],", ").concat(H[Z][2],"]")],resourceResupplyNorth:W&&V&&F?["[".concat(W[Z][0],", ").concat(V[Z][0],", ").concat(F[Z][0],"]"),"[".concat(W[Z][1],", ").concat(V[Z][1],", ").concat(F[Z][1],"]"),"[".concat(W[Z][2],", ").concat(V[Z][2],", ").concat(F[Z][2],"]")]:void 0,paymentTable:cr,variant:v,minimunBid:0,plantDiscountActive:"recharged"==v&&"China"!=(o||J).name&&"Russia"!=(o||J).name&&"Baden-Württemberg"!=(o||J).name,discardSmallestPlant:!1,cardsLeft:z.length,nextCardWeak:"recharged"==v,card39Bought:!1,knownPowerPlantDeck:D.concat(T),knownPowerPlantDeckStep3:[],powerPlantDeckAfterStep3:void 0};return Re.log.push({type:"event",event:"Game Start!"}),"Middle East"==Re.map.name&&Pr(Re),$&&(Re.phase=Pe.RegionSelection,Re.regionDraft=$),O&&(Re.phase=Pe.ColorSelection,Re.colorDraft={picked:[]}),Re.map.blockSpaces&&(Re.blockedCities=Re.map.blockSpaces(e,Re.map.cities,j),Re.blockedCities.length>0&&Re.log.push({type:"event",event:"".concat(Re.blockedCities.length," building spaces are blocked for ").concat(e," players.")})),Re.players[X].availableMoves=cn(Re,Re.players[X]),Re}function fr(e,n){var t=Object(qe["cloneDeep"])(e);return t.cities=t.cities.filter((function(e){return n.has(e.region)})),t.connections=t.connections.filter((function(t){return t.nodes.map((function(n){return e.cities.find((function(e){return e.name==n})).region})).every((function(e){return n.has(e)}))})),t}function hr(e,n,t,r,o){if(e.regionalPowerPlants){var a,i=w(n);try{for(i.s();!(a=i.n()).done;){var s=a.value,c=e.regionalPowerPlants[s];if(c){var u,l=w(c);try{var d=function(){var e=u.value,n=function(n){var t=n.findIndex((function(n){return n.number===e.number}));-1!==t&&(n[t]=b({},e))};n(t),n(r),n(o)};for(l.s();!(u=l.n()).done;)d()}catch(f){l.e(f)}finally{l.f()}}}}catch(f){i.e(f)}finally{i.f()}}}function pr(e){var n=new Set(e.regionDraft.picked),t=e.map;e.map=fr(t,n),hr(t,n,e.actualMarket,e.futureMarket,e.powerPlantsDeck),e.knownPowerPlantDeck=e.actualMarket.concat(e.futureMarket),"UK & Ireland"==e.map.name&&2==e.players.length&&(e.citiesToEndGame=Math.min(rr[e.players.length-2],e.map.cities.length)),e.regionDraft=void 0,e.phase=Pe.Auction,e.currentPlayers=[e.playerOrder[0]]}function gr(e){e.colorDraft=void 0,e.currentPlayers=[e.playerOrder[0]],e.regionDraft?e.phase=Pe.RegionSelection:e.phase=Pe.Auction}function yr(e,n,t){var r,o,a=e.players[t],i=null===(r=a.availableMoves)||void 0===r?void 0:r[n.name];switch(Vr(e),$e()(e.currentPlayers.includes(t),"It is not your turn!"),$e()(i,"You are not allowed to run the command "+n.name),$e()(i.some((function(e){return Object(qe["isEqual"])(e,n.data)})),"Wrong argument for the command "+n.name),n.name){case Ke.ChoosePowerPlant:rn(n),e.chosenPowerPlant=e.actualMarket.find((function(e){return e.number===n.data})),e.auctioningPlayer=a.id,39==n.data&&(e.card39Bought=!0),"recharged"==e.options.variant&&e.plantDiscountActive&&e.chosenPowerPlant.number==e.actualMarket[0].number?(e.minimunBid=1,e.plantDiscountActive=!1,n.usedPlantDiscount=!0):e.minimunBid=n.data;var s=e.players.filter((function(e){return!e.skipAuction&&!e.isDropped}));if(1==s.length){e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," chooses Power Plant ").concat(n.data,"."),pretty:"".concat(jr(a)," chooses Power Plant <b>").concat(n.data,"</b>.")});var c=s[0];if(Er(e,c,e.minimunBid),void 0!=e.discountBonusPlayer){var u=Be(e,c)>4||e.players.length>2&&Be(e,c)>3;u||Lr(e),Ur(e,e.discountBonusPlayer)}else(Be(e,c)<=3||2==e.players.length&&4==Be(e,c))&&(Lr(e),Gr(e))}else e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," chooses Power Plant ").concat(n.data," to initiate an auction."),pretty:"".concat(jr(a)," chooses Power Plant <b>").concat(n.data,"</b> to initiate an auction.")}),e.options.fastBid&&(e.currentPlayers=e.playerOrder.filter((function(n){return!e.players[n].skipAuction&&!e.players[n].isDropped})));break;case Ke.Bid:rn(n),e.options.fastBid?(e.hiddenLog.push({type:"move",player:t,move:n,simple:"".concat(a.name," bids $").concat(n.data,"."),pretty:"".concat(jr(a),' bids <span style="color: green">$').concat(n.data,"</span>.")}),Fr(e,a,n.data)):(e.currentBid=a.bid=n.data,e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," bids $").concat(n.data,"."),pretty:"".concat(jr(a),' bids <span style="color: green">$').concat(n.data,"</span>.")}),Yr(e));break;case Ke.ChooseRegion:if(rn(n),e.regionDraft.picked.push(n.data),e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," chooses region ").concat(n.data,"."),pretty:"".concat(jr(a)," chooses region <b>").concat(n.data,"</b>.")}),e.regionDraft.picked.length>=e.regionDraft.regionsNeeded)pr(e);else{var l=e.playerOrder;e.currentPlayers=[l[(l.indexOf(t)+1)%l.length]]}break;case Ke.ChooseColor:rn(n),a.color=n.data,e.colorDraft.picked.push(n.data),e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," chooses ").concat(n.data,"."),pretty:"".concat(jr(a)," chooses <b>").concat(n.data,"</b>.")}),e.colorDraft.picked.length>=e.players.length?gr(e):e.currentPlayers=[e.playerOrder[e.colorDraft.picked.length]];break;case Ke.Pass:switch(rn(n),e.options.fastBid&&e.phase==Pe.Auction&&e.chosenPowerPlant||e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," passes."),pretty:"".concat(jr(a)," passes.")}),e.phase){case Pe.Auction:var d;if(void 0==e.chosenPowerPlant)if(a.skipAuction=!0,e.discountBonusPlayer==a.id&&(e.discountBonusPlayer=void 0),e.auctionSkips++,1==e.auctionSkips&&"Russia"==e.map.name&&(null===(d=e.actualMarket)||void 0===d?void 0:d.length)>0&&(e.log.push({type:"event",event:"First pass, removing lowest numbered Power Plant (".concat(e.actualMarket[0].number,").")}),e.actualMarket.shift(),xr(e)),e.players.some((function(e){return!e.skipAuction&&!e.isDropped})))Wr(e);else{if(e.auctionSkips==e.players.length&&"Baden-Württemberg"==e.map.name){for(var f=[],h=0;h<2&&e.actualMarket.length>0;h++)f.push(e.actualMarket[0].number),e.actualMarket.shift(),xr(e);e.log.push({type:"event",event:"Everyone passed, removing the two lowest numbered Power Plants (".concat(f.join(", "),").")})}else e.auctionSkips==e.players.length&&"original"==e.options.variant&&"China"!=e.map.name&&"Russia"!=e.map.name&&(e.log.push({type:"event",event:"Everyone passed, removing lowest numbered Power Plant (".concat(e.actualMarket[0].number,").")}),e.actualMarket.shift(),xr(e));Gr(e)}else if(e.options.fastBid)e.hiddenLog.push({type:"move",player:t,move:n,simple:"".concat(a.name," passes."),pretty:"".concat(jr(a)," passes.")}),Fr(e,a,0);else{a.passed=!0;var p=e.players.filter((function(e){return!e.passed&&!e.skipAuction&&!e.isDropped}));if(1==p.length){var g=p[0];Er(e,g,g.bid),(Be(e,g)>4||e.players.length>2&&Be(e,g)>3)&&!g.isDropped?Ur(e,g.id):(Lr(e),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?(e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),Wr(e,!0)):Gr(e))}else Yr(e)}break;case Pe.Resources:if("India"==e.map.name&&e.chosenResource?e.chosenResource=void 0:a.passed=!0,"Korea"==e.map.name&&(e.chosenSide=void 0),0==e.players.filter((function(e){return!e.passed&&!e.isDropped})).length?(e.players.forEach((function(e){e.passed=e.isDropped})),e.phase=Pe.Building,"India"==e.map.name&&(e.citiesBuiltInCurrentRound=0),Ur(e,e.playerOrder[e.players.length-1]),e.players[e.currentPlayers[0]].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[e.currentPlayers[0]].passed=!0,Hr(e))):Hr(e),"India"==e.map.name)while(e.players[e.currentPlayers[0]].passed)Hr(e);break;case Pe.Building:if(a.passed=!0,0==e.players.filter((function(e){return!e.passed&&!e.isDropped})).length){var y=Math.max.apply(Math,P(e.players.map((function(e){return e.cities.length}))));if(1==e.step){var m=e.players.reduce((function(e,n){return e+n.cities.length}),0),v=m>=e.map.cities.length;if((y>=e.citiesToStep2||v)&&"Middle East"!=e.map.name&&"Manhattan"!=e.map.name){var b=e.actualMarket.shift();if(e.log.push({type:"event",event:"Starting Step 2, Power Plant ".concat(null===b||void 0===b?void 0:b.number," discarded.")}),e.step=2,"Spain & Portugal"==e.map.name&&(e.powerPlantsDeck.find((function(e){return 18==e.number}))||(e.powerPlantsDeck.unshift(Ar(27)),e.powerPlantsDeck.unshift(Ar(22)),e.powerPlantsDeck.unshift(Ar(18)))),"Europe"==e.map.name){var w=[].concat(P(e.actualMarket),P(e.futureMarket));w.sort((function(e,n){return e.number-n.number})),e.actualMarket=w.slice(0,4),e.futureMarket=w.slice(4)}else xr(e)}}y>=e.citiesToEndGame?(e.phase=Pe.GameEnd,e.currentPlayers=[],Dr(e),"India"==e.map.name&&e.citiesBuiltInCurrentRound>2*e.players.length&&e.players.forEach((function(n){var t=e.paymentTable[n.citiesPowered]-3*n.cities.length;n.money+=Math.max(t,0),n.totalIncome+=Math.max(t,0)})),e.uraniumMineMarket&&P(e.playerOrder).reverse().forEach((function(n){var t=e.players[n],r=Ae(e,t);if(r.mines>0&&r.income>0){var o,a=null!==(o=t.name)&&void 0!==o?o:"Player ".concat(t.id);e.log.push({type:"event",event:"".concat(a," sells uranium for ").concat(r.income," Elektro (").concat(r.cities," cities × $").concat(r.price,", ").concat(r.mines," mine(s)).")})}})),e.log.push({type:"event",event:"Game Ended!"})):(e.players.forEach((function(e){e.passed=e.isDropped,e.powerPlantsNotUsed=e.powerPlants.map((function(e){return e.number}))})),e.phase=Pe.Bureaucracy,e.currentPlayers=e.playerOrder.filter((function(n){return!e.players[n].passed&&!e.players[n].isDropped})),"India"==e.map.name&&(e.players.forEach((function(n){return n.targetCitiesPowered=Tr(e,n)})),e.citiesBuiltInCurrentRound>2*e.players.length&&e.log.push({type:"event",event:"Power outage! ".concat(e.citiesBuiltInCurrentRound," built this round, which is more than twice the number of players.")})),"China"==e.map.name&&e.step<=2?Cr(e):0==e.futureMarket.length&&"Manhattan"!=e.map.name&&(e.step=3,Sr(e)))}else Hr(e);break;case Pe.Bureaucracy:a.passed=!0;var x=Math.min(a.cities.length,a.citiesPowered),k=e.paymentTable[x];if("India"==e.map.name&&e.citiesBuiltInCurrentRound>2*e.players.length&&(k-=3*a.cities.length,k=Math.max(k,0)),a.money+=k,e.options.trackTotalSpent&&(a.totalIncome+=k),a.citiesPowered=0,"India"==e.map.name&&(a.targetCitiesPowered=0),0==e.players.filter((function(e){return!e.passed&&!e.isDropped})).length){var M,_,S,C,B,L,R,A;if(e.uraniumMineMarket){P(e.playerOrder).reverse().forEach((function(n){var t=e.players[n],r=Ae(e,t);if(r.mines>0){var o,a=null!==(o=t.name)&&void 0!==o?o:"Player ".concat(t.id);e.log.push({type:"event",event:r.income>0?"".concat(a," sells uranium for ").concat(r.income," Elektro (").concat(r.cities," cities × $").concat(r.price,", ").concat(r.mines," mine(s))."):"".concat(a,"'s uranium mines earn nothing (market full).")})}}));var O=Oe(e,e.map.uraniumMineResupply[e.players.length-2][e.step-1]);O>0&&e.log.push({type:"event",event:"Removing ".concat(O," uranium from the mine market (cheapest slots).")})}var j,N,D=(null!==(M=null===(_=e.coalPrices)||void 0===_?void 0:_.length)&&void 0!==M?M:tn[ke.Coal].length)-e.coalMarket,T=(null!==(S=null===(C=e.oilPrices)||void 0===C?void 0:C.length)&&void 0!==S?S:tn[ke.Oil].length)-e.oilMarket,z=(null!==(B=null===(L=e.garbagePrices)||void 0===L?void 0:L.length)&&void 0!==B?B:tn[ke.Garbage].length)-e.garbageMarket,G=(null!==(R=null===(A=e.uraniumPrices)||void 0===A?void 0:A.length)&&void 0!==R?R:tn[ke.Uranium].length)-e.uraniumMarket,E=0,I=0,U=0;if(e.coalResupplyNorth){var K=e.coalPricesNorth.length-e.coalMarketNorth,Y=e.oilPricesNorth.length-e.oilMarketNorth,H=e.garbagePricesNorth.length-e.garbageMarketNorth;E=Math.min(e.coalSupply,e.coalResupplyNorth[e.players.length-2][e.step-1],K),e.coalMarketNorth+=E,e.coalSupply-=E,I=Math.min(e.oilSupply,e.oilResupplyNorth[e.players.length-2][e.step-1],Y),e.oilMarketNorth+=I,e.oilSupply-=I,U=Math.min(e.garbageSupply,e.garbageResupplyNorth[e.players.length-2][e.step-1],H),e.garbageMarketNorth+=U,e.garbageSupply-=U}if(void 0!==e.coalStorage){var W=Math.min(e.coalResupply[e.players.length-2][e.step-1],D),V=Math.min(e.coalStorage,W),F=Math.min(e.coalSupply,W-V);j=V+F,e.coalMarket+=j,e.coalStorage-=V,e.coalSupply-=F}else j=Math.min(e.coalSupply,e.coalResupply[e.players.length-2][e.step-1],D),e.coalMarket+=j,e.coalSupply-=j;if("Middle East"==e.map.name){0==e.oilMarket&&(e.oilPrices=tn[ke.Oil]),N=e.oilResupply[e.players.length-2][e.step-1];for(var J=0;J<N;J++)e.oilSupply>0?(e.oilMarket++,e.oilSupply--):(e.oilPrices.pop(),e.oilPrices.unshift(1))}else N=Math.min(e.oilSupply,e.oilResupply[e.players.length-2][e.step-1],T),e.oilMarket+=N,e.oilSupply-=N;var $=Math.min(e.garbageSupply,e.garbageResupply[e.players.length-2][e.step-1],z);e.garbageMarket+=$,e.garbageSupply-=$;var q=0;if(("recharged"!=e.options.variant||"Germany"!=e.options.map&&"Italy"!=e.options.map||!e.card39Bought)&&(q=Math.min(e.uraniumSupply,e.uraniumResupply[e.players.length-2][e.step-1],G),e.uraniumMarket+=q,e.uraniumSupply-=q),e.coalResupplyNorth?e.log.push({type:"event",event:"Resupplying resources — North: [".concat(E,", ").concat(I,", ").concat(U,"], South: [").concat(j,", ").concat(N,", ").concat($,", ").concat(q,"].")}):e.log.push({type:"event",event:"Resupplying resources: [".concat(j,", ").concat(N,", ").concat($,", ").concat(q,"].")}),"Manhattan"==e.map.name)kr(e);else if("Middle East"==e.map.name&&2==e.step&&e.futureMarket.length>0){var Z=e.futureMarket.pop();e.log.push({type:"event",event:"Putting Power Plant ".concat(Z.number," on the bottom of the deck.")}),e.powerPlantsDeck.push(Z),xr(e),Z=e.futureMarket.length?e.futureMarket.pop():e.actualMarket.pop(),e.log.push({type:"event",event:"Putting Power Plant ".concat(Z.number," on the bottom of the deck.")}),e.powerPlantsDeck.push(Z),xr(e)}else if(e.futureMarket.length>0){if("Benelux"==e.map.name&&("original"==e.options.variant||e.discardSmallestPlant)){var Q=e.actualMarket[0];e.log.push({type:"event",event:"Removing smallest plant, Power Plant ".concat(Q.number,".")}),e.actualMarket.shift(),xr(e),e.discardSmallestPlant=!1}var X;if("Quebec"==e.map.name){var ee=e.futureMarket.filter((function(e){return e.type!=Me.Wind}));if(X=ee.pop(),X)e.futureMarket=e.futureMarket.filter((function(e){var n;return e.number!=(null===(n=X)||void 0===n?void 0:n.number)}));else{var ne=e.actualMarket.filter((function(e){return e.type!=Me.Wind}));X=ne.pop(),X&&(e.actualMarket=e.actualMarket.filter((function(e){var n;return e.number!=(null===(n=X)||void 0===n?void 0:n.number)})))}}else X=e.futureMarket.pop();X&&(e.log.push({type:"event",event:"Putting Power Plant ".concat(X.number," on the bottom of the deck.")}),e.powerPlantsDeck.push(X),xr(e))}else e.actualMarket.length>0&&("China"!=e.map.name||3==e.step)&&(e.log.push({type:"event",event:"Discarding Power Plant ".concat(e.actualMarket[0].number,".")}),e.actualMarket.shift(),xr(e));e.round++,"Baden-Württemberg"!=e.map.name&&Ir(e),e.players.forEach((function(e){e.passed=e.isDropped})),e.auctionSkips=0,e.actualMarket.length>0?(e.phase=Pe.Auction,0==e.futureMarket.length&&"China"!=e.map.name&&"Manhattan"!=e.map.name&&(e.step=3,Sr(e)),e.plantDiscountActive="recharged"==e.options.variant&&"China"!=e.map.name&&"Russia"!=e.map.name&&"Baden-Württemberg"!=e.map.name,Ur(e,e.playerOrder[0])):Gr(e)}else e.currentPlayers=e.playerOrder.filter((function(n){return!e.players[n].passed&&!e.players[n].isDropped}));break}break;case Ke.DiscardPowerPlant:rn(n),n.extra||e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," discards Power Plant ").concat(n.data,"."),pretty:"".concat(jr(a)," discards Power Plant <b>").concat(n.data,"</b>.")});var te=a.powerPlants.find((function(e){return e.number==n.data}));if(a.powerPlants=a.powerPlants.filter((function(e){return e.number!=n.data})),wr(a),n.extra){var re=[];switch(te.type){case Me.Coal:e.coalSupply+=n.extra[0],a.coalLeft-=n.extra[0],re.push(n.extra[0]+" Coal");break;case Me.Oil:e.oilSupply+=n.extra[0],a.oilLeft-=n.extra[0],re.push(n.extra[0]+" Oil");break;case Me.Garbage:e.garbageSupply+=n.extra[0],a.garbageLeft-=n.extra[0],re.push(n.extra[0]+" Garbage");break;case Me.Uranium:e.uraniumSupply+=n.extra[0],a.uraniumLeft-=n.extra[0],re.push(n.extra[0]+" Uranium");break;case Me.Hybrid:n.extra[0]>0&&(e.coalSupply+=n.extra[0],a.coalLeft-=n.extra[0],re.push(n.extra[0]+" Coal")),n.extra[1]>0&&(e.oilSupply+=n.extra[1],a.oilLeft-=n.extra[1],re.push(n.extra[1]+" Oil"));break}e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," discards Power Plant ").concat(n.data," and ").concat(re.join(", "),"."),pretty:"".concat(jr(a)," discards Power Plant <b>").concat(n.data,"</b> and ").concat(re.join(", "),".")}),Lr(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?Wr(e,!0):Gr(e)}else{var oe=sn(a);a.garbageLeft>a.garbageCapacity&&(e.garbageSupply+=a.garbageLeft-a.garbageCapacity,a.garbageLeft=a.garbageCapacity),a.uraniumLeft>a.uraniumCapacity&&(e.uraniumSupply+=a.uraniumLeft-a.uraniumCapacity,a.uraniumLeft=a.uraniumCapacity),1==oe.length&&(Br(e,a,oe[0]),oe.pop()),0==oe.length&&(Lr(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?Wr(e,!0):Gr(e))}break;case Ke.DiscardResources:rn(n),e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," discarded a ").concat(n.data,"."),pretty:"".concat(jr(a)," discarded a <b>").concat(n.data,"</b>.")}),n.data==ke.Coal?(a.coalLeft--,e.coalSupply++):n.data==ke.Oil&&(a.oilLeft--,e.oilSupply++);var ae=sn(a);1==ae.length&&(Br(e,a,ae[0]),ae.pop()),0==ae.length&&(Lr(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?Wr(e,!0):Gr(e));break;case Ke.BuyResource:rn(n),e.chosenResource=n.data.resource,n.data.side&&(e.chosenSide=n.data.side);var ie,se="north"===n.data.side;switch(n.data.resource){case ke.Coal:if(se){var ce=e.coalPricesNorth;ie=ce[ce.length-e.coalMarketNorth],a.coalLeft++,e.coalMarketNorth--}else if(n.data.fromStorage)ie=8,a.coalLeft++,e.coalStorage--;else if(0==e.coalMarket)ie=8,a.coalLeft++,e.coalSupply--,n.fromSupply=!0;else{var ue,le=null!==(ue=e.coalPrices)&&void 0!==ue?ue:tn[ke.Coal];ie=le[le.length-e.coalMarket],a.coalLeft++,e.coalMarket--}break;case ke.Oil:if(se){var de=e.oilPricesNorth;ie=de[de.length-e.oilMarketNorth],a.oilLeft++,e.oilMarketNorth--}else{var fe,he=null!==(fe=e.oilPrices)&&void 0!==fe?fe:tn[ke.Oil];ie=he[he.length-e.oilMarket],a.oilLeft++,e.oilMarket--}break;case ke.Garbage:if(se){var pe=e.garbagePricesNorth;ie=pe[pe.length-e.garbageMarketNorth],a.garbageLeft++,e.garbageMarketNorth--}else{var ge,ye=null!==(ge=e.garbagePrices)&&void 0!==ge?ge:tn[ke.Garbage];if(ie=ye[ye.length-e.garbageMarket],"Central Europe"==e.map.name){var me=a.cities.filter((function(e){return"Wien"==e.name}));(null===me||void 0===me?void 0:me.length)>0&&ie--}a.garbageLeft++,e.garbageMarket--}break;case ke.Uranium:var ve,be=null!==(ve=e.uraniumPrices)&&void 0!==ve?ve:tn[ke.Uranium];ie=be[be.length-e.uraniumMarket],a.uraniumLeft++,e.uraniumMarket--;break}a.money-=ie,e.options.trackTotalSpent&&(a.totalSpentResources+=ie),e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," buys ").concat(n.data.resource," for $").concat(ie,"."),pretty:"".concat(jr(a)," buys <b>").concat(n.data.resource,'</b> for <span style="color: green">$').concat(ie,"</span>.")});break;case Ke.Build:rn(n);var we=!1;if("Japan"===e.map.name&&!a.usedFreeJump&&a.cities.length>=1)if(1===e.round&&e.map.startingCities){var xe=new Set(e.map.startingCities);xe.has(n.data.name)&&(we=!0)}else n.data.freeJump&&(we=!0);var _e=e.players.filter((function(e){return e.cities.find((function(e){return e.name==n.data.name}))})).length;if(a.cities.push({name:n.data.name,position:_e}),a.money-=n.data.price,e.options.trackTotalSpent){var Se=e.map.cities.find((function(e){return e.name==n.data.name}));Se.singleOccupancy?a.totalSpentConnections+=n.data.price:(a.totalSpentCities+=10+5*_e,a.totalSpentConnections+=n.data.price-(10+5*_e))}e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," builds on ").concat(n.data.name," for $").concat(n.data.price,"."),pretty:"".concat(jr(a)," builds on <b>").concat(n.data.name,'</b> for <span style="color: green">$').concat(n.data.price,"</span>.")}),we&&(a.usedFreeJump=!0),"India"==e.map.name&&e.citiesBuiltInCurrentRound++,"original"==e.options.variant&&e.actualMarket.length>0&&a.cities.length>=e.actualMarket[0].number&&"China"!=e.map.name&&"Russia"!=e.map.name&&"Baden-Württemberg"!=e.map.name&&(e.actualMarket.shift(),xr(e));break;case Ke.UsePowerPlant:rn(n),a.powerPlantsNotUsed=a.powerPlantsNotUsed.filter((function(e){return e!=n.data.powerPlant})),n.data.resourcesSpent.forEach((function(n){switch(n){case ke.Coal:a.coalLeft--,void 0!==e.coalStorage?e.coalStorage++:e.coalSupply++;break;case ke.Oil:a.oilLeft--,e.oilSupply++;break;case ke.Garbage:a.garbageLeft--,e.garbageSupply++;break;case ke.Uranium:a.uraniumLeft--,e.uraniumSupply++;break}})),a.citiesPowered+=n.data.citiesPowered,e.log.push({type:"move",player:t,move:n,simple:"".concat(a.name," uses Power Plant ").concat(n.data.powerPlant,"."),pretty:"".concat(jr(a)," uses Power Plant <b>").concat(n.data.powerPlant,"</b>.")});break}a.availableMoves=null,a.lastMove=n,e.cardsLeft=e.powerPlantsDeck.length,e.nextCardWeak="recharged"==e.options.variant&&e.cardsLeft>0&&e.powerPlantsDeck[0].number<=15,mr(e,n.time),e.currentPlayers.forEach((function(n){return e.players[n].availableMoves=cn(e,e.players[n])}));var Ce=e.log[e.log.length-1];return e.newTurn=!("move"===(null===Ce||void 0===Ce?void 0:Ce.type)&&Ce.player===t&&e.currentPlayers.includes(t)&&(null===(o=a.lastMove)||void 0===o?void 0:o.name)!==Ke.Pass),e}function mr(e,n){if(void 0!=n){var t,r=w(e.players);try{for(r.s();!(t=r.n()).done;){var o,a=t.value,i=e.currentPlayers.includes(a.id);if(i||void 0==a.clockStartedAt)i&&void 0==a.clockStartedAt&&(a.clockStartedAt=n);else a.totalTimeUsed=(null!==(o=a.totalTimeUsed)&&void 0!==o?o:0)+Math.max(0,n-a.clockStartedAt),a.clockStartedAt=void 0}}catch(s){r.e(s)}finally{r.f()}}}function vr(e){return e.phase==Pe.GameEnd}function br(e,n){var t=Or(e),r=Object(qe["cloneDeep"])(t);if(void 0!=n&&"secret"==e.seed&&e.knownPowerPlantDeck){r.map=e.map,r.powerPlantsDeck=Object(qe["cloneDeep"])(e.knownPowerPlantDeck);var o=t.actualMarket.length,a=t.futureMarket.length;r.actualMarket=r.powerPlantsDeck.splice(0,o),r.futureMarket=r.powerPlantsDeck.splice(0,a),r.players[r.currentPlayers[0]].availableMoves=cn(r,r.players[r.currentPlayers[0]]),r.powerPlantDeckAfterStep3=Object(qe["cloneDeep"])(e.knownPowerPlantDeckStep3),r.knownPowerPlantDeck=r.actualMarket.concat(r.futureMarket)}var i,s=null!=n?e.log.slice(0,n):e.log,c=w(s);try{for(c.s();!(i=c.n()).done;){var u=i.value;switch(u.type){case"event":if(u.event.endsWith("was dropped")){var l=+u.event.split(" ")[1];r.players[l].isDropped=!0}break;case"move":yr(r,u.move,u.player);break}}}catch(d){c.e(d)}finally{c.f()}return r}function wr(e){e.coalCapacity=e.oilCapacity=e.garbageCapacity=e.uraniumCapacity=e.hybridCapacity=0,e.powerPlants.forEach((function(n){switch(n.type){case Me.Coal:e.coalCapacity+=2*n.cost;break;case Me.Oil:e.oilCapacity+=2*n.cost;break;case Me.Garbage:n.storage?e.garbageCapacity+=n.storage:e.garbageCapacity+=2*n.cost;break;case Me.Uranium:e.uraniumCapacity+=2*n.cost;break;case Me.Hybrid:e.hybridCapacity+=2*n.cost;break}}))}function xr(e){"Manhattan"==e.map.name&&0==e.powerPlantsDeck.length&&Mr(e);var n=e.powerPlantsDeck.shift();if(n){if(3==e.step?e.knownPowerPlantDeckStep3&&e.knownPowerPlantDeckStep3.push(n):e.knownPowerPlantDeck&&e.knownPowerPlantDeck.push(n),"original"==e.options.variant&&"China"!=e.map.name){var t=Math.max.apply(Math,P(e.players.map((function(e){return e.cities.length}))));while(n.number<=t){var r;if(e.log.push({type:"event",event:"Power plant ".concat(null===(r=n)||void 0===r?void 0:r.number," discarded.")}),!(e.powerPlantsDeck.length>0))break;n=e.powerPlantsDeck.shift(),3==e.step?e.knownPowerPlantDeckStep3&&e.knownPowerPlantDeckStep3.push(n):e.knownPowerPlantDeck&&e.knownPowerPlantDeck.push(n)}}var o=!1;if(99==n.number){if(e.powerPlantDeckAfterStep3?e.powerPlantsDeck=e.powerPlantDeckAfterStep3:"China"==e.map.name?e.step=3:e.powerPlantsDeck=an(e.powerPlantsDeck,e.seed),e.phase!=Pe.Auction)if("Middle East"==e.map.name&&1==e.step){var a=[].concat(P(e.actualMarket),P(e.futureMarket),[n]);a.sort((function(e,n){return e.number-n.number})),e.actualMarket=a.slice(0,4),e.futureMarket=a.slice(4),_r(e),o=!0}else{"UK & Ireland"==e.map.name&&1==e.step&&(e.log.push({type:"event",event:"Starting Step 2 (Step 3 card drawn before Step 2 threshold)."}),e.step=2);var i=e.actualMarket.shift();e.log.push({type:"event",event:"Step 3 will begin next phase, Power Plant ".concat(null===i||void 0===i?void 0:i.number," discarded.")});var s=[].concat(P(e.actualMarket),P(e.futureMarket));s.sort((function(e,n){return e.number-n.number})),e.actualMarket=s,e.futureMarket=[]}}else{if(e.plantDiscountActive&&n.number<e.actualMarket[0].number)return e.log.push({type:"event",event:"Power Plant ".concat(n.number," drawn from the deck and discarded.")}),e.plantDiscountActive=!1,void xr(e);e.log.push({type:"event",event:"Power Plant ".concat(n.number," drawn from the deck.")})}if("China"==e.map.name&&n.type!=Me.Step3){var c=[].concat(P(e.actualMarket),[n]);c.sort((function(e,n){return e.number-n.number})),e.actualMarket=c}else if(!o){var u=[].concat(P(e.actualMarket),P(e.futureMarket),[n]);u.sort((function(e,n){return e.number-n.number})),0==e.futureMarket.length?"Russia"==e.map.name?(e.actualMarket=u.slice(0,4),e.futureMarket=[]):(e.actualMarket=u.slice(0,6),e.futureMarket=[]):"Russia"==e.map.name?(e.actualMarket=u.slice(0,3),e.futureMarket=u.slice(3)):"Benelux"==e.map.name&&u[4].type==Me.Wind?(e.actualMarket=u.slice(0,5),e.futureMarket=u.slice(5)):(e.actualMarket=u.slice(0,4),e.futureMarket=u.slice(4)),"Middle East"==e.map.name&&1==e.step&&Pr(e)}}}function kr(e){var n,t;null!==(n=e.manhattanRecyclePile)&&void 0!==n||(e.manhattanRecyclePile=[]),null!==(t=e.manhattanDepletion)&&void 0!==t||(e.manhattanDepletion=0);var r=function(){if(0!=e.futureMarket.length)return e.futureMarket.sort((function(e,n){return e.number-n.number})),e.futureMarket.pop()},o=function(n){while(e.actualMarket.length+e.futureMarket.length<n&&e.powerPlantsDeck.length>0){var t=e.powerPlantsDeck.shift();e.knownPowerPlantDeck&&e.knownPowerPlantDeck.push(t),e.log.push({type:"event",event:"Power Plant ".concat(t.number," drawn from the deck.")}),e.futureMarket.push(t)}var r=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=r.slice(0,4),e.futureMarket=r.slice(4)};if(0==e.manhattanDepletion){for(var a=0;a<2;a++){var i=r();if(!i)break;e.manhattanRecyclePile.push(i),e.log.push({type:"event",event:"Setting Power Plant ".concat(i.number," aside on the recycle pile.")})}o(8),0==e.powerPlantsDeck.length&&e.manhattanRecyclePile.length>0&&(e.powerPlantsDeck=an(e.manhattanRecyclePile,e.seed+":manhattan-depletion-1"),e.manhattanRecyclePile=[],e.manhattanDepletion=1,e.log.push({type:"event",event:"The draw deck is empty — reshuffling the recycle pile into a new deck."}),o(8))}else if(1==e.manhattanDepletion){var s=r();if(s&&(e.powerPlantsDeck.push(s),e.log.push({type:"event",event:"Putting Power Plant ".concat(s.number," on the bottom of the deck.")})),o(8),0==e.powerPlantsDeck.length){e.manhattanDepletion=2;var c=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=c,e.futureMarket=[],e.log.push({type:"event",event:"The deck is empty for the second time — the entire market is now buyable."})}}else{if(e.futureMarket.length>0){var u=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=u,e.futureMarket=[]}if(e.actualMarket.length>0){var l=e.actualMarket.shift();e.log.push({type:"event",event:"Removing the smallest plant, Power Plant ".concat(l.number,", from the game.")})}}}function Mr(e){var n,t;if(!("Manhattan"!=e.map.name||e.powerPlantsDeck.length>0))if(null!==(n=e.manhattanRecyclePile)&&void 0!==n||(e.manhattanRecyclePile=[]),null!==(t=e.manhattanDepletion)&&void 0!==t||(e.manhattanDepletion=0),0==e.manhattanDepletion&&e.manhattanRecyclePile.length>0)e.powerPlantsDeck=an(e.manhattanRecyclePile,e.seed+":manhattan-depletion-1"),e.manhattanRecyclePile=[],e.manhattanDepletion=1,e.log.push({type:"event",event:"The draw deck is empty — reshuffling the recycle pile into a new deck."});else if(1==e.manhattanDepletion){e.manhattanDepletion=2;var r=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=r,e.futureMarket=[],e.log.push({type:"event",event:"The deck is empty for the second time — the entire market is now buyable."})}}function Pr(e){var n=e.actualMarket.find((function(e){return e.type==Me.Garbage||e.type==Me.Uranium})),t=function(){Rr(e,n),[6,11,14].includes(n.number)?e.log.push({type:"event",event:"Removing Power Plant ".concat(n.number," from game.")}):(e.powerPlantsDeck.push(n),e.log.push({type:"event",event:"Sending Power Plant ".concat(n.number," to the bottom of the deck.")}));var t=e.futureMarket.filter((function(e){return e.type!=Me.Garbage&&e.type!=Me.Uranium})),r=t.length>0?t[0].number:100;if(0==e.powerPlantsDeck.filter((function(e){return e.type!=Me.Garbage&&e.type!=Me.Uranium||e.number>r})).length)return e.log.push({type:"event",event:"No suitable power plants available to draw."}),"break";xr(e),n=e.actualMarket.find((function(e){return e.type==Me.Garbage||e.type==Me.Uranium}))};while(n){var r=t();if("break"===r)break}}function _r(e){var n=e.futureMarket.pop();e.powerPlantsDeck=an(e.powerPlantsDeck,e.seed),e.powerPlantsDeck.push(n),xr(e),e.log.push({type:"event",event:"Step 2 will begin next phase, discarding two power plants."}),e.step=2;var t=e.actualMarket.shift();t&&(e.log.push({type:"event",event:"Power Plant ".concat(t.number," discarded to start step 2.")}),xr(e));var r=e.actualMarket.shift();r&&(e.log.push({type:"event",event:"Power Plant ".concat(r.number," discarded to start step 2.")}),xr(e))}function Sr(e){if("Australia"===e.map.name&&(!e.coalPrices||3!==e.coalPrices[0])){var n=[3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,10,10,10];e.coalPrices=[].concat(n),e.oilPrices=[].concat(n),e.garbagePrices=[].concat(n),e.log.push({type:"event",event:"CO2 tax (Step 3): the $1 and $2 resource spaces close; the six cheapest tokens of each resource move to the new $9 and $10 spaces."})}}function Cr(e){var n=0;2==e.players.length||3==e.players.length?n=1:4==e.players.length||5==e.players.length?n=2:6==e.players.length&&(n=3);for(var t=e.actualMarket.length,r=e.players.length-1,o=Math.max(n,r-t),a=0;a<o;a++){if(3==e.step)break;xr(e)}while(2==e.players.length&&e.actualMarket.length<2&&3!=e.step)xr(e);if(3==e.step){e.actualMarket=e.actualMarket.filter((function(e){return e.type!=Me.Step3}));while(e.actualMarket.length>4)e.actualMarket.shift();while(e.actualMarket.length<4&&e.powerPlantsDeck.length>0)xr(e)}else{var i=Math.max(2,e.players.length-1);while(e.actualMarket.length>i)e.actualMarket.shift()}}function Br(e,n,t){t==ke.Coal?(e.coalSupply+=Math.max(0,n.coalLeft-n.coalCapacity),n.coalLeft=Math.min(n.coalLeft,n.coalCapacity)):t==ke.Oil&&(e.oilSupply+=Math.max(0,n.oilLeft-n.oilCapacity),n.oilLeft=Math.min(n.oilLeft,n.oilCapacity))}function Lr(e){e.pendingMarketRefill&&(e.pendingMarketRefill=!1,"China"==e.map.name&&3!=e.step||xr(e))}function Rr(e,n){e.actualMarket.splice(e.actualMarket.findIndex((function(e){return e.number==n.number})),1)}function Ar(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"India"==n?mn.find((function(n){return n.number==e})):yn.find((function(n){return n.number==e}))}function Or(e){var n=dr(e.players.length,e.options,e.seed);return n.players.forEach((function(n,t){n.name=e.players[t].name,n.isAI=e.players[t].isAI})),n}function jr(e){var n;return'<span style="background-color: '.concat(null!==(n=e.color)&&void 0!==n?n:_e[e.id],'; font-weight: bold; padding: 0 3px;">').concat(e.name,"</span>")}function Nr(e){return Object(qe["cloneDeep"])(e.players).sort((function(e,n){return e.citiesPowered==n.citiesPowered?e.money==n.money?e.cities.length-n.cities.length:e.money-n.money:e.citiesPowered-n.citiesPowered})).reverse()}function Dr(e){e.players.forEach((function(n){n.citiesPowered=Tr(e,n)}))}function Tr(e,n){for(var t=n.powerPlants.filter((function(n){return!Se(e,n)})),r=[],o=function(e){var n=[];t.forEach((function(t,r){e&Math.pow(2,r)&&n.push(t)})),r.push(n)},a=0;a<Math.pow(2,t.length);a++)o(a);var i=0;return r.forEach((function(e){if(zr(n,e)){var t=e.map((function(e){return e.citiesPowered})).reduce((function(e,n){return e+n}),0);i=Math.max(i,t)}})),Math.min(n.cities.length,i)}function zr(e,n){var t=n.filter((function(e){return e.type==Me.Coal})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),r=n.filter((function(e){return e.type==Me.Oil})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),o=n.filter((function(e){return e.type==Me.Garbage})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),a=n.filter((function(e){return e.type==Me.Uranium})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),i=n.filter((function(e){return e.type==Me.Hybrid})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0);return!(t>e.coalLeft||r>e.oilLeft||o>e.garbageLeft||a>e.uraniumLeft)&&!(i>e.coalLeft-t+e.oilLeft-r)}function Gr(e){if(("Baden-Württemberg"==e.map.name||1==e.round)&&Ir(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.forEach((function(e){e.skipAuction=!1})),e.discountBonusPlayer=void 0,"recharged"==e.options.variant&&(e.plantDiscountActive?(e.plantDiscountActive=!1,e.actualMarket.length>0&&(e.log.push({type:"event",event:"Discarding Power Plant ".concat(e.actualMarket[0].number,".")}),e.actualMarket.shift(),xr(e))):"Benelux"==e.map.name&&(e.discardSmallestPlant=!0)),e.futureMarket.find((function(e){return 99==e.number})))if("Middle East"==e.map.name&&1==e.step)_r(e);else{var n=e.actualMarket.shift();e.futureMarket.pop(),e.log.push({type:"event",event:"Starting Step 3, Power Plant ".concat(null===n||void 0===n?void 0:n.number," discarded.")}),e.step=3,Sr(e),e.actualMarket=[].concat(P(e.actualMarket),P(e.futureMarket)),e.futureMarket=[]}e.phase=Pe.Resources,Ur(e,e.playerOrder[e.players.length-1])}function Er(e,n,t){n.powerPlants.push(e.chosenPowerPlant),n.money-=t,e.options.trackTotalSpent&&(n.totalSpentPlants+=t),"Manhattan"!=e.map.name||"recharged"!=e.options.variant||1!=e.minimunBid||n.isDropped?(n.skipAuction=!0,e.discountBonusPlayer==n.id&&(e.discountBonusPlayer=void 0)):e.discountBonusPlayer=n.id,wr(n),e.log.push({type:"event",event:"".concat(n.name," wins the bid and pays ").concat(t,"."),pretty:"".concat(jr(n),' wins the bid and pays <span style="color: green">$').concat(t,"</span>.")}),Rr(e,e.chosenPowerPlant),e.chosenPowerPlant=e.currentBid=void 0,e.pendingMarketRefill=!0}function Ir(e){e.playerOrder=Object(qe["cloneDeep"])(e.players).sort((function(e,n){var t=e.cities.length,r=n.cities.length;return t==r?Math.max.apply(Math,P(e.powerPlants.map((function(e){return e.number}))))-Math.max.apply(Math,P(n.powerPlants.map((function(e){return e.number})))):t-r})).map((function(e){return e.id})).reverse()}function Ur(e,n){e.currentPlayers=[n],e.players[n].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[n].passed=!0,Kr(e))}function Kr(e){e.phase==Pe.Auction?void 0==e.chosenPowerPlant?Wr(e):Yr(e):Hr(e)}function Yr(e){var n=e.currentPlayers[0];e.currentPlayers=[(n+1)%e.players.length],e.players[e.currentPlayers[0]].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[e.currentPlayers[0]].passed=!0,e.players[e.currentPlayers[0]].skipAuction=!0,Yr(e)),(e.players[e.currentPlayers[0]].skipAuction||e.players[e.currentPlayers[0]].passed)&&e.players.some((function(e){return!e.skipAuction&&!e.passed&&!e.isDropped}))&&Yr(e)}function Hr(e){var n=e.playerOrder.indexOf(e.currentPlayers[0]);e.currentPlayers=[e.playerOrder[(n-1+e.players.length)%e.players.length]],e.players[e.currentPlayers[0]].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[e.currentPlayers[0]].passed=!0,Hr(e))}function Wr(e){var n,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t)n=e.playerOrder[0];else{var r=e.playerOrder.indexOf(e.currentPlayers[0]);n=e.playerOrder[(r+1)%e.players.length]}e.currentPlayers=[n];var o=e.players[n];o.isDropped&&(o.passed=!0,o.skipAuction=!0),(o.skipAuction||o.passed)&&e.players.some((function(e){return!e.skipAuction&&!e.passed&&!e.isDropped}))&&Wr(e)}function Vr(e){if(!e.coalResupply){var n=Dt.find((function(n){return n.name===e.map.name}));null!==n&&void 0!==n&&n.resupply?(e.coalResupply=n.resupply[0],e.oilResupply=n.resupply[1],e.garbageResupply=n.resupply[2],e.uraniumResupply=n.resupply[3]):(e.coalResupply=[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],e.oilResupply=[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],e.garbageResupply=[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],e.uraniumResupply=[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]);var t=e.players.length-2;e.resourceResupply=["[".concat(e.coalResupply[t][0],", ").concat(e.oilResupply[t][0],", ").concat(e.garbageResupply[t][0],", ").concat(e.uraniumResupply[t][0],"]"),"[".concat(e.coalResupply[t][1],", ").concat(e.oilResupply[t][1],", ").concat(e.garbageResupply[t][1],", ").concat(e.uraniumResupply[t][1],"]"),"[".concat(e.coalResupply[t][2],", ").concat(e.oilResupply[t][2],", ").concat(e.garbageResupply[t][2],", ").concat(e.uraniumResupply[t][2],"]")],e.coalResupplyNorth&&e.oilResupplyNorth&&e.garbageResupplyNorth&&(e.resourceResupplyNorth=["[".concat(e.coalResupplyNorth[t][0],", ").concat(e.oilResupplyNorth[t][0],", ").concat(e.garbageResupplyNorth[t][0],"]"),"[".concat(e.coalResupplyNorth[t][1],", ").concat(e.oilResupplyNorth[t][1],", ").concat(e.garbageResupplyNorth[t][1],"]"),"[".concat(e.coalResupplyNorth[t][2],", ").concat(e.oilResupplyNorth[t][2],", ").concat(e.garbageResupplyNorth[t][2],"]")])}}function Fr(e,n,t){if(n.bid=t,e.currentPlayers=e.currentPlayers.filter((function(e){return e!==n.id})),0===e.currentPlayers.length){var r;(r=e.log).push.apply(r,P(e.hiddenLog)),e.hiddenLog=[];var o=e.players.map((function(e){return e.bid})).filter((function(e){return e>0})),a=e.minimunBid,i=Math.max.apply(Math,P(o)),s=e.players.filter((function(e){return!e.isDropped&&e.bid===i})),c=s[0].id;if(o.length>1){o.splice(o.indexOf(i),1);var u=Math.max.apply(Math,P(o));if(s.length>1)(function(){var n=e.auctioningPlayer;while(!s.find((function(e){return e.id==n})))n=(n+1)%e.players.length;a=u,c=n})();else{var l=e.auctioningPlayer;a=0;while(0==a)s[0].id==l?a=u:e.players[l].bid==u&&(a=u+1),l=(l+1)%e.players.length}}var d=e.players[c];Er(e,d,a),(Be(e,d)>4||e.players.length>2&&Be(e,d)>3)&&!d.isDropped?Ur(e,d.id):(Lr(e),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?(e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),Wr(e,!0)):Gr(e))}}var Jr=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"entries",void 0),m(B(e),"mapName",void 0),m(B(e),"follow",!0),e}return C(t,[{key:"illustratedEntries",get:function(){var e=this;return this.entries.map((function(n){var t,r=[],o=/Power Plant\s+(?:<b>)?(\d+)(?:<\/b>)?/gi,a=0;while(t=o.exec(n)){var i=Ar(Number(t[1]),e.mapName);i&&(r.push({html:n.slice(a,t.index)},{plant:i}),a=t.index+t[0].length)}return r.push({html:n.slice(a)}),r}))}},{key:"plantLabel",value:function(e){return"Power plant ".concat(e.number,": ").concat(e.cost?"".concat(e.cost," ").concat(e.type):"no fuel"," → ").concat(e.citiesPowered," cities")}},{key:"mounted",value:function(){this.scrollToLatest()}},{key:"changed",value:function(){this.follow&&this.$nextTick(this.scrollToLatest)}},{key:"scrollToLatest",value:function(){var e=this.$refs.feed;e&&(e.scrollTop=e.scrollHeight)}},{key:"onScroll",value:function(){var e=this.$refs.feed;this.follow=e.scrollHeight-e.scrollTop-e.clientHeight<32}}]),t}(c.a);z([ye({default:function(){return[]}})],Jr.prototype,"entries",void 0),z([ye({default:""})],Jr.prototype,"mapName",void 0),z([me("entries")],Jr.prototype,"changed",null),Jr=z([ie({components:{Card:Fe}})],Jr);var $r=Jr,qr=$r,Zr=(t("1af0"),Ge(qr,G,E,!1,null,"18499529",null)),Qr=Zr.exports,Xr=t("bcba");function eo(e){return!!e&&!1===e.newTurn}function no(e,n){return!!n&&e.name===n.name&&e.time===n.time&&Object(Xr["isEqual"])(e.data,n.data)}function to(e,n,t,r){if(!n)return!1;var o=n.log.length;return e.log.length===o+t.length&&e.log.slice(o).every((function(e,n){return"move"===e.type&&e.player===r&&no(e.move,t[n])}))}function ro(e,n,t,r){if(!n||e.log.length<n.length)return[];var o=e.log.slice(n.length).filter((function(e){return"move"===e.type&&e.player===r})).map((function(e){return e.move}));if(!o.every((function(e,n){return no(e,t[n])})))return[];var a=t.slice(o.length);return a.length>0&&(void 0===r||!e.currentPlayers.includes(r))?[]:a}function oo(e,n,t){var r,o,a=JSON.parse(JSON.stringify(e)),i=[],s=w(n);try{for(s.s();!(o=s.n()).done;){var c=o.value;try{a=yr(a,c,t)}catch(u){console.error("dropping turn-buffer tail no longer legal on the committed state",c,u),r=u;break}i.push(c)}}catch(u){s.e(u)}finally{s.f()}return{state:a,applied:i,failure:r}}function ao(e){if(!e)return!1;var n=e;return"AssertionError"===n.name||"ERR_ASSERTION"===n.code}function io(e){return"".concat(e.resource,"|").concat(e.side||"","|").concat(e.fromStorage?"storage":"")}function so(e,n){var t=e.data;return e.name===Ke.BuyResource&&!!t&&t.resource===n.resource&&(t.side||"")===(n.side||"")&&!!t.fromStorage===!!n.fromStorage}function co(e){var n,t={},r=w(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;if(o.name===Ke.BuyResource&&o.data){var a=io(o.data);t[a]=(t[a]||0)+1}}}catch(i){r.e(i)}finally{r.f()}return t}function uo(e,n){for(var t=e.length-1;t>=0;t--)if(so(e[t],n))return t;return-1}var lo=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M136.8 21.2L43.1001 48.9L43.2001 167.2L135.2 210.3L228.8 174V55.7L136.8 21.2Z",fill:"#5a2d0c",stroke:"black","stroke-width":"20","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M135.2 210.3L43.2001 167.2L43.1001 48.8999L135.1 83.4999L135.2 210.3Z",fill:"#70380f"}}),t("path",{attrs:{d:"M135.1 83.5L43.1001 48.9L136.8 21.2L228.8 55.7L135.1 83.5Z",fill:"#8b4513"}}),t("path",{attrs:{d:"M228.8 55.7V174L135.2 210.3L135.1 83.5L228.8 55.7Z",fill:"#5a2d0c"}}),t("title",[e._v("Coal")])])},fo=[],ho=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"canClick",void 0),m(B(e),"scale",void 0),e}return t}(Q(Ie));z([ye()],ho.prototype,"canClick",void 0),z([ye({default:.08})],ho.prototype,"scale",void 0),ho=z([ie({created:function(){this.pieceType=be.Coal}})],ho);var po=ho,go=po,yo=Ge(go,lo,fo,!1,null,null,null),mo=yo.exports,vo=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M2,5 A9,5,0 0,1 18,5 L18,15 A9,5 0 0,1 2,15Z",fill:"none",stroke:"black","stroke-miterlimit":"0"}}),t("path",{attrs:{d:"M2,5 A9,5 0 0,0 18,5 A9,5 0 0,0 2,5",fill:"#FF0"}}),t("path",{attrs:{d:"M2,5 A9,5 0 0,0 2,5 L2,15 A9,5,0 0,0 18,15 L18,5 A9,5 0 0,1 2,5",fill:"url(#garbage-linear)"}}),t("title",[e._v("Garbage")]),t("defs",[t("linearGradient",{attrs:{id:"garbage-linear",x1:"0",y1:"10",x2:"20",y2:"10",gradientUnits:"userSpaceOnUse"}},[t("stop",{attrs:{"stop-color":"#DD0"}}),t("stop",{attrs:{offset:"1","stop-color":"#AA0"}})],1)],1)])},bo=[],wo=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"canClick",void 0),m(B(e),"scale",void 0),e}return t}(Q(Ie));z([ye()],wo.prototype,"canClick",void 0),z([ye({default:1})],wo.prototype,"scale",void 0),wo=z([ie({created:function(){this.pieceType=be.Garbage}})],wo);var xo=wo,ko=xo,Mo=Ge(ko,vo,bo,!1,null,null,null),Po=Mo.exports,_o=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:["piece"],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")"}},[t("path",{attrs:{d:"M187.698 263.636V456.017L3 341.204V169.522L80.8579 108.141L187.698 263.636Z",fill:e.color,stroke:"#010101","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361V300.164L187.698 456.017V263.636L395.724 136.361Z",fill:e.color,stroke:"#010101","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361L187.698 263.636L80.8579 108.141L304.771 4L395.724 136.361Z",fill:e.color,stroke:"#010101","stroke-width":"12","stroke-miterlimit":"10"}}),t("title",[e._v(e._s(e.ownerName)+"'s House")])])},So=[],Co=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"player",void 0),m(B(e),"color",void 0),m(B(e),"scale",void 0),m(B(e),"owner",void 0),m(B(e),"ownerName",void 0),e}return t}(Q(Ie));z([ue()],Co.prototype,"player",void 0),z([ye()],Co.prototype,"color",void 0),z([ye({default:.035})],Co.prototype,"scale",void 0),z([ye()],Co.prototype,"owner",void 0),z([ye()],Co.prototype,"ownerName",void 0),Co=z([ie({created:function(){this.pieceType=be.House}})],Co);var Bo=Co,Lo=Bo,Ro=Ge(Lo,_o,So,!1,null,null,null),Ao=Ro.exports,Oo=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:["piece"],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")"}},[t("g",{attrs:{transform:"scale(0.08)"}},[t("path",{attrs:{d:"M136.8 21.2L43.1001 48.9L43.2001 167.2L135.2 210.3L228.8 174V55.7L136.8 21.2Z",fill:"#5a2d0c",stroke:"black","stroke-width":"20","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M135.2 210.3L43.2001 167.2L43.1001 48.8999L135.1 83.4999L135.2 210.3Z",fill:"#70380f"}}),t("path",{attrs:{d:"M135.1 83.5L43.1001 48.9L136.8 21.2L228.8 55.7L135.1 83.5Z",fill:"#8b4513"}}),t("path",{attrs:{d:"M228.8 55.7V174L135.2 210.3L135.1 83.5L228.8 55.7Z",fill:"#5a2d0c"}})]),t("g",{attrs:{transform:"translate(5, 0)"}},[t("path",{attrs:{d:"M6,4 A6,4,0 0,1 14,4 L14,16 A6,4 0 0,1 6,16Z",fill:"none",stroke:"black"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 14,4 A6,4 0 0,0 6,4",fill:"#556"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 6,4 L6,16 A6,4,0 0,0 14,16 L14,4 A6,4 0 0,1 6,4",fill:"url(#oil-linear)"}})]),t("title",[e._v("Coal/Oil")])])},jo=[],No=function(e){R(t,e);var n=T(t);function t(){return _(this,t),n.apply(this,arguments)}return t}(Q(Ie));No=z([ie({created:function(){this.pieceType=be.Hybrid}})],No);var Do=No,To=Do,zo=Ge(To,Oo,jo,!1,null,null,null),Go=(zo.exports,function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M6,4 A6,4,0 0,1 14,4 L14,16 A6,4 0 0,1 6,16Z",fill:"none",stroke:"black"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 14,4 A6,4 0 0,0 6,4",fill:"#556"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 6,4 L6,16 A6,4,0 0,0 14,16 L14,4 A6,4 0 0,1 6,4",fill:"url(#oil-linear)"}}),t("title",[e._v("Oil")]),t("defs",[t("linearGradient",{attrs:{id:"oil-linear",x1:"0",y1:"10",x2:"20",y2:"10",gradientUnits:"userSpaceOnUse"}},[t("stop",{attrs:{"stop-color":"#445"}}),t("stop",{attrs:{offset:"1","stop-color":"#223"}})],1)],1)])}),Eo=[],Io=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"canClick",void 0),m(B(e),"scale",void 0),e}return t}(Q(Ie));z([ye()],Io.prototype,"canClick",void 0),z([ye({default:1})],Io.prototype,"scale",void 0),Io=z([ie({created:function(){this.pieceType=be.Oil}})],Io);var Uo=Io,Ko=Uo,Yo=Ge(Ko,Go,Eo,!1,null,null,null),Ho=Yo.exports,Wo=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M3,3 l4,-2 l6,0 l4,2 l0,11 l-4,2 l-6,0 l-4,-2Z",fill:"#F00",stroke:"black"}}),t("path",{attrs:{d:"M3,3 l4,-2 l6,0 l4,2 l0,2.1 l-4,2 l-6,0 l-4,-2 l0,-2.1",fill:"#F00"}}),t("path",{attrs:{d:"M3,5 l0,9 l4.1,2 l0,-9 l-4.1,-2",fill:"#e60000"}}),t("path",{attrs:{d:"M7,7 l6.1,0 l0,9 l-6.1,0 l0,-9",fill:"#cc0000"}}),t("path",{attrs:{d:"M13,7 l4.1,-2 l0,9 l-4.1,2 l0,-9",fill:"#b30000"}}),t("title",[e._v("Uranium")])])},Vo=[],Fo=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"canClick",void 0),e}return t}(Q(Ie));z([ye()],Fo.prototype,"canClick",void 0),Fo=z([ie({created:function(){this.pieceType=be.Uranium}})],Fo);var Jo=Fo,$o=Jo,qo=Ge($o,Wo,Vo,!1,null,null,null),Zo=qo.exports,Qo=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:["button",{enabled:e.enabled}],on:{click:function(n){e.enabled&&e.$emit("click")}}},[t("rect",{attrs:{width:e.width,height:"30",fill:"gainsboro",stroke:"black",rx:"2"}}),t("text",{attrs:{"text-anchor":"middle",fill:"black",x:e.width/2,y:"16"}},[e._v(e._s(e.getText()))]),t("title",[e._v(e._s(e.text))])])},Xo=[],ea=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"text",void 0),m(B(e),"width",void 0),m(B(e),"enabled",void 0),e}return C(t,[{key:"getText",value:function(){var e;return this.text.length>15?null===(e=this.text)||void 0===e?void 0:e.substring(0,12).concat("..."):this.text}}]),t}(c.a);z([ye()],ea.prototype,"text",void 0),z([ye()],ea.prototype,"width",void 0),z([ye({default:!0})],ea.prototype,"enabled",void 0),ea=z([ie],ea);var na=ea,ta=na,ra=Ge(ta,Qo,Xo,!1,null,null,null),oa=ra.exports,aa=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("997e")}}),e.isOn?e._e():r("line",{attrs:{x1:"5",y1:"25",x2:"25",y2:"5",stroke:"black","stroke-width":"3px","stroke-linecap":"round"}}),e.isOn?r("title",[e._v("Help off")]):r("title",[e._v("Help on")])])},ia=[],sa=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"isOn",void 0),e}return t}(c.a);z([ye()],sa.prototype,"isOn",void 0),sa=z([ie],sa);var ca=sa,ua=ca,la=Ge(ua,aa,ia,!1,null,null,null),da=la.exports,fa=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[t("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),e.isOn?[t("rect",{attrs:{x:"6",y:"7",width:"18",height:"4",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"6",y:"13",width:"18",height:"4",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"6",y:"19",width:"18",height:"4",rx:"1",fill:"black"}})]:[t("rect",{attrs:{x:"6",y:"7",width:"10",height:"16",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"18",y:"7",width:"6",height:"7",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"18",y:"16",width:"6",height:"7",rx:"1",fill:"black"}})],e.isOn?t("title",[e._v("Switch to the full board layout")]):t("title",[e._v("Stack the board into rows")])],2)},ha=[],pa=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"isOn",void 0),e}return t}(c.a);z([ye()],pa.prototype,"isOn",void 0),pa=z([ie],pa);var ga=pa,ya=ga,ma=Ge(ya,fa,ha,!1,null,null,null),va=ma.exports,ba=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("rect",{attrs:{width:"80",height:"26",fill:"gainsboro",stroke:"black",rx:"2"}}),r("image",{attrs:{x:"11",y:"5",width:"16",height:"16",href:t("b67b")}}),r("text",{attrs:{"text-anchor":"middle",fill:"black",x:"47",y:"13"}},[e._v("Log")]),r("title",[e._v("Show log")])])},wa=[],xa=function(e){R(t,e);var n=T(t);function t(){return _(this,t),n.apply(this,arguments)}return t}(c.a);xa=z([ie],xa);var ka=xa,Ma=ka,Pa=Ge(Ma,ba,wa,!1,null,null,null),_a=Pa.exports,Sa=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{class:["button",{enabled:e.enabled,highlightButton:e.highlightButton}],on:{click:function(n){e.enabled&&e.$emit("click")}}},[r("rect",{attrs:{width:"80",height:"26",fill:"gainsboro",stroke:"black",rx:"2"}}),r("image",{attrs:{x:"15",y:"8",width:"10",height:"10",href:t("fd65")}}),r("text",{attrs:{"text-anchor":"middle",fill:"black",x:"47",y:"13"}},[e._v(e._s(e.text))]),r("title",[e._v("Pass turn")])])},Ca=[],Ba=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"enabled",void 0),m(B(e),"highlightButton",void 0),m(B(e),"text",void 0),e}return t}(c.a);z([ye()],Ba.prototype,"enabled",void 0),z([ye()],Ba.prototype,"highlightButton",void 0),z([ye()],Ba.prototype,"text",void 0),Ba=z([ie],Ba);var La=Ba,Ra=La,Aa=Ge(Ra,Sa,Ca,!1,null,null,null),Oa=Aa.exports,ja=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),e.isOn?r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("9fd9")}}):r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("2044")}}),e.isOn?r("title",[e._v("Sound off")]):r("title",[e._v("Sound on")])])},Na=[],Da=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"isOn",void 0),e}return t}(c.a);z([ye()],Da.prototype,"isOn",void 0),Da=z([ie],Da);var Ta=Da,za=Ta,Ga=Ge(za,ja,Na,!1,null,null,null),Ea=Ga.exports,Ia=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"resourceView"},[t("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("select",!1)}}},[t("rect",{attrs:{x:"0",y:"0",width:"306",height:"72",rx:"6",fill:e.showTrack?"gainsboro":"#333",stroke:"black","stroke-width":"3"}}),t("text",{staticStyle:{"font-size":"30px"},attrs:{x:"153",y:"47","text-anchor":"middle","font-weight":"700",fill:e.showTrack?"black":"white"}},[e._v(" Buy boxes ")]),t("title",[e._v("One box per buyable source: the price you pay, and the whole box is the tap target")])]),t("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("select",!0)}}},[t("rect",{attrs:{x:"314",y:"0",width:"306",height:"72",rx:"6",fill:e.showTrack?"#333":"gainsboro",stroke:"black","stroke-width":"3"}}),t("text",{staticStyle:{"font-size":"30px"},attrs:{x:"467",y:"47","text-anchor":"middle","font-weight":"700",fill:e.showTrack?"white":"black"}},[e._v(" Price track ")]),t("title",[e._v("The printed market board, so the whole price track is visible at once")])])])},Ua=[],Ka=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"showTrack",void 0),e}return t}(c.a);z([ye()],Ka.prototype,"showTrack",void 0),Ka=z([ie],Ka);var Ya=Ka,Ha=Ya,Wa=Ge(Ha,Ia,Ua,!1,null,null,null),Va=Wa.exports,Fa=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("b85b")}}),r("title",[e._v("Rules")])])},Ja=[],$a=function(e){R(t,e);var n=T(t);function t(){return _(this,t),n.apply(this,arguments)}return t}(c.a);$a=z([ie],$a);var qa=$a,Za=qa,Qa=Ge(Za,Fa,Ja,!1,null,null,null),Xa=Qa.exports,ei=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{class:["button",{enabled:e.enabled,highlightButton:e.highlightButton}],on:{click:function(n){e.enabled&&e.$emit("click")}}},[r("rect",{attrs:{width:"80",height:"26",fill:"gainsboro",stroke:"black",rx:"2"}}),r("image",{attrs:{x:"11",y:"4",width:"16",height:"16",href:t("92cf")}}),r("text",{attrs:{"text-anchor":"middle",fill:"black",x:"47",y:"13"}},[e._v("Undo")]),r("title",[e._v("Undo last move")])])},ni=[],ti=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"enabled",void 0),m(B(e),"highlightButton",void 0),e}return t}(c.a);z([ye()],ti.prototype,"enabled",void 0),z([ye()],ti.prototype,"highlightButton",void 0),ti=z([ie],ti);var ri=ti,oi=ri,ai=Ge(oi,ei,ni,!1,null,null,null),ii=ai.exports,si=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"player-board"},[t("rect",{attrs:{width:"350",height:"100",x:"0",y:"0",fill:"gold",stroke:e.color}}),t("rect",{attrs:{width:"350",height:"25",x:"0",y:"0",fill:e.color}}),t("foreignObject",{attrs:{height:"30",width:"30",x:"-30",y:"-5"}},[t("img",{staticStyle:{"border-radius":"50%"},attrs:{src:e.avatar||"https://avatars.dicebear.com/api/pixel-art/"+e.player.name+".svg",width:"100%",height:"100%"}})]),t("text",{attrs:{x:"5",y:"13","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.getPlayerName())+" ")]),e.showMoney?t("text",{attrs:{x:"250",y:"13","font-weight":"600",fill:"black"}},[e._v("Money: $"+e._s(e.player.money))]):e._e(),e._l(e.player.powerPlants,(function(n,r){return t("Card",{key:"powerPlant_"+n.number,attrs:{targetState:{x:e.cardX(r),y:30},owner:e.owner,powerPlant:n,canClick:e.canUse(n)},on:{click:function(t){return e.powerPlantClick(n)}}})})),e._l(e.player.powerPlants,(function(n,r){return[e.isMine(n)?t("g",{key:"mine_"+n.number},[t("rect",{attrs:{x:e.cardX(r),y:"30",width:"60",height:"40",fill:"none",stroke:"#2e8b3d","stroke-width":"3px",rx:"3px"}}),t("circle",{attrs:{cx:e.cardX(r)+51,cy:"37",r:"8",fill:"#46c655",stroke:"#1f5c25","stroke-width":"1.5"}}),t("text",{staticStyle:{"font-size":"9px","font-weight":"700"},attrs:{x:e.cardX(r)+51,y:"40","text-anchor":"middle",fill:"white"}},[e._v(" U ")])]):e._e()]})),e.preferences.disableHelp?e._e():[e._l(e.player.powerPlants,(function(n,r){return[e.canUse(n)?t("rect",{key:r+"_"+r+"_helper",attrs:{x:e.cardX(r),y:30,width:"60",height:"40",fill:"none",stroke:"blue","stroke-width":"4px",rx:"2px"}}):e._e()]}))],e.canClickResources?t("g",[t("rect",{attrs:{width:"30",height:"30",x:"0",y:"71",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}}),t("rect",{attrs:{width:"30",height:"30",x:"70",y:"71",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}})]):e._e(),t("Coal",{attrs:{pieceId:"Coal"+e.player.id,targetState:{x:5,y:76},canClick:e.canClickResources},on:{click:function(n){return e.clickResource("coal")}}}),t("text",{attrs:{"text-anchor":"middle",x:"40",y:"85",fill:"black"}},[e._v(e._s(e.player.coalLeft))]),t("Oil",{attrs:{pieceId:"Oil"+e.player.id,targetState:{x:75,y:76},canClick:e.canClickResources},on:{click:function(n){return e.clickResource("oil")}}}),t("text",{attrs:{"text-anchor":"middle",x:"110",y:"85",fill:"black"}},[e._v(e._s(e.player.oilLeft))]),t("Garbage",{attrs:{pieceId:"Garbage"+e.player.id,targetState:{x:145,y:76}}}),t("text",{attrs:{"text-anchor":"middle",x:"180",y:"85",fill:"black"}},[e._v(e._s(e.player.garbageLeft))]),t("Uranium",{attrs:{pieceId:"Uranium"+e.player.id,targetState:{x:215,y:76}}}),t("text",{attrs:{"text-anchor":"middle",x:"250",y:"85",fill:"black"}},[e._v(e._s(e.player.uraniumLeft))]),t("text",{staticStyle:{"font-size":"13px"},attrs:{"text-anchor":"end",x:"345",y:"85",fill:"black","font-weight":e.isCurrentPlayer?700:400}},[e._v(" "+e._s(e.timeUsed)+" ")])],2)},ci=[];function ui(e){if(!e||e<0)return"0s";var n=Math.floor(e/1e3),t=Math.floor(n/60),r=Math.floor(t/60),o=Math.floor(r/24);return o>0?"".concat(o,"d ").concat(r%24,"h"):r>0?"".concat(r,"h ").concat(t%60,"m"):t>0?"".concat(t,"m ").concat(n%60,"s"):"".concat(n,"s")}var li=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"color",void 0),m(B(e),"avatar",void 0),m(B(e),"player",void 0),m(B(e),"isCurrentPlayer",void 0),m(B(e),"owner",void 0),m(B(e),"ended",void 0),m(B(e),"isPlayer",void 0),m(B(e),"ranking",void 0),m(B(e),"showMoney",void 0),m(B(e),"showBid",void 0),m(B(e),"phase",void 0),m(B(e),"isAustralia",void 0),m(B(e),"preferences",void 0),m(B(e),"powerPlantClicked",void 0),m(B(e),"now",Date.now()),m(B(e),"clockTimer",void 0),e}return C(t,[{key:"mounted",value:function(){var e=this;this.clockTimer=window.setInterval((function(){return e.now=Date.now()}),1e3)}},{key:"beforeDestroy",value:function(){void 0!=this.clockTimer&&window.clearInterval(this.clockTimer)}},{key:"timeUsed",get:function(){return ui(Ce(this.player,this.now))}},{key:"cardX",value:function(e){var n=this.player.powerPlants.length;return n<5?20+80*e:5+Math.min(70,280/(n-1))*e}},{key:"isMine",value:function(e){return!0===this.isAustralia&&e.type===Me.Uranium}},{key:"getPlayerName",value:function(){var e="";if(this.isCurrentPlayer&&(e+="• "),e+=this.player.name,this.ended)switch(this.ranking){case 1:e+=" (1st)";break;case 2:e+=" (2nd)";break;case 3:e+=" (3rd)";break;case 4:case 5:case 6:e+=" (".concat(this.ranking,"th)");break}else this.player.skipAuction?e+=" (Skipping)":this.player.passed?e+=" (Passed)":this.player.bid&&!this.isCurrentPlayer&&this.showBid&&(e+=" (Bid: $"+this.player.bid+")");return e}},{key:"canUse",value:function(e){var n,t;if(!this.isCurrentPlayer)return!1;if(null!==(n=this.player.availableMoves)&&void 0!==n&&n[Ke.DiscardPowerPlant])return e.number!==this.player.powerPlants[this.player.powerPlants.length-1].number;if(null===(t=this.player.availableMoves)||void 0===t||!t[Ke.UsePowerPlant])return!1;if(!this.player.powerPlantsNotUsed.includes(e.number)||this.player.resourcesUsed.length>0)return!1;switch(e.type){case Me.Coal:return this.player.coalLeft>=e.cost;case Me.Oil:return this.player.oilLeft>=e.cost;case Me.Garbage:return this.player.garbageLeft>=e.cost;case Me.Uranium:return this.player.uraniumLeft>=e.cost;case Me.Hybrid:return this.player.coalLeft+this.player.oilLeft>=e.cost;case Me.Wind:case Me.Nuclear:return this.player.coalLeft+this.player.oilLeft>=e.cost}}},{key:"powerPlantClick",value:function(e){this.phase==Pe.Bureaucracy&&e.type==Me.Hybrid?0==this.player.coalLeft||0==this.player.oilLeft||this.player.coalLeft+this.player.oilLeft==e.cost?(this.player.resourcesUsed=Array(Math.min(e.cost,this.player.coalLeft)).fill(ke.Coal).concat(Array(e.cost-Math.min(e.cost,this.player.coalLeft)).fill(ke.Oil)),this.$emit("powerPlantClick",e)):(this.powerPlantClicked=e,this.player.resourcesUsed=Array(e.cost).fill(null)):this.$emit("powerPlantClick",e)}},{key:"canClickResources",get:function(){return this.player.availableMoves&&this.player.availableMoves["DiscardResources"]||this.player.resourcesUsed.some((function(e){return null==e}))}},{key:"clickResource",value:function(e){if(this.player.availableMoves&&this.player.availableMoves["DiscardResources"])this.$emit("discardResource",e);else if(this.player.resourcesUsed.some((function(e){return null==e}))){var n=this.player.resourcesUsed.findIndex((function(e){return null==e}));this.player.resourcesUsed[n]=e,"coal"==e?this.player.coalLeft--:"oil"==e&&this.player.oilLeft--,this.player.resourcesUsed.some((function(e){return null==e}))||this.$emit("powerPlantClick",this.powerPlantClicked)}}}]),t}(c.a);z([ye()],li.prototype,"color",void 0),z([ye()],li.prototype,"avatar",void 0),z([ye()],li.prototype,"player",void 0),z([ye()],li.prototype,"isCurrentPlayer",void 0),z([ye()],li.prototype,"owner",void 0),z([ye()],li.prototype,"ended",void 0),z([ye()],li.prototype,"isPlayer",void 0),z([ye()],li.prototype,"ranking",void 0),z([ye()],li.prototype,"showMoney",void 0),z([ye()],li.prototype,"showBid",void 0),z([ye()],li.prototype,"phase",void 0),z([ye()],li.prototype,"isAustralia",void 0),z([ce()],li.prototype,"preferences",void 0),li=z([ie({components:{Coal:mo,Oil:Ho,Garbage:Po,Uranium:Zo,Card:Fe}})],li);var di=li,fi=di,hi=Ge(fi,si,ci,!1,null,null,null),pi=hi.exports,gi=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"calculator"},[t("rect",{attrs:{width:"125",height:"50",rx:"4"}}),t("rect",{attrs:{x:"10",y:"10",width:"30",height:"30",fill:"lime",rx:"2"}}),t("text",{staticClass:"visor",attrs:{x:"25",y:"25",fill:"black","text-anchor":"middle"}},[e._v(e._s(e.value))]),t("g",{style:e.value<e.maxValue?"cursor: pointer":"",on:{click:function(n){return e.add()}}},[t("rect",{attrs:{x:"48",y:"7",width:"24",height:"15",fill:"gray",stroke:"gray",rx:"2"}}),t("path",{attrs:{d:"M52,17 l8,-6 l8,6",fill:"none",stroke:"white","stroke-width":"3"}})]),t("g",{style:e.value>e.minValue?"cursor: pointer":"",on:{click:function(n){return e.sub()}}},[t("rect",{attrs:{x:"48",y:"28",width:"24",height:"15",fill:"gray",stroke:"gray",rx:"2"}}),t("path",{attrs:{d:"M52,32 l8,6 l8,-6",fill:"none",stroke:"white","stroke-width":"3"}})]),t("g",{staticStyle:{cursor:"pointer"},on:{click:function(n){return e.bid()}}},[t("rect",{staticClass:"button",attrs:{x:"80",y:"7",width:"36",height:"36",fill:"gray",rx:"2"}}),t("text",{attrs:{x:"97",y:"25",fill:"white","text-anchor":"middle"}},[e._v("OK")])])])},yi=[],mi=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"minValue",void 0),m(B(e),"maxValue",void 0),m(B(e),"value",0),e}return C(t,[{key:"onMinValueChanged",value:function(){this.value=Math.max(this.value,this.minValue)}},{key:"add",value:function(){this.value=Math.min(this.maxValue,this.value+1)}},{key:"sub",value:function(){this.value=Math.max(this.minValue,this.value-1)}},{key:"bid",value:function(){this.$emit("bid",this.value)}}]),t}(c.a);z([ye()],mi.prototype,"minValue",void 0),z([ye()],mi.prototype,"maxValue",void 0),z([me("minValue")],mi.prototype,"onMinValueChanged",null),mi=z([ie({created:function(){this.value=this.minValue}})],mi);var vi=mi,bi=vi,wi=(t("85cf"),Ge(bi,gi,yi,!1,null,null,null)),xi=wi.exports,ki=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[t("text",{attrs:{x:"165",y:"14","font-weight":"600",fill:"black"}},[e._v("Actual Market:")]),e._l(e.actualMarketCards,(function(n,r){return[t("Card",{key:n.id,attrs:{targetState:{x:n.x,y:n.y},powerPlant:n.powerPlant,canClick:e.chooseablePowerPlants&&e.chooseablePowerPlants.includes(n.powerPlant.number),hasDiscount:e.plantDiscountActive&&0==r},on:{click:function(t){return e.choosePowerPlant(n.powerPlant)}}})]})),e.futureMarketCards.length>0?[t("text",{attrs:{x:"165",y:"80","font-weight":"600",fill:"black"}},[e._v("Future Market:")]),e._l(e.futureMarketCards,(function(e){return[t("Card",{key:e.id,attrs:{targetState:{x:e.x,y:e.y},powerPlant:e.powerPlant}})]}))]:e._e(),e.chosenPowerPlant?[t("text",{attrs:{x:e.actualMarketWidth,y:"14","font-weight":"600",fill:"black"}},[e._v("Current Auction:")]),t("Card",{key:e.chosenPowerPlant.id,attrs:{targetState:{x:e.chosenPowerPlant.x,y:e.chosenPowerPlant.y},powerPlant:e.chosenPowerPlant.powerPlant}}),e.canBid?t("Calculator",{key:"calc"+e.chosenPowerPlant.powerPlant.number,attrs:{transform:"translate("+e.actualMarketWidth+", 80)",minValue:e.minBid,maxValue:e.maxBid},on:{bid:function(n){return e.bid(n)}}}):e._e()]:e._e(),e.preferences.disableHelp?e._e():[e.canChoose?t("g",[e.futureMarketCards.length>0?t("rect",{attrs:{x:"160",y:"5",width:65*e.actualMarketCards.length+5,height:"65",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}}):t("rect",{attrs:{x:"160",y:"5",width:e.actualMarketHighlightWidth,height:"120",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}})]):e._e()]],2)},Mi=[],Pi=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"cardsLeft",void 0),m(B(e),"nextCardWeak",void 0),m(B(e),"plantDiscountActive",void 0),m(B(e),"canBid",void 0),m(B(e),"canChoose",void 0),m(B(e),"chooseablePowerPlants",void 0),m(B(e),"minBid",void 0),m(B(e),"maxBid",void 0),m(B(e),"preferences",void 0),m(B(e),"actualMarketCards",[]),m(B(e),"futureMarketCards",[]),m(B(e),"chosenPowerPlant",null),m(B(e),"actualMarketWidth",430),m(B(e),"actualMarketHighlightWidth",200),e}return C(t,[{key:"createPieces",value:function(e){var n,t=this;this.actualMarketWidth=null!==(n=e.map.actualMarketWidth)&&void 0!==n?n:430,this.actualMarketCards=[];var r=e.actualMarket.length>6?4:3;this.actualMarketHighlightWidth=65*Math.min(e.actualMarket.length,r)+5,e.actualMarket.forEach((function(n,o){var a,i;e.futureMarket.length>0?n.number!=(null===(a=e.chosenPowerPlant)||void 0===a?void 0:a.number)&&t.actualMarketCards.push({id:"actual_"+o,x:165+65*o,y:24,powerPlant:n}):n.number!=(null===(i=e.chosenPowerPlant)||void 0===i?void 0:i.number)&&t.actualMarketCards.push({id:"actual_"+o,x:165+o%r*65,y:24+56*Math.floor(o/r),powerPlant:n})})),this.futureMarketCards=[],e.futureMarket.forEach((function(n,r){var o;n.number!=(null===(o=e.chosenPowerPlant)||void 0===o?void 0:o.number)&&t.futureMarketCards.push({id:"future_"+r,x:165+r%4*65,y:90+50*Math.floor(r/4),powerPlant:n})})),e.chosenPowerPlant?this.chosenPowerPlant={id:"chosen",x:this.actualMarketWidth+30,y:30,powerPlant:e.chosenPowerPlant}:this.chosenPowerPlant=null}},{key:"choosePowerPlant",value:function(e){this.$emit("choosePowerPlant",e)}},{key:"bid",value:function(e){this.$emit("bid",e)}}]),t}(c.a);z([ye()],Pi.prototype,"cardsLeft",void 0),z([ye()],Pi.prototype,"nextCardWeak",void 0),z([ye()],Pi.prototype,"plantDiscountActive",void 0),z([ye()],Pi.prototype,"canBid",void 0),z([ye()],Pi.prototype,"canChoose",void 0),z([ye()],Pi.prototype,"chooseablePowerPlants",void 0),z([ye()],Pi.prototype,"minBid",void 0),z([ye()],Pi.prototype,"maxBid",void 0),z([ce()],Pi.prototype,"preferences",void 0),Pi=z([ie({components:{Card:Fe,Calculator:xi}})],Pi);var _i=Pi,Si=_i,Ci=Ge(Si,ki,Mi,!1,null,null,null),Bi=Ci.exports,Li=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[t("rect",{attrs:{x:"10",y:"10",width:"185",height:"40",rx:"3",fill:"goldenrod"}}),e._l(6,(function(n){return[t("rect",{key:"playerOrder"+n,attrs:{x:15+30*(n-1),y:"15",width:"24",height:"30",rx:"2",fill:"darkgoldenrod"}}),t("text",{key:"playerOrderText"+n,staticStyle:{"font-size":"32px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:27+30*(n-1),y:"30",fill:"gold"}},[e._v(" "+e._s(n)+" ")])]})),e._l(e.houses,(function(e){return[t("House",{key:e.id,attrs:{pieceId:e.id,targetState:{x:e.x,y:e.y},owner:e.owner,ownerName:e.ownerName,color:e.color}})]}))],2)},Ri=[],Ai=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"playerColors",void 0),m(B(e),"houses",[]),e}return C(t,[{key:"createPieces",value:function(e){var n=this;this.houses=[],e.playerOrder.forEach((function(t,r){n.houses.push({id:t+"_order",x:20+30*r,y:22,color:n.playerColors[t],owner:t,ownerName:e.players[t].name})}))}}]),t}(c.a);z([ye()],Ai.prototype,"playerColors",void 0),Ai=z([ie({components:{House:Ao}})],Ai);var Oi=Ai,ji=Oi,Ni=Ge(ji,Li,Ri,!1,null,null,null),Di=Ni.exports,Ti=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[t("rect",{attrs:{width:"730",height:"50",x:"10",y:"10",rx:"3",fill:"goldenrod"}}),e._l(21,(function(n){return[t("rect",{key:"playerCityCount"+n,attrs:{width:"28",height:"38",x:46+33*(n-1),y:"16",rx:"2",fill:"darkgoldenrod",stroke:n==e.citiesToStep2||n==e.citiesToEndGame?"#916a08":"darkgoldenrod","stroke-width":"2px"}}),t("text",{key:"playerCityCountText"+n,staticStyle:{"font-size":"24px","font-family":"monospace"},attrs:{"text-anchor":"middle","letter-spacing":"-2",x:59+33*(n-1),y:"35",fill:"gold"}},[e._v(" "+e._s(n)+" ")])]})),e._l(e.houses,(function(e){return[t("House",{key:e.id,attrs:{pieceId:e.id,targetState:{x:e.x,y:e.y},owner:e.owner,ownerName:e.ownerName,color:e.color}})]}))],2)},zi=[],Gi=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"citiesToStep2",void 0),m(B(e),"citiesToEndGame",void 0),m(B(e),"playerColors",void 0),m(B(e),"houses",[]),e}return C(t,[{key:"createPieces",value:function(e){var n=this;this.houses=[];for(var t=[],r=0;r<22;r++)t[r]=[];e.players.forEach((function(e,n){return t[e.cities.length].push(n)})),e.players.forEach((function(e,r){var o=(1==t[e.cities.length].length?23:20)+33*e.cities.length;o+=t[e.cities.length].indexOf(r)%2*6,n.houses.push({id:r+"_cityCount",x:o,y:15+30*t[e.cities.length].indexOf(r)/t[e.cities.length].length,color:n.playerColors[r],owner:r})}))}}]),t}(c.a);z([ye()],Gi.prototype,"citiesToStep2",void 0),z([ye()],Gi.prototype,"citiesToEndGame",void 0),z([ye()],Gi.prototype,"playerColors",void 0),Gi=z([ie({components:{House:Ao}})],Gi);var Ei=Gi,Ii=Ei,Ui=Ge(Ii,Ti,zi,!1,null,null,null),Ki=Ui.exports,Yi=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{on:{click:e.onPickCoord}},[e.devBackdrop?t("image",{attrs:{href:e.devBackdrop.src,x:"0",y:"0",width:e.devBackdrop.width,height:e.devBackdrop.height,opacity:null!=e.devBackdrop.opacity?e.devBackdrop.opacity:.5}}):e._e(),e._l(e.cities,(function(n){return[null==n.connectionCost?t("circle",{key:n.name+"_region",attrs:{r:"25",cx:n.x,cy:n.y,fill:n.region,stroke:"black"}},[t("title",[e._v(e._s(n.name))])]):e._e(),null==n.connectionCost?t("circle",{key:n.name+"_circle",attrs:{r:"20",cx:n.x,cy:n.y,fill:"gray",stroke:"black"}},[t("title",[e._v(e._s(n.name))])]):e._e(),n.singleOccupancy?t("g",{key:n.name+"_flag"},[t("line",{attrs:{x1:n.x+12,y1:n.y-12,x2:n.x+12,y2:n.y-32,stroke:"black","stroke-width":"1.5"}}),t("polygon",{attrs:{points:n.x+12+","+(n.y-32)+" "+(n.x+26)+","+(n.y-28)+" "+(n.x+12)+","+(n.y-24),fill:"red",stroke:"black","stroke-width":"1"}}),t("title",[e._v(e._s(n.name)+" — cross-border space (1 house max, 30 Elektro total cost)")])]):e._e()]})),e._l(e.connections,(function(n){return[t("line",{key:n.nodes[0]+"_"+n.nodes[1]+"_line1",attrs:{x1:e.getX1(n),y1:e.getY1(n),x2:e.getX2(n),y2:e.getY2(n),"stroke-width":"10",stroke:"black"}}),t("line",{key:n.nodes[0]+"_"+n.nodes[1]+"_line2",attrs:{x1:e.getX1(n),y1:e.getY1(n),x2:e.getX2(n),y2:e.getY2(n),"stroke-width":"9",stroke:"gray"}})]})),e._l(e.cities,(function(n){return[null!=n.connectionCost&&n.slotCosts&&n.slotCosts.length>=2?t("g",{key:n.name+"_tile"},[t("rect",{class:[{canClick:e.canBuild(n)||e.canPickRegion(n)}],attrs:{x:n.x-23,y:n.y-23,width:"46",height:"46",rx:"7",fill:"gray",stroke:n.region,"stroke-width":"4",transform:"rotate(45, "+n.x+", "+n.y+")"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name)+" — connect for "+e._s(n.connectionCost)+" (entry) + house")])]),e._l(n.slotCosts,(function(r,o){return[t("rect",{key:n.name+"_slot"+o,attrs:{x:n.x+e.nodeSlotPos(o).dx-6.5,y:n.y+e.nodeSlotPos(o).dy-6.5,width:"13",height:"13",rx:"1",fill:"gray",stroke:"black","stroke-width":"1",transform:"rotate(45, "+(n.x+e.nodeSlotPos(o).dx)+", "+(n.y+e.nodeSlotPos(o).dy)+")"}}),t("text",{key:n.name+"_slotlbl"+o,attrs:{x:n.x+e.nodeSlotPos(o).dx,y:n.y+e.nodeSlotPos(o).dy,"font-size":"10","text-anchor":"middle","dominant-baseline":"central",fill:"black",transform:e.mapRotation?"rotate("+-e.mapRotation+", "+(n.x+e.nodeSlotPos(o).dx)+", "+(n.y+e.nodeSlotPos(o).dy)+")":void 0}},[e._v(" "+e._s(r)+" ")])]}))],2):e._e()]})),e._l(e.cities,(function(n){return[null!=n.connectionCost&&n.slotCosts&&1===n.slotCosts.length?t("g",{key:n.name+"_mtile"},[t("rect",{class:[{canClick:e.canBuild(n)}],attrs:{x:n.x-13,y:n.y-13,width:"26",height:"26",rx:"5",fill:e.isBlocked(n)?"#555555":"white","fill-opacity":e.isBlocked(n)?.88:.82,stroke:"black","stroke-width":"1.5"},on:{click:function(t){e.canBuild(n)&&e.build(n)}}},[t("title",[e._v(" "+e._s(n.name)),e.isBlocked(n)?[e._v(" — blocked for this player count (transit only)")]:e.buildCostLabel(n)?[e._v(e._s(e.buildCostLabel(n)))]:[e._v(" — build for "+e._s(n.slotCosts[0])+" (+ flat 5 per transited space)")]],2)]),t("text",{attrs:{x:n.x,y:n.y,"font-size":"17","font-weight":"bold","text-anchor":"middle","dominant-baseline":"central",fill:e.isBlocked(n)?"#dddddd":"black"}},[e._v(" "+e._s(n.slotCosts[0])+" ")])]):e._e()]})),e._l(e.cities,(function(n){return[null==n.connectionCost?t("circle",{key:n.name+"_circle2",class:[{canClick:e.canBuild(n)||e.canPickRegion(n)}],attrs:{r:"20",cx:n.x,cy:n.y,fill:"gray"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name))])]):e._e()]})),e._l(e.connections,(function(n){return[n.cost>0?t("circle",{key:n.nodes[0]+"_"+n.nodes[1]+"_border",attrs:{stroke:"black",r:10+10*n.cost/28,cx:(e.getX1(n)+e.getX2(n))/2,cy:(e.getY1(n)+e.getY2(n))/2,fill:n.cost>15?"gold":n.cost>10?"lightgray":"tan"}}):e._e(),n.cost>0?t("circle",{key:n.nodes[0]+"_"+n.nodes[1]+"_circle",attrs:{r:6+10*n.cost/28,cx:(e.getX1(n)+e.getX2(n))/2,cy:(e.getY1(n)+e.getY2(n))/2,fill:"gray",stroke:"black"}}):e._e(),n.cost>0?t("text",{key:n.nodes[0]+"_"+n.nodes[1]+"_text",style:"font-size: "+(12+6*n.cost/28)+"px",attrs:{"text-anchor":"middle",fill:"black",x:(e.getX1(n)+e.getX2(n))/2,y:(e.getY1(n)+e.getY2(n))/2,transform:e.mapRotation?"rotate("+-e.mapRotation+", "+(e.getX1(n)+e.getX2(n))/2+", "+(e.getY1(n)+e.getY2(n))/2+")":void 0}},[e._v(" "+e._s(n.cost)+" ")]):e._e()]})),e._l(e.houses,(function(e){return[t("House",{key:e.id,attrs:{pieceId:e.id,targetState:{x:e.x,y:e.y},owner:e.owner,ownerName:e.ownerName,color:e.color,scale:e.scale}})]})),e._l(e.cities,(function(n){return[null!=n.connectionCost&&n.slotCosts&&n.slotCosts.length>=2?t("g",{key:n.name+"_cc"},[t("circle",{attrs:{cx:n.x,cy:n.y+15,r:"11",fill:"goldenrod",stroke:"darkgoldenrod","stroke-width":"2"}}),t("circle",{attrs:{cx:n.x,cy:n.y+15,r:"7.5",fill:"gray",stroke:"darkgoldenrod","stroke-width":"1"}}),t("text",{attrs:{x:n.x,y:n.y+15,"font-size":"11","font-weight":"bold","text-anchor":"middle","dominant-baseline":"central",fill:"black",transform:e.mapRotation?"rotate("+-e.mapRotation+", "+n.x+", "+(n.y+15)+")":void 0}},[e._v(" "+e._s(n.connectionCost)+" ")])]):e._e()]})),e._l(e.cities,(function(n){return[n.slotCosts&&2===n.slotCosts.length&&10===n.slotCosts[0]?[t("line",{key:n.name+"_x1",attrs:{x1:n.x+10,y1:n.y+10,x2:n.x+19,y2:n.y+19,stroke:"black","stroke-width":"3","stroke-linecap":"round"}}),t("line",{key:n.name+"_x2",attrs:{x1:n.x+19,y1:n.y+10,x2:n.x+10,y2:n.y+19,stroke:"black","stroke-width":"3","stroke-linecap":"round"}})]:e._e(),n.slotCosts&&3===n.slotCosts.length&&10===n.slotCosts[0]&&10===n.slotCosts[1]?t("text",{key:n.name+"_10label",attrs:{x:n.x-20,y:n.y+19,"font-size":"17","font-weight":"bold",fill:"black","text-anchor":"middle",transform:e.mapRotation?"rotate("+-e.mapRotation+", "+(n.x-20)+", "+(n.y+19)+")":void 0}},[e._v("10")]):e._e(),n.slotCosts&&2===n.slotCosts.length&&15===n.slotCosts[0]?[t("line",{key:n.name+"_x1",attrs:{x1:n.x-5,y1:n.y-21,x2:n.x+5,y2:n.y-11,stroke:"black","stroke-width":"3","stroke-linecap":"round"}}),t("line",{key:n.name+"_x2",attrs:{x1:n.x+5,y1:n.y-21,x2:n.x-5,y2:n.y-11,stroke:"black","stroke-width":"3","stroke-linecap":"round"}})]:e._e()]})),e.preferences.disableHelp?e._e():[e._l(e.cities,(function(n){return[e.canBuild(n)?t("circle",{key:n.name+"_circleHelp",class:[{canClick:e.canBuild(n)}],attrs:{r:"18",cx:n.x,cy:n.y,fill:"none",stroke:"blue","stroke-width":"4px"}}):e._e()]}))],e._l(e.cities,(function(n){return[e.canPickRegion(n)?t("circle",{key:n.name+"_pickRegion",staticClass:"canClick",attrs:{r:"18",cx:n.x,cy:n.y,fill:"none",stroke:"gold","stroke-width":"5px"},on:{click:function(t){return e.onCityClick(n)}}}):e._e()]})),e._l(e.cities,(function(n){return[null==n.connectionCost&&(e.canBuild(n)||e.canPickRegion(n))?t("circle",{key:n.name+"_tap",staticClass:"canClick",attrs:{r:e.tapRadius(n),cx:n.x,cy:n.y,fill:"none","pointer-events":"all"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name)+e._s(e.buildCostLabel(n)))])]):e._e(),e.isNodeTile(n)&&(e.canBuild(n)||e.canPickRegion(n))?t("rect",{key:n.name+"_tapTile",staticClass:"canClick",attrs:{x:n.x-23,y:n.y-23,width:"46",height:"46",rx:"7",fill:"none","pointer-events":"all",transform:"rotate(45, "+n.x+", "+n.y+")"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name)+e._s(e.buildCostLabel(n)))])]):e._e()]})),e._l(e.noUraniumMarkers,(function(e){return t("g",{key:"noUranium_"+e.region,attrs:{transform:"translate("+e.x+", "+e.y+")"}},[t("rect",{attrs:{x:"-15",y:"-11",width:"30",height:"22",rx:"3",fill:"#4a4a4a",stroke:"black","stroke-width":"1.5"}}),t("g",{attrs:{transform:"translate(-9, -7) scale(1.2)"}},[t("path",{attrs:{d:"M1,2 l4,-2 l6,0 l4,2 l0,11 l-4,2 l-6,0 l-4,-2Z",fill:"#ef3b3b"}})]),t("circle",{attrs:{cx:"0",cy:"0",r:"20",fill:"none",stroke:e.region,"stroke-width":"4.5"}}),t("line",{attrs:{x1:"-14.1",y1:"-14.1",x2:"14.1",y2:"14.1",stroke:e.region,"stroke-width":"4.5","stroke-linecap":"round"}})])}))],2)},Hi=[],Wi=(t("5efb"),20),Vi=25,Fi=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"polygons",void 0),m(B(e),"cities",void 0),m(B(e),"connections",void 0),m(B(e),"playerColors",void 0),m(B(e),"buildableCities",void 0),m(B(e),"buildPrices",void 0),m(B(e),"blockedCities",void 0),m(B(e),"pickableRegions",void 0),m(B(e),"noUraniumRegions",void 0),m(B(e),"devBackdrop",void 0),m(B(e),"mapRotation",void 0),m(B(e),"preferences",void 0),m(B(e),"houses",[]),e}return C(t,[{key:"createPieces",value:function(e){var n=this;this.houses=[],e.players.forEach((function(t,r){t.cities.forEach((function(t){var o,a,i,s,c,u=e.map.cities.find((function(e){return e.name==t.name})),l=null!=u.connectionCost,d=l&&1===(null===(o=u.slotCosts)||void 0===o?void 0:o.length),f=2===(null===(a=u.slotCosts)||void 0===a?void 0:a.length)&&15===u.slotCosts[0];if(d)c=.085,i=-199*c,s=-230*c;else if(l){var h=n.nodeSlotPos(t.position);i=h.dx-7,s=h.dy-8}else f?0==t.position?(i=-15,s=-4):(i=1,s=-4):0==t.position?(i=-6,s=-18):1==t.position?(i=-15,s=-4):(i=1,s=-4);n.houses.push({id:r+"_"+t.name,x:u.x+i,y:u.y+s,color:n.playerColors[r],owner:r,scale:c})}))}))}},{key:"getX1",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[0]}));return n.x}},{key:"getY1",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[0]}));return n.y}},{key:"getX2",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[1]}));return n.x}},{key:"getY2",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[1]}));return n.y}},{key:"nodeSlotPos",value:function(e){return 0===e?{dx:0,dy:-15}:1===e?{dx:-15,dy:0}:{dx:15,dy:0}}},{key:"noUraniumMarkers",get:function(){var e;if(!this.noUraniumRegions||!this.cities||0===this.cities.length)return[];var n,t=this.cities,r=t.map((function(e){return{x:e.x,y:e.y}})),o=w(null!==(e=this.connections)&&void 0!==e?e:[]);try{var a=function(){var e=n.value;if(!e.cost||e.cost<=0)return"continue";var o=t.find((function(n){return n.name===e.nodes[0]})),a=t.find((function(n){return n.name===e.nodes[1]}));o&&a&&r.push({x:(o.x+a.x)/2,y:(o.y+a.y)/2})};for(o.s();!(n=o.n()).done;)a()}catch(d){o.e(d)}finally{o.f()}var i,s=function(e,n,t){var r,o=1/0,a=w(t);try{for(a.s();!(r=a.n()).done;){var i=r.value,s=Math.hypot(i.x-e,i.y-n);s<o&&(o=s)}}catch(d){a.e(d)}finally{a.f()}return o},c=[],u=w(this.noUraniumRegions);try{var l=function(){var e,n=i.value,o=t.filter((function(e){return e.region===n}));if(0===o.length)return"continue";for(var a=o.map((function(e){return e.x})),u=o.map((function(e){return e.y})),l={x:a.reduce((function(e,n){return e+n}),0)/a.length,y:u.reduce((function(e,n){return e+n}),0)/u.length},f=44,h=void 0,p=void 0,g=10,y=Math.min.apply(Math,P(a));y<=Math.max.apply(Math,P(a));y+=g)for(var m=Math.min.apply(Math,P(u));m<=Math.max.apply(Math,P(u));m+=g){var v,b=o[0],x=1/0,k=w(t);try{for(k.s();!(v=k.n()).done;){var M=v.value,_=Math.hypot(M.x-y,M.y-m);_<x&&(x=_,b=M)}}catch(d){k.e(d)}finally{k.f()}if(b.region===n){var S=s(y,m,r);if((!p||S>p.clearance)&&(p={x:y,y:m,clearance:S}),S>=f){var C=Math.hypot(y-l.x,m-l.y);(!h||C<h.distToCentroid)&&(h={x:y,y:m,distToCentroid:C})}}}var B=null!==(e=h)&&void 0!==e?e:p;c.push({region:n,x:B?B.x:l.x,y:B?B.y:l.y})};for(u.s();!(i=u.n()).done;)l()}catch(d){u.e(d)}finally{u.f()}return c}},{key:"nearestCityDistance",get:function(){var e,n,t={},r=null!==(e=this.cities)&&void 0!==e?e:[],o=w(r);try{for(o.s();!(n=o.n()).done;){var a,i=n.value,s=1/0,c=w(r);try{for(c.s();!(a=c.n()).done;){var u=a.value;if(u!==i){var l=Math.hypot(u.x-i.x,u.y-i.y);l<s&&(s=l)}}}catch(d){c.e(d)}finally{c.f()}t[i.name]=s}}catch(d){o.e(d)}finally{o.f()}return t}},{key:"tapRadius",value:function(e){var n,t=(null!==(n=this.nearestCityDistance[e.name])&&void 0!==n?n:1/0)/2;return Math.max(Wi,Math.min(Vi,t))}},{key:"isNodeTile",value:function(e){return null!=e.connectionCost&&!!e.slotCosts&&e.slotCosts.length>=2}},{key:"canBuild",value:function(e){return!!this.buildableCities.find((function(n){return n==e.name}))}},{key:"buildCostLabel",value:function(e){var n=this.buildPrices&&this.buildPrices[e.name];return n?null!=n.price&&null!=n.jumpPrice?" — build for ".concat(n.price,", or ").concat(n.jumpPrice," using your free jump"):null!=n.price?" — build for ".concat(n.price):null!=n.jumpPrice?" — build for ".concat(n.jumpPrice,", using your free jump"):"":""}},{key:"isBlocked",value:function(e){return!!this.blockedCities&&this.blockedCities.includes(e.name)}},{key:"build",value:function(e){this.$emit("build",e)}},{key:"canPickRegion",value:function(e){return!!this.pickableRegions&&this.pickableRegions.includes(e.region)}},{key:"pickRegion",value:function(e){this.$emit("pickRegion",e.region)}},{key:"onCityClick",value:function(e){this.canBuild(e)?this.build(e):this.canPickRegion(e)&&this.pickRegion(e)}},{key:"onPickCoord",value:function(e){if(this.devBackdrop){var n=e.currentTarget,t=n.getScreenCTM();if(t){var r=new DOMPoint(e.clientX,e.clientY).matrixTransform(t.inverse());console.log("{ name: Cities.TODO, region: Regions.TODO, x: ".concat(Math.round(r.x),", y: ").concat(Math.round(r.y)," },"))}}}}]),t}(c.a);z([ye()],Fi.prototype,"polygons",void 0),z([ye()],Fi.prototype,"cities",void 0),z([ye()],Fi.prototype,"connections",void 0),z([ye()],Fi.prototype,"playerColors",void 0),z([ye()],Fi.prototype,"buildableCities",void 0),z([ye()],Fi.prototype,"buildPrices",void 0),z([ye()],Fi.prototype,"blockedCities",void 0),z([ye()],Fi.prototype,"pickableRegions",void 0),z([ye()],Fi.prototype,"noUraniumRegions",void 0),z([ye()],Fi.prototype,"devBackdrop",void 0),z([ye({default:0})],Fi.prototype,"mapRotation",void 0),z([ce()],Fi.prototype,"preferences",void 0),Fi=z([ie({components:{House:Ao}})],Fi);var Ji=Fi,$i=Ji,qi=Ge($i,Yi,Hi,!1,null,null,null),Zi=qi.exports,Qi=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[e._l(e.blocks,(function(n,r){return[t("g",{key:"block"+r,attrs:{transform:"translate(0, "+n.y+")"}},[n.title?t("text",{staticStyle:{"font-size":"26px"},attrs:{x:"4",y:"16","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.title)+" ")]):e._e(),n.restock?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:e.BOX_W-4,y:"16","text-anchor":"end","font-weight":"600",fill:"#3a2c08"}},[e._v(" Restock "+e._s(n.restock)+" ")]):e._e(),t("text",{staticStyle:{"font-size":"24px","letter-spacing":"1px"},attrs:{x:"4",y:"42",fill:"#3a2c08"}},[e._v("CURRENT PRICE")]),t("text",{staticStyle:{"font-size":"24px","letter-spacing":"1px"},attrs:{x:e.CUBE_BAND_CENTRE,y:"42","text-anchor":"middle",fill:"#3a2c08"}},[e._v(" AT THIS PRICE ")]),t("text",{staticStyle:{"font-size":"24px","letter-spacing":"1px"},attrs:{x:e.BOX_W-4,y:"42","text-anchor":"end",fill:"#3a2c08"}},[e._v(" CUBES LEFT ")]),e._l(n.rows,(function(n,r){return t("g",{key:"row"+r,class:[{canClick:n.buyable}],attrs:{transform:"translate(0, "+(e.HEAD_H+r*(e.BOX_H+e.BOX_GAP))+")"},on:{click:function(t){n.buyable&&e.$emit("buyResource",n.move)}}},[t("rect",{attrs:{width:e.BOX_W,height:e.BOX_H,rx:"6",fill:n.cubes>0?"darkgoldenrod":"#9c8236",stroke:n.buyable?"#1e63d0":"#6b5312","stroke-width":n.buyable?5:2,opacity:n.cubes>0?1:.55}}),n.buyable?t("rect",{attrs:{width:e.BOX_W,height:e.BOX_H,rx:"6",fill:"transparent","pointer-events":"all"}}):e._e(),t("text",{staticStyle:{"font-size":"22px","letter-spacing":"1px"},attrs:{x:"18",y:"26","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.label)+" ")]),null!=n.price?[t("text",{staticStyle:{"font-size":"26px"},attrs:{x:"18",y:"80","font-weight":"700",fill:"black"}},[e._v("$")]),t("text",{staticStyle:{"font-size":"46px"},attrs:{x:"40",y:"84","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.price)+" ")]),null!=n.next?t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"132",y:"80",fill:"#3a2c08"}},[e._v(" then $"+e._s(n.next)+" ")]):e._e()]:t("text",{staticStyle:{"font-size":"28px"},attrs:{x:"18",y:"78","font-weight":"700",fill:"black"}},[e._v("out")]),e._l(n.atPrice,(function(r){return t("circle",{key:"cube"+r,attrs:{cx:e.cubeX(n.atPrice,r),cy:58,r:"17",fill:n.color,stroke:"black","stroke-width":"2"}})})),n.flat&&n.cubes>0?t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"300",y:"66",fill:"#3a2c08"}},[e._v(" every cube at this price ")]):e._e(),t("text",{staticStyle:{"font-size":"40px"},attrs:{x:e.BOX_W-18,y:"68","text-anchor":"end","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.cubes)+" ")]),t("text",{staticStyle:{"font-size":"20px"},attrs:{x:e.BOX_W-18,y:"90","text-anchor":"end",fill:"#3a2c08"}},[e._v("LEFT")]),n.capped?t("text",{staticStyle:{"font-size":"20px"},attrs:{x:"130",y:"96",fill:"#7a1d12","font-weight":"600"}},[e._v(" step "+e._s(e.step)+" sells to $"+e._s(e.maxPrice)+" ")]):e._e(),e.canUnbuy(n)?t("g",{staticClass:"canClick",on:{click:function(t){return t.stopPropagation(),e.$emit("unbuyResource",n.move)}}},[t("rect",{attrs:{x:e.chipBox(n).hx,y:e.chipBox(n).hy,width:e.chipBox(n).hw,height:e.chipBox(n).hh,fill:"transparent","pointer-events":"all"}}),t("rect",{attrs:{x:e.chipBox(n).x,y:e.chipBox(n).y,width:e.chipBox(n).w,height:e.chipBox(n).h,rx:"10",fill:"#f0e6c8",stroke:"#6b5312","stroke-width":"2"}}),t("text",{style:"font-size: "+e.chipBox(n).fontSize+"px",attrs:{x:e.chipBox(n).x+e.chipBox(n).w/2,y:e.chipBox(n).y+e.chipBox(n).h/2+8,"text-anchor":"middle","font-weight":"700",fill:"#3a2c08"}},[e._v(" − take back ")])]):e._e(),t("title",[e._v(e._s(n.title))])],2)}))],2)]}))],2)},Xi=[],es={coal:"#6b2028",oil:"#15130f",garbage:"#f2d024",uranium:"#dc2626"},ns={coal:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],oil:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],garbage:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],uranium:[1,2,3,4,5,6,7,8,10,12,14,16]},ts=8;function rs(e){return e[0].toUpperCase()+e.slice(1)}function os(e){return void 0!==e.coalPricesNorth}function as(e){var n=e.map.maxPriceAvailable;return n?n[e.step-1]:16}function is(e,n,t){var r=e,o=r[n+"Prices"+(t?"North":"")];return void 0!==o?o:ns[n]}function ss(e,n,t){var r=e,o=r[n+"Market"+(t?"North":"")];return void 0===o?0:o}function cs(e,n){return e.resource===n.resource&&e.side===n.side&&!!e.fromStorage===!!n.fromStorage}function us(e,n,t){if("garbage"!==n||"Central Europe"!==e.map.name||void 0===t)return 0;var r=e.players[t];return r&&r.cities.some((function(e){return"Wien"===e.name}))?1:0}function ls(e,n,t,r){var o=is(e,n,t),a=ss(e,n,t),i=Math.max(0,o.length-a),s=null,c=0,u=null;if(a>0){s=o[i]-(t?0:us(e,n,r.player));for(var l=i;l<o.length&&o[l]===o[i];l++)c++;for(var d=i;d<o.length;d++)if(o[d]!==o[i]){u=o[d]-(t?0:us(e,n,r.player));break}}var f=os(e)?{resource:n,side:t?"north":"south"}:{resource:n};return{label:rs(n),color:es[n],move:f,price:s,next:u,atPrice:c,cubes:a,buyable:!!r.buyable&&r.buyable.some((function(e){return cs(e,f)})),capped:null!==s&&s>as(e),flat:!1,title:a>0?"".concat(rs(n)," — $").concat(s," each, ").concat(c," at that price, ").concat(a," left"):"".concat(rs(n)," — market empty")}}function ds(e,n,t,r,o){var a=t?{resource:"coal",fromStorage:!0}:{resource:"coal"};return{label:r,color:es.coal,move:a,price:n>0?ts:null,next:null,atPrice:0,cubes:n,buyable:!!o.buyable&&o.buyable.some((function(e){return cs(e,a)})),capped:n>0&&ts>as(e),flat:!0,title:"".concat(r," — $").concat(ts," each, ").concat(n," left")}}function fs(e){return"Australia"!==e.map.name&&"Bremen"!==e.map.name}function hs(e,n,t){var r=[];return!n&&t.isUsaRecharged&&0===e.coalMarket&&e.coalSupply>0?r.push(ds(e,e.coalSupply,!1,"Coal (from supply)",t)):r.push(ls(e,"coal",n,t)),n||void 0===e.coalStorage||r.push(ds(e,e.coalStorage,!0,"Coal (from storage)",t)),r.push(ls(e,"oil",n,t)),r.push(ls(e,"garbage",n,t)),!n&&fs(e)&&r.push(ls(e,"uranium",n,t)),r}function ps(e,n){if(e){var t=n.filter((function(e){return!e.flat})).map((function(n,t){return e[t]}));return t.every((function(e){return void 0===e}))?void 0:t.filter((function(e){return void 0!==e})).join(" / ")}}function gs(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=[];if(os(e)){var r=hs(e,!0,n);t.push({title:"North Market",restock:ps(n.resupplyNorth,r),rows:r})}var o=hs(e,!1,n);return t.push({title:os(e)?"South Market":void 0,restock:ps(n.resupply,o),rows:o}),t}var ys=700,ms=104,vs=8,bs=62,ws=30,xs=44,ks=420,Ms=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"gameState",void 0),m(B(e),"buyableResources",void 0),m(B(e),"resourceResupply",void 0),m(B(e),"resourceResupplyNorth",void 0),m(B(e),"isUsaRecharged",void 0),m(B(e),"player",void 0),m(B(e),"bufferedBuys",void 0),m(B(e),"BOX_W",ys),m(B(e),"BOX_H",ms),m(B(e),"BOX_GAP",vs),m(B(e),"HEAD_H",bs),m(B(e),"CUBE_BAND_CENTRE",ks),e}return C(t,[{key:"chipBox",value:function(e){var n=e.label.length>8;return n?{x:130,y:36,w:140,h:52,hx:120,hy:32,hw:164,hh:60,fontSize:22}:{x:130,y:6,w:140,h:52,hx:120,hy:2,hw:164,hh:60,fontSize:22}}},{key:"canUnbuy",value:function(e){return!!this.bufferedBuys&&!!this.bufferedBuys[io(e.move)]}},{key:"cubeX",value:function(e,n){return ks-(e-1)*xs/2+(n-1)*xs}},{key:"step",get:function(){return this.gameState.step}},{key:"maxPrice",get:function(){var e=this.gameState.map.maxPriceAvailable;return e?e[this.gameState.step-1]:16}},{key:"blocks",get:function(){var e=0;return gs(this.gameState,{player:this.player,buyable:this.buyableResources,resupply:this.resourceResupply,resupplyNorth:this.resourceResupplyNorth,isUsaRecharged:this.isUsaRecharged}).map((function(n){var t=b(b({},n),{},{y:e});return e+=bs+n.rows.length*(ms+vs)-vs+ws,t}))}}]),t}(c.a);z([ye()],Ms.prototype,"gameState",void 0),z([ye()],Ms.prototype,"buyableResources",void 0),z([ye()],Ms.prototype,"resourceResupply",void 0),z([ye()],Ms.prototype,"resourceResupplyNorth",void 0),z([ye()],Ms.prototype,"isUsaRecharged",void 0),z([ye()],Ms.prototype,"player",void 0),z([ye()],Ms.prototype,"bufferedBuys",void 0),Ms=z([ie],Ms);var Ps=Ms,_s=Ps,Ss=(t("3c12"),Ge(_s,Qi,Xi,!1,null,"a8c53bc0",null)),Cs=Ss.exports,Bs=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[e.isKorea?[e.resourceResupplyNorth?[e.resourceResupplyNorth[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"30",y:"-125","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"20",y:"-125","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]),e.resourceResupplyNorth[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"276",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[0])+" ")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"262",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[0])+" ")]),t("Coal",{attrs:{pieceId:-1,targetState:{x:288,y:-133},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"321",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[1])+" ")]),t("Oil",{attrs:{pieceId:-1,targetState:{x:331,y:-134},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"368",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[2])+" ")]),t("Garbage",{attrs:{pieceId:-1,targetState:{x:382,y:-134},canClick:!1,transparent:!1}})]:e._e(),t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"20",y:"-110","font-weight":"700",fill:"black"}},[e._v("North Market")]),t("rect",{attrs:{width:"760",height:"80",x:"20",y:"-100",rx:"3",fill:"#c89c3a"}}),e._l(8,(function(n){return[t("rect",{key:"north_resources"+n,attrs:{width:"70",height:"70",x:25+85*(n-1),y:"-95",rx:"2",fill:"darkgoldenrod"}}),t("circle",{key:"north_resourcesCircle"+n,attrs:{r:"10",cx:92+85*(n-1),cy:"-92",fill:"yellow"}}),t("text",{key:"north_resourcesText"+n,staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:92+85*(n-1),y:"-92",fill:"darkgoldenrod"}},[e._v(" "+e._s(n)+" ")])]})),e._l(e.coalsNorth,(function(n){return[t("Coal",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("coal",n):e.canBuyResource("coal",n.side,n.fromStorage),transparent:n.transparent,restorable:e.canUnbuy("coal",n),scale:.08},on:{click:function(t){return e.clickResource("coal",n)}}})]})),e._l(e.oilsNorth,(function(n){return[t("Oil",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("oil",n):e.canBuyResource("oil",n.side),transparent:n.transparent,restorable:e.canUnbuy("oil",n)},on:{click:function(t){return e.clickResource("oil",n)}}})]})),e._l(e.garbagesNorth,(function(n){return[t("Garbage",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("garbage",n):e.canBuyResource("garbage",n.side),transparent:n.transparent,restorable:e.canUnbuy("garbage",n)},on:{click:function(t){return e.clickResource("garbage",n)}}})]})),t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"20",y:"35","font-weight":"700",fill:"black"}},[e._v("South Market")])]:e._e(),e.resourceResupply[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"30",y:"20","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"20",y:"20","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]),e.resourceResupply[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"276",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[0])+" ")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"262",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[0])+" ")]),t("Coal",{attrs:{pieceId:-1,targetState:{x:288,y:12},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"321",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[1])+" ")]),t("Oil",{attrs:{pieceId:-1,targetState:{x:331,y:11},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"368",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[2])+" ")]),t("Garbage",{attrs:{pieceId:-1,targetState:{x:382,y:11},canClick:!1,transparent:!1}}),e.isAustraliaMarket||e.isBremenMarket?e._e():[t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"414",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[3])+" ")]),t("Uranium",{attrs:{pieceId:-1,targetState:{x:428,y:12},canClick:!1,transparent:!1}})],e.isIndiaResourceMarket||e.isNinePriceMarket||e.isAustraliaMarket?e._e():t("rect",{attrs:{width:"760",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}),e.isNinePriceMarket?t("rect",{attrs:{width:"780",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}):e._e(),e.isAustraliaMarket?t("rect",{attrs:{width:"870",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}):e._e(),e.isIndiaResourceMarket?t("rect",{attrs:{width:"680",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}):e._e(),e._l(e.isNinePriceMarket?9:e.isAustraliaMarket?10:8,(function(n){return[t("rect",{key:"resources"+n,attrs:{width:"70",height:"70",x:25+85*(n-1),y:"45",rx:"2",fill:"darkgoldenrod"}}),t("circle",{key:"resourcesCircle"+n,attrs:{r:"10",cx:92+85*(n-1),cy:"48",fill:"yellow"}}),t("text",{key:"resourcesText"+n,staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:92+85*(n-1),y:"48",fill:"darkgoldenrod"}},[e._v(" "+e._s(n)+" ")]),e.isIndiaResourceMarket||e.isNinePriceMarket||e.isAustraliaMarket||e.isBremenMarket?e._e():t("g",{key:"lines"+n},[t("line",{attrs:{x1:25+85*(n-1),y1:"68",x2:95+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:25+85*(n-1),y1:"92",x2:95+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:48+85*(n-1),y1:"40",x2:48+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:72+85*(n-1),y1:"40",x2:72+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"68",x2:42+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:58+85*(n-1),y1:"68",x2:58+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:74+85*(n-1),y1:"68",x2:74+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:48+85*(n-1),y1:"92",x2:48+85*(n-1),y2:"120",stroke:"goldenrod"}}),t("line",{attrs:{x1:72+85*(n-1),y1:"92",x2:72+85*(n-1),y2:"120",stroke:"goldenrod"}})]),e.isIndiaResourceMarket?t("g",{key:"lines"+n},[t("line",{attrs:{x1:25+85*(n-1),y1:"68",x2:95+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:25+85*(n-1),y1:"92",x2:95+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"40",x2:42+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:59+85*(n-1),y1:"40",x2:59+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:76+85*(n-1),y1:"40",x2:76+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"68",x2:42+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:58+85*(n-1),y1:"68",x2:58+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:74+85*(n-1),y1:"68",x2:74+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"92",x2:42+85*(n-1),y2:"120",stroke:"goldenrod"}}),t("line",{attrs:{x1:59+85*(n-1),y1:"92",x2:59+85*(n-1),y2:"120",stroke:"goldenrod"}}),t("line",{attrs:{x1:76+85*(n-1),y1:"92",x2:76+85*(n-1),y2:"120",stroke:"goldenrod"}})]):e._e()]})),e.isAustraliaMarket&&e.co2TaxActive?[t("rect",{attrs:{width:"160",height:"70",x:"24",y:"45",rx:"2",fill:"black",opacity:"0.55"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace","font-weight":"700"},attrs:{"text-anchor":"middle",x:"104",y:"84",fill:"white"}},[e._v(" CO₂ closed ")])]:e._e(),e.isIndiaResourceMarket?[t("g",{key:"separators"},[t("line",{attrs:{x1:"275",y1:"40",x2:"275",y2:"140",stroke:"red"}}),t("line",{attrs:{x1:"445",y1:"40",x2:"445",y2:"140",stroke:"red"}}),t("text",{attrs:{x:"220",y:"130",stroke:"red"}},[e._v("Step 1")]),t("text",{attrs:{x:"390",y:"130",stroke:"red"}},[e._v("Step 2")])])]:e._e(),e.isIndiaResourceMarket||e.isNinePriceMarket||e.isAustraliaMarket||e.isBremenMarket?e._e():[t("rect",{attrs:{width:"30",height:"30",x:"705",y:"45",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"732",cy:"48",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"732",y:"48",fill:"darkgoldenrod"}},[e._v(" 10 ")]),t("rect",{attrs:{width:"30",height:"30",x:"745",y:"45",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"772",cy:"48",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"772",y:"48",fill:"darkgoldenrod"}},[e._v(" 12 ")]),t("rect",{attrs:{width:"30",height:"30",x:"705",y:"85",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"732",cy:"88",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"732",y:"88",fill:"darkgoldenrod"}},[e._v(" 14 ")]),t("rect",{attrs:{width:"30",height:"30",x:"745",y:"85",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"772",cy:"88",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"772",y:"88",fill:"darkgoldenrod"}},[e._v(" 16 ")])],e.isUsaRecharged?[t("rect",{attrs:{width:"180",height:"70",x:"795",y:"45",rx:"2",fill:"chocolate",stroke:"sandybrown","stroke-width":"4px"}}),t("circle",{attrs:{r:"10",cx:"973",cy:"45",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"973",y:"45",fill:"darkgoldenrod"}},[e._v(" 8 ")]),t("Coal",{attrs:{pieceId:-1,targetState:{x:858,y:57},canClick:!1,transparent:!0,scale:.2}})]:e._e(),void 0!==e.coalStorage?[t("rect",{attrs:{width:"180",height:"70",x:"795",y:"45",rx:"2",fill:"chocolate",stroke:"sandybrown","stroke-width":"4px"}}),t("circle",{attrs:{r:"10",cx:"973",cy:"45",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"973",y:"45",fill:"darkgoldenrod"}},[e._v(" 8 ")]),t("text",{staticStyle:{"font-size":"11px","font-family":"monospace"},attrs:{"text-anchor":"start",x:"800",y:"42",fill:"black"}},[e._v(" Coal storage ")])]:e._e(),e._l(e.coals,(function(n){return[t("Coal",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("coal",n):e.canBuyResource("coal",n.side,n.fromStorage),transparent:n.transparent,restorable:e.canUnbuy("coal",n),scale:e.isIndiaResourceMarket?.06:.08},on:{click:function(t){return e.clickResource("coal",n)}}})]})),e._l(e.oils,(function(n){return[t("Oil",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("oil",n):e.canBuyResource("oil",n.side),transparent:n.transparent,restorable:e.canUnbuy("oil",n)},on:{click:function(t){return e.clickResource("oil",n)}}})]})),e._l(e.garbages,(function(n){return[t("Garbage",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("garbage",n):e.canBuyResource("garbage",n.side),transparent:n.transparent,restorable:e.canUnbuy("garbage",n),scale:e.isIndiaResourceMarket?.8:1},on:{click:function(t){return e.clickResource("garbage",n)}}})]})),e._l(e.uraniums,(function(n){return[t("Uranium",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("uranium",n):e.canBuyResource("uranium",n.side),transparent:n.transparent,restorable:e.canUnbuy("uranium",n)},on:{click:function(t){return e.clickResource("uranium",n)}}})]})),e.isMiddleEast?[t("rect",{attrs:{width:"80",height:"50",x:"20",y:"70",rx:"2",fill:"gray",stroke:"darkgray","stroke-width":"4px"}}),t("Oil",{attrs:{pieceId:-1,targetState:{x:35,y:80},scale:1.5,canClick:e.availableSurplusOil>0&&e.canBuyResource("oil"),transparent:0==e.availableSurplusOil},on:{click:function(n){return e.buyResource("oil")}}}),t("text",{staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"70",y:"93.5"}},[e._v(" x"+e._s(e.availableSurplusOil)+" ")])]:e._e(),e.preferences.disableHelp?e._e():[!e.isKorea&&e.buyableResources.length>0?t("rect",{attrs:{x:"15",y:"35",width:e.isAustraliaMarket?880:770,height:"90",rx:"2",fill:"none",stroke:"blue","stroke-width":"2px"}}):e._e(),e.isKorea&&e.hasBuyableNorth?t("rect",{attrs:{x:"15",y:"-105",width:"770",height:"90",rx:"2",fill:"none",stroke:"blue","stroke-width":"2px"}}):e._e(),e.isKorea&&e.hasBuyableSouth?t("rect",{attrs:{x:"15",y:"35",width:"770",height:"90",rx:"2",fill:"none",stroke:"blue","stroke-width":"2px"}}):e._e()]],2)},Ls=[],Rs=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"resourceResupply",void 0),m(B(e),"resourceResupplyNorth",void 0),m(B(e),"isUsaRecharged",void 0),m(B(e),"isMiddleEast",void 0),m(B(e),"isIndiaResourceMarket",void 0),m(B(e),"availableSurplusOil",void 0),m(B(e),"buyableResources",void 0),m(B(e),"coalStorage",void 0),m(B(e),"bufferedBuys",void 0),m(B(e),"preferences",void 0),m(B(e),"coals",[]),m(B(e),"oils",[]),m(B(e),"garbages",[]),m(B(e),"uraniums",[]),m(B(e),"isKorea",!1),m(B(e),"coalComesFromSupply",!1),m(B(e),"isNinePriceMarket",!1),m(B(e),"isAustraliaMarket",!1),m(B(e),"isBremenMarket",!1),m(B(e),"co2TaxActive",!1),m(B(e),"coalsNorth",[]),m(B(e),"oilsNorth",[]),m(B(e),"garbagesNorth",[]),e}return C(t,[{key:"buildMainRowPieces",value:function(e,n,t,r){var o,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},i=null!==(o=a.maxPrice)&&void 0!==o?o:8,s=[];e.forEach((function(e,n){if(!(e>i)){var t=s[s.length-1];t&&t.price===e?t.slots++:s.push({price:e,slots:1,firstIdx:n})}}));var c=[],u=64;return s.forEach((function(o){for(var i=60+85*(o.price-1),s=0;s<o.slots;s++){var l=o.firstIdx+s,d=1===o.slots?i:i-u/2+u*(s+.5)/o.slots;c.push({id:"".concat(t,"_").concat(l),x:d,y:r,transparent:l<e.length-n,ghostRank:e.length-n-l,side:a.side})}})),c}},{key:"createPieces",value:function(e){var n,t,r,o,a=this;if(e){this.coalComesFromSupply=!!this.isUsaRecharged&&0===e.coalMarket&&e.coalSupply>0,this.isAustraliaMarket="Australia"===(null===(n=e.map)||void 0===n?void 0:n.name),this.co2TaxActive=this.isAustraliaMarket&&e.step>=3,this.isBremenMarket="Bremen"===(null===(t=e.map)||void 0===t?void 0:t.name);var i,s,c,u,l,d=void 0!==e.coalMarketNorth;if(this.isKorea=d,d){this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48,{side:"south"}),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70,{side:"south"}),this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",94,{side:"south"}),this.uraniums=[];var f=e.uraniumPrices;return f.forEach((function(n,t){var r,o;if(n<=8)r=60+85*(n-1),o=85;else{var i=10===n||14===n?710:750,s=10===n||12===n?52:91;r=i,o=s}a.uraniums.push({id:"uranium_".concat(t),x:r,y:o,transparent:t<f.length-e.uraniumMarket,ghostRank:f.length-e.uraniumMarket-t,side:"south"})})),this.coalsNorth=this.buildMainRowPieces(e.coalPricesNorth,e.coalMarketNorth,"coal_north",-92,{side:"north"}),this.oilsNorth=this.buildMainRowPieces(e.oilPricesNorth,e.oilMarketNorth,"oil_north",-70,{side:"north"}),void(this.garbagesNorth=this.buildMainRowPieces(e.garbagePricesNorth,e.garbageMarketNorth,"garbage_north",-46,{side:"north"}))}if("Europe"===(null===(r=e.map)||void 0===r?void 0:r.name)||"North America"===(null===(o=e.map)||void 0===o?void 0:o.name))return this.isNinePriceMarket=!0,this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48,{maxPrice:9}),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70,{maxPrice:9}),this.uraniums=this.buildMainRowPieces(e.uraniumPrices,e.uraniumMarket,"uranium",92,{maxPrice:9}),void(this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",106,{maxPrice:9}));if(this.isAustraliaMarket)return this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48,{maxPrice:10}),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70,{maxPrice:10}),this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",94,{maxPrice:10}),this.uraniums=[],this.coalsNorth=[],this.oilsNorth=[],void(this.garbagesNorth=[]);if(this.isBremenMarket)return this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70),this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",94),this.uraniums=[],this.coalsNorth=[],this.oilsNorth=[],void(this.garbagesNorth=[]);if(this.isNinePriceMarket=!1,this.coalsNorth=[],this.oilsNorth=[],this.garbagesNorth=[],this.coals=[],"India"==(null===(i=e.map)||void 0===i?void 0:i.name)?Array(24).fill(0).forEach((function(n,t){var r=t;t>=0&&(r+=2),t>=2&&(r+=2),t>=4&&r++,t>=7&&r++,t>=10&&r++,t>=13&&r++,a.coals.push({id:"coal_"+t,x:672-17*r-17*Math.floor(r/4),y:48,transparent:t>=e.coalMarket,ghostRank:t-e.coalMarket+1})})):Array(24).fill(0).forEach((function(n,t){a.coals.push({id:"coal_"+t,x:668-23.5*t-14.5*Math.floor(t/3),y:48,transparent:t>=e.coalMarket,ghostRank:t-e.coalMarket+1})})),"recharged"==e.options.variant&&"USA"==(null===(s=e.map)||void 0===s?void 0:s.name)&&Object(Xr["range"])(e.coalSupply).forEach((function(e){a.coals.push({id:"coal_supply_"+e,x:800+e%8*20+(e>=8&&e<16?10:0),y:50+20*Math.floor(e/8),transparent:!1})})),void 0!==e.coalStorage&&Object(Xr["range"])(e.coalStorage).forEach((function(e){a.coals.push({id:"coal_storage_"+e,x:800+e%8*20+(e>=8&&e<16?10:0),y:50+20*Math.floor(e/8),transparent:!1,fromStorage:!0})})),this.oils=[],"Middle East"==(null===(c=e.map)||void 0===c?void 0:c.name)){var h=e.oilPrices.filter((function(e){return e>1})).length,p=e.oilPrices.filter((function(e){return 1==e})).length,g=Math.min(h,e.oilMarket);Array(h).fill(0).forEach((function(e,n){var t=n+(p-3);a.oils.push({id:"normal_oil_"+t,x:651-16*t-37*Math.floor(t/3),y:70,transparent:n>=g,ghostRank:n-g+1})}))}else Array(24).fill(0).forEach((function(n,t){a.oils.push({id:"oil_"+t,x:651-16*t-37*Math.floor(t/3),y:70,transparent:t>=e.oilMarket,ghostRank:t-e.oilMarket+1})}));this.garbages=[],"India"==(null===(u=e.map)||void 0===u?void 0:u.name)?Array(24).fill(0).forEach((function(n,t){var r=t+8;a.garbages.push({id:"garbage_"+t,x:672-17*r-17*Math.floor(r/4),y:94,transparent:t>=e.garbageMarket,ghostRank:t-e.garbageMarket+1})})):Array(24).fill(0).forEach((function(n,t){a.garbages.push({id:"garbage_"+t,x:668-23.5*t-14.5*Math.floor(t/3),y:94,transparent:t>=e.garbageMarket,ghostRank:t-e.garbageMarket+1})})),this.uraniums=[],"India"==(null===(l=e.map)||void 0===l?void 0:l.name)?Array(8).fill(0).forEach((function(n,t){a.uraniums.push({id:"uranium_"+t,x:670-85*t,y:72,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1})})):Array(12).fill(0).forEach((function(n,t){0==t?a.uraniums.push({id:"uranium_"+t,x:750,y:91,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):1==t?a.uraniums.push({id:"uranium_"+t,x:710,y:91,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):2==t?a.uraniums.push({id:"uranium_"+t,x:750,y:52,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):3==t?a.uraniums.push({id:"uranium_"+t,x:710,y:52,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):a.uraniums.push({id:"uranium_"+t,x:1010-85*t,y:72,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1})}))}}},{key:"canBuyResource",value:function(e,n,t){return!!this.buyableResources.find((function(r){return r.resource==e&&r.side==n&&!!r.fromStorage==!!t}))}},{key:"hasBuyableNorth",get:function(){var e;return!(null===(e=this.buyableResources)||void 0===e||!e.some((function(e){return"north"===e.side})))}},{key:"hasBuyableSouth",get:function(){var e;return!(null===(e=this.buyableResources)||void 0===e||!e.some((function(e){return"south"===e.side})))}},{key:"buyResource",value:function(e,n,t){this.$emit("buyResource",{resource:e,side:n,fromStorage:t})}},{key:"canUnbuy",value:function(e,n){if(!n.transparent||!n.ghostRank||!this.bufferedBuys)return!1;if(this.coalComesFromSupply&&"coal"===e&&!n.fromStorage)return!1;var t=this.bufferedBuys[io({resource:e,side:n.side,fromStorage:n.fromStorage})];return!!t&&n.ghostRank<=t}},{key:"clickResource",value:function(e,n){n.transparent?this.$emit("unbuyResource",{resource:e,side:n.side,fromStorage:n.fromStorage}):this.buyResource(e,n.side,n.fromStorage)}}]),t}(c.a);z([ye()],Rs.prototype,"resourceResupply",void 0),z([ye()],Rs.prototype,"resourceResupplyNorth",void 0),z([ye()],Rs.prototype,"isUsaRecharged",void 0),z([ye()],Rs.prototype,"isMiddleEast",void 0),z([ye()],Rs.prototype,"isIndiaResourceMarket",void 0),z([ye()],Rs.prototype,"availableSurplusOil",void 0),z([ye()],Rs.prototype,"buyableResources",void 0),z([ye()],Rs.prototype,"coalStorage",void 0),z([ye()],Rs.prototype,"bufferedBuys",void 0),z([ce()],Rs.prototype,"preferences",void 0),Rs=z([ie({components:{Coal:mo,Oil:Ho,Garbage:Po,Uranium:Zo}})],Rs);var As=Rs,Os=As,js=Ge(Os,Bs,Ls,!1,null,null,null),Ns=js.exports;function Ds(e,n){return e?n?e.phase==Pe.Auction?P(e.playerOrder):P(e.playerOrder).reverse():e.players.map((function(e,n){return n})):[]}var Ts=[["cityCount","playerOrder"],["map"],["buttons","roundInfo","powerPlantDeck"],["powerPlantMarket"],["resourceView"],["resources"],["uraniumMines"],["freeJump"],["playerBoards"]],zs=1465,Gs=16,Es=28,Is=4,Us=.72,Ks={roundInfo:1.9,playerOrder:2.5},Ys={powerPlantMarket:.88,resources:.94,resourceView:.94},Hs={recharged:'Shuffle the 13 low power plants — the "plug plants" (3-15), named for the plug on the back of the printed cards. Draw 8 and sort them ascending: the 4 cheapest form the current market, the next 4 the future market. One of the remaining low plants goes face down on top of the draw deck. Player-count removal: 2 players remove 1 low + 5 higher plants; 3 players remove 2 low + 6 higher; 4 players remove 1 low + 3 higher; 5-6 players remove none. The leftover low plants are shuffled into the deck, with the Step 3 card on the bottom.',original:"The market is fixed: power plants 3, 4, 5, 6 are the current market and 7, 8, 9, 10 the future market. Power plant 13 and the Step 3 card are set aside and the rest of the deck is shuffled, then 8 random plants are removed for 2-3 players, 4 for 4 players, and none for 5-6 players. Power plant 13 goes on top of the deck and the Step 3 card on the bottom."},Ws=function(e){return"slot".concat(e[0].toUpperCase()).concat(e.slice(1))},Vs=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Number(e.toFixed(n))},Fs=function(e){R(t,e);var n=T(t);function t(){var e;_(this,t);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=n.call.apply(n,[this].concat(o)),m(B(e),"state",void 0),m(B(e),"player",void 0),m(B(e),"emitter",void 0),m(B(e),"avatars",void 0),m(B(e),"preferences",void 0),m(B(e),"ui",{waitingAnimations:0}),m(B(e),"paused",!1),m(B(e),"gameIsOver",!1),m(B(e),"communicator",new i["EventEmitter"]),m(B(e),"G",null),m(B(e),"_futureState",void 0),m(B(e),"defaultPlayerColors",["limegreen","mediumorchid","red","dodgerblue","yellow","brown"]),m(B(e),"animationQueue",[]),m(B(e),"logVisible",!1),m(B(e),"endScoreVisible",!1),m(B(e),"spendingVisible",!1),m(B(e),"rulesVisible",!1),m(B(e),"totalBid",0),m(B(e),"confirmMessage",""),m(B(e),"confirmVisible",!1),m(B(e),"discardedPowerPlant",null),m(B(e),"discardVisible",!1),m(B(e),"resourcesToDiscard",[]),m(B(e),"freeJumpCity",null),m(B(e),"freeJumpNormalPrice",null),m(B(e),"freeJumpSlotPrice",0),m(B(e),"freeJumpVisible",!1),m(B(e),"soleBuyerPlant",null),m(B(e),"disablePass",!1),m(B(e),"powerPlantMarket",void 0),m(B(e),"playerOrder",void 0),m(B(e),"cityCount",void 0),m(B(e),"map",void 0),m(B(e),"resources",void 0),m(B(e),"turnMoves",[]),m(B(e),"lastReplayFailure",void 0),m(B(e),"committedState",null),m(B(e),"stacked",!1),m(B(e),"portraitViewport",!1),m(B(e),"lastViewport",""),m(B(e),"viewportObserver",null),m(B(e),"stackHeight",zs),m(B(e),"slotTransforms",{}),m(B(e),"onViewportResize",(function(){var n="".concat(window.innerWidth,"x").concat(window.innerHeight);n!==e.lastViewport&&(e.lastViewport=n,e.scheduleRelayout())})),e}return C(t,[{key:"playerColors",get:function(){var e=P(this.defaultPlayerColors);if(this.G){var n,t=w(this.G.players);try{for(t.s();!(n=t.n()).done;){var r=n.value;r.color&&(e[r.id]=r.color)}}catch(o){t.e(o)}finally{t.f()}}return e}},{key:"onStateChanged",value:function(e){if(e&&!1!==e.newTurn){var n=this.committedState?this.committedState.log:null;if(this.committedState=JSON.parse(JSON.stringify(e)),this.turnMoves.length>0&&(this.turnMoves=ro(this.committedState,n,this.turnMoves,this.player)),this.turnMoves.length>0){var t=this.replayTurnBuffer();if(this.turnMoves.length>0&&(this.emitter.emit("move",P(this.turnMoves)),!1===t.newTurn))return this._futureState=e,void this.replaceState(t,!1)}}else if(e&&!to(e,this.committedState,this.turnMoves,this.player))return;this.replaceState(e)}},{key:"replayTurnBuffer",value:function(){var e=oo(this.committedState,this.turnMoves,this.player),n=e.state,t=e.applied,r=e.failure;return this.turnMoves=t,this.lastReplayFailure=r,n}},{key:"replaceState",value:function(e){var n,t=this,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];r&&(this._futureState=e),r&&e&&vr(e)&&(this.gameIsOver=!0),null!=this.player&&this.G&&this.G.players&&this.G.players[this.player].resourcesUsed.some((function(e){return null==e}))&&(n={coalLeft:this.G.players[this.player].coalLeft,oilLeft:this.G.players[this.player].oilLeft,resourcesUsed:this.G.players[this.player].resourcesUsed}),this.G=JSON.parse(JSON.stringify(e)),n&&Object.assign(this.G.players[this.player],n),this.G&&this.$nextTick((function(){var e;t.powerPlantMarket.createPieces(t.G),t.playerOrder.createPieces(t.G),t.cityCount.createPieces(t.G),t.map.createPieces(t.G),null===(e=t.resources)||void 0===e||e.createPieces(t.G),t.scheduleRelayout()}))}},{key:"updateUI",value:function(){var e=this;if(!(this.ui.waitingAnimations>0))return this.animationQueue.length>0?(this.animationQueue.shift()(),void setTimeout((function(){return e.updateUI()}))):void this.scheduleRelayout()}},{key:"checkPass",value:function(){if(this.G&&null!=this.player&&!this.G.chosenPowerPlant){var e=this.G.players[this.player];if(e&&e.availableMoves&&Object.keys(e.availableMoves).length>1){if(this.G.phase==Pe.Bureaucracy&&e.powerPlantsNotUsed.length>0&&Object.keys(e.availableMoves).includes("UsePowerPlant")&&!this.canPowerAllCitiesWithUsedPlants(e))return this.confirmMessage="Are you sure you want to pass? You have unused power plants!",void(this.confirmVisible=!0);if(this.G.phase==Pe.Resources&&!this.canPowerAllPlants(e)&&("India"!==this.G.map.name||!this.playerBoughtResourceThisTurn()))return this.confirmMessage="Are you sure you want to skip buying resources without enough to power all your plants?",void(this.confirmVisible=!0);if(this.G.phase!=Pe.Bureaucracy||e.powerPlantsNotUsed.length==e.powerPlants.length){var n=this.G.log[this.G.log.length-1];if(n.player!=this.player||n.move.name==Ke.Pass){switch(this.G.phase){case Pe.Auction:this.confirmMessage="Are you sure you want to skip auctions?";break;case Pe.Resources:this.confirmMessage="Are you sure you want to skip buying resources?";break;case Pe.Building:this.confirmMessage="Are you sure you want to skip building?";break;case Pe.Bureaucracy:this.confirmMessage="Are you sure you want to pass? You didn't use any power plant!";break;default:this.confirmMessage="Are you sure you want to pass?"}return void(this.confirmVisible=!0)}}}}this.pass()}},{key:"confirmPass",value:function(){this.confirmVisible=!1,this.pass()}},{key:"pass",value:function(){this.sendMove({name:Ke.Pass,data:!0})}},{key:"undo",value:function(){if(!this.paused&&0!==this.turnMoves.length&&this.committedState)if(this.preferences.undoWholeTurn?this.turnMoves=[]:this.turnMoves.pop(),this.turnMoves.length>0){var e=this.replayTurnBuffer();this.emitter.emit("move",P(this.turnMoves)),this.replaceState(e,!1)}else this.replaceState(this.committedState,!1)}},{key:"choosePowerPlant",value:function(e){var n=this.G.players[this.player],t=n.availableMoves;t.ChoosePowerPlant&&t.ChoosePowerPlant.includes(e.number)&&(this.isSoleBuyer()?this.soleBuyerPlant=e:this.sendMove({name:Ke.ChoosePowerPlant,data:e.number}))}},{key:"isSoleBuyer",value:function(){if(!this.canMove()||this.G.phase!==Pe.Auction||this.G.chosenPowerPlant||!this.canChoose())return!1;var e=this.G.players.filter((function(e){return!e.skipAuction&&!e.isDropped}));return 1===e.length&&e[0].id===this.player}},{key:"soleBuyerPrice",value:function(){var e;if(!this.soleBuyerPlant)return 0;var n="recharged"===this.G.options.variant&&this.G.plantDiscountActive&&(null===(e=this.G.actualMarket[0])||void 0===e?void 0:e.number)===this.soleBuyerPlant.number;return n?1:this.soleBuyerPlant.number}},{key:"confirmSoleBuyerPurchase",value:function(){this.soleBuyerPlant&&this.sendMove({name:Ke.ChoosePowerPlant,data:this.soleBuyerPlant.number}),this.soleBuyerPlant=null}},{key:"buyResource",value:function(e){var n={resource:e.resource};e.side&&(n.side=e.side),e.fromStorage&&(n.fromStorage=e.fromStorage),this.sendMove({name:Ke.BuyResource,data:n})}},{key:"unbuyResource",value:function(e){if(!this.paused&&this.committedState){var n=uo(this.turnMoves,e);if(!(n<0))if(this.turnMoves.splice(n,1),this.turnMoves.length>0){var t=this.replayTurnBuffer();this.emitter.emit("move",P(this.turnMoves)),this.replaceState(t,!1)}else this.replaceState(this.committedState,!1)}}},{key:"bufferedBuys",get:function(){return co(this.turnMoves)}},{key:"bid",value:function(e){this.sendMove({name:Ke.Bid,data:e})}},{key:"build",value:function(e){var n=this.G.players[this.player],t=n.availableMoves,r=t[Ke.Build],o=r.find((function(n){return n.name===e.name&&n.freeJump})),a=r.find((function(n){return n.name===e.name&&!n.freeJump}));o&&a?(this.freeJumpCity=e,this.freeJumpSlotPrice=o.price,this.freeJumpNormalPrice=a.price,this.freeJumpVisible=!0):o&&!a?(this.freeJumpCity=e,this.freeJumpSlotPrice=o.price,this.freeJumpNormalPrice=null,this.freeJumpVisible=!0):this.sendMove({name:Ke.Build,data:{name:e.name,price:a.price}})}},{key:"confirmFreeJump",value:function(e){var n=this.freeJumpCity,t=this.G.players[this.player],r=t.availableMoves[Ke.Build];if(this.freeJumpVisible=!1,this.freeJumpCity=null,e){var o=r.find((function(e){return e.name===n.name&&e.freeJump}));this.sendMove({name:Ke.Build,data:{name:n.name,price:o.price,freeJump:!0}})}else{var a=r.find((function(e){return e.name===n.name&&!e.freeJump}));this.sendMove({name:Ke.Build,data:{name:n.name,price:a.price}})}}},{key:"confirmDiscard",value:function(){var e=this.resourcesToDiscard.map((function(e){return parseInt(e.value)}));e.reduce((function(e,n){return e+n}),0)>0?this.sendMove({name:Ke.DiscardPowerPlant,data:this.discardedPowerPlant.number,extra:e}):this.sendMove({name:Ke.DiscardPowerPlant,data:this.discardedPowerPlant.number}),this.discardedPowerPlant=null,this.discardVisible=!1}},{key:"discardInvalid",value:function(){var e,n=this.G.players[this.player];switch(this.discardedPowerPlant.type){case Me.Coal:return e=n.hybridCapacity-2*this.discardedPowerPlant.cost>0?Math.max(0,n.oilLeft-n.oilCapacity):0,n.coalCapacity+n.hybridCapacity-2*this.discardedPowerPlant.cost+parseInt(this.resourcesToDiscard[0].value)<n.coalLeft+e;case Me.Oil:return e=n.hybridCapacity-2*this.discardedPowerPlant.cost>0?Math.max(0,n.coalLeft-n.coalCapacity):0,n.oilCapacity+n.hybridCapacity-2*this.discardedPowerPlant.cost+parseInt(this.resourcesToDiscard[0].value)<n.oilLeft+e;case Me.Garbage:return n.garbageCapacity-2*this.discardedPowerPlant.cost-n.garbageLeft+parseInt(this.resourcesToDiscard[0].value)<0;case Me.Uranium:return n.uraniumCapacity-2*this.discardedPowerPlant.cost-n.uraniumLeft+parseInt(this.resourcesToDiscard[0].value)<0;case Me.Hybrid:var t=parseInt(this.resourcesToDiscard[0].value),r=parseInt(this.resourcesToDiscard[1].value),o=n.hybridCapacity-2*this.discardedPowerPlant.cost,a=Math.max(0,n.coalLeft-n.coalCapacity-t),i=Math.max(0,n.oilLeft-n.oilCapacity-r);return o<a+i}return!0}},{key:"powerPlantClick",value:function(e){var n,t,r=this;if((null===(n=this.G)||void 0===n?void 0:n.phase)==Pe.Auction)if(e.type==Me.Wind||e.type==Me.Nuclear)this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});else{var o=this.G.players[this.player];switch(e.type){case Me.Coal:if(o.powerPlants.filter((function(n){return n.type==e.type})).length+o.powerPlants.filter((function(e){return e.type==Me.Hybrid})).length==1)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});if(0==o.coalLeft)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Coal",value:"0",max:o.coalLeft}];break;case Me.Oil:if(o.powerPlants.filter((function(n){return n.type==e.type})).length+o.powerPlants.filter((function(e){return e.type==Me.Hybrid})).length==1)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});if(0==o.oilLeft)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Oil",value:"0",max:o.oilLeft}];break;case Me.Garbage:if(1==o.powerPlants.filter((function(n){return n.type==e.type})).length)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});if(0==o.garbageLeft)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Garbage",value:"0",max:o.garbageLeft}];break;case Me.Uranium:if(1==o.powerPlants.filter((function(n){return n.type==e.type})).length)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});if(0==o.uraniumLeft)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Uranium",value:"0",max:o.uraniumLeft}];break;case Me.Hybrid:if(o.powerPlants.filter((function(n){return n.type==e.type})).length+o.powerPlants.filter((function(e){return e.type==Me.Coal})).length+o.powerPlants.filter((function(e){return e.type==Me.Oil})).length==1)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});if(o.coalLeft+o.oilLeft==0)return void this.sendMove({name:Ke.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Coal",value:"0",max:o.coalLeft},{name:"Oil",value:"0",max:o.oilLeft}];break}this.discardedPowerPlant=e,this.discardVisible=!0}else if((null===(t=this.G)||void 0===t?void 0:t.phase)==Pe.Bureaucracy){var a=[];switch(e.type){case Me.Coal:a=Array(e.cost).fill(ke.Coal);break;case Me.Oil:a=Array(e.cost).fill(ke.Oil);break;case Me.Garbage:a=Array(e.cost).fill(ke.Garbage);break;case Me.Uranium:a=Array(e.cost).fill(ke.Uranium);break;case Me.Hybrid:var i=this.G.players[this.player];a=i.resourcesUsed,a.sort(),i.resourcesUsed=[],i.powerPlantsNotUsed=i.powerPlantsNotUsed.filter((function(n){return n!=e.number}));break}this.sendMove({name:Ke.UsePowerPlant,data:{powerPlant:e.number,resourcesSpent:a,citiesPowered:e.citiesPowered}}),this.disablePass=!0,setTimeout((function(){return r.disablePass=!1}),1e3)}}},{key:"discardResource",value:function(e){this.sendMove({name:Ke.DiscardResources,data:e})}},{key:"sendMove",value:function(e){if(!this.paused){var n=void 0!=this.player&&this.G&&this.G.players[this.player]?this.G.players[this.player].availableMoves:void 0,t=!!n&&!!n[e.name],r=b(b({},e),{},{time:Date.now()});this.turnMoves.push(r);var o=null;if(this.committedState&&void 0!=this.player){var a=this.turnMoves.length;if(o=this.replayTurnBuffer(),this.turnMoves.length<a){var i=this.turnMoves.length===a-1;if(ao(this.lastReplayFailure)||!t||!i)return;this.turnMoves.push(r),o=null}}this.emitter.emit("move",P(this.turnMoves)),o&&!1===o.newTurn&&this.replaceState(o,!1,!1)}}},{key:"gameEnded",value:function(e){return vr(e)}},{key:"moneyIsPublic",get:function(){return!!this.G&&(!!this.G.options.showMoney||this.gameIsOver||vr(this.G))}},{key:"canMove",value:function(){return void 0!=this.player&&this.G&&this.G.currentPlayers.includes(this.player)&&this.G.players[this.player]&&this.G.players[this.player].availableMoves}},{key:"canPass",value:function(){if(!this.canMove())return!1;if(this.disablePass)return!1;var e=this.G.players[this.player],n=e.availableMoves;return!!n[Ke.Pass]}},{key:"canUndo",value:function(){return!!this.canMove()&&this.turnMoves.length>0}},{key:"canBid",value:function(){if(!this.canMove())return!1;var e=this.G.players[this.player],n=e.availableMoves;return!!n[Ke.Bid]}},{key:"canChoose",value:function(){if(!this.canMove())return!1;var e=this.G.players[this.player],n=e.availableMoves;return!!n[Ke.ChoosePowerPlant]}},{key:"buyableResources",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Ke.BuyResource]||[]}},{key:"canBuyResource",value:function(e){if(!this.canMove())return!1;var n=this.G.players[this.player],t=n.availableMoves;return e?!!t[Ke.BuyResource]&&t[Ke.BuyResource].find((function(n){return n.resource==e})):!!t[Ke.BuyResource]}},{key:"getChooseablePowerPlants",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Ke.ChoosePowerPlant]}},{key:"getBuildableCities",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Ke.Build]&&n[Ke.Build].map((function(e){return e.name}))||[]}},{key:"getBuildableCityPrices",value:function(){if(!this.canMove())return{};var e=this.G.players[this.player].availableMoves[Ke.Build];if(!e)return{};var n,t={},r=w(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;t[o.name]||(t[o.name]={}),o.freeJump?t[o.name].jumpPrice=o.price:t[o.name].price=o.price}}catch(a){r.e(a)}finally{r.f()}return t}},{key:"getPickableRegions",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Ke.ChooseRegion]||[]}},{key:"pickRegion",value:function(e){this.sendMove({name:Ke.ChooseRegion,data:e})}},{key:"canChooseColor",value:function(){if(!this.canMove())return!1;var e=this.G.players[this.player];return!!e.availableMoves[Ke.ChooseColor]}},{key:"getChooseableColors",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player];return e.availableMoves[Ke.ChooseColor]||[]}},{key:"chooseColor",value:function(e){this.sendMove({name:Ke.ChooseColor,data:e})}},{key:"playerHasUsedFreeJump",value:function(e){var n,t,r=null===(n=this.G)||void 0===n?void 0:n.players[e];if(!r)return!1;if(r.usedFreeJump)return!0;if(null!==(t=this.G)&&void 0!==t&&t.log){var o,a=w(this.G.log);try{for(a.s();!(o=a.n()).done;){var i=o.value;if("move"===i.type&&i.player===e){var s,c=i.move;if((null===c||void 0===c?void 0:c.name)===Ke.Build&&!0===(null===c||void 0===c||null===(s=c.data)||void 0===s?void 0:s.freeJump))return!0}}}catch(u){a.e(u)}finally{a.f()}}return!1}},{key:"canBuild",value:function(e){if(!this.canMove())return!1;var n=this.G.players[this.player],t=n.availableMoves;return!!t[Ke.Build]&&t[Ke.Build].find((function(n){return n.name==e.name}))}},{key:"canUsePowerPlant",value:function(e){var n,t;if(!this.canMove())return!1;var r=this.G.players[this.player],o=r.availableMoves;return!(r.resourcesUsed.length>0)&&((null===(n=this.G)||void 0===n?void 0:n.phase)==Pe.Bureaucracy?!!o[Ke.UsePowerPlant]&&o[Ke.UsePowerPlant].find((function(n){return n.powerPlant==e.number})):(null===(t=this.G)||void 0===t?void 0:t.phase)==Pe.Auction?!!o[Ke.DiscardPowerPlant]&&o[Ke.DiscardPowerPlant].find((function(n){return n==e.number})):void 0)}},{key:"canPowerAllCitiesWithUsedPlants",value:function(e){var n=e.powerPlants.filter((function(n){return!e.powerPlantsNotUsed.includes(n.number)}));return n.reduce((function(e,n){return e+n.citiesPowered}),0)>=e.cities.length}},{key:"canPowerAllPlants",value:function(e){var n,t=0,r=0,o=0,a=0,i=0,s=w(e.powerPlants);try{for(s.s();!(n=s.n()).done;){var c=n.value;switch(c.type){case Me.Coal:t+=c.cost;break;case Me.Oil:r+=c.cost;break;case Me.Garbage:o+=c.cost;break;case Me.Uranium:a+=c.cost;break;case Me.Hybrid:i+=c.cost;break}}}catch(d){s.e(d)}finally{s.f()}if(t>e.coalLeft||r>e.oilLeft||o>e.garbageLeft||a>e.uraniumLeft)return!1;var u=e.coalLeft-t,l=e.oilLeft-r;return!(i>u+l)}},{key:"playerBoughtResourceThisTurn",value:function(){for(var e=this.G.log,n=e.length-1;n>=0;n--){var t=e[n];if("move"!==t.type||t.player!==this.player)return!1;if(t.move.name===Ke.BuyResource)return!0}return!1}},{key:"toggleSound",value:function(){var e=!this.preferences.sound;this.emitter.emit("update:preference",{name:"sound",value:e}),this.preferences.sound=e}},{key:"toggleHelp",value:function(){var e=!this.preferences.disableHelp;this.emitter.emit("update:preference",{name:"disableHelp",value:e}),this.preferences.disableHelp=e}},{key:"showLog",value:function(){this.logVisible=!0}},{key:"getStatusMessage",value:function(){var e;if(this.G&&this.G.phase==Pe.ColorSelection&&void 0!==this.player&&this.G.currentPlayers.includes(this.player))return"Choose your color.";if(this.G&&this.G.phase==Pe.RegionSelection&&void 0!==this.player&&this.G.currentPlayers.includes(this.player)){var n=this.G.regionDraft;return n?"Choose a region to play in (".concat(n.picked.length+1," of ").concat(n.regionsNeeded,")."):"Choose a region to play in."}if(!this.G||1==this.G.log.length)return"Game Start!";if(this.G.currentPlayers==[])return"Game ended!";if(void 0!==this.player&&null!==(e=this.G)&&void 0!==e&&e.currentPlayers.includes(this.player)){var t=this.G.players[this.player];return t.availableMoves[Ke.ChoosePowerPlant]?t.availableMoves[Ke.Pass]?"Choose a Power Plant to start an auction, or pass.":"Choose a Power Plant to start an auction.":t.availableMoves[Ke.Bid]?"It's your turn to bid!":t.availableMoves[Ke.BuyResource]?"Buy resources on the market, or pass.":t.availableMoves[Ke.Build]?"Build a new city, or pass.":t.availableMoves[Ke.UsePowerPlant]?0!=t.resourcesUsed.length?"Choose which resources to spend.":"Choose which Power Plant to use.":t.availableMoves[Ke.DiscardPowerPlant]?"Choose which Power Plant to discard.":t.availableMoves[Ke.DiscardResources]?"Choose which resources to discard.":"It's your turn!"}var r=this.G.log[this.G.log.length-1];return"move"==r.type?r.simple:"event"==r.type?r.event:void 0}},{key:"isCurrentPlayer",value:function(e){return this.G&&this.G.currentPlayers.includes(e)}},{key:"logReversed",get:function(){var e=[];return this.G&&this.G.log&&(this.G.log.forEach((function(n){"event"==n.type?e.push(n.pretty||n.event):"move"==n.type&&e.push(n.pretty)})),e.reverse()),e}},{key:"logReversedSimple",get:function(){var e=[];return this.G&&this.G.log&&(this.G.log.forEach((function(n){"event"==n.type?e.push(n.event):"move"==n.type&&e.push(n.simple)})),e.reverse()),e}},{key:"onLogChanged",value:function(){this.emitter.emit("replaceLog",P(this.logReversedSimple).reverse())}},{key:"sortedPlayers",get:function(){return Nr(this.G)}},{key:"spendingRows",get:function(){return[{label:"Income",value:function(e){return e.totalIncome}},{label:"Spending: Cities",value:function(e){return e.totalSpentCities}},{label:"Spending: Connections",value:function(e){return e.totalSpentConnections}},{label:"Cost per City",value:function(e){return e.cities.length?((e.totalSpentCities+e.totalSpentConnections)/e.cities.length).toFixed(1):"-"}},{label:"Spending: Plants",value:function(e){return e.totalSpentPlants}},{label:"Spending: Resources",value:function(e){return e.totalSpentResources}},{label:"Time Used",value:function(e){return ui(Ce(e))}}]}},{key:"standardDeckBuild",get:function(){var e,n,t;return null!==(e=Hs[null!==(n=null===(t=this.G)||void 0===t?void 0:t.options.variant)&&void 0!==n?n:"recharged"])&&void 0!==e?e:Hs.recharged}},{key:"mapDeckBuild",get:function(){var e,n,t,r=null===(e=this.G)||void 0===e?void 0:e.map.deckBuild;return r?"string"===typeof r?r:null!==(n=r[null!==(t=this.G.options.variant)&&void 0!==t?t:"recharged"])&&void 0!==n?n:"":""}},{key:"mapTransform",get:function(){var e;if(null===(e=this.G)||void 0===e||!e.map)return"";var n=y(this.G.map.mapPosition,2),t=n[0],r=n[1],o=this.G.map.mapRotation;if(!o)return"translate(".concat(t,", ").concat(r,")");var a=this.G.map.cities,i=a.map((function(e){return e.x})),s=a.map((function(e){return e.y})),c=(Math.min.apply(Math,P(i))+Math.max.apply(Math,P(i)))/2,u=(Math.min.apply(Math,P(s))+Math.max.apply(Math,P(s)))/2;return"translate(".concat(t,", ").concat(r,") rotate(").concat(o,", ").concat(c,", ").concat(u,")")}},{key:"sceneViewBox",get:function(){var e,n;return this.stacked?"0 0 ".concat(zs," ").concat(this.stackHeight):null!==(e=this.G)&&void 0!==e&&null!==(n=e.map)&&void 0!==n&&n.viewBox?"0 0 ".concat(this.G.map.viewBox[0]," ").concat(this.G.map.viewBox[1]):"0 0 1500 800"}},{key:"slotT",value:function(e){return this.slotTransforms[e]}},{key:"iconButton",value:function(e){return this.portraitViewport?"translate(110, ".concat(13+30*e,") scale(").concat(Vs(26/30,4),")"):"translate(110, ".concat(13+41*e,")")}},{key:"isPortraitViewport",value:function(){return window.innerWidth<900&&window.innerHeight>1.1*window.innerWidth}},{key:"viewportIsMeasurable",value:function(){return window.innerWidth>0&&window.innerHeight>0}},{key:"shouldStack",value:function(){return this.isPortraitViewport()&&!1!==this.preferences.stackOnPortrait}},{key:"toggleStackLayout",value:function(){var e=!this.stacked;this.emitter.emit("update:preference",{name:"stackOnPortrait",value:e}),this.preferences.stackOnPortrait=e,this.relayout()}},{key:"showResourceTrack",get:function(){return!0===this.preferences.portraitResourceTrack}},{key:"setResourceView",value:function(e){e!==this.showResourceTrack&&(this.emitter.emit("update:preference",{name:"portraitResourceTrack",value:e}),this.preferences.portraitResourceTrack=e)}},{key:"onResourceViewChanged",value:function(){var e=this;this.$nextTick((function(){var n;e.G&&(null===(n=e.resources)||void 0===n||n.createPieces(e.G));e.scheduleRelayout()}))}},{key:"relayout",value:function(){if(this.viewportIsMeasurable())if(this.portraitViewport=this.isPortraitViewport(),this.shouldStack()){var e,n={},t=w(Ts.flat());try{for(t.s();!(e=t.n()).done;){var r=e.value,o=this.$refs[Ws(r)];if(o&&"function"===typeof o.getBBox)try{var a=o.getBBox();a.width>0&&a.height>0&&(n[r]={x:a.x,y:a.y,width:a.width,height:a.height})}catch(h){}}}catch(p){t.e(p)}finally{t.f()}var i,s=Us*window.innerHeight*zs/window.innerWidth,c=function(e){return s/e},u={},l=Gs,d=w(Ts);try{var f=function(){var e=i.value,t=e.filter((function(e){return n[e]}));if(!t.length)return"continue";for(var r=Es*(t.length-1),o=zs-2*Gs-r,a=t.reduce((function(e,t){return e+n[t].width}),0),s=function(e){var t,r;return Math.min(null!==(t=Ks[e])&&void 0!==t?t:1/0,(null!==(r=Ys[e])&&void 0!==r?r:1/0)*o/n[e].width,c(n[e].height),Is)},d=Math.min(o/a,Is),f=0;f<t.length;f++){var h,g=0,y=0,m=w(t);try{for(m.s();!(h=m.n()).done;){var v=h.value,b=s(v);b<d?g+=n[v].width*b:y+=n[v].width}}catch(p){m.e(p)}finally{m.f()}if(!y)break;var x=Math.min((o-g)/y,Is);if(x<=d+1e-4)break;d=x}var k,M=function(e){return Math.min(d,s(e))},_=t.reduce((function(e,t){return e+n[t].width*M(t)}),0),S=Math.max.apply(Math,P(t.map((function(e){return n[e].height*M(e)})))),C=(zs-(_+r))/2,B=w(t);try{for(B.s();!(k=B.n()).done;){var L=k.value,R=n[L],A=M(L),O=l+(S-R.height*A)/2;u[L]="translate(".concat(Vs(C-R.x*A),", ").concat(Vs(O-R.y*A),") scale(").concat(Vs(A,4),")"),C+=R.width*A+Es}}catch(p){B.e(p)}finally{B.f()}l+=S+Es};for(d.s();!(i=d.n()).done;)f()}catch(p){d.e(p)}finally{d.f()}this.stackHeight=Math.round(l+Gs-Es),this.slotTransforms=u,this.stacked=!0}else this.stacked&&(this.stacked=!1,this.slotTransforms={})}},{key:"onStackedChanged",value:function(){this.scheduleRelayout()}},{key:"scheduleRelayout",value:function(){var e=this;this.$nextTick((function(){return e.relayout()}))}},{key:"mounted",value:function(){window.addEventListener("resize",this.onViewportResize),window.addEventListener("orientationchange",this.onViewportResize),window.addEventListener("load",this.onViewportResize),window.visualViewport&&window.visualViewport.addEventListener("resize",this.onViewportResize),"undefined"!==typeof ResizeObserver&&(this.viewportObserver=new ResizeObserver(this.onViewportResize),this.viewportObserver.observe(document.documentElement)),this.scheduleRelayout()}},{key:"beforeDestroy",value:function(){window.removeEventListener("resize",this.onViewportResize),window.removeEventListener("orientationchange",this.onViewportResize),window.removeEventListener("load",this.onViewportResize),window.visualViewport&&window.visualViewport.removeEventListener("resize",this.onViewportResize),this.viewportObserver&&(this.viewportObserver.disconnect(),this.viewportObserver=null)}},{key:"onSceneContentChanged",value:function(){this.scheduleRelayout()}},{key:"adjustedPlayerOrder",get:function(){return Ds(this.G,this.preferences.adjustPlayerOrder)}},{key:"getResourceResupply",value:function(){if(this.G){var e=this.G.resourceResupply[this.G.step-1];return e=e.substr(1,e.length-2),e.split(",")}return[0,0,0,0]}},{key:"getResourceResupplyNorth",value:function(){if(this.G&&this.G.resourceResupplyNorth){var e=this.G.resourceResupplyNorth[this.G.step-1];return e=e.substr(1,e.length-2),e.split(",")}return null}}]),t}(c.a);z([ye()],Fs.prototype,"state",void 0),z([ye(),he()],Fs.prototype,"player",void 0),z([ye()],Fs.prototype,"emitter",void 0),z([ye()],Fs.prototype,"avatars",void 0),z([ye(),he()],Fs.prototype,"preferences",void 0),z([fe()],Fs.prototype,"ui",void 0),z([fe()],Fs.prototype,"communicator",void 0),z([he()],Fs.prototype,"G",void 0),z([ve()],Fs.prototype,"powerPlantMarket",void 0),z([ve()],Fs.prototype,"playerOrder",void 0),z([ve()],Fs.prototype,"cityCount",void 0),z([ve()],Fs.prototype,"map",void 0),z([ve()],Fs.prototype,"resources",void 0),z([me("state",{immediate:!0})],Fs.prototype,"onStateChanged",null),z([me("ui.waitingAnimations")],Fs.prototype,"updateUI",null),z([me("G.log")],Fs.prototype,"onLogChanged",null),z([me("showResourceTrack")],Fs.prototype,"onResourceViewChanged",null),z([me("stacked")],Fs.prototype,"onStackedChanged",null),z([me("G")],Fs.prototype,"onSceneContentChanged",null),Fs=z([ie({created:function(){var e=this;this.emitter.on("replayStart",(function(){e.paused=!0,e.emitter.emit("replay:info",{start:1,current:e.G.log.filter((function(e){return"move"==e.type})).length,end:e._futureState.log.filter((function(e){return"move"==e.type})).length})})),this.emitter.on("replayTo",(function(n){var t=e._futureState.log.map((function(e,n){return b({index:n},e)})).filter((function(e){return"move"==e.type}));n=t[n-1].index,e.replaceState(br(e._futureState,n+1),!1),e.emitter.emit("replay:info",{start:1,current:e.G.log.filter((function(e){return"move"==e.type})).length+e.G.hiddenLog.length,end:e._futureState.log.filter((function(e){return"move"==e.type})).length})})),this.emitter.on("replayEnd",(function(){e.paused=!1,e.emitter.emit("fetchState")}))},components:{InlineLog:Qr,PlayerBoard:pi,Card:Fe,House:Ao,Coal:mo,Oil:Ho,Garbage:Po,Uranium:Zo,PassButton:Oa,UndoButton:ii,LogButton:_a,SoundButton:Ea,HelpButton:da,RulesButton:Xa,LayoutButton:va,ResourceViewButton:Va,Button:oa,Calculator:xi,PowerPlantMarket:Bi,PlayerOrder:Di,CityCount:Ki,Map:Zi,Resources:Ns,ResourceBoxes:Cs}})],Fs);var Js=Fs,$s=Js,qs=(t("bb9a"),t("7339"),Ge($s,u,l,!1,null,null,null)),Zs=qs.exports;t("5e9b"),t("e2f4");function Qs(e,n){var t=document.createElement("details");t.className="bgs-game-chat",t.open=!0,t.innerHTML='<summary>Chat</summary><div class="chat-messages" role="log" aria-label="Game chat"></div><div class="chat-composer"><input type="text" aria-label="Chat message" placeholder="Message…" autocomplete="off"><button type="button">Send</button></div><div class="chat-status" role="status"></div>';var r=document.createElement("style");r.textContent='\n.bgs-game-chat{box-sizing:border-box;font:14px/1.4 Arial,sans-serif;border:1px solid #a2aa82;border-radius:3px;margin:8px 0;padding:8px 12px;background:#f3f0dc;color:#263521}\n.bgs-game-chat summary{cursor:pointer;font-weight:650;border-radius:3px;width:fit-content;padding:2px 4px;margin:-2px -4px}\n.bgs-game-chat summary:hover{color:#126778}\n.bgs-game-chat summary:focus-visible,.bgs-game-chat button:focus-visible{outline:2px solid #247d8c;outline-offset:3px}\n.bgs-game-chat .chat-messages{max-height:250px;overflow:auto;overscroll-behavior:auto;margin:6px 0 8px}\n.bgs-game-chat article{padding:5px 0;border-bottom:1px solid #75818d26;white-space:pre-wrap;overflow-wrap:anywhere}\n.bgs-game-chat article strong{padding:0 3px;font-weight:bold}\n.bgs-game-chat article:last-child{border-bottom:0}\n.bgs-game-chat time{font-size:12px;color:#536e77;margin-left:8px;white-space:nowrap}\n.bgs-game-chat .chat-composer{display:flex;gap:6px;align-items:center;margin:0}\n.bgs-game-chat input{flex:1;min-width:0;box-sizing:border-box;height:30px;background:#f3f5eb;color:#263521;border:1px solid #899997;border-radius:2px;padding:4px 7px;font:14px Arial,sans-serif}\n.bgs-game-chat input::placeholder{color:#637477}\n.bgs-game-chat input:focus{outline:2px solid #527f89;outline-offset:1px}\n.bgs-game-chat button{box-sizing:border-box;height:30px;cursor:pointer;border:1px solid #7f8c8d;border-radius:3px;background:#dddeda;color:#172d34;padding:3px 12px;font:14px Arial,sans-serif}\n.bgs-game-chat button:hover:not(:disabled){background:#c8d3d0}\n.bgs-game-chat button:disabled{color:#788786;border-color:#b0bcb8;background:#dce3df;cursor:default}\n.bgs-game-chat .chat-status{font-size:12px;margin-top:6px}\n.bgs-game-chat .chat-status:empty{display:none}\n.chat-shortcut{position:fixed;left:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:900;padding:7px 12px;border:1px solid #6a8589;border-radius:3px;background:#263521;color:#fff;font:600 14px Arial,sans-serif;cursor:pointer;box-shadow:0 2px 6px #0003}\n.chat-shortcut[hidden]{display:none}\n.game-feed-tabs{display:none}\n@media(max-width:700px){\n.game-feed-tabs{display:flex;gap:4px;margin-top:8px}\n.game-feed-tabs button{border:1px solid #a2aa82;border-radius:3px 3px 0 0;padding:7px 14px;background:#e7ead7;color:#263521;font:600 14px Arial,sans-serif;cursor:pointer}\n.game-feed-tabs button[aria-pressed="true"]{background:#f3f0dc;border-bottom:3px solid #526f32}\n.game-feed-tabs button:focus-visible{outline:2px solid #247d8c;outline-offset:2px}\n.journal-and-chat[data-feed="chat"]>.inline-game-log,.journal-and-chat[data-feed="journal"]>.chat-host{display:none}\n}\n.chat-shortcut:hover{background:#315966}\n.chat-shortcut:focus-visible{outline:2px solid #fff;outline-offset:2px}\n\n',t.append(r);var o=n.querySelector(".chat-host");o?o.append(t):n.insertAdjacentElement("afterend",t);var a=n.querySelector(".journal-and-chat"),i=document.createElement("nav");i.className="game-feed-tabs",i.setAttribute("aria-label","Chat and journal");var s=document.createElement("button"),c=document.createElement("button");function u(e){a&&(a.dataset.feed=e),s.setAttribute("aria-pressed",String("chat"===e)),c.setAttribute("aria-pressed",String("journal"===e))}s.type=c.type="button",s.textContent="Chat",c.textContent="Journal",i.append(s,c),a&&a.insertAdjacentElement("beforebegin",i),u("chat"),s.onclick=function(){u("chat"),t.open=!0,requestAnimationFrame(N)},c.onclick=function(){return u("journal")};var l,d=t.querySelector(".chat-messages"),f=t.querySelector("input"),h=t.querySelector("button"),p=t.querySelector(".chat-status"),g=[],y=[];e.on("state",(function(e){y=(null===e||void 0===e?void 0:e.players)||[],D()})),e.on("player",(function(e){l=null===e||void 0===e?void 0:e.index,D()}));var m,v,b,x=!1,k=!1,M="Chat is connecting…",P="",_="",S=!0,C=new Set,B=t.querySelector("summary"),L=document.createElement("button");L.type="button",L.className="chat-shortcut",L.hidden=!0,(a||t).insertAdjacentElement("afterend",L);var R=!1;function A(){var e=C.size,n=e?"Chat · ".concat(e," unread"):"Chat";L.textContent=n,L.setAttribute("aria-label","Open ".concat(n)),B.textContent=n,s.textContent=n,L.hidden=R}L.onclick=function(){u("chat"),t.open=!0,requestAnimationFrame((function(){var e=Array.from(d.children).find((function(e){return C.has(e.dataset.id||"")}));e?e.scrollIntoView({block:"center"}):t.scrollIntoView({block:"center"}),B.focus({preventScroll:!0}),N()}))};var O=new IntersectionObserver((function(e){var n,r=w(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;o.target===t&&(R=o.isIntersecting&&o.intersectionRect.height>=Math.min(t.open?80:20,o.boundingClientRect.height))}}catch(a){r.e(a)}finally{r.f()}A(),N()}),{threshold:Array.from({length:21},(function(e,n){return n/20}))});function j(){h.disabled=!x||k||!!m||!f.value.trim(),f.disabled=!x||k}function N(){var n;if(t.open&&"visible"===document.visibilityState&&document.hasFocus()){var r=d.getBoundingClientRect();if(r.width&&r.height){var o,a=Array.from(d.children).filter((function(e){var n=e.getBoundingClientRect();return n.bottom<=Math.min(r.bottom,window.innerHeight)+1&&n.top>=Math.max(r.top,0)})),i=w(a);try{for(i.s();!(o=i.n()).done;){var s=o.value;C.delete(s.dataset.id||"")}}catch(u){i.e(u)}finally{i.f()}A();var c=(null===(n=a[a.length-1])||void 0===n?void 0:n.dataset.id)||"";!/^[a-f0-9]{24}$/i.test(c)||c.toLowerCase()<=P||(_=_>c.toLowerCase()?_:c.toLowerCase(),b||(b=setTimeout((function(){b=void 0,t.open&&"visible"===document.visibilityState&&document.hasFocus()&&_>P&&(P=_,e.emit("chat:read",{messageId:P}))}),500)))}}}function D(){d.textContent="";var e,n=w(g);try{var t=function(){var n,t,r=e.value,o=document.createElement("article");o.dataset.id=r._id||"";var a=document.createElement("strong");a.textContent=r.author||"Game";var i,s=null!==(n=r.playerIndex)&&void 0!==n?n:"You"===r.author?l:null===(t=y.find((function(e){return e.name===r.author})))||void 0===t?void 0:t.id;void 0!==s&&_e[s]&&(a.style.backgroundColor=(null===(i=y.find((function(e){return e.id===s})))||void 0===i?void 0:i.color)||_e[s],a.style.color="brown"===a.style.backgroundColor?"#fff":"#111");if(o.append(a,document.createTextNode(" "),document.createTextNode(r.text)),r.createdAt){var c=document.createElement("time"),u=new Date(r.createdAt);isNaN(u.getTime())||(c.textContent=u.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),c.title=u.toLocaleString(),o.append(c))}d.append(o)};for(n.s();!(e=n.n()).done;)t()}catch(r){n.e(r)}finally{n.f()}S&&(d.scrollTop=d.scrollHeight),A(),N()}function T(){if(!h.disabled){m={id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2)),text:f.value},j(),p.textContent="Sending…";var n=m;v=setTimeout((function(){m&&(m=void 0,p.textContent="No confirmation received. Check the conversation before sending again.",j())}),2e4),e.emit("chat:send",{text:n.text.trim(),requestId:n.id})}}O.observe(t),e.on("chat:messages",(function(e){g=e||[],C.clear(),D()})),e.on("chat:appended",(function(e){var n,t=w(e||[]);try{var r=function(){var e=n.value;if(!e._id||!g.some((function(n){return n._id===e._id}))){g.push(e);var t=void 0!==e.playerIndex&&e.playerIndex===l;e._id&&!t&&"You"!==e.author&&C.add(e._id)}};for(t.s();!(n=t.n()).done;)r()}catch(o){t.e(o)}finally{t.f()}D()})),e.on("chat:updated",(function(e){var n,t=w(e||[]);try{var r=function(){var e=n.value,t=g.findIndex((function(n){return n._id===e._id}));t>=0&&(g[t]=e)};for(t.s();!(n=t.n()).done;)r()}catch(o){t.e(o)}finally{t.f()}D()})),e.on("chat:deleted",(function(e){g=g.filter((function(n){return!e.includes(n._id||"")})),e.forEach((function(e){return C.delete(e)})),D()})),e.on("chat:disabled",(function(e){k=e,p.textContent=e?"Chat disabled":M,j()})),e.on("chat:state",(function(e){x=e.canSend,M=x?"":{"not-logged-in":"Sign in to chat","not-confirmed":"Confirm your account to chat","not-a-player":"Only players can send messages","chat-disabled":"Chat disabled","no-game":"Chat will be available when the game starts"}[e.reason||""]||"Chat is read-only",p.textContent=M,j()})),e.on("chat:result",(function(e){var n;(null===(n=m)||void 0===n?void 0:n.id)===e.requestId&&(v&&clearTimeout(v),e.ok&&f.value===m.text&&(f.value=""),p.textContent=e.ok?"":e.error||"Message could not be sent. Your draft is kept.",m=void 0,j())})),h.onclick=T,f.oninput=j,f.onkeydown=function(e){"Enter"!==e.key||e.shiftKey||e.isComposing||(e.preventDefault(),e.stopPropagation(),T())},d.onscroll=function(){S=d.scrollHeight-d.scrollTop-d.clientHeight<32,N()},t.ontoggle=function(){t.open&&S&&(d.scrollTop=d.scrollHeight),N()},window.addEventListener("scroll",N,{passive:!0}),window.addEventListener("focus",N),window.addEventListener("resize",N);var z=new ResizeObserver((function(){A(),N()}));z.observe(t),document.addEventListener("visibilitychange",N),p.textContent=M,j()}var Xs,ec={build:{label:"Connect a city",notes:[[0,.1,0,.12,1500],[.08,.25,95,.1,45],[.18,.14,360,.05,500]]},fuel:{label:"Buy fuel",notes:[[0,.12,0,.1,1100],[.1,.13,0,.08,600],[.12,.16,120,.06,65]]},bid:{label:"Auction bid",notes:[[0,.08,400,.07,550]]},plant:{label:"Power plant",notes:[[0,.15,110,.09],[.07,.23,220,.07,330]]},power:{label:"Generate electricity",notes:[[0,.45,60,.09,120],[.05,.4,121,.05,240],[.1,.35,0,.04,1300]]}},nc=!0;function tc(e){nc=e}function rc(e){if(nc&&ec[e]&&"undefined"!==typeof window){if("undefined"!==typeof navigator){var n=navigator.userActivation;if(n&&!n.hasBeenActive)return}var t=window.AudioContext;if(t){Xs=Xs||new t;var r=Xs;r.resume().then((function(){if(nc&&"running"===r.state){var n,t=w(ec[e].notes);try{for(t.s();!(n=t.n()).done;){var o=y(n.value,5),a=o[0],i=o[1],s=o[2],c=o[3],u=o[4],l=r.currentTime+a,d=r.createGain();if(d.gain.setValueAtTime(1e-4,l),d.gain.exponentialRampToValueAtTime(c,l+.008),d.gain.exponentialRampToValueAtTime(1e-4,l+i),d.connect(r.destination),0===s){for(var f=r.createBuffer(1,Math.ceil(r.sampleRate*i),r.sampleRate),h=f.getChannelData(0),p=0;p<h.length;p++)h[p]=2*Math.random()-1;var g=r.createBufferSource();g.buffer=f;var m=r.createBiquadFilter();m.type="lowpass",m.frequency.value=u||900,g.connect(m),m.connect(d),g.start(l),g.stop(l+i)}else{var v=r.createOscillator();v.type="sine",v.frequency.setValueAtTime(s,l),v.frequency.exponentialRampToValueAtTime(u||s,l+i),v.connect(d),v.start(l),v.stop(l+i)}}}catch(b){t.e(b)}finally{t.f()}}})).catch((function(){}))}}}function oc(e){var n,t=!1;e.on("update:preference",(function(e){"sound"===(null===e||void 0===e?void 0:e.name)&&tc(e.value)})),e.on("preferences",(function(e){"boolean"===typeof(null===e||void 0===e?void 0:e.sound)&&tc(e.sound)})),e.on("replay:start",(function(){t=!0})),e.on("replay:end",(function(){t=!1,n=void 0}));var r=function(e){var r,o=(null===e||void 0===e?void 0:e.log)||[],a=o.map((function(e){return JSON.stringify(e)})),i=n&&n.length<a.length&&n.every((function(e,n){return e===a[n]})),s=(null===(r=n)||void 0===r?void 0:r.length)||0;if(n=a,i&&!t){var c=o.slice(s).map((function(e){return ac(e)})).filter(Boolean),u=c[c.length-1];u&&rc(u)}};e.on("state",r),e.on("gamelog",(function(e){var n;null!==e&&void 0!==e&&null!==(n=e.data)&&void 0!==n&&n.state&&r(e.data.state)}))}function ac(e){var n;return{Build:"build",BuyResource:"fuel",Bid:"bid",ChoosePowerPlant:"plant",UsePowerPlant:"power"}[null===(n=e.move)||void 0===n?void 0:n.name]}function ic(e){var n={state:null,emitter:new i["EventEmitter"],preferences:c.a.observable({sound:!0,disableHelp:!1,adjustPlayerOrder:!1,undoWholeTurn:!0,fitToScreen:!0,stackOnPortrait:!0,portraitResourceTrack:!1}),avatars:[]},t=new c.a({render:function(e){return e(Zs,{props:n},[])}}).$mount(e),r=new i["EventEmitter"],o=!1;return n.emitter.on("move",(function(e){return r.emit("move",e)})),n.emitter.on("fetchState",(function(){return r.emit("fetchState")})),n.emitter.on("addLog",(function(e){return r.emit("addLog",e)})),n.emitter.on("replaceLog",(function(e){return r.emit("replaceLog",e)})),n.emitter.on("replay:info",(function(e){return r.emit("replay:info",e)})),n.emitter.on("update:preference",(function(e){return r.emit("update:preference",e)})),r.addListener("avatars",(function(e){n.avatars=e,t.$forceUpdate()})),r.addListener("state",(function(e){n.state=e,t.$forceUpdate(),t.$nextTick().then((function(){return r.emit("ready")}))})),r.addListener("state:updated",(function(){return r.emit("fetchState")})),r.addListener("player",(function(e){n.player=e.index,t.$forceUpdate()})),r.addListener("preferences",(function(e){Object.assign(n.preferences,e),t.$forceUpdate()})),r.addListener("gamelog",(function(e){var a;o||(eo(null===e||void 0===e||null===(a=e.data)||void 0===a?void 0:a.state)?(n.state=e.data.state,t.$forceUpdate()):r.emit("fetchState"))})),r.addListener("replay:start",(function(){n.emitter.emit("replayStart"),o=!0})),r.addListener("replay:to",(function(e){n.emitter.emit("replayTo",e)})),r.addListener("replay:end",(function(){n.emitter.emit("replayEnd"),o=!1,r.emit("fetchState")})),oc(r),Qs(r,t.$el),r}var sc=ic;"undefined"!==typeof window&&(window.powergrid={launch:sc});var cc=sc;n["default"]=cc},a1a4:function(e,n,t){"use strict";var r=t("a768"),o=t("41d6"),a=t("fd86"),i=t("ce17"),s=a("species");e.exports=function(e){var n=r(e),t=o.f;i&&n&&!n[s]&&t(n,s,{configurable:!0,get:function(){return this}})}},a516:function(e,n,t){"use strict";var r=t("7f82"),o=t("12aa"),a=t("b42f"),i=t("43b7"),s=t("f246"),c=t("cbe1"),u=t("cba7"),l=t("2fb6"),d=l("splice"),f=Math.max,h=Math.min,p=9007199254740991,g="Maximum allowed length exceeded";r({target:"Array",proto:!0,forced:!d},{splice:function(e,n){var t,r,l,d,y,m,v=s(this),b=i(v.length),w=o(e,b),x=arguments.length;if(0===x?t=r=0:1===x?(t=0,r=b-w):(t=x-2,r=h(f(a(n),0),b-w)),b+t-r>p)throw TypeError(g);for(l=c(v,r),d=0;d<r;d++)y=w+d,y in v&&u(l,d,v[y]);if(l.length=r,t<r){for(d=w;d<b-r;d++)y=d+r,m=d+t,y in v?v[m]=v[y]:delete v[m];for(d=b;d>b-r+t;d--)delete v[d-1]}else if(t>r)for(d=b-r;d>w;d--)y=d+r-1,m=d+t-1,y in v?v[m]=v[y]:delete v[m];for(d=0;d<t;d++)v[d+w]=arguments[d+2];return v.length=b-r+t,l}})},a64f:function(e,n,t){"use strict";var r=t("9ebe"),o=t("43b7"),a=t("6e4e"),i=function(e,n,t,s,c,u,l,d){var f,h=c,p=0,g=!!l&&a(l,d,3);while(p<s){if(p in t){if(f=g?g(t[p],p,n):t[p],u>0&&r(f))h=i(e,n,f,o(f.length),h,u-1)-1;else{if(h>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[h]=f}h++}p++}return h};e.exports=i},a768:function(e,n,t){var r=t("8aac"),o=t("68de"),a=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,n){return arguments.length<2?a(r[e])||a(o[e]):r[e]&&r[e][n]||o[e]&&o[e][n]}},a901:function(e,n,t){"use strict";var r=t("2079").charAt,o=t("2673"),a=t("4116"),i="String Iterator",s=o.set,c=o.getterFor(i);a(String,"String",(function(e){s(this,{type:i,string:String(e),index:0})}),(function(){var e,n=c(this),t=n.string,o=n.index;return o>=t.length?{value:void 0,done:!0}:(e=r(t,o),n.index+=e.length,{value:e,done:!1})}))},a9eb:function(e,n,t){var r=t("8dac");e.exports=function(e,n){if(!r(e))return e;var t,o;if(n&&"function"==typeof(t=e.toString)&&!r(o=t.call(e)))return o;if("function"==typeof(t=e.valueOf)&&!r(o=t.call(e)))return o;if(!n&&"function"==typeof(t=e.toString)&&!r(o=t.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},ac27:function(e,n){e.exports=function(e){try{return!!e()}catch(n){return!0}}},ac85:function(e,n,t){(function(e){var r;(function(e,o,a){function i(e){var n=this;function t(e,n){var t,r,o,a,i,s=[],c=128;for(n===(0|n)?(r=n,n=null):(n+="\0",r=0,c=Math.max(c,n.length)),o=0,a=-32;a<c;++a)n&&(r^=n.charCodeAt((a+32)%n.length)),0===a&&(i=r),r^=r<<10,r^=r>>>15,r^=r<<4,r^=r>>>13,a>=0&&(i=i+1640531527|0,t=s[127&a]^=r+i,o=0==t?o+1:0);for(o>=128&&(s[127&(n&&n.length||0)]=-1),o=127,a=512;a>0;--a)r=s[o+34&127],t=s[o=o+1&127],r^=r<<13,t^=t<<17,r^=r>>>15,t^=t>>>12,s[o]=r^t;e.w=i,e.X=s,e.i=o}n.next=function(){var e,t,r=n.w,o=n.X,a=n.i;return n.w=r=r+1640531527|0,t=o[a+34&127],e=o[a=a+1&127],t^=t<<13,e^=e<<17,t^=t>>>15,e^=e>>>12,t=o[a]=t^e,n.i=a,t+(r^r>>>16)|0},t(n,e)}function s(e,n){return n.i=e.i,n.w=e.w,n.X=e.X.slice(),n}function c(e,n){null==e&&(e=+new Date);var t=new i(e),r=n&&n.state,o=function(){return(t.next()>>>0)/4294967296};return o.double=function(){do{var e=t.next()>>>11,n=(t.next()>>>0)/4294967296,r=(e+n)/(1<<21)}while(0===r);return r},o.int32=t.next,o.quick=o,r&&(r.X&&s(r,t),o.state=function(){return s(t,{})}),o}o&&o.exports?o.exports=c:t("f9ad")&&t("ba96")?(r=function(){return c}.call(n,t,n,o),void 0===r||(o.exports=r)):this.xor4096=c})(0,e,t("f9ad"))}).call(this,t("e55b")(e))},b07d:function(e,n,t){"use strict";var r=t("cbdb"),o=t("0540"),a=t("57ac"),i=t("c678"),s=t("c698"),c=t("7743"),u=t("43b7"),l=t("1af6"),d=t("8bc5"),f=t("3439"),h=f.UNSUPPORTED_Y,p=[].push,g=Math.min,y=4294967295;r("split",2,(function(e,n,t){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,t){var r=String(i(this)),a=void 0===t?y:t>>>0;if(0===a)return[];if(void 0===e)return[r];if(!o(e))return n.call(r,e,a);var s,c,u,l=[],f=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),h=0,g=new RegExp(e.source,f+"g");while(s=d.call(g,r)){if(c=g.lastIndex,c>h&&(l.push(r.slice(h,s.index)),s.length>1&&s.index<r.length&&p.apply(l,s.slice(1)),u=s[0].length,h=c,l.length>=a))break;g.lastIndex===s.index&&g.lastIndex++}return h===r.length?!u&&g.test("")||l.push(""):l.push(r.slice(h)),l.length>a?l.slice(0,a):l}:"0".split(void 0,0).length?function(e,t){return void 0===e&&0===t?[]:n.call(this,e,t)}:n,[function(n,t){var o=i(this),a=void 0==n?void 0:n[e];return void 0!==a?a.call(n,o,t):r.call(String(o),n,t)},function(e,o){var i=t(r,e,this,o,r!==n);if(i.done)return i.value;var d=a(e),f=String(this),p=s(d,RegExp),m=d.unicode,v=(d.ignoreCase?"i":"")+(d.multiline?"m":"")+(d.unicode?"u":"")+(h?"g":"y"),b=new p(h?"^(?:"+d.source+")":d,v),w=void 0===o?y:o>>>0;if(0===w)return[];if(0===f.length)return null===l(b,f)?[f]:[];var x=0,k=0,M=[];while(k<f.length){b.lastIndex=h?0:k;var P,_=l(b,h?f.slice(k):f);if(null===_||(P=g(u(b.lastIndex+(h?k:0)),f.length))===x)k=c(f,k,m);else{if(M.push(f.slice(x,k)),M.length===w)return M;for(var S=1;S<=_.length-1;S++)if(M.push(_[S]),M.length===w)return M;k=x=P}}return M.push(f.slice(x)),M}]}),h)},b0d4:function(e,n,t){"use strict";var r=t("7f82"),o=t("b222").find,a=t("d684"),i="find",s=!0;i in[]&&Array(1)[i]((function(){s=!1})),r({target:"Array",proto:!0,forced:s},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),a(i)},b168:function(e,n,t){var r,o,a=t("68de"),i=t("fd70"),s=a.process,c=s&&s.versions,u=c&&c.v8;u?(r=u.split("."),o=r[0]<4?1:r[0]+r[1]):i&&(r=i.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=i.match(/Chrome\/(\d+)/),r&&(o=r[1]))),e.exports=o&&+o},b222:function(e,n,t){var r=t("6e4e"),o=t("2153"),a=t("f246"),i=t("43b7"),s=t("cbe1"),c=[].push,u=function(e){var n=1==e,t=2==e,u=3==e,l=4==e,d=6==e,f=7==e,h=5==e||d;return function(p,g,y,m){for(var v,b,w=a(p),x=o(w),k=r(g,y,3),M=i(x.length),P=0,_=m||s,S=n?_(p,M):t||f?_(p,0):void 0;M>P;P++)if((h||P in x)&&(v=x[P],b=k(v,P,w),e))if(n)S[P]=b;else if(b)switch(e){case 3:return!0;case 5:return v;case 6:return P;case 2:c.call(S,v)}else switch(e){case 4:return!1;case 7:c.call(S,v)}return d?-1:u||l?l:S}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6),filterOut:u(7)}},b2a1:function(e,n,t){var r=t("9c0c"),o=t("97cc").f,a={}.toString,i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(e){try{return o(e)}catch(n){return i.slice()}};e.exports.f=function(e){return i&&"[object Window]"==a.call(e)?s(e):o(r(e))}},b42f:function(e,n){var t=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:t)(e)}},b67b:function(e,n){e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMjQgMTJjMCA2LjYyNy01LjM3MyAxMi0xMiAxMnMtMTItNS4zNzMtMTItMTJoMmMwIDUuNTE0IDQuNDg2IDEwIDEwIDEwczEwLTQuNDg2IDEwLTEwLTQuNDg2LTEwLTEwLTEwYy0yLjc3NyAwLTUuMjg3IDEuMTQxLTcuMDk5IDIuOTc3bDIuMDYxIDIuMDYxLTYuOTYyIDEuMzU0IDEuMzA1LTcuMDEzIDIuMTc5IDIuMThjMi4xNzItMi4xOTYgNS4xODItMy41NTkgOC41MTYtMy41NTkgNi42MjcgMCAxMiA1LjM3MyAxMiAxMnptLTEzLTZ2OGg3di0yaC01di02aC0yeiIvPjwvc3ZnPg=="},b85b:function(e,n){e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NzUuNDUycHgiIGhlaWdodD0iNDc1LjQ1MXB4IiB2aWV3Qm94PSIwIDAgNDc1LjQ1MiA0NzUuNDUxIj4KPGc+Cgk8cGF0aCBkPSJNNDY4LjA4MywxMTguMzg1Yy0zLjk5LTUuMzMtOS42MS05LjQxOS0xNi44NTQtMTIuMjc1YzAuMzg3LDYuNjY1LTAuMDg2LDEyLjA5LTEuNDIsMTYuMjgxbC04NS42NSwyODEuNzg5CgkJYy0xLjUyNiw0Ljk0OC00Ljg1OSw4Ljg5Ny05Ljk5MiwxMS44NDhjLTUuMTQxLDIuOTUzLTEwLjQ2OSw0LjQyOC0xNS45ODksNC40MjhINzQuNjZjLTIyLjg0LDAtMzYuNTQyLTYuNjUyLTQxLjExMi0xOS45ODUKCQljLTEuOTAzLTUuMTQtMS44MDctOS4yMjksMC4yODgtMTIuMjc1YzIuMDkyLTIuODU3LDUuNzA4LTQuMjg4LDEwLjg1LTQuMjg4aDI0OC4xMDJjMTcuNzAyLDAsMjkuOTMtMy4yODUsMzYuNjg4LTkuODUyCgkJYzYuNzYzLTYuNTY3LDEzLjU2NS0yMS4xNzcsMjAuNDEzLTQzLjgyNGw3OC4yMjgtMjU4LjY2OWM0LjE4Ni0xNC4wODQsMi40NzQtMjYuNDU3LTUuMTQxLTM3LjExM3MtMTguNDYyLTE1Ljk4Ny0zMi41NDgtMTUuOTg3CgkJSDE3My4xNjNjLTIuNDc0LDAtNy4zMjksMC44NTQtMTQuNTYyLDIuNTY4bDAuMjg0LTAuODU5Yy01LjMzLTEuMTQtOS44NTEtMS42NjItMTMuNTYyLTEuNTcxCgkJYy0zLjcxLDAuMDk5LTcuMTM3LDEuMTkyLTEwLjI3NywzLjI4OWMtMy4xNCwyLjA5NC01LjY2NCw0LjMyOC03LjU2Niw2LjcwNmMtMS45MDMsMi4zOC0zLjc2MSw1LjQyNi01LjU2OCw5LjEzNgoJCWMtMS44MDUsMy43MTUtMy4zMyw3LjE0Mi00LjU2NywxMC4yODJjLTEuMjM3LDMuMTQtMi42NjYsNi40NzMtNC4yODEsOS45OThjLTEuNjIsMy41MjEtMy4xODYsNi40MjMtNC43MSw4LjcwNgoJCWMtMS4xNDMsMS41MjMtMi43NTgsMy41MjEtNC44NTQsNS45OTZjLTIuMDkxLDIuNDc0LTMuODA1LDQuNjY0LTUuMTM3LDYuNTY3Yy0xLjMzMSwxLjkwMy0yLjE5LDMuNjE2LTIuNTY4LDUuMTQKCQljLTAuMzc4LDEuNzExLTAuMTksNC4yMzMsMC41NzEsNy41NjZjMC43NiwzLjMyOCwxLjA0Nyw1Ljc1MywwLjg1NCw3LjI3N2MtMC43Niw3LjIzMi0zLjM3OCwxNi40MTQtNy44NDksMjcuNTUyCgkJYy00LjQ3MSwxMS4xMzYtOC41MiwxOS4xOC0xMi4xMzUsMjQuMTI2Yy0wLjc2MSwwLjk1LTIuODUzLDMuMDkyLTYuMjgsNi40MjRjLTMuNDI3LDMuMzMtNS41Miw2LjIzLTYuMjc5LDguNzA0CgkJYy0wLjc2MiwwLjk1MS0wLjgxLDMuNjE3LTAuMTQ0LDcuOTk0YzAuNjY2LDQuMzgsMC45MDcsNy40MjMsMC43MTUsOS4xMzZjLTAuNzY1LDYuNDczLTMuMTQsMTUuMDM3LTcuMTM5LDI1LjY5NwoJCWMtMy45OTksMTAuNjU3LTcuOTk0LDE5LjQxNC0xMS45OTMsMjYuMjY1Yy0wLjU2OSwxLjE0MS0yLjE4NSwzLjMyOC00Ljg1Myw2LjU2N2MtMi42NjIsMy4yMzctNC4yODMsNS45MDItNC44NTMsNy45OQoJCWMtMC4zOCwxLjUyMy0wLjMzLDQuMTg4LDAuMTQ0LDcuOTk0YzAuNDczLDMuODA2LDAuNDI2LDYuNjYtMC4xNDQsOC41NjJjLTEuNTIxLDcuMjI4LTQuMzc3LDE1Ljk0LTguNTY1LDI2LjEyNQoJCWMtNC4xODcsMTAuMTc4LTguNDcsMTguODk2LTEyLjg1MSwyNi4xMjFjLTEuMTM4LDEuOTA2LTIuNzEyLDQuMTQ1LTQuNzA4LDYuNzExYy0xLjk5OSwyLjU2Ni0zLjU2OCw0LjgwNS00LjcxMSw2LjcwNwoJCWMtMS4xNDEsMS45MDMtMS45MDMsMy45MDEtMi4yODQsNS45OTZjLTAuMTksMS4xNDMsMC4wOTgsMi45OTgsMC44NTksNS41NzFjMC43NiwyLjU2NiwxLjA0Nyw0LjYxMiwwLjg1NCw2LjE0CgkJYy0wLjE5MiwyLjY2Mi0wLjU3LDYuMTg3LTEuMTQxLDEwLjU2N2MtMC41NzIsNC4zNzMtMC44NTksNi45MzktMC44NTksNy42OTljLTQuMTg3LDExLjQyNC0zLjk5OSwyMy41MTEsMC41NzIsMzYuMjY5CgkJYzUuMzMsMTQuODM4LDE0Ljc5NywyNy4zNiwyOC40MDYsMzcuNTQxYzEzLjYxLDEwLjE4NSwyNy43NCwxNS4yNyw0Mi4zOTgsMTUuMjdoMjYzLjUyMWMxMi4zNjcsMCwyNC4wMjYtNC4xNDEsMzQuOTcxLTEyLjQxNgoJCWMxMC45NDQtOC4yODEsMTguMjI3LTE4LjUwNywyMS44MzctMzAuNjk2bDc4LjUxMS0yNTguNjYyQzQ3Ny40MTIsMTQxLjUxLDQ3NS43MDEsMTI5LjIzNCw0NjguMDgzLDExOC4zODV6IE0xNjQuMzEsMTE4Ljk1NgoJCWw1Ljk5Ny0xOC4yNzRjMC43Ni0yLjQ3NCwyLjMyOS00LjYxNSw0LjcwOS02LjQyM2MyLjM4LTEuODA1LDQuODA4LTIuNzEyLDcuMjgyLTIuNzEyaDE3My41ODljMi42NjMsMCw0LjU2NSwwLjkwMyw1LjcwOCwyLjcxMgoJCWMxLjE0LDEuODA5LDEuMzM1LDMuOTQ5LDAuNTc1LDYuNDIzbC02LjAwMiwxOC4yNzRjLTAuNzY0LDIuNDc1LTIuMzI3LDQuNjExLTQuNzEzLDYuNDI0Yy0yLjM4MiwxLjgwNS00LjgwNSwyLjcwOC03LjI3OCwyLjcwOAoJCUgxNzAuNTkzYy0yLjY2NiwwLTQuNTY4LTAuOS01LjcxMS0yLjcwOEMxNjMuNzQsMTIzLjU2NywxNjMuNTUsMTIxLjQzMSwxNjQuMzEsMTE4Ljk1NnogTTE0MC42MTUsMTkyLjA0NWw1Ljk5Ni0xOC4yNzEKCQljMC43Ni0yLjQ3NCwyLjMzMS00LjYxNSw0LjcwOS02LjQyM2MyLjM4LTEuODA5LDQuODA1LTIuNzEyLDcuMjgyLTIuNzEyaDE3My41ODNjMi42NjYsMCw0LjU3MiwwLjksNS43MTIsMi43MTIKCQljMS4xNCwxLjgwOSwxLjMzMSwzLjk0OSwwLjU2OCw2LjQyM2wtNS45OTYsMTguMjcxYy0wLjc1OSwyLjQ3NC0yLjMzLDQuNjE3LTQuNzA4LDYuNDIzYy0yLjM4MywxLjgwOS00LjgwNSwyLjcxMi03LjI4MywyLjcxMgoJCUgxNDYuODk1Yy0yLjY2NCwwLTQuNTY3LTAuOS01LjcwOC0yLjcxMkMxNDAuMDQzLDE5Ni42NjIsMTM5Ljg1NCwxOTQuNTE5LDE0MC42MTUsMTkyLjA0NXoiLz4KPC9nPgo8L3N2Zz4="},ba03:function(e,n,t){(function(e){var r;(function(e,o,a){function i(e){var n=this,t="";n.next=function(){var e=n.b,t=n.c,r=n.d,o=n.a;return e=e<<25^e>>>7^t,t=t-r|0,r=r<<24^r>>>8^o,o=o-e|0,n.b=e=e<<20^e>>>12^t,n.c=t=t-r|0,n.d=r<<16^t>>>16^o,n.a=o-e|0},n.a=0,n.b=0,n.c=-1640531527,n.d=1367130551,e===Math.floor(e)?(n.a=e/4294967296|0,n.b=0|e):t+=e;for(var r=0;r<t.length+20;r++)n.b^=0|t.charCodeAt(r),n.next()}function s(e,n){return n.a=e.a,n.b=e.b,n.c=e.c,n.d=e.d,n}function c(e,n){var t=new i(e),r=n&&n.state,o=function(){return(t.next()>>>0)/4294967296};return o.double=function(){do{var e=t.next()>>>11,n=(t.next()>>>0)/4294967296,r=(e+n)/(1<<21)}while(0===r);return r},o.int32=t.next,o.quick=o,r&&("object"==typeof r&&s(r,t),o.state=function(){return s(t,{})}),o}o&&o.exports?o.exports=c:t("f9ad")&&t("ba96")?(r=function(){return c}.call(n,t,n,o),void 0===r||(o.exports=r)):this.tychei=c})(0,e,t("f9ad"))}).call(this,t("e55b")(e))},ba28:function(e,n,t){var r=t("8c99"),o=t("338e");e.exports=Object.keys||function(e){return r(e,o)}},ba96:function(e,n){(function(n){e.exports=n}).call(this,{})},bb9a:function(e,n,t){"use strict";t("50b1")},bcba:function(e,n,t){(function(e,r){var o;
27
27
  /**
28
28
  * @license
29
29
  * Lodash <https://lodash.com/>