board-game-engine 0.0.2 → 0.0.3

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.
Files changed (102) hide show
  1. package/board-game-engine.test.js +2 -41
  2. package/dist/board-game-engine.js +32556 -5074
  3. package/dist/board-game-engine.min.js +2 -1
  4. package/dist/board-game-engine.min.js.LICENSE.txt +14 -0
  5. package/package.json +6 -3
  6. package/patch-bgio.cjs +23 -0
  7. package/src/client/client.js +287 -0
  8. package/src/game-factory/bank/bank-slot.js +69 -0
  9. package/src/game-factory/bank/bank.js +114 -0
  10. package/src/game-factory/board.js +3 -0
  11. package/src/game-factory/condition/condition-factory.js +52 -0
  12. package/src/game-factory/condition/condition.js +39 -0
  13. package/src/game-factory/condition/contains-condition.js +21 -0
  14. package/src/game-factory/condition/contains-same-condition.js +27 -0
  15. package/src/game-factory/condition/evaluate-condition.js +18 -0
  16. package/src/game-factory/condition/every-condition.js +25 -0
  17. package/src/game-factory/condition/has-line-condition.js +14 -0
  18. package/src/game-factory/condition/in-line-condition.js +19 -0
  19. package/src/game-factory/condition/is-condition.js +23 -0
  20. package/src/game-factory/condition/is-full-condition.js +9 -0
  21. package/src/game-factory/condition/no-possible-moves-condition.js +14 -0
  22. package/src/game-factory/condition/not-condition.js +14 -0
  23. package/src/game-factory/condition/or-condition.js +15 -0
  24. package/src/game-factory/condition/position-condition.js +12 -0
  25. package/src/game-factory/condition/some-condition.js +24 -0
  26. package/src/game-factory/condition/would-condition.js +94 -0
  27. package/src/game-factory/entity.js +29 -0
  28. package/src/game-factory/expand-game-rules.js +276 -0
  29. package/src/game-factory/game-factory.js +239 -0
  30. package/src/game-factory/move/end-turn.js +7 -0
  31. package/src/game-factory/move/for-each.js +18 -0
  32. package/src/game-factory/move/index.js +7 -0
  33. package/src/game-factory/move/move-entity.js +16 -0
  34. package/src/game-factory/move/move-factory.js +89 -0
  35. package/src/game-factory/move/move.js +131 -0
  36. package/src/game-factory/move/pass-turn.js +10 -0
  37. package/src/game-factory/move/pass.js +7 -0
  38. package/src/game-factory/move/place-new.js +33 -0
  39. package/src/game-factory/move/remove-entity.js +7 -0
  40. package/src/game-factory/move/set-active-players.js +23 -0
  41. package/src/game-factory/move/set-state.js +13 -0
  42. package/src/game-factory/move/shuffle.js +7 -0
  43. package/src/game-factory/move/take-from.js +7 -0
  44. package/src/game-factory/space/space.js +30 -0
  45. package/src/game-factory/space-group/grid.js +43 -0
  46. package/src/game-factory/space-group/space-group.js +29 -0
  47. package/src/index.js +2 -0
  48. package/src/registry.js +17 -0
  49. package/src/utils/any-valid-moves.js +157 -0
  50. package/src/utils/check-conditions.js +28 -0
  51. package/src/utils/create-payload.js +16 -0
  52. package/src/utils/deserialize-bgio-arguments.js +8 -0
  53. package/src/utils/do-moves.js +18 -0
  54. package/src/utils/entity-matches.js +20 -0
  55. package/src/utils/find-met-condition.js +22 -0
  56. package/src/utils/get-current-moves.js +12 -0
  57. package/src/utils/get-scenario-results.js +23 -0
  58. package/src/utils/get-steps.js +28 -0
  59. package/src/utils/get.js +25 -0
  60. package/src/utils/grid-contains-sequence.js +226 -0
  61. package/src/utils/json-transformer.js +12 -0
  62. package/src/utils/prepare-payload.js +16 -0
  63. package/src/utils/resolve-entity.js +9 -0
  64. package/src/utils/resolve-expression.js +10 -0
  65. package/src/utils/resolve-properties.js +157 -0
  66. package/src/utils/simulate-move.js +25 -0
  67. package/webpack.config.js +4 -1
  68. package/src/action/action-factory.js +0 -13
  69. package/src/action/action.js +0 -34
  70. package/src/action/move-piece-action.js +0 -11
  71. package/src/action/select-piece-action.js +0 -23
  72. package/src/action/swap-action.js +0 -14
  73. package/src/board/board-factory.js +0 -12
  74. package/src/board/board-group.js +0 -9
  75. package/src/board/board.js +0 -11
  76. package/src/board/grid.js +0 -52
  77. package/src/board/stack.js +0 -16
  78. package/src/condition/action-type-matches-condition.js +0 -7
  79. package/src/condition/bingo-condition.js +0 -50
  80. package/src/condition/blackout-condition.js +0 -9
  81. package/src/condition/condition-factory.js +0 -31
  82. package/src/condition/condition.js +0 -9
  83. package/src/condition/contains-condition.js +0 -14
  84. package/src/condition/does-not-contain-condition.js +0 -15
  85. package/src/condition/is-valid-player-condition.js +0 -7
  86. package/src/condition/piece-matches-condition.js +0 -23
  87. package/src/condition/relative-move-condition.js +0 -16
  88. package/src/condition/some-condition.js +0 -7
  89. package/src/game/game.ts +0 -362
  90. package/src/index.ts +0 -1
  91. package/src/piece/piece-factory.js +0 -5
  92. package/src/piece/piece.ts +0 -25
  93. package/src/piece/pile.js +0 -70
  94. package/src/player/player.ts +0 -13
  95. package/src/registry.ts +0 -51
  96. package/src/round/round-factory.js +0 -7
  97. package/src/round/round.js +0 -41
  98. package/src/round/sequential-player-turn.js +0 -18
  99. package/src/space/space.ts +0 -22
  100. package/src/utils/find-value-path.js +0 -37
  101. package/src/utils/resolve-board.ts +0 -38
  102. package/src/utils/resolve-piece.ts +0 -43
@@ -1 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.BoardGameEngine=t():e.BoardGameEngine=t()}(this,(()=>(()=>{var e={9448:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return"movePiece"===e.type?new n.default(e,t):"swap"===e.type?new o.default(e,t):"selectPiece"===e.type?new a.default(e,t):void 0};var n=s(r(9278)),o=s(r(5149)),a=s(r(9645));function s(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},2655:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(3534))&&n.__esModule?n:{default:n};t.default=class{constructor(e,t){this.game=t,this.rules=e,this.id=`${Math.random()}`;const r=[{type:"actionTypeMatches",actionRule:this.rules},{type:"pieceMatches",actionRule:this.rules},{type:"isValidPlayer"}];this.conditions=[...r,...this.rules.conditions||[]].map((e=>(0,o.default)(e,t)))}assertIsValid(e){const t=this.conditions.filter((t=>!t.isMet(e)));if(t.length)throw console.log("=================="),console.log("unmetConditions",t),console.log("actionPayload",e),new Error("conditions not met ^")}do(){}},e.exports=t.default},9278:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=s(r(2655)),o=s(r(6123)),a=s(r(4093));function s(e){return e&&e.__esModule?e:{default:e}}class u extends n.default{do(e){const t=(0,a.default)(e.piece,this.game);(0,o.default)(e.board,this.game).placePiece(e.target,t)}}t.default=u,e.exports=t.default},9645:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(2655))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e,t){super(e,t)}do(e){let t;e.piece?.id?t=this.game.getPiece({id:e.piece?.id}):"player"===e.from&&(t=this.game.players.find((t=>t.id===e.playerId)).pieces.find((t=>t.name===e.piece.name)).getOne()),this.game.context.selectedPiece=t}}t.default=a,e.exports=t.default},5149:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(2655))&&n.__esModule?n:{default:n};class a extends o.default{do(e){let t;"player"===e.from&&(t=this.game.players.find((t=>t.id===e.playerId)).pieces.find((t=>t.name===e.piece.name)).getOne()),this.game.get(e.board).placePiece(e.target,t)}}t.default=a,e.exports=t.default},9534:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return"grid"===e.type?new n.default(e,t):"stack"===e.type?new o.default(e,t):void console.log("missing board type:",e)};var n=a(r(893)),o=a(r(21));function a(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},5059:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(9578))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e,t){this.sections=e.sections.map((()=>o.default.factory(e,t)))}}t.default=a,e.exports=t.default},9578:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.rule=e,this.id=`${Math.random()}`,this.player&&(this.player=t.player)}placePiece(e,t){}},e.exports=t.default},893:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=s(r(8156)),o=s(r(9578)),a=s(r(7971));function s(e){return e&&e.__esModule?e:{default:e}}class u extends o.default{constructor(e,t){super(e,t),this.grid=function(e){const t=e.width,r=e.height;if(!t||!r)throw new Error("No size provided for grid");const n=[];for(let e=0;e<r;e++){const r=[];for(let n=0;n<t;n++)r.push(new a.default([e,n]));n.push(r)}return n}(e)}getEmptySpaces(){const e=[];for(const t of this.grid)for(const r of t)r.isEmpty()&&e.push(r);return e}getSpace(e){return(0,n.default)(this.grid,e)}getPieces(e){return this.getSpace(e).pieces}placePiece(e,t){this.getSpace(e).placePiece(t)}}t.default=u,e.exports=t.default},21:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(9578))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e,t){super(e,t),this.stack=[]}placePiece(e,t){e||this.stack.push(t)}}t.default=a,e.exports=t.default},6829:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(7213))&&n.__esModule?n:{default:n};class a extends o.default{isMet(e){return e.actionRule?.type===this.rules.actionType}}t.default=a,e.exports=t.default},3551:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(7213)),o=a(r(6123));function a(e){return e&&e.__esModule?e:{default:e}}class s extends n.default{isMet(){const e=(0,o.default)(this.rules.boardPath,this.game).grid,t=e.length;for(let r=0;r<t;r++)if(this.checkLine(e[r]))return!0;for(let r=0;r<t;r++){const n=[];for(let o=0;o<t;o++)n.push(e[o][r]);if(this.checkLine(n))return!0}const r=[],n=[];for(let o=0;o<t;o++)r.push(e[o][o]),n.push(e[o][t-1-o]);return!(!this.checkLine(r)&&!this.checkLine(n))}checkLine(e){return e.every((e=>e.pieces.some((e=>e.doesRuleMatch(this.rules.piece)))))}}t.default=s,e.exports=t.default},7963:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(7213)),o=a(r(6123));function a(e){return e&&e.__esModule?e:{default:e}}class s extends n.default{isMet(){return(0,o.default)(this.rules.boardPath,this.game).grid.every((e=>e.every((e=>!e.isEmpty()))))}}t.default=s,e.exports=t.default},3534:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return"contains"===e.type?new o.default(e,t):"doesNotContain"===e.type?new n.default(e,t):"bingo"===e.type?new a.default(e,t):"blackout"===e.type?new s.default(e,t):"some"===e.type?new u.default(e,t):"relativeMove"===e.type?new i.default(e,t):"actionTypeMatches"===e.type?new c.default(e,t):"isValidPlayer"===e.type?new l.default(e,t):"pieceMatches"===e.type?new f.default(e,t):void 0};var n=d(r(3790)),o=d(r(923)),a=d(r(3551)),s=d(r(7963)),u=d(r(7102)),i=d(r(3402)),c=d(r(6829)),l=d(r(3395)),f=d(r(226));function d(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},7213:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(e,t){this.id=`${Math.random()}`,this.rules=e,this.game=t}isMet(e){}},e.exports=t.default},923:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(1505)),o=a(r(7213));function a(e){return e&&e.__esModule?e:{default:e}}class s extends o.default{isMet(e){return!!this.game.get(e.board).getPieces(e.target).filter(filterPieces).length}filterPieces(e){return"any"===this.rules.piece||(0,n.default)(this.rules.piece)(e)}}t.default=s,e.exports=t.default},3790:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=s(r(1505)),o=s(r(7213)),a=s(r(6123));function s(e){return e&&e.__esModule?e:{default:e}}class u extends o.default{isMet(e){return!(0,a.default)(e.board,this.game).getPieces(e.target).filter(this.filterPieces.bind(this)).length}filterPieces(e){return"any"===this.rules.piece||(0,n.default)(e,this.rules.piece||{})}}t.default=u,e.exports=t.default},3395:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(7213))&&n.__esModule?n:{default:n};class a extends o.default{isMet(e){return this.game.players[this.game.currentRound.currentPlayerIndex].id===e.playerId}}t.default=a,e.exports=t.default},226:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=s(r(1505)),o=s(r(7213)),a=s(r(4093));function s(e){return e&&e.__esModule?e:{default:e}}class u extends o.default{isMet(e){const t=(0,a.default)(e.piece,this.game);if(this.rules.actionRule?.piece&&!t)return console.error("no piece found"),!1;if(this.rules.actionRule?.piece){const e={...this.rules.actionRule.piece};return(0,n.default)(e)(t.rule)}return!0}}t.default=u,e.exports=t.default},3402:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(1505)),o=a(r(7213));function a(e){return e&&e.__esModule?e:{default:e}}class s extends o.default{isMet(e){return!this.game.get(e.board).getPieces(e.target).filter(this.filterPieces.bind(this)).length}filterPieces(e){return"any"===this.rules.piece||(0,n.default)(e,this.rules.piece={})}}t.default=s,e.exports=t.default},7102:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(7213))&&n.__esModule?n:{default:n};class a extends o.default{isMet(){return this.rules.conditions.some((e=>new o.default(e).isMet()))}}t.default=a,e.exports=t.default},8989:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPathToRules=_,t.makeMove=function(e,t,r){if(!t)return(0,d.serialize)({context:{},winner:null,status:"waiting",players:[]});const n=function(e){return(0,d.deserialize)(e,p.registry)}(t);if("done"===n.status)throw new Error("Game is over!");if(void 0===r)return(0,d.serialize)(n);if("join"===r?.type)return function(e,t,r){if(!(e.players.length<t.playerCountRange[1]))throw new Error("game is full!");e.players.push(new s.default(t.player,e.players.length,r.playerId))}(n,e,r),(0,d.serialize)(n);if("start"===r.type)return function(e,t){if(!(e.players.length>=t.playerCountRange[0]))throw new Error("not enough players");!function(e,t){(function(e){_(e)})(t),e.sharedBoard=Object.entries(t.sharedBoard).reduce(((e,t)=>{let[r,n]=t;return{...e,[r]:(0,a.default)({...n,path:["sharedBoard",r]})}}),{}),e.personalBoards=e.players.reduce(((e,r)=>({...e,[r.id]:Object.entries(t.personalBoard||[]).reduce(((e,t)=>{let[n,o]=t;return{...e,[n]:(0,a.default)({...o,path:["sharedBoard",n]},{player:r})}}),{})})),{}),e.pieces=t.pieces.reduce(((t,r)=>r.perPlayer?[...t,...e.players.map((e=>new l.default(r,{player:e})))]:[...t,new l.default(r)]),[]),t.initialPlacements?.forEach((t=>{t.perPlayer?e.players.forEach((r=>{y(t,r,{sharedBoard:e.sharedBoard,personalBoards:e.personalBoards,pieces:e.pieces})})):y(t,null,{sharedBoard:e.sharedBoard,personalBoards:e.personalBoards,pieces:e.pieces})}));const r=t.round.phases?t.round.phases[0]:t.round;e.currentRound=(0,u.default)(r,e),e.status="active"}(e,t)}(n,e),(0,d.serialize)(n);const o=h(r,n,e),c=n.currentRound;if(c.doAction(o),c.isOver(n))if(e.round.phases){const t=e.round.phases[n.currentRound.currentPhaseIndex];(0,u.default)(t,n).isOver(n)&&(n.currentRound.currentPhaseIndex++,n.currentRound.currentPhaseIndex>=e.round.phases.length&&(n.currentRound.currentPhaseIndex=0,n.currentRound.currentRoundIndex++))}else n.currentRound.currentRoundIndex++;const f=function(e,t){return e.players.find((r=>{const n={...t.winCondition,piece:{...t.winCondition.piece,player:r}};return(0,i.default)(n,e).isMet()}))||null}(n,e),v=function(e,t){return!(!t.drawCondition||!(0,i.default)(t.drawCondition,e).isMet())}(n,e);return(f||v)&&(n.status="done",n.winner=f),(0,d.serialize)(n)};var n=v(r(8055)),o=v(r(1505)),a=(v(r(5364)),v(r(9534))),s=v(r(6835)),u=v(r(6270)),i=v(r(3534)),c=v(r(9448)),l=v(r(1595)),f=v(r(4229)),d=r(7627),p=r(8353);function v(e){return e&&e.__esModule?e:{default:e}}function h(e,t,r){const a=t.players.find((t=>t.id===e.playerId));if(!a&&"join"!==e.type&&"start"!==e.type)throw new Error("Invalid player ID");const s=r.pieces.find((t=>t.name===e.piece?.name)),u=(0,n.default)(e);return s?.perPlayer&&!u.player&&(u.piece.player={id:a.id}),u.board||(u.board=function(e,t){return function(e,t,r){const n={personalBoards:t.personalBoards,sharedBoard:t.sharedBoard,pieces:t.pieces};return Array.from((0,f.default)(n,(0,o.default)(e))).filter((e=>"rule"!==e[e.length-1])).sort((e=>"pieces"===e[0]?1:-1)).map((e=>b(e,r)))}(e,t,void 0)[0]}(u.piece,t)),u.board=b(u.board,{player:a}),u}function y(e,t,r){const n=e.action,o=e.payload||{};t&&(o.player=t),Array.from(new Array(e.count||1)).forEach((()=>{(0,c.default)(n,r).do(h(o,r,rules))}))}function b(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"personalBoard"===e[0]&&t.player?["personalBoards",t.player.id.toString(),...e.slice(1)]:e}function _(e){const t=["phases","rounds"];function r(e,n){if(e&&"object"==typeof e){e.path=n.join(".");for(const o of t){const t=e[o];Array.isArray(t)&&t.forEach(((e,t)=>{r(e,n.concat(o,t))}))}}}e.round&&"object"==typeof e.round&&r(e.round,["round"]),Array.isArray(e.rounds)&&e.rounds.forEach(((e,t)=>r(e,["rounds",t])))}},4570:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return new o.default(e,t)};var n,o=(n=r(5923))&&n.__esModule?n:{default:n};e.exports=t.default},5923:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(e,t){this.rule=e,this.id=`${Math.random()}`,void 0!==t.player&&({player:this.player}=t)}doesRuleMatch(e){return void 0===e.player||e.player===this.player}},e.exports=t.default},1595:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(4570))&&n.__esModule?n:{default:n};t.default=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.pieceRule=e,this.name=e.name,this.id=`${Math.random()}`,t.player&&(this.player=t.player),this.options=t,this.pool=(e.variants?Object.entries(e.variants):[]).reduce(((t,r)=>{let[n,a]=r;const s=a.count||1;return[...t,...Array.from(Array(s)).map((t=>(0,o.default)({...{...e,variantId:n},...a},this.options)))]}),[]),e.shuffled&&(this.pool=this.pool.map((e=>({value:e,sort:Math.random()}))).sort(((e,t)=>e.sort-t.sort)).map((e=>{let{value:t}=e;return t}))),this.count=this.pool.length||e.count}getOne(){return this.getMultiple(1)[0]}getMultiple(e){const t=[];if(void 0===this.count||this.count>=e){this.count&&(this.count-=e);const r=e-this.pool.length;t.push(...this.pool.splice(0,e)),r>0&&t.push(...Array.from(new Array(r)).map((()=>(0,o.default)(this.pieceRule,this.options))))}return t}put(e){void 0!==this.count&&(this.count+=1),this.pool.push(e)}},e.exports=t.default},6835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(e,t,r){this.rule=e,this.index=t,this.id=r||`${Math.random()}`}},e.exports=t.default},8353:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.registry=void 0;var n=A(r(2655)),o=A(r(9278)),a=A(r(9645)),s=A(r(5149)),u=A(r(5059)),i=A(r(9578)),c=A(r(893)),l=A(r(21)),f=A(r(6829)),d=A(r(3551)),p=A(r(7963)),v=A(r(7213)),h=A(r(923)),y=A(r(3790)),b=A(r(3395)),_=A(r(226)),x=A(r(3402)),g=A(r(7102)),j=A(r(5923)),m=A(r(1595)),w=A(r(6835)),O=A(r(4221)),M=A(r(7820)),P=A(r(7971));function A(e){return e&&e.__esModule?e:{default:e}}t.registry={Action:n.default,MovePieceAction:o.default,SelectPieceAction:a.default,SwapAction:s.default,BoardGroup:u.default,Board:i.default,Grid:c.default,Stack:l.default,ActionTypeMatchesCondition:f.default,BingoCondition:d.default,BlackoutCondition:p.default,Condition:v.default,ContainsCondition:h.default,DoesNotContainCondition:y.default,IsValidPlayerCondition:b.default,PieceMatchesCondition:_.default,RelativeMoveCondition:x.default,SomeCondition:g.default,Piece:j.default,Pile:m.default,Player:w.default,Round:O.default,SequentialPlayerTurn:M.default,Space:P.default}},6270:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("sequentialPlayerTurn"===e.type)return new o.default(e,t)};var n,o=(n=r(7820))&&n.__esModule?n:{default:n};e.exports=t.default},4221:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(9448))&&n.__esModule?n:{default:n};t.default=class{constructor(e,t){this.rules=e,this.game=t,this.history=[],this.id=`${Math.random()}`,this.actions=e.actions?.map((e=>(0,o.default)(e,this.game)))}getCorrectAction(e){for(const t of this.actions)try{return t.assertIsValid(e),t}catch(e){throw e}throw new Error(`Invalid Action: ${JSON.stringify(e)}`)}doAction(e){this.getCorrectAction(e).do(e,this.game),this.afterDoAction(),this.history.push(e)}isOver(){return!0}afterDoAction(){}},e.exports=t.default},7820:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(4221))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e,t){super(e,t),this.currentPlayerIndex=0}afterDoAction(){this.currentPlayerIndex=(this.currentPlayerIndex+1)%this.game.players.length}isOver(){return this.game.players.every((e=>this.history.some((t=>t===e))))}}t.default=a,e.exports=t.default},7971:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.coordinates=e,this.pieces=t,this.id=`${Math.random()}`}placePiece(e){this.pieces.push(e)}isEmpty(){return 0===this.pieces.length}},e.exports=t.default},4229:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Set,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:new Set;if(o.has(t))return a;if(o.add(t),r(t)&&a.add(n),"object"==typeof t&&null!==t)for(const s in t){const u=[...n,s];e(t[s],r,u,o,a).length&&a.add(n)}return a},e.exports=t.default},6123:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(Array.isArray(e))return(0,o.default)(t,e);const r=new WeakSet;return function t(n){if(!n||"object"!=typeof n)return null;if(r.has(n))return null;if(r.add(n),n.id===e.id)return n;if(n.grid&&Array.isArray(n.grid))for(const e of n.grid)for(const r of e){const e=t(r);if(e)return e}for(const e of Object.values(n)){const r=t(e);if(r)return r}return null}(t)};var n,o=(n=r(8156))&&n.__esModule?n:{default:n};e.exports=t.default},4093:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(e?.id){const r=[t.sharedBoard,t.personalBoards];for(;r.length;){const t=r.pop();if(t)if(Array.isArray(t))r.push(...t);else if(t.grid)for(const e of t.grid)r.push(...e);else if(t.coordinates&&t.pieces){const r=t.pieces.find((t=>t.id===e.id));if(r)return r}else"object"==typeof t&&r.push(...Object.values(t))}return null}let r;if(r=e?t.pieces.find((t=>t.name===e.name&&(!t.player||t.player.id===e.player?.id))):t.pieces.find((e=>"playerMarker"===e.name&&(!e.player||e.player.id===t.players[t.currentRound.currentPlayerIndex].id))),!r)throw new Error(`No piece group found for ${e.name}`);return r.getOne()},e.exports=t.default},5580:(e,t,r)=>{var n=r(6110)(r(9325),"DataView");e.exports=n},1549:(e,t,r)=>{var n=r(2032),o=r(3862),a=r(6721),s=r(2749),u=r(5749);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=s,i.prototype.set=u,e.exports=i},79:(e,t,r)=>{var n=r(3702),o=r(80),a=r(4739),s=r(8655),u=r(1175);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=s,i.prototype.set=u,e.exports=i},8223:(e,t,r)=>{var n=r(6110)(r(9325),"Map");e.exports=n},3661:(e,t,r)=>{var n=r(3040),o=r(7670),a=r(289),s=r(4509),u=r(2949);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=s,i.prototype.set=u,e.exports=i},2804:(e,t,r)=>{var n=r(6110)(r(9325),"Promise");e.exports=n},6545:(e,t,r)=>{var n=r(6110)(r(9325),"Set");e.exports=n},8859:(e,t,r)=>{var n=r(3661),o=r(1380),a=r(1459);function s(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new n;++t<r;)this.add(e[t])}s.prototype.add=s.prototype.push=o,s.prototype.has=a,e.exports=s},7217:(e,t,r)=>{var n=r(79),o=r(1420),a=r(938),s=r(3605),u=r(9817),i=r(945);function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=o,c.prototype.delete=a,c.prototype.get=s,c.prototype.has=u,c.prototype.set=i,e.exports=c},1873:(e,t,r)=>{var n=r(9325).Symbol;e.exports=n},7828:(e,t,r)=>{var n=r(9325).Uint8Array;e.exports=n},8303:(e,t,r)=>{var n=r(6110)(r(9325),"WeakMap");e.exports=n},1033:e=>{e.exports=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}},3729:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}},9770:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[o++]=s)}return a}},695:(e,t,r)=>{var n=r(8096),o=r(2428),a=r(6449),s=r(3656),u=r(361),i=r(7167),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=a(e),l=!r&&o(e),f=!r&&!l&&s(e),d=!r&&!l&&!f&&i(e),p=r||l||f||d,v=p?n(e.length,String):[],h=v.length;for(var y in e)!t&&!c.call(e,y)||p&&("length"==y||f&&("offset"==y||"parent"==y)||d&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||u(y,h))||v.push(y);return v}},4932:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}},4528:e=>{e.exports=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e}},4248:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}},7805:(e,t,r)=>{var n=r(3360),o=r(5288);e.exports=function(e,t,r){(void 0!==r&&!o(e[t],r)||void 0===r&&!(t in e))&&n(e,t,r)}},6547:(e,t,r)=>{var n=r(3360),o=r(5288),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){var s=e[t];a.call(e,t)&&o(s,r)&&(void 0!==r||t in e)||n(e,t,r)}},6025:(e,t,r)=>{var n=r(5288);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}},4733:(e,t,r)=>{var n=r(1791),o=r(5950);e.exports=function(e,t){return e&&n(t,o(t),e)}},3838:(e,t,r)=>{var n=r(1791),o=r(7241);e.exports=function(e,t){return e&&n(t,o(t),e)}},3360:(e,t,r)=>{var n=r(3243);e.exports=function(e,t,r){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},9999:(e,t,r)=>{var n=r(7217),o=r(3729),a=r(6547),s=r(4733),u=r(3838),i=r(3290),c=r(3007),l=r(2271),f=r(8948),d=r(2),p=r(3349),v=r(5861),h=r(6189),y=r(7199),b=r(5529),_=r(6449),x=r(3656),g=r(7730),j=r(3805),m=r(8440),w=r(5950),O=r(7241),M="[object Arguments]",P="[object Function]",A="[object Object]",S={};S[M]=S["[object Array]"]=S["[object ArrayBuffer]"]=S["[object DataView]"]=S["[object Boolean]"]=S["[object Date]"]=S["[object Float32Array]"]=S["[object Float64Array]"]=S["[object Int8Array]"]=S["[object Int16Array]"]=S["[object Int32Array]"]=S["[object Map]"]=S["[object Number]"]=S[A]=S["[object RegExp]"]=S["[object Set]"]=S["[object String]"]=S["[object Symbol]"]=S["[object Uint8Array]"]=S["[object Uint8ClampedArray]"]=S["[object Uint16Array]"]=S["[object Uint32Array]"]=!0,S["[object Error]"]=S[P]=S["[object WeakMap]"]=!1,e.exports=function e(t,r,R,I,B,E){var z,k=1&r,C=2&r,$=4&r;if(R&&(z=B?R(t,I,B,E):R(t)),void 0!==z)return z;if(!j(t))return t;var T=_(t);if(T){if(z=h(t),!k)return c(t,z)}else{var F=v(t),N=F==P||"[object GeneratorFunction]"==F;if(x(t))return i(t,k);if(F==A||F==M||N&&!B){if(z=C||N?{}:b(t),!k)return C?f(t,u(z,t)):l(t,s(z,t))}else{if(!S[F])return B?t:{};z=y(t,F,k)}}E||(E=new n);var D=E.get(t);if(D)return D;E.set(t,z),m(t)?t.forEach((function(n){z.add(e(n,r,R,n,t,E))})):g(t)&&t.forEach((function(n,o){z.set(o,e(n,r,R,o,t,E))}));var U=T?void 0:($?C?p:d:C?O:w)(t);return o(U||t,(function(n,o){U&&(n=t[o=n]),a(z,o,e(n,r,R,o,t,E))})),z}},9344:(e,t,r)=>{var n=r(3805),o=Object.create,a=function(){function e(){}return function(t){if(!n(t))return{};if(o)return o(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();e.exports=a},6649:(e,t,r)=>{var n=r(3221)();e.exports=n},7422:(e,t,r)=>{var n=r(1769),o=r(7797);e.exports=function(e,t){for(var r=0,a=(t=n(t,e)).length;null!=e&&r<a;)e=e[o(t[r++])];return r&&r==a?e:void 0}},2199:(e,t,r)=>{var n=r(4528),o=r(6449);e.exports=function(e,t,r){var a=t(e);return o(e)?a:n(a,r(e))}},2552:(e,t,r)=>{var n=r(1873),o=r(659),a=r(9350),s=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":s&&s in Object(e)?o(e):a(e)}},7534:(e,t,r)=>{var n=r(2552),o=r(346);e.exports=function(e){return o(e)&&"[object Arguments]"==n(e)}},270:(e,t,r)=>{var n=r(7068),o=r(346);e.exports=function e(t,r,a,s,u){return t===r||(null==t||null==r||!o(t)&&!o(r)?t!=t&&r!=r:n(t,r,a,s,e,u))}},7068:(e,t,r)=>{var n=r(7217),o=r(5911),a=r(1986),s=r(689),u=r(5861),i=r(6449),c=r(3656),l=r(7167),f="[object Arguments]",d="[object Array]",p="[object Object]",v=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,h,y,b){var _=i(e),x=i(t),g=_?d:u(e),j=x?d:u(t),m=(g=g==f?p:g)==p,w=(j=j==f?p:j)==p,O=g==j;if(O&&c(e)){if(!c(t))return!1;_=!0,m=!1}if(O&&!m)return b||(b=new n),_||l(e)?o(e,t,r,h,y,b):a(e,t,g,r,h,y,b);if(!(1&r)){var M=m&&v.call(e,"__wrapped__"),P=w&&v.call(t,"__wrapped__");if(M||P){var A=M?e.value():e,S=P?t.value():t;return b||(b=new n),y(A,S,r,h,b)}}return!!O&&(b||(b=new n),s(e,t,r,h,y,b))}},9172:(e,t,r)=>{var n=r(5861),o=r(346);e.exports=function(e){return o(e)&&"[object Map]"==n(e)}},1799:(e,t,r)=>{var n=r(7217),o=r(270);e.exports=function(e,t,r,a){var s=r.length,u=s,i=!a;if(null==e)return!u;for(e=Object(e);s--;){var c=r[s];if(i&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++s<u;){var l=(c=r[s])[0],f=e[l],d=c[1];if(i&&c[2]){if(void 0===f&&!(l in e))return!1}else{var p=new n;if(a)var v=a(f,d,l,e,t,p);if(!(void 0===v?o(d,f,3,a,p):v))return!1}}return!0}},5083:(e,t,r)=>{var n=r(1882),o=r(7296),a=r(3805),s=r(7473),u=/^\[object .+?Constructor\]$/,i=Function.prototype,c=Object.prototype,l=i.toString,f=c.hasOwnProperty,d=RegExp("^"+l.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!a(e)||o(e))&&(n(e)?d:u).test(s(e))}},6038:(e,t,r)=>{var n=r(5861),o=r(346);e.exports=function(e){return o(e)&&"[object Set]"==n(e)}},4901:(e,t,r)=>{var n=r(2552),o=r(294),a=r(346),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1,e.exports=function(e){return a(e)&&o(e.length)&&!!s[n(e)]}},8984:(e,t,r)=>{var n=r(5527),o=r(3650),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=[];for(var r in Object(e))a.call(e,r)&&"constructor"!=r&&t.push(r);return t}},2903:(e,t,r)=>{var n=r(3805),o=r(5527),a=r(181),s=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return a(e);var t=o(e),r=[];for(var u in e)("constructor"!=u||!t&&s.call(e,u))&&r.push(u);return r}},3663:(e,t,r)=>{var n=r(1799),o=r(776),a=r(7197);e.exports=function(e){var t=o(e);return 1==t.length&&t[0][2]?a(t[0][0],t[0][1]):function(r){return r===e||n(r,e,t)}}},5250:(e,t,r)=>{var n=r(7217),o=r(7805),a=r(6649),s=r(2824),u=r(3805),i=r(7241),c=r(4974);e.exports=function e(t,r,l,f,d){t!==r&&a(r,(function(a,i){if(d||(d=new n),u(a))s(t,r,i,l,e,f,d);else{var p=f?f(c(t,i),a,i+"",t,r,d):void 0;void 0===p&&(p=a),o(t,i,p)}}),i)}},2824:(e,t,r)=>{var n=r(7805),o=r(3290),a=r(1961),s=r(3007),u=r(5529),i=r(2428),c=r(6449),l=r(3693),f=r(3656),d=r(1882),p=r(3805),v=r(1331),h=r(7167),y=r(4974),b=r(9884);e.exports=function(e,t,r,_,x,g,j){var m=y(e,r),w=y(t,r),O=j.get(w);if(O)n(e,r,O);else{var M=g?g(m,w,r+"",e,t,j):void 0,P=void 0===M;if(P){var A=c(w),S=!A&&f(w),R=!A&&!S&&h(w);M=w,A||S||R?c(m)?M=m:l(m)?M=s(m):S?(P=!1,M=o(w,!0)):R?(P=!1,M=a(w,!0)):M=[]:v(w)||i(w)?(M=m,i(m)?M=b(m):p(m)&&!d(m)||(M=u(w))):P=!1}P&&(j.set(w,M),x(M,w,_,g,j),j.delete(w)),n(e,r,M)}}},9302:(e,t,r)=>{var n=r(3488),o=r(6757),a=r(2865);e.exports=function(e,t){return a(o(e,t,n),e+"")}},9570:(e,t,r)=>{var n=r(7334),o=r(3243),a=r(3488),s=o?function(e,t){return o(e,"toString",{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:a;e.exports=s},8096:e=>{e.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},7556:(e,t,r)=>{var n=r(1873),o=r(4932),a=r(6449),s=r(4394),u=n?n.prototype:void 0,i=u?u.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(a(t))return o(t,e)+"";if(s(t))return i?i.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}},7301:e=>{e.exports=function(e){return function(t){return e(t)}}},9219:e=>{e.exports=function(e,t){return e.has(t)}},1769:(e,t,r)=>{var n=r(6449),o=r(8586),a=r(1802),s=r(3222);e.exports=function(e,t){return n(e)?e:o(e,t)?[e]:a(s(e))}},9653:(e,t,r)=>{var n=r(7828);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},3290:(e,t,r)=>{e=r.nmd(e);var n=r(9325),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,s=a&&a.exports===o?n.Buffer:void 0,u=s?s.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=u?u(r):new e.constructor(r);return e.copy(n),n}},6169:(e,t,r)=>{var n=r(9653);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},3201:e=>{var t=/\w*$/;e.exports=function(e){var r=new e.constructor(e.source,t.exec(e));return r.lastIndex=e.lastIndex,r}},3736:(e,t,r)=>{var n=r(1873),o=n?n.prototype:void 0,a=o?o.valueOf:void 0;e.exports=function(e){return a?Object(a.call(e)):{}}},1961:(e,t,r)=>{var n=r(9653);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},3007:e=>{e.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},1791:(e,t,r)=>{var n=r(6547),o=r(3360);e.exports=function(e,t,r,a){var s=!r;r||(r={});for(var u=-1,i=t.length;++u<i;){var c=t[u],l=a?a(r[c],e[c],c,r,e):void 0;void 0===l&&(l=e[c]),s?o(r,c,l):n(r,c,l)}return r}},2271:(e,t,r)=>{var n=r(1791),o=r(4664);e.exports=function(e,t){return n(e,o(e),t)}},8948:(e,t,r)=>{var n=r(1791),o=r(6375);e.exports=function(e,t){return n(e,o(e),t)}},5481:(e,t,r)=>{var n=r(9325)["__core-js_shared__"];e.exports=n},999:(e,t,r)=>{var n=r(9302),o=r(6800);e.exports=function(e){return n((function(t,r){var n=-1,a=r.length,s=a>1?r[a-1]:void 0,u=a>2?r[2]:void 0;for(s=e.length>3&&"function"==typeof s?(a--,s):void 0,u&&o(r[0],r[1],u)&&(s=a<3?void 0:s,a=1),t=Object(t);++n<a;){var i=r[n];i&&e(t,i,n,s)}return t}))}},3221:e=>{e.exports=function(e){return function(t,r,n){for(var o=-1,a=Object(t),s=n(t),u=s.length;u--;){var i=s[e?u:++o];if(!1===r(a[i],i,a))break}return t}}},3243:(e,t,r)=>{var n=r(6110),o=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=o},5911:(e,t,r)=>{var n=r(8859),o=r(4248),a=r(9219);e.exports=function(e,t,r,s,u,i){var c=1&r,l=e.length,f=t.length;if(l!=f&&!(c&&f>l))return!1;var d=i.get(e),p=i.get(t);if(d&&p)return d==t&&p==e;var v=-1,h=!0,y=2&r?new n:void 0;for(i.set(e,t),i.set(t,e);++v<l;){var b=e[v],_=t[v];if(s)var x=c?s(_,b,v,t,e,i):s(b,_,v,e,t,i);if(void 0!==x){if(x)continue;h=!1;break}if(y){if(!o(t,(function(e,t){if(!a(y,t)&&(b===e||u(b,e,r,s,i)))return y.push(t)}))){h=!1;break}}else if(b!==_&&!u(b,_,r,s,i)){h=!1;break}}return i.delete(e),i.delete(t),h}},1986:(e,t,r)=>{var n=r(1873),o=r(7828),a=r(5288),s=r(5911),u=r(317),i=r(4247),c=n?n.prototype:void 0,l=c?c.valueOf:void 0;e.exports=function(e,t,r,n,c,f,d){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!f(new o(e),new o(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return a(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var p=u;case"[object Set]":var v=1&n;if(p||(p=i),e.size!=t.size&&!v)return!1;var h=d.get(e);if(h)return h==t;n|=2,d.set(e,t);var y=s(p(e),p(t),n,c,f,d);return d.delete(e),y;case"[object Symbol]":if(l)return l.call(e)==l.call(t)}return!1}},689:(e,t,r)=>{var n=r(2),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,a,s,u){var i=1&r,c=n(e),l=c.length;if(l!=n(t).length&&!i)return!1;for(var f=l;f--;){var d=c[f];if(!(i?d in t:o.call(t,d)))return!1}var p=u.get(e),v=u.get(t);if(p&&v)return p==t&&v==e;var h=!0;u.set(e,t),u.set(t,e);for(var y=i;++f<l;){var b=e[d=c[f]],_=t[d];if(a)var x=i?a(_,b,d,t,e,u):a(b,_,d,e,t,u);if(!(void 0===x?b===_||s(b,_,r,a,u):x)){h=!1;break}y||(y="constructor"==d)}if(h&&!y){var g=e.constructor,j=t.constructor;g==j||!("constructor"in e)||!("constructor"in t)||"function"==typeof g&&g instanceof g&&"function"==typeof j&&j instanceof j||(h=!1)}return u.delete(e),u.delete(t),h}},4840:(e,t,r)=>{var n="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g;e.exports=n},2:(e,t,r)=>{var n=r(2199),o=r(4664),a=r(5950);e.exports=function(e){return n(e,a,o)}},3349:(e,t,r)=>{var n=r(2199),o=r(6375),a=r(7241);e.exports=function(e){return n(e,a,o)}},2651:(e,t,r)=>{var n=r(4218);e.exports=function(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}},776:(e,t,r)=>{var n=r(756),o=r(5950);e.exports=function(e){for(var t=o(e),r=t.length;r--;){var a=t[r],s=e[a];t[r]=[a,s,n(s)]}return t}},6110:(e,t,r)=>{var n=r(5083),o=r(392);e.exports=function(e,t){var r=o(e,t);return n(r)?r:void 0}},8879:(e,t,r)=>{var n=r(4335)(Object.getPrototypeOf,Object);e.exports=n},659:(e,t,r)=>{var n=r(1873),o=Object.prototype,a=o.hasOwnProperty,s=o.toString,u=n?n.toStringTag:void 0;e.exports=function(e){var t=a.call(e,u),r=e[u];try{e[u]=void 0;var n=!0}catch(e){}var o=s.call(e);return n&&(t?e[u]=r:delete e[u]),o}},4664:(e,t,r)=>{var n=r(9770),o=r(3345),a=Object.prototype.propertyIsEnumerable,s=Object.getOwnPropertySymbols,u=s?function(e){return null==e?[]:(e=Object(e),n(s(e),(function(t){return a.call(e,t)})))}:o;e.exports=u},6375:(e,t,r)=>{var n=r(4528),o=r(8879),a=r(4664),s=r(3345),u=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,a(e)),e=o(e);return t}:s;e.exports=u},5861:(e,t,r)=>{var n=r(5580),o=r(8223),a=r(2804),s=r(6545),u=r(8303),i=r(2552),c=r(7473),l="[object Map]",f="[object Promise]",d="[object Set]",p="[object WeakMap]",v="[object DataView]",h=c(n),y=c(o),b=c(a),_=c(s),x=c(u),g=i;(n&&g(new n(new ArrayBuffer(1)))!=v||o&&g(new o)!=l||a&&g(a.resolve())!=f||s&&g(new s)!=d||u&&g(new u)!=p)&&(g=function(e){var t=i(e),r="[object Object]"==t?e.constructor:void 0,n=r?c(r):"";if(n)switch(n){case h:return v;case y:return l;case b:return f;case _:return d;case x:return p}return t}),e.exports=g},392:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},2032:(e,t,r)=>{var n=r(1042);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},3862:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},6721:(e,t,r)=>{var n=r(1042),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return o.call(t,e)?t[e]:void 0}},2749:(e,t,r)=>{var n=r(1042),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:o.call(t,e)}},5749:(e,t,r)=>{var n=r(1042);e.exports=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},6189:e=>{var t=Object.prototype.hasOwnProperty;e.exports=function(e){var r=e.length,n=new e.constructor(r);return r&&"string"==typeof e[0]&&t.call(e,"index")&&(n.index=e.index,n.input=e.input),n}},7199:(e,t,r)=>{var n=r(9653),o=r(6169),a=r(3201),s=r(3736),u=r(1961);e.exports=function(e,t,r){var i=e.constructor;switch(t){case"[object ArrayBuffer]":return n(e);case"[object Boolean]":case"[object Date]":return new i(+e);case"[object DataView]":return o(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return u(e,r);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(e);case"[object RegExp]":return a(e);case"[object Symbol]":return s(e)}}},5529:(e,t,r)=>{var n=r(9344),o=r(8879),a=r(5527);e.exports=function(e){return"function"!=typeof e.constructor||a(e)?{}:n(o(e))}},361:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,r){var n=typeof e;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&t.test(e))&&e>-1&&e%1==0&&e<r}},6800:(e,t,r)=>{var n=r(5288),o=r(4894),a=r(361),s=r(3805);e.exports=function(e,t,r){if(!s(r))return!1;var u=typeof t;return!!("number"==u?o(r)&&a(t,r.length):"string"==u&&t in r)&&n(r[t],e)}},8586:(e,t,r)=>{var n=r(6449),o=r(4394),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;e.exports=function(e,t){if(n(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!o(e))||s.test(e)||!a.test(e)||null!=t&&e in Object(t)}},4218:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},7296:(e,t,r)=>{var n,o=r(5481),a=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!a&&a in e}},5527:e=>{var t=Object.prototype;e.exports=function(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||t)}},756:(e,t,r)=>{var n=r(3805);e.exports=function(e){return e==e&&!n(e)}},3702:e=>{e.exports=function(){this.__data__=[],this.size=0}},80:(e,t,r)=>{var n=r(6025),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0||(r==t.length-1?t.pop():o.call(t,r,1),--this.size,0))}},4739:(e,t,r)=>{var n=r(6025);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},8655:(e,t,r)=>{var n=r(6025);e.exports=function(e){return n(this.__data__,e)>-1}},1175:(e,t,r)=>{var n=r(6025);e.exports=function(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}},3040:(e,t,r)=>{var n=r(1549),o=r(79),a=r(8223);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(a||o),string:new n}}},7670:(e,t,r)=>{var n=r(2651);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},289:(e,t,r)=>{var n=r(2651);e.exports=function(e){return n(this,e).get(e)}},4509:(e,t,r)=>{var n=r(2651);e.exports=function(e){return n(this,e).has(e)}},2949:(e,t,r)=>{var n=r(2651);e.exports=function(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}},317:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}},7197:e=>{e.exports=function(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}},2224:(e,t,r)=>{var n=r(104);e.exports=function(e){var t=n(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},1042:(e,t,r)=>{var n=r(6110)(Object,"create");e.exports=n},3650:(e,t,r)=>{var n=r(4335)(Object.keys,Object);e.exports=n},181:e=>{e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},6009:(e,t,r)=>{e=r.nmd(e);var n=r(4840),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,s=a&&a.exports===o&&n.process,u=function(){try{return a&&a.require&&a.require("util").types||s&&s.binding&&s.binding("util")}catch(e){}}();e.exports=u},9350:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},4335:e=>{e.exports=function(e,t){return function(r){return e(t(r))}}},6757:(e,t,r)=>{var n=r(1033),o=Math.max;e.exports=function(e,t,r){return t=o(void 0===t?e.length-1:t,0),function(){for(var a=arguments,s=-1,u=o(a.length-t,0),i=Array(u);++s<u;)i[s]=a[t+s];s=-1;for(var c=Array(t+1);++s<t;)c[s]=a[s];return c[t]=r(i),n(e,this,c)}}},9325:(e,t,r)=>{var n=r(4840),o="object"==typeof self&&self&&self.Object===Object&&self,a=n||o||Function("return this")();e.exports=a},4974:e=>{e.exports=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}},1380:e=>{e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},1459:e=>{e.exports=function(e){return this.__data__.has(e)}},4247:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}},2865:(e,t,r)=>{var n=r(9570),o=r(1811)(n);e.exports=o},1811:e=>{var t=Date.now;e.exports=function(e){var r=0,n=0;return function(){var o=t(),a=16-(o-n);if(n=o,a>0){if(++r>=800)return arguments[0]}else r=0;return e.apply(void 0,arguments)}}},1420:(e,t,r)=>{var n=r(79);e.exports=function(){this.__data__=new n,this.size=0}},938:e=>{e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},3605:e=>{e.exports=function(e){return this.__data__.get(e)}},9817:e=>{e.exports=function(e){return this.__data__.has(e)}},945:(e,t,r)=>{var n=r(79),o=r(8223),a=r(3661);e.exports=function(e,t){var r=this.__data__;if(r instanceof n){var s=r.__data__;if(!o||s.length<199)return s.push([e,t]),this.size=++r.size,this;r=this.__data__=new a(s)}return r.set(e,t),this.size=r.size,this}},1802:(e,t,r)=>{var n=r(2224),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,s=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(o,(function(e,r,n,o){t.push(n?o.replace(a,"$1"):r||e)})),t}));e.exports=s},7797:(e,t,r)=>{var n=r(4394);e.exports=function(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},7473:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},8055:(e,t,r)=>{var n=r(9999);e.exports=function(e){return n(e,5)}},7334:e=>{e.exports=function(e){return function(){return e}}},5288:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},8156:(e,t,r)=>{var n=r(7422);e.exports=function(e,t,r){var o=null==e?void 0:n(e,t);return void 0===o?r:o}},3488:e=>{e.exports=function(e){return e}},2428:(e,t,r)=>{var n=r(7534),o=r(346),a=Object.prototype,s=a.hasOwnProperty,u=a.propertyIsEnumerable,i=n(function(){return arguments}())?n:function(e){return o(e)&&s.call(e,"callee")&&!u.call(e,"callee")};e.exports=i},6449:e=>{var t=Array.isArray;e.exports=t},4894:(e,t,r)=>{var n=r(1882),o=r(294);e.exports=function(e){return null!=e&&o(e.length)&&!n(e)}},3693:(e,t,r)=>{var n=r(4894),o=r(346);e.exports=function(e){return o(e)&&n(e)}},3656:(e,t,r)=>{e=r.nmd(e);var n=r(9325),o=r(9935),a=t&&!t.nodeType&&t,s=a&&e&&!e.nodeType&&e,u=s&&s.exports===a?n.Buffer:void 0,i=(u?u.isBuffer:void 0)||o;e.exports=i},1882:(e,t,r)=>{var n=r(2552),o=r(3805);e.exports=function(e){if(!o(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},294:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},7730:(e,t,r)=>{var n=r(9172),o=r(7301),a=r(6009),s=a&&a.isMap,u=s?o(s):n;e.exports=u},3805:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},346:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},1331:(e,t,r)=>{var n=r(2552),o=r(8879),a=r(346),s=Function.prototype,u=Object.prototype,i=s.toString,c=u.hasOwnProperty,l=i.call(Object);e.exports=function(e){if(!a(e)||"[object Object]"!=n(e))return!1;var t=o(e);if(null===t)return!0;var r=c.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&i.call(r)==l}},8440:(e,t,r)=>{var n=r(6038),o=r(7301),a=r(6009),s=a&&a.isSet,u=s?o(s):n;e.exports=u},4394:(e,t,r)=>{var n=r(2552),o=r(346);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==n(e)}},7167:(e,t,r)=>{var n=r(4901),o=r(7301),a=r(6009),s=a&&a.isTypedArray,u=s?o(s):n;e.exports=u},5950:(e,t,r)=>{var n=r(695),o=r(8984),a=r(4894);e.exports=function(e){return a(e)?n(e):o(e)}},7241:(e,t,r)=>{var n=r(695),o=r(2903),a=r(4894);e.exports=function(e){return a(e)?n(e,!0):o(e)}},1505:(e,t,r)=>{var n=r(9999),o=r(3663);e.exports=function(e){return o(n(e,1))}},104:(e,t,r)=>{var n=r(3661);function o(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var s=e.apply(this,n);return r.cache=a.set(o,s)||a,s};return r.cache=new(o.Cache||n),r}o.Cache=n,e.exports=o},5364:(e,t,r)=>{var n=r(5250),o=r(999)((function(e,t,r){n(e,t,r)}));e.exports=o},3345:e=>{e.exports=function(){return[]}},9935:e=>{e.exports=function(){return!1}},9884:(e,t,r)=>{var n=r(1791),o=r(7241);e.exports=function(e){return n(e,o(e))}},3222:(e,t,r)=>{var n=r(7556);e.exports=function(e){return null==e?"":n(e)}},7627:(e,t,r)=>{"use strict";function n(e,t){const r=new Map([...a(e).duplicates].map((e=>[e,null])));return JSON.stringify(e,((e,t)=>{if("object"==typeof t&&null!==t&&!Array.isArray(t)){const e=r.get(t);if("number"==typeof e)return{_instanceReference:e};const n=Array.isArray(t)?[...t]:{...t};if(null===e){const e=Math.random();r.set(t,e),n._instanceReferenceId=e}return t.constructor!==Object&&t.constructor!==Array&&(n._constructorName=t.constructor.name),n}return t}),t?.space)}function o(e,t){const r=JSON.parse(e),n=new Map;return a(r,(e=>{if(null!=e._instanceReferenceId){const t=e._instanceReferenceId;delete e._instanceReferenceId,n.set(t,e)}if(t&&e._constructorName){const r=t[e._constructorName];if(!r)throw new Error(`Constructor ${e._constructorName} is not in registry`);Object.setPrototypeOf(e,r.prototype),delete e._constructorName}})),a(r,((e,t,r)=>{if(null!=e?._instanceReference){const o=n.get(e._instanceReference);if(!o)throw new Error(`Unknown _instanceReference: ${e._instanceReference}`);t[r]=o}})),r}function a(e,t,r=new WeakSet,n=null,o=null,s=new Set){if("object"!=typeof e||null===e)return s;if(!r.has(e)){if(r.add(e),t?.(e,n,o),Array.isArray(e))for(let n=0;n<e.length;n++)a(e[n],t,r,e,n,s);else for(const n of Object.keys(e))a(e[n],t,r,e,n,s);return{duplicates:s}}s.add(e)}r.r(t),r.d(t,{deserialize:()=>o,serialize:()=>n})}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={id:n,loaded:!1,exports:{}};return e[n](a,a.exports,r),a.loaded=!0,a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var n={};return(()=>{"use strict";var e=n;Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"makeMove",{enumerable:!0,get:function(){return t.makeMove}});var t=r(8989)})(),n})()));
1
+ /*! For license information please see board-game-engine.min.js.LICENSE.txt */
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.BoardGameEngine=t():e.BoardGameEngine=t()}(this,()=>(()=>{var e={4245(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(87),s=n(8841),i=n(3614),o=n(7627),a=y(n(4913)),c=n(3883),l=y(n(3276)),u=y(n(4171)),p=y(n(7208)),d=y(n(7611)),f=y(n(380)),h=y(n(2146)),v=y(n(9965));function y(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.options=e,this.moveBuilder={targets:[],stepIndex:0,eliminatedMoves:[]},this.optimisticWinner=null,this.allClickable=new Set,this.game=(0,a.default)(JSON.parse(e.gameRules),e.gameName)}connect(){const{server:e,numPlayers:t,onClientUpdate:n,debug:o={collapseOnLoad:!0,impl:s.Debug},gameId:a,gameRules:c,boardgamePlayerID:l,clientToken:u,singlePlayer:p=!u}=this.options;try{const s=p?{game:this.game,numPlayers:t,debug:o}:{game:this.game,multiplayer:p?void 0:(0,i.SocketIO)({server:e,socketOpts:{transports:["websocket","polling"]}}),matchID:a,playerID:l,credentials:u,debug:o};return this.client=(0,r.Client)(s),n&&this.client.subscribe(n),this.client.start(),this}catch(e){console.error("Failed to join game:",e)}}getState(){let e,t,n;const r=this.client?.getState();return r&&(e={...r,G:(0,o.deserialize)(JSON.stringify(r.G),c.registry),originalG:r.G},n=e?.ctx?.gameover,t=n?[]:Object.entries((0,u.default)(e,this.client)).reduce((e,t)=>{let[n,r]=t;const s=e=>{this.client.moves[n]((0,f.default)(e))};return s.moveInstance=r.moveInstance,{...e,[n]:s}},{})),{state:e,gameover:n,moves:t}}doStep(e,t){const{state:n,moves:r}=this.getState(),{possibleMoveMeta:s,allClickable:i}=function(e,t,n,r){if(r)return{possibleMoveMeta:{},allClickable:new Set};const{eliminatedMoves:s,stepIndex:i}=n,o={},a=new Set;return Object.entries(t).filter(e=>{let[t]=e;return!s.includes(t)}).forEach(t=>{let[r,s]=t;const c=(0,p.default)(e,{...s.moveInstance.rule,moveName:r}),l={moveInstance:s.moveInstance,moveArguments:c.arguments},u=(0,v.default)(e,c,n.targets,l);l.moveArguments={...l.moveArguments,...u.arguments};const f=(0,d.default)(e,c,{},l).conditionsAreMet,y=(0,h.default)(e,c),g=y?.[i-1],m=y?.[i],b=y&&!!g&&!m,x=new Set(f&&m?.getClickable(l)||[]);o[r]={finishedOnLastStep:b,clickableForMove:x},x.forEach(e=>{a.add(e)})}),{possibleMoveMeta:o,allClickable:a}}(n,r,this.moveBuilder,t);this.allClickable=i;const a=Object.entries(s).filter(t=>{let[n,r]=t;return!r.finishedOnLastStep&&!r.clickableForMove.has(e)}).map(e=>{let[t]=e;return t}).concat(this.moveBuilder.eliminatedMoves);if(a.length===Object.keys(r).length)return void console.error("invalid move with target:",e?.rule);this.moveBuilder={eliminatedMoves:a,stepIndex:this.moveBuilder.stepIndex+1,targets:[...this.moveBuilder.targets,e]};const c=function(e,t,n,r){const s=Object.keys(t);if(1!==s.length)return null;const i=s[0];if(!t[i].finishedOnLastStep)return null;const o=r[i],a=o.moveInstance.rule;return{moveName:i,move:o,payload:(0,v.default)(e,a,n.targets,{moveInstance:o.moveInstance})}}(n,Object.fromEntries(Object.entries(s).filter(e=>{let[t]=e;return!a.includes(t)})),this.moveBuilder,r);c&&(this.optimisticWinner=function(e,t,n,r){const s=(0,l.default)(e,(0,f.default)(r),{moveInstance:n});return t.endIf?.({...e,G:JSON.parse((0,o.serialize)(s))})}(n,this.game,c.move.moveInstance,c.payload),c.move(c.payload),this.moveBuilder={targets:[],stepIndex:0,eliminatedMoves:[]}),this.options.onClientUpdate?.()}reset(){this.moveBuilder={targets:[],stepIndex:0,eliminatedMoves:[]},this.optimisticWinner=null,this.options.onClientUpdate?.()}undoStep(){this.moveBuilder.targets.length&&(this.moveBuilder={targets:this.moveBuilder.targets.slice(0,-1),stepIndex:Math.max(0,this.moveBuilder.stepIndex-1),eliminatedMoves:[]}),this.options.onClientUpdate?.()}},e.exports=t.default},784(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(7208))&&r.__esModule?r:{default:r};t.default=class{constructor(e,t){this.bank=t,this.rule=e,this.pool=[],this.remaining=+e.count||1}getOne(e,t,n){return this.getMultiple(e,1,t,n)[0]}getMultiple(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1/0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;const i=[];if(this.remaining===1/0&&t===1/0)throw new Error(`Cannot get infinite pieces from slot with infinite remaining: ${this.rule.name}`);if(t!==1/0&&t>this.remaining)throw new Error(`Requested ${t} pieces but only ${this.remaining} available in slot: ${this.rule.name}`);const o=t===1/0?this.remaining:t;this.remaining!==1/0&&(this.remaining-=o);const a=Math.min(o,this.pool.length);i.push(...this.pool.splice(0,a));const c=o-a;if(c>0&&i.push(...Array.from(new Array(c)).map(()=>this.bank.createEntity(this.rule))),n.state){const t=(0,s.default)(e,n.state,r);i.forEach(e=>{e.state={...e.state,...t}})}return i}returnToBank(e){e.rule.state?e.state=e.rule.state:delete e.state,void 0!==this.remaining&&(this.remaining+=1),this.pool.push(e)}},e.exports=t.default},6103(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=c(n(7309)),s=c(n(7612)),i=c(n(7611)),o=n(3883),a=c(n(784));function c(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.currentEntityId=0,this.tracker={},this.slots=e.map(e=>new a.default(e,this))}createEntity(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;const n=new o.registry[e.type||"Entity"]({bank:this,fromBank:!0,...t},e,this.currentEntityId++);return this.track(n),n}track(e){this.tracker[e.entityId]=e}locate(e){return this.tracker[e]}findAll(e,t,n){if(!t.conditions)throw new Error(`Cannot find entity with no conditions. Rule: ${JSON.stringify(t)}`);return(0,s.default)(Object.values(this.tracker),r=>(0,i.default)(e,t,{target:r},n).conditionsAreMet)}findOne(e,t,n){return this.findAll(e,t,n)[0]}find(e,t,n){return t.matchMultiple?this.findAll(e,t,n):this.findOne(e,t,n)}findParent(e){return(0,r.default)(this.tracker,t=>t.entities?.includes(e)||t.spaces?.includes(e))}getOne(e,t,n){const r=this.getSlot(e,t,n);return r||console.error(`No matching slot for ${JSON.stringify(t)}`),r.getOne(e,{state:t.state},n)}getMultiple(e,t,n,r){const s=this.getSlots(e,t,r);return s.length||console.error(`No matching slots for ${JSON.stringify(t)}`),s.reduce((r,s)=>[...r,...s.getMultiple(e,n,{state:t.state})],[])}getSlot(e,t,n){return this.slots.find(r=>(0,i.default)(e,t,{target:r},n).conditionsAreMet)}getSlots(e,t,n){return this.slots.filter(r=>(0,i.default)(e,t,{target:r},n).conditionsAreMet)}returnToBank(e,t){this.findParent(t).remove(t),this.getSlot(e,t.rule).returnToBank(t),delete this.tracker[t.entityId]}},e.exports=t.default},2606(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(1325))&&r.__esModule?r:{default:r};class i extends s.default{}t.default=i,e.exports=t.default},2130(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"Is"===e.conditionType?new r.default(e):"Not"===e.conditionType?new s.default(e):"Or"===e.conditionType?new i.default(e):"Some"===e.conditionType?new o.default(e):"Contains"===e.conditionType?new c.default(e):"ContainsSame"===e.conditionType?new l.default(e):"Every"===e.conditionType?new a.default(e):"InLine"===e.conditionType?new u.default(e):"HasLine"===e.conditionType?new p.default(e):"IsFull"===e.conditionType?new d.default(e):"Would"===e.conditionType?new f.default(e):"NoPossibleMoves"===e.conditionType?new h.default(e):"Evaluate"===e.conditionType?new v.default(e):"Position"===e.conditionType?new y.default(e):void 0};var r=g(n(7350)),s=g(n(8801)),i=g(n(9299)),o=g(n(218)),a=g(n(5163)),c=g(n(7823)),l=g(n(3546)),u=g(n(4372)),p=g(n(1839)),d=g(n(7278)),f=g(n(441)),h=g(n(2726)),v=g(n(8401)),y=g(n(6017));function g(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},4881(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(7208))&&r.__esModule?r:{default:r};t.default=class{constructor(e){this.rule=e}check(e,t,n){const r={...t},i={...n};r.target&&(i.originalTarget=r.target);const o=(0,s.default)(e,this.rule,i);return void 0!==o.target&&(r.target=o.target),void 0===this.rule.target||r.target?this.checkCondition(e,o,r,i):{conditionIsMet:!1}}isMet(){return this.check(...arguments).conditionIsMet}},e.exports=t.default},7823(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,i(n(1505));var r=i(n(4881)),s=i(n(7611));function i(e){return e&&e.__esModule?e:{default:e}}class o extends r.default{checkCondition(e,t,n,r){const{target:i}=n;if(i){const n=i.entities??i.spaces,o=n?.filter(n=>(0,s.default)(e,t,{target:n},r).conditionsAreMet)??[];return{matches:o,conditionIsMet:!!o.length}}return{matches:[],conditionIsMet:!1}}}t.default=o,e.exports=t.default},3546(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(n(4383)),s=o(n(2130)),i=o(n(4881));function o(e){return e&&e.__esModule?e:{default:e}}class a extends i.default{checkCondition(e,t,n){let{targets:i}=n;if(1===i.length&&i[0].entities?.length)return{conditionIsMet:!0};const[o,...a]=i;return{conditionIsMet:o.entities.some(n=>{const i=(0,s.default)({conditionType:"Contains",conditions:[{conditionType:"Is",matcher:(0,r.default)(n.rule,t.properties)}]});return a.every(t=>i.isMet(e,{target:t}))})}}}t.default=a,e.exports=t.default},8401(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,i(n(1505));var r=i(n(4881)),s=i(n(8123));function i(e){return e&&e.__esModule?e:{default:e}}class o extends r.default{checkCondition(e,t,n,r){const i={...r};n?.target&&(i.target=n.target);const o=(0,s.default)(e,t,i);return{result:o,conditionIsMet:!!o}}}t.default=o,e.exports=t.default},5163(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(4881)),s=i(n(7611));function i(e){return e&&e.__esModule?e:{default:e}}class o extends r.default{checkCondition(e,t,n,r){let{target:i}=n;const o=i.map(n=>{const i={...r,loopTarget:n};return(0,s.default)(e,t,void 0,i)});return{conditionIsMet:o.every(e=>e.conditionsAreMet),results:o}}}t.default=o,e.exports=t.default},1839(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(4881)),s=i(n(1138));function i(e){return e&&e.__esModule?e:{default:e}}class o extends r.default{checkCondition(e,t,n,r){const{matches:i}=(0,s.default)(e,n.target,t.sequence,r);return{matches:i,conditionIsMet:!!i.length}}}t.default=o,e.exports=t.default},4372(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(4881)),s=i(n(1138));function i(e){return e&&e.__esModule?e:{default:e}}class o extends r.default{checkCondition(e,t,n,r){const{G:i}=e,{target:o}=n,a=i.bank.findParent(n.target),{matches:c}=(0,s.default)(e,a,t.sequence,r),l=c.filter(e=>e.some(e=>e===o));return{matches:l,conditionIsMet:!!l.length}}}t.default=o,e.exports=t.default},7350(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(4881)),s=i(n(6413));function i(e){return e&&e.__esModule?e:{default:e}}class o extends r.default{checkCondition(e,t,n,r){let{target:i}=n;return this.rule.entity&&i!==t.entity?{target:i,conditionIsMet:!1}:{target:i,conditionIsMet:(0,s.default)(e,t.matcher,i,r)}}}t.default=o,e.exports=t.default},7278(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(4881))&&r.__esModule?r:{default:r};class i extends s.default{checkCondition(e,t,n,r){return{conditionIsMet:n.target.spaces.every(e=>e.entities.length)}}}t.default=i,e.exports=t.default},2726(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(n(4881)),s=o(n(3538)),i=o(n(4171));function o(e){return e&&e.__esModule?e:{default:e}}class a extends r.default{checkCondition(e,t,n,r){return{conditionIsMet:!(0,s.default)(e,(0,i.default)(e,r))}}}t.default=a,e.exports=t.default},8801(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(4881)),s=i(n(7611));function i(e){return e&&e.__esModule?e:{default:e}}class o extends r.default{checkCondition(e,t,n,r){return{conditionIsMet:!(0,s.default)(e,t,n,r).conditionsAreMet}}}t.default=o,e.exports=t.default},9299(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(4881)),s=i(n(2742));function i(e){return e&&e.__esModule?e:{default:e}}class o extends r.default{checkCondition(e,t,n,r){const i=(0,s.default)(e,t,n,r);return console.log("result",i),{conditionIsMet:!!i}}}t.default=o,e.exports=t.default},6017(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(4881))&&r.__esModule?r:{default:r};class i extends s.default{checkCondition(e,t,n){let{target:r}=n;const s=e.G.bank.findParent(r);let i;return"First"===t.position&&(i=0===s.entities.indexOf(r)),{conditionIsMet:i}}}t.default=i,e.exports=t.default},218(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(4881)),s=i(n(7611));function i(e){return e&&e.__esModule?e:{default:e}}class o extends r.default{checkCondition(e,t,n,r){let{target:i}=n;const o=i.find(n=>{const i={...r,loopTarget:n};return(0,s.default)(e,t,void 0,i).conditionsAreMet});return{conditionIsMet:!!o,result:o}}}t.default=o,e.exports=t.default},441(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(n(4881)),s=o(n(7611)),i=o(n(3276));function o(e){return e&&e.__esModule?e:{default:e}}const a={PlaceNew:["destination"],RemoveEntity:["entity"],MoveEntity:["entity","destination"],TakeFrom:["source","destination"],SetState:["entity","state"]};class c extends r.default{checkCondition(e,t,n,r){let{target:o,targets:c=[o]}=n;const u={arguments:c.reduce((e,t,n)=>({...e,[a[r.moveInstance.rule.type][n]]:t}),{})},p=(0,i.default)(e,u,r);let d={};o?d={target:p.bank.locate(o.entityId)}:c&&(d={targets:c.map(e=>p.bank.locate(e.entityId))});const f=(0,s.default)({...e,G:p},t,d,r),h=f.conditionsAreMet;return{results:h?l(f.results,t=>e.G.bank.locate(t)):f.results,conditionIsMet:h}}}function l(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new WeakSet;if("object"!=typeof e||null===e)return e;if(n.has(e))return e;if(n.add(e),void 0!==e.entityId)return t(e.entityId);if(Array.isArray(e))return e.map(e=>l(e,t,n));{const r={};for(const s in e)e.hasOwnProperty(s)&&(r[s]=l(e[s],t,n));return r}}t.default=c,e.exports=t.default},4511(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(e,t,n){if(!e?.fromBank)throw new Error(`Do not create entities directly. Go through the Bank. rule: ${JSON.stringify(t)}`);this.rule=t,this.entityId=n,this.state={},this.rule.stateGroups&&Object.entries(this.rule.stateGroups).forEach(t=>{let[n,r]=t;const s=e?.initialStateGroups?.[n]??Object.keys(r)[0];Object.assign(this.state,r[s])}),this.rule.state&&Object.assign(this.state,this.rule.state)}get attributes(){return{...this.rule,...this,...this.state}}},e.exports=t.default},6677(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=(0,s.default)(e,u);return t.sharedBoard||(t.sharedBoard=t.entities),t.turn||(t.turn={minMoves:1,maxMoves:1}),function(e){e.entities=[...o,...e.entities||[]]}(t),a(t,t.entities),t.phases&&Object.entries(t.phases).forEach(e=>{a(e,t.entities)}),e.numPlayers&&(e.minPlayers=e.maxPlayers=e.numPlayers),t},i(n(8055));var r=i(n(7309)),s=i(n(6730));function i(e){return e&&e.__esModule?e:{default:e}}const o=[{type:"Space",count:"Infinity"},{type:"Board",name:"sharedBoard"},{name:"playerMarker",perPlayer:!0,count:"Infinity"}];function a(e,t){if(e.sharedBoard){const t=e.sharedBoard.map(e=>({entity:e,destination:{name:"sharedBoard"}}));e.initialPlacements||(e.initialPlacements=[]),e.initialPlacements.unshift(...t)}if(e.personalBoard){t.push({type:"Board",name:"personalBoard",perPlayer:!0});const n=e.personalBoard.map(e=>({entity:e,destination:{name:"personalBoard"}}));e.initialPlacements||(e.initialPlacements=[]),e.initialPlacements.unshift(...n)}if(e.initialPlacements){const n=e.initialPlacements.map(e=>{const{state:n,...s}=e.entity,i=(0,r.default)(t,s);return"personalBoard"===e.destination.name?{type:"ForEach",arguments:{targets:{type:"ctxPath",path:["playOrder"]}},move:{type:"PlaceNew",entity:{state:n,conditions:[{conditionType:"Is",matcher:{...s,...i.perPlayer?{player:{type:"contextPath",path:["loopTarget"]}}:{}}}]},arguments:{destination:{conditions:[{conditionType:"Is",matcher:{...e.destination,player:{type:"contextPath",path:["loopTarget"]}}}]}}}}:{type:"PlaceNew",entity:{state:n,conditions:[{conditionType:"Is",matcher:s}]},arguments:{destination:{conditions:[{conditionType:"Is",matcher:e.destination}]}}}});e.initialMoves||(e.initialMoves=[]),e.initialMoves.unshift(...n),delete e.initialPlacements}}const c=[["thatMatches","conditions"],["entityType","type"],["moveType","type"],["endConditions","endIf"]],l=[["isCurrentPlayer",{conditionType:"Is",matcher:{player:{type:"ctxPath",path:["currentPlayer"]}}}],["isEmpty",{conditionType:"Not",conditions:[{conditionType:"Contains"}]}],["ownerOfFirstResultEntity",{type:"contextPath",path:["results",0,"matches",0,0,"entities",0,"attributes","player"]}]],u=[{test:e=>e&&"object"==typeof e,replace:e=>(c.forEach(t=>{let[n,r]=t;e.hasOwnProperty(n)&&(e[r]=e[n],delete e[n])}),e)},{test:e=>"string"==typeof e,replace:e=>{for(let t=0,n=l.length;t<n;t++)if(e===l[t][0])return l[t][1];return e}},{test:e=>e?.conditions,replace:e=>(Array.isArray(e.conditions)||(e.conditions=[e.conditions]),e)},{test:e=>e?.conditions,replace:e=>{for(let t=0,n=e.conditions.length;t<n;t++)e.conditions[t].conditionType||(e.conditions[t]={conditionType:"Is",matcher:e.conditions[t]});return e}},{test:e=>"string"==typeof e?.target,replace:e=>({...e,target:{conditions:[{conditionType:"Is",matcher:{name:e.target}}]}})}];e.exports=t.default},4913(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const n={name:t},c=(0,o.default)(e);return n.setup=e=>{const{ctx:t}=e,o={_meta:{passedPlayers:[],previousPayloads:{}}},a=function(e,t){return e.reduce((e,n)=>{const r={...n};if(r.perPlayer&&(delete r.perPlayer,r.variants?r.variants=new Array(t.numPlayers).fill().reduce((e,t,n)=>[...e,...r.variants.map(e=>({...e,player:`${n}`}))],[]):r.variants=new Array(t.numPlayers).fill().map((e,t)=>({player:`${t}`}))),r.variants){const t=r.variants;return delete r.variants,[...e,...t.map(e=>({...r,...e}))]}return[...e,r]},[])}(c.entities,t);return o.bank=new i.default(a),o.sharedBoard=o.bank.getOne(e,{conditions:[{conditionType:"Is",matcher:{name:"sharedBoard"}}]}),c.personalBoard&&(o.personalBoards=e.ctx.playOrder.map(t=>o.bank.getOne(e,{conditions:[{conditionType:"Is",matcher:{name:"personalBoard",player:t}}]}))),c.initialMoves?.forEach(t=>{(0,s.default)(t,n).moveInstance.doMove({...e,G:o})}),JSON.parse((0,r.serialize)(o))},c.moves&&(n.moves=f(c.moves,n)),c.turn&&(n.turn=p(c.turn,n)),c.phases&&(n.phases=Object.entries(c.phases).reduce((e,t)=>{let[r,s]=t;return{...e,[r]:d(s,n)}},{})),c.endIf&&(n.endIf=e=>{const t=(0,l.default)(e);return(0,a.default)(t,c.endIf)}),e.DEBUG_DISABLE_SECRET_STATE||(n.playerView=e=>{const{G:t,playerID:n}=(0,l.default)(e);return Object.values(t.bank.tracker).forEach(e=>{"All"!==e.rule.contentsHiddenFrom&&("Others"!==e.rule.contentsHiddenFrom||n===e.rule.player&&null!=n)||(e.spaces&&(e.spaces=e.rule.hideLength?[]:e.spaces.map(()=>t.bank.createEntity())),e.entities&&(e.entities=e.rule.hideLength?[]:e.entities.map(()=>t.bank.createEntity())))}),JSON.parse((0,r.serialize)(t))}),n};var r=n(7627),s=u(n(510)),i=u(n(6103)),o=u(n(6677)),a=u(n(236)),c=u(n(2796)),l=u(n(3358));function u(e){return e&&e.__esModule?e:{default:e}}function p(e,t){const n={...e};return n.onBegin=n=>{const s=(0,l.default)(n),i=e.stages?.[s.ctx.activePlayers?.[s.ctx.currentPlayer]];return s.G._meta.passedPlayers=s.G._meta.passedPlayers.filter(e=>e!==s.ctx.currentPlayer),(0,c.default)(s,e.initialMoves,{game:t}),(0,c.default)(s,i?.initialMoves,{game:t}),JSON.parse((0,r.serialize)(s.G))},e.stages&&Object.entries(e.stages).forEach(e=>{let[r,s]=e;s.moves&&(n.stages[r].moves=f(s.moves,t))}),"RotateFirst"===e.order?.playOrder&&(e.order.first=()=>0,e.order.next=e=>{let{ctx:t}=e;return(t.playOrderPos+1)%t.numPlayers},n.order.playOrder=e=>{let{ctx:t,G:n}=e;return n._meta.isAfterFirstPhase?[...t.playOrder.slice(1),t.playOrder[0]]:t.playOrder}),n}function d(e,t){const n={...e};return e.turn&&(n.turn=p(e.turn,t)),e.moves&&(n.moves=f(e.moves,t)),n.onBegin=n=>{const s=(0,l.default)(n);return(0,c.default)(s,e.initialMoves,{game:t}),s.G._meta.currentPhaseHasBeenSetUp=!0,s.G._meta.nextPhase=e.next,JSON.parse((0,r.serialize)(s.G))},e.endIf&&(n.endIf=t=>{const n=(0,l.default)(t);if(n.G._meta.currentPhaseHasBeenSetUp){const t=(0,a.default)(n,e.endIf);if(t)return t}}),n.onEnd=e=>{let{G:t}=e;t._meta.currentPhaseHasBeenSetUp=!1,t._meta.isAfterFirstPhase=!0},n}function f(e,t){return Object.entries(e).reduce((e,n)=>{let[r,i]=n;return{...e,[r]:(0,s.default)({...i,name:r},t)}},{})}e.exports=t.default},8243(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(6973))&&r.__esModule?r:{default:r};class i extends s.default{do(e){e.events.endTurn()}}t.default=i,e.exports=t.default},3459(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(6973))&&r.__esModule?r:{default:r},i=n(510);class o extends s.default{do(e,t,n,r){let{arguments:{targets:s}}=n;s.forEach(n=>{const s={...r,loopTarget:n};(0,i.getMoveInstance)(t.move).doMove(e,void 0,s)})}}t.default=o,e.exports=t.default},5885(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(6973))&&r.__esModule?r:{default:r};class i extends s.default{do(e,t,n){let{arguments:{entity:r,destination:s}}=n;Array.isArray(r)?r.forEach(n=>{e.G.bank.findParent(n)?.remove(n),s.placeEntity(n,t.position)}):(e.G.bank.findParent(r)?.remove(r),s.placeEntity(r,t.position))}}t.default=i,e.exports=t.default},510(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const n=b(e),a=function(a,c){const l=(0,o.default)(a),{G:u}=l,p=function(e,t){if(e){const n=(0,r.deserialize)(JSON.stringify(e),i.registry);return n.arguments=Object.entries(n.arguments).reduce((e,n)=>{let[r,s]=n;return{...e,[r]:"number"==typeof s?t.bank.locate(s):s}},{}),n}return e}(c,u),d={moveInstance:n,game:t},f=n.doMove(l,p,d);if(d.moveConditionResults=[f],f!==s.INVALID_MOVE&&e.then)for(let t of e.then){const e=b(t).doMove(l,{},{...d});d.moveConditionResults.push(e)}return JSON.parse((0,r.serialize)(u))};return a.moveInstance=n,a},t.getMoveInstance=b;var r=n(7627),s=n(6252),i=n(3883),o=m(n(3358)),a=m(n(5885)),c=m(n(2414)),l=m(n(6642)),u=m(n(4888)),p=m(n(9421)),d=m(n(2790)),f=m(n(8243)),h=m(n(3409)),v=m(n(3459)),y=m(n(5953)),g=m(n(2763));function m(e){return e&&e.__esModule?e:{default:e}}function b(e){switch(e.type){case"MoveEntity":return new a.default(e);case"PlaceNew":return new l.default(e);case"RemoveEntity":return new c.default(e);case"TakeFrom":return new u.default(e);case"SetState":return new p.default(e);case"ForEach":return new v.default(e);case"Pass":return new y.default(e);case"Shuffle":return new g.default(e);case"SetActivePlayers":return new d.default(e);case"EndTurn":return new f.default(e);case"PassTurn":return new h.default(e)}}},6973(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(6252),s=o(n(7611)),i=o(n(7208));function o(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.rule=this.transformRule(e)}checkValidity(e,t,n){const r=Object.entries(this.rule.arguments??{});if(!r.every(e=>{let[n]=e;const r=t.arguments[n];return void 0!==r&&(!Array.isArray(r)||r.length)}))return!1;const i={};for(let o=0,a=r.length;o<a;o++){const[a,c]=r[o],l=t.arguments[a],u=Array.isArray(l)?l:[l],p=[];for(let r=0,i=u.length;r<i;r++){const i=u[r],o=(0,s.default)(e,c,{target:i},{...n,moveArguments:t.arguments});if(p.push(o),!o.conditionsAreMet)break}const d=p.at(-1).conditionsAreMet;if(i[a]={results:p,conditionsAreMet:d},!d)break}const o=(0,s.default)(e,{conditions:this.rule.conditions},void 0,{...n,moveArguments:t.arguments});return{argumentResults:i,moveResults:o,conditionsAreMet:o.conditionsAreMet&&Object.values(i).every(e=>e.conditionsAreMet)}}isValid(e,t,n){return this.checkValidity(e,t,n).conditionsAreMet}doMove(e,t,n){let{skipCheck:s=!1}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=(0,i.default)(e,this.rule,n),a={...t,arguments:Object.entries(o.arguments??{}).reduce((e,n)=>{let[r,s]=n;return{...e,[r]:t?.arguments?.[r]??s}},{})};let c;return o.name&&(e.G._meta.previousPayloads[o.name]=a),s||(c=this.checkValidity(e,a,n)),s||c.conditionsAreMet?(this.do(e,o,a,n),n&&(n.previousArguments=a.arguments),{conditionResults:c}):r.INVALID_MOVE}transformRule(e){const t=e.arguments;for(let e in t){const n=t[e];n.playerChoice||(n.resolveAsEntity=!0)}return e}},e.exports=t.default},3409(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(6973))&&r.__esModule?r:{default:r};class i extends s.default{do(e){e.G._meta.passedPlayers.length<e.ctx.numPlayers&&(e.G._meta.passedPlayers.push(e.ctx.currentPlayer),e.events.pass())}}t.default=i,e.exports=t.default},5953(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(6973))&&r.__esModule?r:{default:r};class i extends s.default{do(e){e.events.endTurn()}}t.default=i,e.exports=t.default},6642(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(6973))&&r.__esModule?r:{default:r};class i extends s.default{do(e,t,n,r){let{arguments:{destination:s}}=n;(t.matchMultiple?e.G.bank.getMultiple(e,{...t.entity,conditions:[...t.entity?.conditions||[],...t.conditions||[]]},t.count,r):[e.G.bank.getOne(e,{...t.entity,conditions:[...t.entity?.conditions||[],...t.conditions||[]]},r)]).forEach(e=>{s.placeEntity(e,t.position)})}}t.default=i,e.exports=t.default},2414(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(6973))&&r.__esModule?r:{default:r};class i extends s.default{do(e,t,n){let{arguments:{entity:r}}=n;e.G.bank.returnToBank(e,r)}}t.default=i,e.exports=t.default},2790(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(6973)),s=i(n(2796));function i(e){return e&&e.__esModule?e:{default:e}}class o extends r.default{do(e,t,n,r){e.events.setActivePlayers(t.options);const i=e.ctx.phase,o=t.options.currentPlayer?.stage,a=r.game.phases?.[i]??r.game,c=a?.turn?.stages?.[o];(0,s.default)(e,c?.initialMoves,{...r,stageName:o})}}t.default=o,e.exports=t.default},9421(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(6973))&&r.__esModule?r:{default:r};class i extends s.default{do(e,t,n){let{arguments:{entity:r,state:s}}=n;console.log("entity",r),console.log("state",s),r.state={...r.state,[s.property]:s.value}}}t.default=i,e.exports=t.default},2763(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(6973))&&r.__esModule?r:{default:r};class i extends s.default{do(e,t,n){let{arguments:{target:r}}=n;r.entities=e.random.Shuffle(r.entities)}}t.default=i,e.exports=t.default},4888(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(6973))&&r.__esModule?r:{default:r};class i extends s.default{do(e,t,n){let{arguments:{source:r,destination:s}}=n;s.placeEntity(r.takeOne(t.arguments.source.position))}}t.default=i,e.exports=t.default},7913(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(1013)),s=i(n(9209));function i(e){return e&&e.__esModule?e:{default:e}}class o extends s.default{getSpacesCount(){return this.rule.width*this.rule.height}getRows(){return(0,r.default)(this.spaces,this.rule.width)}getCoordinates(e){const{width:t}=this.rule;return[e%t,Math.floor(e/t)]}getIndex(e){let[t,n]=e;const{width:r}=this.rule;return n*r+t}getSpace(e){return this.spaces[this.getIndex(e)]}getRelativeCoordinates(e,t){let[n,r]=e,[s,i]=t;const o=[n+s,r+i];return this.areCoordinatesValid(o)?o:null}areCoordinatesValid(e){let[t,n]=e;return t>=0&&n>=0&&t<this.rule.width&&n<this.rule.height}}t.default=o,e.exports=t.default},9209(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(4511))&&r.__esModule?r:{default:r};class i extends s.default{constructor(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];super(e,...n),this.spaces=this.makeSpaces(e.bank)}makeSpaces(e){return Array(this.getSpacesCount()).fill().map((t,n)=>e.createEntity({type:"Space",index:n}))}getEmptySpaces(){return this.spaces.filter(e=>e.isEmpty())}getSpace(e){return this.spaces[e]}getEntities(e){return this.getSpace(e).entities}placeEntity(e,t){this.getSpace(e).placeEntity(t)}}t.default=i,e.exports=t.default},1325(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(4511))&&r.__esModule?r:{default:r};class i extends s.default{constructor(){super(...arguments),this.entities=[]}placeEntity(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Last";"Last"===t?this.entities.push(e):"First"===t&&this.entities.unshift(e)}remove(e){this.entities.splice(this.entities.indexOf(e),1)}takeOne(){if("First"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"First"))return this.entities.splice(0,1)[0]}isEmpty(){return 0===this.entities.length}}t.default=i,e.exports=t.default},3883(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.registry=void 0;var r=u(n(2606)),s=u(n(9209)),i=u(n(1325)),o=u(n(7913)),a=u(n(6103)),c=u(n(784)),l=u(n(4511));function u(e){return e&&e.__esModule?e:{default:e}}t.registry={Board:r.default,SpaceGroup:s.default,Space:i.default,Grid:o.default,Bank:a.default,BankSlot:c.default,Entity:l.default}},3538(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return Object.values(t).some(t=>{const{moveInstance:n}=t,r={moveInstance:n},i=(0,s.default)(e,n.rule,r).arguments??{};if(0===Object.keys(i).length)return n.isValid(e,{arguments:{}},r);const o=function(e){const t=Object.keys(e),n={},r={};t.forEach(e=>{n[e]=[],r[e]=0}),t.forEach(s=>{a(e[s]).forEach(e=>{t.includes(e)&&e!==s&&(n[e].push(s),r[s]++)})});const s=t.filter(e=>0===r[e]),i=[];for(;s.length>0;){const e=s.shift();i.push(e),n[e].forEach(e=>{r[e]--,0===r[e]&&s.push(e)})}return i.length===t.length?i:t}(i);return c(e,n,i,o,r)})};var r=o(n(1331)),s=o(n(7208)),i=o(n(4198));function o(e){return e&&e.__esModule?e:{default:e}}function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;if(!e||"object"!=typeof e)return t;"contextPath"===e.type&&Array.isArray(e.path)&&"moveArguments"===e.path[0]&&e.path[1]&&t.add(e.path[1]);for(const n of Object.values(e))a(n,t);return t}function c(e,t,n,s,o){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{};if(a===s.length){const n={arguments:l};return t.isValid(e,n,o)}const u=s[a],p=n[u],d={...o,moveArguments:l},f=(0,r.default)(p)?(0,i.default)(e,{...p,matchMultiple:!0},d,u):p,h=Array.isArray(f)?f:void 0!==f?[f]:[];return 0!==h.length&&h.some(r=>c(e,t,n,s,o,a+1,{...l,[u]:r}))}e.exports=t.default},7611(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,r){const{conditions:i=[]}=t,o=[];let a;for(const t of i){const i=(0,s.default)(t).check(e,n,r);if(!i.conditionIsMet){a=t;break}o.push(i)}return{results:o,failedAt:a,conditionsAreMet:o.length===i.length}};var r,s=(r=n(2130))&&r.__esModule?r:{default:r};e.exports=t.default},9965(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,r){const i=(0,s.default)(e,t,r).map(e=>e.argName);return{arguments:n.reduce((e,t,n)=>({...e,[i[n]]:t}),{})}};var r,s=(r=n(2146))&&r.__esModule?r:{default:r};e.exports=t.default},3358(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return{...e,G:(0,r.deserialize)(JSON.stringify(e.G),s.registry)}};var r=n(7627),s=n(3883);e.exports=t.default},2796(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0;return t?.length?(t.forEach(t=>{(0,s.default)(t,n.game).moveInstance.doMove(e,void 0,n)}),e.G):e.G};var r,s=(r=n(510))&&r.__esModule?r:{default:r};e.exports=t.default},6413(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,i){return(0,r.default)(function(e,t,n){const r={...t};return delete r.state,delete r.stateGroups,(0,s.default)(e,r,n)}(e,t,i))(function(e){return{...e.rule,...e.state}}(n))};var r=i(n(1505)),s=i(n(7208));function i(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},2742(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,r){let i,{conditions:o=[]}=t;for(const t of o){const o=(0,s.default)(t).check(e,n,r);if(o.conditionIsMet){i={...o,conditionRule:t};break}}return i};var r,s=(r=n(2130))&&r.__esModule?r:{default:r};e.exports=t.default},4171(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){let{game:n,playerID:r,stageName:s}=t;const i=e.ctx.phase,o=s??e.ctx.activePlayers?.[r??e.ctx.currentPlayer],a=n.phases?.[i]??n;return(a.turn?.stages?.[o]??a).moves??{}},e.exports=t.default},236(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){let i;for(const n of t){const t=(0,r.default)(e,n);if(t.conditionsAreMet){i={scenario:n,conditionResults:t};break}}return i?.scenario?.result?(0,s.default)(e,i.scenario.result,{results:i.conditionResults.results}):i};var r=i(n(7611)),s=i(n(7208));function i(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},2146(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return n[t.type].filter(e=>t.arguments[e].playerChoice).map(n=>({argName:n,getClickable:"state"===n?()=>t.arguments[n].possibleValues.map(e=>({abstract:!0,...t.arguments[n],value:e})):r=>e.G.bank.findAll(e,t.arguments[n],r)}))};const n={PlaceNew:["destination"],RemoveEntity:["entity"],MoveEntity:["entity","destination"],TakeFrom:["source","destination"],SetState:["entity","state"]};e.exports=t.default},6648(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,n){let r=t;for(const t of n){if(void 0===r)return r;if(t?.flatten){if(!Array.isArray(r))return;r=r.flat(),t.map&&(r=r.map(n=>e(n,t.map)))}else r=r[t]}return r},e.exports=t.default},1138(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,r){const s=function(e,t){const n={moveInstance:t.moveInstance?.id,moveArguments:t.moveArguments};return JSON.stringify({pattern:e,context:n})}(n,r);let u=o.get(t);u||(u=new Map,o.set(t,u));const p=function(e){return(e.entities||[]).map(e=>{const t=e.entities||[];return 0===t.length?"empty":t.map(e=>{const t=Object.keys(e).sort(),n={};return t.forEach(t=>{n[t]=e[t]}),JSON.stringify(n)}).sort().join("|")}).join(",")}(t),d=u.get(s);if(d&&d.stateKey===p)return d.result;const f=[],h=n.reduce((e,t)=>e+(t.minCount||t.count||1),0);for(const[s,o]of i){const i=c(t,s,o);for(const[c,u]of i){const i=l(t,c,u,s,o);if(i.length<h)continue;const p=a(e,i,n,h,r);if(f.push(...p),0===p.length||n.length>1){const t=a(e,i,n,h,r,!0);f.push(...t)}}}const v={matches:f,conditionIsMet:!!f.length};return u.set(s,{stateKey:p,result:v}),v},s(n(1505));var r=s(n(7611));function s(e){return e&&e.__esModule?e:{default:e}}const i=[[1,0],[0,1],[1,1],[-1,1]],o=new WeakMap;function a(e,t,n,r,s){let i=arguments.length>5&&void 0!==arguments[5]&&arguments[5];const o=[],a=t.length;let c=0;for(;c<=a-r;){const r=u(e,t,c,n,s,i);r?(o.push(r),c++):c++}return o}function c(e,t,n){const{width:r,height:s}=e.attributes,i=[];if(1===t&&0===n)for(let e=0;e<s;e++)i.push([0,e]);else if(0===t&&1===n)for(let e=0;e<r;e++)i.push([e,0]);else if(1===t&&1===n){for(let e=0;e<r;e++)i.push([e,0]);for(let e=1;e<s;e++)i.push([0,e])}else if(-1===t&&1===n){for(let e=0;e<r;e++)i.push([e,0]);for(let e=1;e<s;e++)i.push([r-1,e])}return i}function l(e,t,n,r,s){const i=[];let[o,a]=[t,n];for(;e.areCoordinatesValid([o,a]);)i.push(e.getSpace([o,a])),o+=r,a+=s;return i}function u(e,t,n,r,s){let i=arguments.length>5&&void 0!==arguments[5]&&arguments[5],o=n;const a=[],c=t.length;for(const n of r){const{count:r,minCount:l,maxCount:u,conditions:d}=n;let f,h;void 0!==r?f=h=r:void 0!==l||void 0!==u?(f=l||0,h=u||1/0):f=h=1;let v=0;const y=[];for(;v<h&&o<c;){const n=i?t[c-1-o]:t[o];if(!p(e,n,d,y,s))break;y.push(n),v++,o++}if(v<f)return null;a.push(...y)}return a.length>0?a:null}function p(e,t,n){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=arguments.length>4?arguments[4]:void 0;return!n||0===n.length||(0,r.default)(e,{conditions:n},{target:t,targets:[t,...s]},i).conditionsAreMet}e.exports=t.default},6730(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return JSON.parse(JSON.stringify(e),(e,n)=>{let r=n;for(const e of t)e.test(r)&&(r=e.replace(r));return r})},e.exports=t.default},380(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(e?.arguments){const t={...e};return t.arguments=Object.entries(t.arguments).reduce((e,t)=>{let[n,r]=t;return{...e,[n]:r.abstract?r:r.entityId}},{}),JSON.parse((0,r.serialize)(t,{deduplicateInstances:!1}))}return e};var r=n(7627);e.exports=t.default},4198(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,r){return!i.includes(r)&&(0,s.default)(t)?e.G.bank.find(e,t,n):t};var r,s=(r=n(1331))&&r.__esModule?r:{default:r};const i=["state"];e.exports=t.default},8123(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){const r=(0,i.default)(e,t.arguments,n);return o.evaluate(t.expression,r)};var r,s=n(2016),i=(r=n(7208))&&r.__esModule?r:{default:r};const o=new s.Parser;o.functions.sum=e=>e.reduce((e,t)=>e+t,0),e.exports=t.default},7208(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=u;var r=c(n(1331)),s=c(n(4383)),i=c(n(6648)),o=c(n(8123)),a=c(n(4198));function c(e){return e&&e.__esModule?e:{default:e}}const l=["conditions","move","then","mapping"];function u(e,t,n,c){if(!(0,r.default)(t)&&!Array.isArray(t))return t;let d=Array.isArray(t)?[...t]:{...t};Object.entries(t).forEach(t=>{let[r,s]=t;l.includes(r)||(d[r]=u(e,s,n,r))});const f=function(e,t,n){if("expression"===t?.type)return(0,o.default)(e,{...t,arguments:u(e,t.arguments,n,"arguments")},n);if("count"===t?.type)return e.G.bank.findAll(e,t,n).length;if("contextPath"===t?.type)return(0,i.default)(n,t.path);if("ctxPath"===t?.type)return(0,i.default)(e.ctx,t.path);if("gamePath"===t?.type)return(0,i.default)(e.G,t.path);if("RelativePath"===t?.type){const r=u(e,t.target,n,"target");return(0,i.default)(r.attributes,t.path)??null}if("Parent"===t?.type){const r=t.target?u(e,t.target,n,"target"):n.originalTarget;return e.G.bank.findParent(r)??null}if("map"===t?.type)return p(e,t.targets,t.mapping,n).map(e=>e.value);if("mapMax"===t?.type){const r=p(e,t.targets,t.mapping,n);let s;const i=[];for(let e=0,t=r.length;e<t;e++){const{target:t,value:n}=r[e];void 0===s||n>s?(s=n,i.length=0,i.push(t)):n===s&&i.push(t)}return i}if("Pick"!==t?.type){if("Coordinates"===t?.type){const r=t.target?u(e,t.target,n,"target"):n.originalTarget;return e.G.bank.findParent(r).getCoordinates(r.rule.index)}if("relativeCoordinates"===t?.type){const r=t.target?u(e,t.target,n,"target"):n.originalTarget,s=e.G.bank.findParent(r),i=s.getCoordinates(r.rule.index),o=s.getRelativeCoordinates(i,u(e,t.location,n,"location"));return(o&&s.spaces[s.getIndex(o)])??null}return t}{const r=u(e,t.target,n,"target");if(void 0!==r){console.log("target",r),console.log("target.attributes",r.attributes);const i=(0,s.default)(u(e,r.attributes,n,"attributes"),t.properties);return console.log("x",i),i}console.log("8888target",r)}}(e,d,n);return f?.resolveAsEntity||"target"===c||"targets"===c?(0,a.default)(e,f,n,c):f}function p(e,t,n,r){return t.resolveAsEntity=!0,u(e,t,r)?.map(t=>({target:t,value:u(e,n,{...r,loopTarget:t})}))??[]}e.exports=t.default},3276(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){const i=(0,r.deserialize)((0,r.serialize)(e.G),s.registry),o={...e,G:i},a={...t,arguments:{}};return Object.entries(t.arguments).forEach(e=>{let[t,n]=e;a.arguments[t]=n.abstract?n:i.bank.locate("number"==typeof n?n:n.entityId)}),n.moveInstance.doMove(o,a,n,{skipCheck:!0}),i};var r=n(7627),s=n(3883);e.exports=t.default},6252(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(2569);n(5878),n(657),n(9001);t.ActivePlayers=r.ActivePlayers,Object.defineProperty(t,"GameMethod",{enumerable:!0,get:function(){return r.GameMethod}}),t.INVALID_MOVE=r.INVALID_MOVE,t.Stage=r.Stage,t.TurnOrder=r.TurnOrder,t.PlayerView={STRIP_SECRETS:({G:e,playerID:t})=>{const n={...e};return void 0!==n.secret&&delete n.secret,n.players&&(n.players=t?{[t]:n.players[t]}:{}),n}}},657(e,t){"use strict";class n{constructor(e){const t=function(){let e=4022871197;return function(t){const n=t.toString();for(let t=0;t<n.length;t++){e+=n.charCodeAt(t);let r=.02519603282416938*e;e=r>>>0,r-=e,r*=e,e=r>>>0,r-=e,e+=4294967296*r}return 2.3283064365386963e-10*(e>>>0)}}();this.c=1,this.s0=t(" "),this.s1=t(" "),this.s2=t(" "),this.s0-=t(e),this.s0<0&&(this.s0+=1),this.s1-=t(e),this.s1<0&&(this.s1+=1),this.s2-=t(e),this.s2<0&&(this.s2+=1)}next(){const e=2091639*this.s0+2.3283064365386963e-10*this.c;return this.s0=this.s1,this.s1=this.s2,this.s2=e-(this.c=Math.trunc(e))}}function r(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function s(e,t){const s=new n(e),i=s.next.bind(s);return t&&r(t,s),i.state=()=>r(s,{}),i}class i{constructor(e){this.state=e||{seed:"0"},this.used=!1}static seed(){return Date.now().toString(36).slice(-10)}isUsed(){return this.used}getState(){return this.state}_random(){this.used=!0;const e=this.state,t=s(e.prngstate?"":e.seed,e.prngstate),n=t();return this.state={...e,prngstate:t.state()},n}api(){const e=this._random.bind(this),t={D4:4,D6:6,D8:8,D10:10,D12:12,D20:20},n={};for(const r in t){const s=t[r];n[r]=t=>void 0===t?Math.floor(e()*s)+1:Array.from({length:t}).map(()=>Math.floor(e()*s)+1)}return{...n,Die:function(t=6,n){return void 0===n?Math.floor(e()*t)+1:Array.from({length:n}).map(()=>Math.floor(e()*t)+1)},Number:()=>e(),Shuffle:t=>{const n=[...t];let r=t.length,s=0;const i=Array.from({length:r});for(;r;){const t=Math.trunc(r*e());i[s++]=n[t],n[t]=n[--r]}return i},_private:this}}}const o={name:"random",noClient:({api:e})=>e._private.isUsed(),flush:({api:e})=>e._private.getState(),api:({data:e})=>new i(e).api(),setup:({game:e})=>{let{seed:t}=e;return void 0===t&&(t=i.seed()),{seed:t}},playerView:()=>{}};t.RandomPlugin=o,t.alea=s},2569(e,t,n){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var s=r(n(5878)),i=n(657);r(n(9001));const o="MAKE_MOVE",a="GAME_EVENT",c="REDO",l="RESET",u="SYNC",p="UNDO",d="UPDATE",f="PATCH",h="PLUGIN",v="STRIP_TRANSIENTS",y=(e,t,n,r)=>({type:o,payload:{type:e,args:t,playerID:n,credentials:r}}),g=(e,t,n,r)=>({type:a,payload:{type:e,args:t,playerID:n,credentials:r}}),m=(e,t,n,r)=>({type:a,payload:{type:e,args:t,playerID:n,credentials:r},automatic:!0}),b=e=>({type:u,state:e.state,log:e.log,initialState:e.initialState,clientOnly:!0}),x=(e,t,n,r)=>({type:f,prevStateID:e,stateID:t,patch:n,deltalog:r,clientOnly:!0}),_=(e,t)=>({type:d,state:e,deltalog:t,clientOnly:!0}),w=e=>({type:l,state:e,clientOnly:!0}),P=(e,t)=>({type:p,payload:{type:null,args:null,playerID:e,credentials:t}}),O=(e,t)=>({type:c,payload:{type:null,args:null,playerID:e,credentials:t}}),k=()=>({type:v});var $=Object.freeze({__proto__:null,makeMove:y,gameEvent:g,automaticGameEvent:m,sync:b,patch:x,update:_,reset:w,undo:P,redo:O,plugin:(e,t,n,r)=>({type:h,payload:{type:e,args:t,playerID:n,credentials:r}}),stripTransients:k});const A="INVALID_MOVE",E={name:"plugin-immer",fnWrap:e=>(t,...n)=>{let r=!1;const i=s(t.G,s=>{const i=e({...t,G:s},...n);if(i!==A)return i;r=!0});return r?A:i}};var M,j;(M=t.GameMethod||(t.GameMethod={})).MOVE="MOVE",M.GAME_ON_END="GAME_ON_END",M.PHASE_ON_BEGIN="PHASE_ON_BEGIN",M.PHASE_ON_END="PHASE_ON_END",M.TURN_ON_BEGIN="TURN_ON_BEGIN",M.TURN_ON_MOVE="TURN_ON_MOVE",M.TURN_ON_END="TURN_ON_END",function(e){e.CalledOutsideHook="Events must be called from moves or the `onBegin`, `onEnd`, and `onMove` hooks.\nThis error probably means you called an event from other game code, like an `endIf` trigger or one of the `turn.order` methods.",e.EndTurnInOnEnd="`endTurn` is disallowed in `onEnd` hooks — the turn is already ending.",e.MaxTurnEndings="Maximum number of turn endings exceeded for this update.\nThis likely means game code is triggering an infinite loop.",e.PhaseEventInOnEnd="`setPhase` & `endPhase` are disallowed in a phase’s `onEnd` hook — the phase is already ending.\nIf you’re trying to dynamically choose the next phase when a phase ends, use the phase’s `next` trigger.",e.StageEventInOnEnd="`setStage`, `endStage` & `setActivePlayers` are disallowed in `onEnd` hooks.",e.StageEventInPhaseBegin="`setStage`, `endStage` & `setActivePlayers` are disallowed in a phase’s `onBegin` hook.\nUse `setActivePlayers` in a `turn.onBegin` hook or declare stages with `turn.activePlayers` instead.",e.StageEventInTurnBegin="`setStage` & `endStage` are disallowed in `turn.onBegin`.\nUse `setActivePlayers` or declare stages with `turn.activePlayers` instead."}(j||(j={}));class S{constructor(e,t,n){this.flow=e,this.playerID=n,this.dispatch=[],this.initialTurn=t.turn,this.updateTurnContext(t,void 0),this.maxEndedTurnsPerAction=100*t.numPlayers}api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]=(...e)=>{this.dispatch.push({type:t,args:e,phase:this.currentPhase,turn:this.currentTurn,calledFrom:this.currentMethod,error:new Error("Events Plugin Error")})};return e}isUsed(){return this.dispatch.length>0}updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.turn,this.currentMethod=t}unsetCurrentMethod(){this.currentMethod=void 0}update(e){const n=e,r=({stack:e},t)=>({...n,plugins:{...n.plugins,events:{...n.plugins.events,data:{error:t+"\n"+e}}}});e:for(let n=0;n<this.dispatch.length;n++){const s=this.dispatch[n],i=s.turn!==e.ctx.turn;if(this.currentTurn-this.initialTurn>=this.maxEndedTurnsPerAction)return r(s.error,j.MaxTurnEndings);if(void 0===s.calledFrom)return r(s.error,j.CalledOutsideHook);if(e.ctx.gameover)break e;switch(s.type){case"endStage":case"setStage":case"setActivePlayers":switch(s.calledFrom){case t.GameMethod.TURN_ON_END:case t.GameMethod.PHASE_ON_END:return r(s.error,j.StageEventInOnEnd);case t.GameMethod.PHASE_ON_BEGIN:return r(s.error,j.StageEventInPhaseBegin);case t.GameMethod.TURN_ON_BEGIN:if("setActivePlayers"===s.type)break;return r(s.error,j.StageEventInTurnBegin)}if(i)continue e;break;case"endTurn":if(s.calledFrom===t.GameMethod.TURN_ON_END||s.calledFrom===t.GameMethod.PHASE_ON_END)return r(s.error,j.EndTurnInOnEnd);if(i)continue e;break;case"endPhase":case"setPhase":if(s.calledFrom===t.GameMethod.PHASE_ON_END)return r(s.error,j.PhaseEventInOnEnd);if(s.phase!==e.ctx.phase)continue e}const o=m(s.type,s.args,this.playerID);e=this.flow.processEvent(e,o)}return e}}const I={name:"events",noClient:({api:e})=>e._private.isUsed(),isInvalid:({data:e})=>e.error||!1,fnWrap:(e,t)=>(n,...r)=>{const s=n.events;s&&s._private.updateTurnContext(n.ctx,t);const i=e(n,...r);return s&&s._private.unsetCurrentMethod(),i},dangerouslyFlushRawState:({state:e,api:t})=>t._private.update(e),api:({game:e,ctx:t,playerID:n})=>new S(e.flow,t,n).api()};function N(e){((...e)=>{console.error(...e)})("ERROR:",e)}const T=[E,i.RandomPlugin,{name:"log",flush:()=>({}),api:({data:e})=>({setMetadata:t=>{e.metadata=t}}),setup:()=>({})},{name:"plugin-serializable",fnWrap:e=>(t,...n)=>e(t,...n)}],D=[...T,I],C=({plugins:e})=>Object.entries(e||{}).reduce((e,[t,{api:n}])=>(e[t]=n,e),{});function R(e,t=!1){e.moveLimit&&(t&&(e.minMoves=e.moveLimit),e.maxMoves=e.moveLimit,delete e.moveLimit)}function B(e,t){let n={},r=[],s=null,i={},o={};if(Array.isArray(t)){const e={};t.forEach(t=>e[t]=U.NULL),n=e}else{if(R(t),t.next&&(s=t.next),t.revert&&(r=[...e._prevActivePlayers,{activePlayers:e.activePlayers,_activePlayersMinMoves:e._activePlayersMinMoves,_activePlayersMaxMoves:e._activePlayersMaxMoves,_activePlayersNumMoves:e._activePlayersNumMoves}]),void 0!==t.currentPlayer&&G(n,i,o,e.currentPlayer,t.currentPlayer),void 0!==t.others)for(let r=0;r<e.playOrder.length;r++){const s=e.playOrder[r];s!==e.currentPlayer&&G(n,i,o,s,t.others)}if(void 0!==t.all)for(let r=0;r<e.playOrder.length;r++)G(n,i,o,e.playOrder[r],t.all);if(t.value)for(const e in t.value)G(n,i,o,e,t.value[e]);if(t.minMoves)for(const e in n)void 0===i[e]&&(i[e]=t.minMoves);if(t.maxMoves)for(const e in n)void 0===o[e]&&(o[e]=t.maxMoves)}0===Object.keys(n).length&&(n=null),0===Object.keys(i).length&&(i=null),0===Object.keys(o).length&&(o=null);const a={};for(const e in n)a[e]=0;return{...e,activePlayers:n,_activePlayersMinMoves:i,_activePlayersMaxMoves:o,_activePlayersNumMoves:a,_prevActivePlayers:r,_nextActivePlayers:s}}function G(e,t,n,r,s){"object"==typeof s&&s!==U.NULL||(s={stage:s}),void 0!==s.stage&&(R(s),e[r]=s.stage,s.minMoves&&(t[r]=s.minMoves),s.maxMoves&&(n[r]=s.maxMoves))}function L(e,t){return e[t]+""}const U={NULL:null},z={ALL:{all:U.NULL},ALL_ONCE:{all:U.NULL,minMoves:1,maxMoves:1},OTHERS:{others:U.NULL},OTHERS_ONCE:{others:U.NULL,minMoves:1,maxMoves:1}};t.ActionCreators=$,t.ActivePlayers=z,t.Enhance=(e,t)=>([...D,...t.game.plugins].filter(e=>void 0!==e.api).forEach(n=>{const r=n.name,s=e.plugins[r]||{data:{}},i=n.api({G:e.G,ctx:e.ctx,data:s.data,game:t.game,playerID:t.playerID});e={...e,plugins:{...e.plugins,[r]:{...s,api:i}}}}),e),t.FlushAndValidate=(e,t)=>{const n=((e,t)=>([...T,...t.game.plugins,I].reverse().forEach(n=>{const r=n.name,s=e.plugins[r]||{data:{}};if(n.flush){const r=n.flush({G:e.G,ctx:e.ctx,game:t.game,api:s.api,data:s.data});e={...e,plugins:{...e.plugins,[n.name]:{data:r}}}}else if(n.dangerouslyFlushRawState){const i=(e=n.dangerouslyFlushRawState({state:e,game:t.game,api:s.api,data:s.data})).plugins[r].data;e={...e,plugins:{...e.plugins,[n.name]:{data:i}}}}}),e))(e,t),r=((e,t)=>{const n=[...D,...t.game.plugins].filter(e=>void 0!==e.isInvalid).map(n=>{const{name:r}=n,s=e.plugins[r],i=n.isInvalid({G:e.G,ctx:e.ctx,game:t.game,data:s&&s.data});return!!i&&{plugin:r,message:i}}).find(e=>e);return n||!1})(n,t);if(!r)return[n];const{plugin:s,message:i}=r;return N(`${s} plugin declared action invalid:\n${i}`),[e,r]},t.FnWrap=(e,t,n)=>[...T,...n,I].filter(e=>void 0!==e.fnWrap).reduce((e,{fnWrap:n})=>n(e,t),e),t.GAME_EVENT=a,t.GetAPIs=C,t.INVALID_MOVE=A,t.InitTurnOrderState=function(e,t){let{G:n,ctx:r}=e;const{numPlayers:s}=r,i={...C(e),G:n,ctx:r},o=t.order;let a=[...Array.from({length:s})].map((e,t)=>t+"");void 0!==o.playOrder&&(a=o.playOrder(i));const c=o.first(i),l=typeof c;"number"!==l&&N(`invalid value returned by turn.order.first — expected number got ${l} “${c}”.`);const u=L(a,c);return r={...r,currentPlayer:u,playOrderPos:c,playOrder:a},r=B(r,t.activePlayers||{}),r},t.MAKE_MOVE=o,t.NoClient=(e,t)=>[...D,...t.game.plugins].filter(e=>void 0!==e.noClient).map(n=>{const r=n.name,s=e.plugins[r];return!!s&&n.noClient({G:e.G,ctx:e.ctx,game:t.game,api:s.api,data:s.data})}).includes(!0),t.PATCH=f,t.PLUGIN=h,t.PlayerView=({G:e,ctx:t,plugins:n={}},{game:r,playerID:s})=>([...D,...r.plugins].forEach(({name:i,playerView:o})=>{if(!o)return;const{data:a}=n[i]||{data:{}},c=o({G:e,ctx:t,game:r,data:a,playerID:s});n={...n,[i]:{data:c}}}),n),t.ProcessAction=(e,t,n)=>(n.game.plugins.filter(e=>void 0!==e.action).filter(e=>e.name===t.payload.type).forEach(n=>{const r=n.name,s=e.plugins[r]||{data:{}},i=n.action(s.data,t.payload);e={...e,plugins:{...e.plugins,[r]:{...s,data:i}}}}),e),t.REDO=c,t.RESET=l,t.STRIP_TRANSIENTS=v,t.SYNC=u,t.SetActivePlayers=B,t.Setup=(e,t)=>([...D,...t.game.plugins].filter(e=>void 0!==e.setup).forEach(n=>{const r=n.name,s=n.setup({G:e.G,ctx:e.ctx,game:t.game});e={...e,plugins:{...e.plugins,[r]:{data:s}}}}),e),t.Stage=U,t.TurnOrder={DEFAULT:{first:({ctx:e})=>0===e.turn?e.playOrderPos:(e.playOrderPos+1)%e.playOrder.length,next:({ctx:e})=>(e.playOrderPos+1)%e.playOrder.length},RESET:{first:()=>0,next:({ctx:e})=>(e.playOrderPos+1)%e.playOrder.length},CONTINUE:{first:({ctx:e})=>e.playOrderPos,next:({ctx:e})=>(e.playOrderPos+1)%e.playOrder.length},ONCE:{first:()=>0,next:({ctx:e})=>{if(e.playOrderPos<e.playOrder.length-1)return e.playOrderPos+1}},CUSTOM:e=>({playOrder:()=>e,first:()=>0,next:({ctx:e})=>(e.playOrderPos+1)%e.playOrder.length}),CUSTOM_FROM:e=>({playOrder:({G:t})=>t[e],first:()=>0,next:({ctx:e})=>(e.playOrderPos+1)%e.playOrder.length})},t.UNDO=p,t.UPDATE=d,t.UpdateActivePlayersOnceEmpty=function(e){let{activePlayers:t,_activePlayersMinMoves:n,_activePlayersMaxMoves:r,_activePlayersNumMoves:s,_prevActivePlayers:i,_nextActivePlayers:o}=e;if(t&&0===Object.keys(t).length)if(o)e=B(e,o),({activePlayers:t,_activePlayersMinMoves:n,_activePlayersMaxMoves:r,_activePlayersNumMoves:s,_prevActivePlayers:i}=e);else if(i.length>0){const e=i.length-1;({activePlayers:t,_activePlayersMinMoves:n,_activePlayersMaxMoves:r,_activePlayersNumMoves:s}=i[e]),i=i.slice(0,e)}else t=null,n=null,r=null;return{...e,activePlayers:t,_activePlayersMinMoves:n,_activePlayersMaxMoves:r,_activePlayersNumMoves:s,_prevActivePlayers:i}},t.UpdateTurnOrderState=function(e,t,n,r){const s=n.order;let{G:i,ctx:o}=e,a=o.playOrderPos,c=!1;if(r&&!0!==r)"object"!=typeof r&&N(`invalid argument to endTurn: ${r}`),Object.keys(r).forEach(e=>{switch(e){case"remove":t=L(o.playOrder,a);break;case"next":a=o.playOrder.indexOf(r.next),t=r.next;break;default:N(`invalid argument to endTurn: ${e}`)}});else{const n={...C(e),G:i,ctx:o},r=s.next(n),l=typeof r;void 0!==r&&"number"!==l&&N(`invalid value returned by turn.order.next — expected number or undefined got ${l} “${r}”.`),void 0===r?c=!0:(a=r,t=L(o.playOrder,a))}return o={...o,playOrderPos:a,currentPlayer:t},{endPhase:c,ctx:o}},t.error=N,t.gameEvent=g,t.info=function(e){},t.makeMove=y,t.patch=x,t.redo=O,t.reset=w,t.stripTransients=k,t.supportDeprecatedMoveLimit=R,t.sync=b,t.undo=P,t.update=_},8894(e,t,n){"use strict";n.d(t,{D:()=>Ns});var r=n(2743),s=n(2878),i=n(1284),o=n(8286);function a(){}const c=e=>e;function l(e,t){for(const n in t)e[n]=t[n];return e}function u(e){return e()}function p(){return Object.create(null)}function d(e){e.forEach(u)}function f(e){return"function"==typeof e}function h(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function v(e,...t){if(null==e)return a;const n=e.subscribe(...t);return n.unsubscribe?()=>n.unsubscribe():n}function y(e,t,n){e.$$.on_destroy.push(v(t,n))}function g(e,t,n,r){return e[1]&&r?l(n.ctx.slice(),e[1](r(t))):n.ctx}function m(e){const t={};for(const n in e)"$"!==n[0]&&(t[n]=e[n]);return t}function b(e){return null==e?"":e}const x="undefined"!=typeof window;let _=x?()=>window.performance.now():()=>Date.now(),w=x?e=>requestAnimationFrame(e):a;const P=new Set;function O(e){P.forEach(t=>{t.c(e)||(P.delete(t),t.f())}),0!==P.size&&w(O)}function k(e){let t;return 0===P.size&&w(O),{promise:new Promise(n=>{P.add(t={c:e,f:n})}),abort(){P.delete(t)}}}function $(e,t){e.appendChild(t)}function A(e,t,n){const r=E(e);if(!r.getElementById(t)){const e=T("style");e.id=t,e.textContent=n,j(r,e)}}function E(e){if(!e)return document;const t=e.getRootNode?e.getRootNode():e.ownerDocument;return t&&t.host?t:e.ownerDocument}function M(e){const t=T("style");return j(E(e),t),t.sheet}function j(e,t){$(e.head||e,t)}function S(e,t,n){e.insertBefore(t,n||null)}function I(e){e.parentNode.removeChild(e)}function N(e,t){for(let n=0;n<e.length;n+=1)e[n]&&e[n].d(t)}function T(e){return document.createElement(e)}function D(e){return document.createElementNS("http://www.w3.org/2000/svg",e)}function C(e){return document.createTextNode(e)}function R(){return C(" ")}function B(){return C("")}function G(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}function L(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function U(e,t){t=""+t,e.wholeText!==t&&(e.data=t)}function z(e,t){e.value=null==t?"":t}function q(e,t){for(let n=0;n<e.options.length;n+=1){const r=e.options[n];if(r.__value===t)return void(r.selected=!0)}e.selectedIndex=-1}function F(e){const t=e.querySelector(":checked")||e.options[0];return t&&t.__value}function V(e,t,n){e.classList[n?"add":"remove"](t)}function J(e,t,{bubbles:n=!1,cancelable:r=!1}={}){const s=document.createEvent("CustomEvent");return s.initCustomEvent(e,n,r,t),s}const W=new Map;let H,K=0;function Y(e,t,n,r,s,i,o,a=0){const c=16.666/r;let l="{\n";for(let e=0;e<=1;e+=c){const r=t+(n-t)*i(e);l+=100*e+`%{${o(r,1-r)}}\n`}const u=l+`100% {${o(n,1-n)}}\n}`,p=`__svelte_${function(e){let t=5381,n=e.length;for(;n--;)t=(t<<5)-t^e.charCodeAt(n);return t>>>0}(u)}_${a}`,d=E(e),{stylesheet:f,rules:h}=W.get(d)||function(e,t){const n={stylesheet:M(t),rules:{}};return W.set(e,n),n}(d,e);h[p]||(h[p]=!0,f.insertRule(`@keyframes ${p} ${u}`,f.cssRules.length));const v=e.style.animation||"";return e.style.animation=`${v?`${v}, `:""}${p} ${r}ms linear ${s}ms 1 both`,K+=1,p}function X(e,t){const n=(e.style.animation||"").split(", "),r=n.filter(t?e=>e.indexOf(t)<0:e=>-1===e.indexOf("__svelte")),s=n.length-r.length;s&&(e.style.animation=r.join(", "),K-=s,K||w(()=>{K||(W.forEach(e=>{const{stylesheet:t}=e;let n=t.cssRules.length;for(;n--;)t.deleteRule(n);e.rules={}}),W.clear())}))}function Q(e){H=e}function Z(){if(!H)throw new Error("Function called outside component initialization");return H}function ee(e){Z().$$.on_destroy.push(e)}function te(){const e=Z();return(t,n,{cancelable:r=!1}={})=>{const s=e.$$.callbacks[t];if(s){const i=J(t,n,{cancelable:r});return s.slice().forEach(t=>{t.call(e,i)}),!i.defaultPrevented}return!0}}function ne(e,t){return Z().$$.context.set(e,t),t}function re(e){return Z().$$.context.get(e)}function se(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>e.call(this,t))}const ie=[],oe=[],ae=[],ce=[],le=Promise.resolve();let ue=!1;function pe(e){ae.push(e)}const de=new Set;let fe,he=0;function ve(){const e=H;do{for(;he<ie.length;){const e=ie[he];he++,Q(e),ye(e.$$)}for(Q(null),ie.length=0,he=0;oe.length;)oe.pop()();for(let e=0;e<ae.length;e+=1){const t=ae[e];de.has(t)||(de.add(t),t())}ae.length=0}while(ie.length);for(;ce.length;)ce.pop()();ue=!1,de.clear(),Q(e)}function ye(e){if(null!==e.fragment){e.update(),d(e.before_update);const t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(pe)}}function ge(){return fe||(fe=Promise.resolve(),fe.then(()=>{fe=null})),fe}function me(e,t,n){e.dispatchEvent(J(`${t?"intro":"outro"}${n}`))}const be=new Set;let xe;function _e(){xe={r:0,c:[],p:xe}}function we(){xe.r||d(xe.c),xe=xe.p}function Pe(e,t){e&&e.i&&(be.delete(e),e.i(t))}function Oe(e,t,n,r){if(e&&e.o){if(be.has(e))return;be.add(e),xe.c.push(()=>{be.delete(e),r&&(n&&e.d(1),r())}),e.o(t)}else r&&r()}const ke={duration:0};function $e(e,t,n){let r,s,i=t(e,n),o=!1,l=0;function u(){r&&X(e,r)}function p(){const{delay:t=0,duration:n=300,easing:p=c,tick:d=a,css:f}=i||ke;f&&(r=Y(e,0,1,n,t,p,f,l++)),d(0,1);const h=_()+t,v=h+n;s&&s.abort(),o=!0,pe(()=>me(e,!0,"start")),s=k(t=>{if(o){if(t>=v)return d(1,0),me(e,!0,"end"),u(),o=!1;if(t>=h){const e=p((t-h)/n);d(e,1-e)}}return o})}let d=!1;return{start(){d||(d=!0,X(e),f(i)?(i=i(),ge().then(p)):p())},invalidate(){d=!1},end(){o&&(u(),o=!1)}}}function Ae(e,t,n){let r,s=t(e,n),i=!0;const o=xe;function l(){const{delay:t=0,duration:n=300,easing:l=c,tick:u=a,css:p}=s||ke;p&&(r=Y(e,1,0,n,t,l,p));const f=_()+t,h=f+n;pe(()=>me(e,!1,"start")),k(t=>{if(i){if(t>=h)return u(0,1),me(e,!1,"end"),--o.r||d(o.c),!1;if(t>=f){const e=l((t-f)/n);u(1-e,e)}}return i})}return o.r+=1,f(s)?ge().then(()=>{s=s(),l()}):l(),{end(t){t&&s.tick&&s.tick(1,0),i&&(r&&X(e,r),i=!1)}}}function Ee(e,t,n,r){let s=t(e,n),i=r?0:1,o=null,l=null,u=null;function p(){u&&X(e,u)}function h(e,t){const n=e.b-i;return t*=Math.abs(n),{a:i,b:e.b,d:n,duration:t,start:e.start,end:e.start+t,group:e.group}}function v(t){const{delay:n=0,duration:r=300,easing:f=c,tick:v=a,css:y}=s||ke,g={start:_()+n,b:t};t||(g.group=xe,xe.r+=1),o||l?l=g:(y&&(p(),u=Y(e,i,t,r,n,f,y)),t&&v(0,1),o=h(g,r),pe(()=>me(e,t,"start")),k(t=>{if(l&&t>l.start&&(o=h(l,r),l=null,me(e,o.b,"start"),y&&(p(),u=Y(e,i,o.b,o.duration,0,f,s.css))),o)if(t>=o.end)v(i=o.b,1-i),me(e,o.b,"end"),l||(o.b?p():--o.group.r||d(o.group.c)),o=null;else if(t>=o.start){const e=t-o.start;i=o.a+o.d*f(e/o.duration),v(i,1-i)}return!(!o&&!l)}))}return{run(e){f(s)?ge().then(()=>{s=s(),v(e)}):v(e)},end(){p(),o=l=null}}}function Me(e,t){const n={},r={},s={$$scope:1};let i=e.length;for(;i--;){const o=e[i],a=t[i];if(a){for(const e in o)e in a||(r[e]=1);for(const e in a)s[e]||(n[e]=a[e],s[e]=1);e[i]=a}else for(const e in o)s[e]=1}for(const e in r)e in n||(n[e]=void 0);return n}function je(e){return"object"==typeof e&&null!==e?e:{}}function Se(e){e&&e.c()}function Ie(e,t,n,r){const{fragment:s,on_mount:i,on_destroy:o,after_update:a}=e.$$;s&&s.m(t,n),r||pe(()=>{const t=i.map(u).filter(f);o?o.push(...t):d(t),e.$$.on_mount=[]}),a.forEach(pe)}function Ne(e,t){const n=e.$$;null!==n.fragment&&(d(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function Te(e,t,n,r,s,i,o,c=[-1]){const l=H;Q(e);const u=e.$$={fragment:null,ctx:null,props:i,update:a,not_equal:s,bound:p(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(t.context||(l?l.$$.context:[])),callbacks:p(),dirty:c,skip_bound:!1,root:t.target||l.$$.root};o&&o(u.root);let f=!1;if(u.ctx=n?n(e,t.props||{},(t,n,...r)=>{const i=r.length?r[0]:n;return u.ctx&&s(u.ctx[t],u.ctx[t]=i)&&(!u.skip_bound&&u.bound[t]&&u.bound[t](i),f&&function(e,t){-1===e.$$.dirty[0]&&(ie.push(e),ue||(ue=!0,le.then(ve)),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}(e,t)),n}):[],u.update(),f=!0,d(u.before_update),u.fragment=!!r&&r(u.ctx),t.target){if(t.hydrate){const e=function(e){return Array.from(e.childNodes)}(t.target);u.fragment&&u.fragment.l(e),e.forEach(I)}else u.fragment&&u.fragment.c();t.intro&&Pe(e.$$.fragment),Ie(e,t.target,t.anchor,t.customElement),ve()}Q(l)}class De{$destroy(){Ne(this,1),this.$destroy=a}$on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}$set(e){var t;this.$$set&&(t=e,0!==Object.keys(t).length)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Ce=[];function Re(e,t=a){let n;const r=new Set;function s(t){if(h(e,t)&&(e=t,n)){const t=!Ce.length;for(const t of r)t[1](),Ce.push(t,e);if(t){for(let e=0;e<Ce.length;e+=2)Ce[e][0](Ce[e+1]);Ce.length=0}}}return{set:s,update:function(t){s(t(e))},subscribe:function(i,o=a){const c=[i,o];return r.add(c),1===r.size&&(n=t(s)||a),i(e),()=>{r.delete(c),0===r.size&&(n(),n=null)}}}}function Be(e){const t=e-1;return t*t*t+1}function Ge(e,{delay:t=0,duration:n=400,easing:r=Be,x:s=0,y:i=0,opacity:o=0}={}){const a=getComputedStyle(e),c=+a.opacity,l="none"===a.transform?"":a.transform,u=c*(1-o);return{delay:t,duration:n,easing:r,css:(e,t)=>`\n\t\t\ttransform: ${l} translate(${(1-e)*s}px, ${(1-e)*i}px);\n\t\t\topacity: ${c-u*t}`}}function Le(e){A(e,"svelte-c8tyih","svg.svelte-c8tyih{stroke:currentColor;fill:currentColor;stroke-width:0;width:100%;height:auto;max-height:100%}")}function Ue(e){let t,n;return{c(){t=D("title"),n=C(e[0])},m(e,r){S(e,t,r),$(t,n)},p(e,t){1&t&&U(n,e[0])},d(e){e&&I(t)}}}function ze(e){let t,n,r,s=e[0]&&Ue(e);const i=e[3].default,o=function(e,t,n){if(e){const r=g(e,t,n,null);return e[0](r)}}(i,e,e[2]);return{c(){t=D("svg"),s&&s.c(),n=B(),o&&o.c(),L(t,"xmlns","http://www.w3.org/2000/svg"),L(t,"viewBox",e[1]),L(t,"class","svelte-c8tyih")},m(e,i){S(e,t,i),s&&s.m(t,null),$(t,n),o&&o.m(t,null),r=!0},p(e,[a]){var c,l;e[0]?s?s.p(e,a):(s=Ue(e),s.c(),s.m(t,n)):s&&(s.d(1),s=null),o&&o.p&&(!r||4&a)&&function(e,t,n,r,s){if(s){const i=g(t,n,r,null);e.p(i,s)}}(o,i,e,e[2],r?(c=i,l=e[2],c[2],l.dirty):function(e){if(e.ctx.length>32){const t=[],n=e.ctx.length/32;for(let e=0;e<n;e++)t[e]=-1;return t}return-1}(e[2])),(!r||2&a)&&L(t,"viewBox",e[1])},i(e){r||(Pe(o,e),r=!0)},o(e){Oe(o,e),r=!1},d(e){e&&I(t),s&&s.d(),o&&o.d(e)}}}function qe(e,t,n){let{$$slots:r={},$$scope:s}=t,{title:i=null}=t,{viewBox:o}=t;return e.$$set=e=>{"title"in e&&n(0,i=e.title),"viewBox"in e&&n(1,o=e.viewBox),"$$scope"in e&&n(2,s=e.$$scope)},[i,o,s,r]}class Fe extends De{constructor(e){super(),Te(this,e,qe,ze,h,{title:0,viewBox:1},Le)}}function Ve(e){let t;return{c(){t=D("path"),L(t,"d","M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z")},m(e,n){S(e,t,n)},p:a,d(e){e&&I(t)}}}function Je(e){let t,n;const r=[{viewBox:"0 0 320 512"},e[0]];let s={$$slots:{default:[Ve]},$$scope:{ctx:e}};for(let e=0;e<r.length;e+=1)s=l(s,r[e]);return t=new Fe({props:s}),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(e,[n]){const s=1&n?Me(r,[r[0],je(e[0])]):{};2&n&&(s.$$scope={dirty:n,ctx:e}),t.$set(s)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function We(e,t,n){return e.$$set=e=>{n(0,t=l(l({},t),m(e)))},[t=m(t)]}class He extends De{constructor(e){super(),Te(this,e,We,Je,h,{})}}function Ke(e){A(e,"svelte-1xg9v5h",".menu.svelte-1xg9v5h{display:flex;margin-top:43px;flex-direction:row-reverse;border:1px solid #ccc;border-radius:5px 5px 0 0;height:25px;line-height:25px;margin-right:-500px;transform-origin:bottom right;transform:rotate(-90deg) translate(0, -500px)}.menu-item.svelte-1xg9v5h{line-height:25px;cursor:pointer;border:0;background:#fefefe;color:#555;padding-left:15px;padding-right:15px;text-align:center}.menu-item.svelte-1xg9v5h:first-child{border-radius:0 5px 0 0}.menu-item.svelte-1xg9v5h:last-child{border-radius:5px 0 0 0}.menu-item.active.svelte-1xg9v5h{cursor:default;font-weight:bold;background:#ddd;color:#555}.menu-item.svelte-1xg9v5h:hover,.menu-item.svelte-1xg9v5h:focus{background:#eee;color:#555}")}function Ye(e,t,n){const r=e.slice();return r[4]=t[n][0],r[5]=t[n][1].label,r}function Xe(e){let t,n,r,s,i,o=e[5]+"";function a(){return e[3](e[4])}return{c(){t=T("button"),n=C(o),r=R(),L(t,"class","menu-item svelte-1xg9v5h"),V(t,"active",e[0]==e[4])},m(e,o){S(e,t,o),$(t,n),$(t,r),s||(i=G(t,"click",a),s=!0)},p(r,s){e=r,2&s&&o!==(o=e[5]+"")&&U(n,o),3&s&&V(t,"active",e[0]==e[4])},d(e){e&&I(t),s=!1,i()}}}function Qe(e){let t,n=Object.entries(e[1]),r=[];for(let t=0;t<n.length;t+=1)r[t]=Xe(Ye(e,n,t));return{c(){t=T("nav");for(let e=0;e<r.length;e+=1)r[e].c();L(t,"class","menu svelte-1xg9v5h")},m(e,n){S(e,t,n);for(let e=0;e<r.length;e+=1)r[e].m(t,null)},p(e,[s]){if(7&s){let i;for(n=Object.entries(e[1]),i=0;i<n.length;i+=1){const o=Ye(e,n,i);r[i]?r[i].p(o,s):(r[i]=Xe(o),r[i].c(),r[i].m(t,null))}for(;i<r.length;i+=1)r[i].d(1);r.length=n.length}},i:a,o:a,d(e){e&&I(t),N(r,e)}}}function Ze(e,t,n){let{pane:r}=t,{panes:s}=t;const i=te();return e.$$set=e=>{"pane"in e&&n(0,r=e.pane),"panes"in e&&n(1,s=e.panes)},[r,s,i,e=>i("change",e)]}class et extends De{constructor(e){super(),Te(this,e,Ze,Qe,h,{pane:0,panes:1},Ke)}}var tt={};function nt(e){A(e,"svelte-1vyml86",".container.svelte-1vyml86{display:inline-block;cursor:pointer;transform:translate(calc(0px - var(--li-identation)), -50%);position:absolute;top:50%;padding-right:100%}.arrow.svelte-1vyml86{transform-origin:25% 50%;position:relative;line-height:1.1em;font-size:0.75em;margin-left:0;transition:150ms;color:var(--arrow-sign);user-select:none;font-family:'Courier New', Courier, monospace}.expanded.svelte-1vyml86{transform:rotateZ(90deg) translateX(-3px)}")}function rt(e){let t,n,r,s;return{c(){t=T("div"),n=T("div"),n.textContent="▶",L(n,"class","arrow svelte-1vyml86"),V(n,"expanded",e[0]),L(t,"class","container svelte-1vyml86")},m(i,o){S(i,t,o),$(t,n),r||(s=G(t,"click",e[1]),r=!0)},p(e,[t]){1&t&&V(n,"expanded",e[0])},i:a,o:a,d(e){e&&I(t),r=!1,s()}}}function st(e,t,n){let{expanded:r}=t;return e.$$set=e=>{"expanded"in e&&n(0,r=e.expanded)},[r,function(t){se.call(this,e,t)}]}class it extends De{constructor(e){super(),Te(this,e,st,rt,h,{expanded:0},nt)}}function ot(e){A(e,"svelte-1vlbacg","label.svelte-1vlbacg{display:inline-block;color:var(--label-color);padding:0}.spaced.svelte-1vlbacg{padding-right:var(--li-colon-space)}")}function at(e){let t,n,r,s,i,o;return{c(){t=T("label"),n=T("span"),r=C(e[0]),s=C(e[2]),L(t,"class","svelte-1vlbacg"),V(t,"spaced",e[1])},m(a,c){S(a,t,c),$(t,n),$(n,r),$(n,s),i||(o=G(t,"click",e[5]),i=!0)},p(e,n){1&n&&U(r,e[0]),4&n&&U(s,e[2]),2&n&&V(t,"spaced",e[1])},d(e){e&&I(t),i=!1,o()}}}function ct(e){let t,n=e[3]&&e[0]&&at(e);return{c(){n&&n.c(),t=B()},m(e,r){n&&n.m(e,r),S(e,t,r)},p(e,[r]){e[3]&&e[0]?n?n.p(e,r):(n=at(e),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:a,o:a,d(e){n&&n.d(e),e&&I(t)}}}function lt(e,t,n){let r,{key:s,isParentExpanded:i,isParentArray:o=!1,colon:a=":"}=t;return e.$$set=e=>{"key"in e&&n(0,s=e.key),"isParentExpanded"in e&&n(1,i=e.isParentExpanded),"isParentArray"in e&&n(4,o=e.isParentArray),"colon"in e&&n(2,a=e.colon)},e.$$.update=()=>{19&e.$$.dirty&&n(3,r=i||!o||s!=+s)},[s,i,a,r,o,function(t){se.call(this,e,t)}]}class ut extends De{constructor(e){super(),Te(this,e,lt,ct,h,{key:0,isParentExpanded:1,isParentArray:4,colon:2},ot)}}function pt(e){A(e,"svelte-rwxv37","label.svelte-rwxv37{display:inline-block}.indent.svelte-rwxv37{padding-left:var(--li-identation)}.collapse.svelte-rwxv37{--li-display:inline;display:inline;font-style:italic}.comma.svelte-rwxv37{margin-left:-0.5em;margin-right:0.5em}label.svelte-rwxv37{position:relative}")}function dt(e,t,n){const r=e.slice();return r[12]=t[n],r[20]=n,r}function ft(e){let t,n;return t=new it({props:{expanded:e[0]}}),t.$on("click",e[15]),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.expanded=e[0]),t.$set(r)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function ht(e){let t;return{c(){t=T("span"),t.textContent="…"},m(e,n){S(e,t,n)},p:a,i:a,o:a,d(e){e&&I(t)}}}function vt(e){let t,n,r,s,i,o=e[13],a=[];for(let t=0;t<o.length;t+=1)a[t]=gt(dt(e,o,t));const c=e=>Oe(a[e],1,1,()=>{a[e]=null});let l=e[13].length<e[7].length&&mt();return{c(){t=T("ul");for(let e=0;e<a.length;e+=1)a[e].c();n=R(),l&&l.c(),L(t,"class","svelte-rwxv37"),V(t,"collapse",!e[0])},m(o,c){S(o,t,c);for(let e=0;e<a.length;e+=1)a[e].m(t,null);$(t,n),l&&l.m(t,null),r=!0,s||(i=G(t,"click",e[16]),s=!0)},p(e,r){if(10129&r){let s;for(o=e[13],s=0;s<o.length;s+=1){const i=dt(e,o,s);a[s]?(a[s].p(i,r),Pe(a[s],1)):(a[s]=gt(i),a[s].c(),Pe(a[s],1),a[s].m(t,n))}for(_e(),s=o.length;s<a.length;s+=1)c(s);we()}e[13].length<e[7].length?l||(l=mt(),l.c(),l.m(t,null)):l&&(l.d(1),l=null),1&r&&V(t,"collapse",!e[0])},i(e){if(!r){for(let e=0;e<o.length;e+=1)Pe(a[e]);r=!0}},o(e){a=a.filter(Boolean);for(let e=0;e<a.length;e+=1)Oe(a[e]);r=!1},d(e){e&&I(t),N(a,e),l&&l.d(),s=!1,i()}}}function yt(e){let t;return{c(){t=T("span"),t.textContent=",",L(t,"class","comma svelte-rwxv37")},m(e,n){S(e,t,n)},d(e){e&&I(t)}}}function gt(e){let t,n,r,s;t=new rn({props:{key:e[8](e[12]),isParentExpanded:e[0],isParentArray:e[4],value:e[0]?e[9](e[12]):e[10](e[12])}});let i=!e[0]&&e[20]<e[7].length-1&&yt();return{c(){Se(t.$$.fragment),n=R(),i&&i.c(),r=B()},m(e,o){Ie(t,e,o),S(e,n,o),i&&i.m(e,o),S(e,r,o),s=!0},p(e,n){const s={};8448&n&&(s.key=e[8](e[12])),1&n&&(s.isParentExpanded=e[0]),16&n&&(s.isParentArray=e[4]),9729&n&&(s.value=e[0]?e[9](e[12]):e[10](e[12])),t.$set(s),!e[0]&&e[20]<e[7].length-1?i||(i=yt(),i.c(),i.m(r.parentNode,r)):i&&(i.d(1),i=null)},i(e){s||(Pe(t.$$.fragment,e),s=!0)},o(e){Oe(t.$$.fragment,e),s=!1},d(e){Ne(t,e),e&&I(n),i&&i.d(e),e&&I(r)}}}function mt(e){let t;return{c(){t=T("span"),t.textContent="…"},m(e,n){S(e,t,n)},d(e){e&&I(t)}}}function bt(e){let t,n,r,s,i,o,a,c,l,u,p,d,f,h,v,y,g,m,b=e[11]&&e[2]&&ft(e);s=new ut({props:{key:e[12],colon:e[14].colon,isParentExpanded:e[2],isParentArray:e[3]}}),s.$on("click",e[15]);const x=[vt,ht],_=[];function w(e,t){return e[2]?0:1}return p=w(e),d=_[p]=x[p](e),{c(){t=T("li"),n=T("label"),b&&b.c(),r=R(),Se(s.$$.fragment),i=R(),o=T("span"),a=T("span"),c=C(e[1]),l=C(e[5]),u=R(),d.c(),f=R(),h=T("span"),v=C(e[6]),L(n,"class","svelte-rwxv37"),L(t,"class","svelte-rwxv37"),V(t,"indent",e[2])},m(d,x){S(d,t,x),$(t,n),b&&b.m(n,null),$(n,r),Ie(s,n,null),$(n,i),$(n,o),$(o,a),$(a,c),$(o,l),$(t,u),_[p].m(t,null),$(t,f),$(t,h),$(h,v),y=!0,g||(m=G(o,"click",e[15]),g=!0)},p(e,[i]){e[11]&&e[2]?b?(b.p(e,i),2052&i&&Pe(b,1)):(b=ft(e),b.c(),Pe(b,1),b.m(n,r)):b&&(_e(),Oe(b,1,1,()=>{b=null}),we());const o={};4096&i&&(o.key=e[12]),4&i&&(o.isParentExpanded=e[2]),8&i&&(o.isParentArray=e[3]),s.$set(o),(!y||2&i)&&U(c,e[1]),(!y||32&i)&&U(l,e[5]);let a=p;p=w(e),p===a?_[p].p(e,i):(_e(),Oe(_[a],1,1,()=>{_[a]=null}),we(),d=_[p],d?d.p(e,i):(d=_[p]=x[p](e),d.c()),Pe(d,1),d.m(t,f)),(!y||64&i)&&U(v,e[6]),4&i&&V(t,"indent",e[2])},i(e){y||(Pe(b),Pe(s.$$.fragment,e),Pe(d),y=!0)},o(e){Oe(b),Oe(s.$$.fragment,e),Oe(d),y=!1},d(e){e&&I(t),b&&b.d(),Ne(s),_[p].d(),g=!1,m()}}}function xt(e,t,n){let r,{key:s,keys:i,colon:o=":",label:a="",isParentExpanded:c,isParentArray:l,isArray:u=!1,bracketOpen:p,bracketClose:d}=t,{previewKeys:f=i}=t,{getKey:h=e=>e}=t,{getValue:v=e=>e}=t,{getPreviewValue:y=v}=t,{expanded:g=!1,expandable:m=!0}=t;const b=re(tt);return ne(tt,{...b,colon:o}),e.$$set=e=>{"key"in e&&n(12,s=e.key),"keys"in e&&n(17,i=e.keys),"colon"in e&&n(18,o=e.colon),"label"in e&&n(1,a=e.label),"isParentExpanded"in e&&n(2,c=e.isParentExpanded),"isParentArray"in e&&n(3,l=e.isParentArray),"isArray"in e&&n(4,u=e.isArray),"bracketOpen"in e&&n(5,p=e.bracketOpen),"bracketClose"in e&&n(6,d=e.bracketClose),"previewKeys"in e&&n(7,f=e.previewKeys),"getKey"in e&&n(8,h=e.getKey),"getValue"in e&&n(9,v=e.getValue),"getPreviewValue"in e&&n(10,y=e.getPreviewValue),"expanded"in e&&n(0,g=e.expanded),"expandable"in e&&n(11,m=e.expandable)},e.$$.update=()=>{4&e.$$.dirty&&(c||n(0,g=!1)),131201&e.$$.dirty&&n(13,r=g?i:f.slice(0,5))},[g,a,c,l,u,p,d,f,h,v,y,m,s,r,b,function(){n(0,g=!g)},function(){n(0,g=!0)},i,o]}class _t extends De{constructor(e){super(),Te(this,e,xt,bt,h,{key:12,keys:17,colon:18,label:1,isParentExpanded:2,isParentArray:3,isArray:4,bracketOpen:5,bracketClose:6,previewKeys:7,getKey:8,getValue:9,getPreviewValue:10,expanded:0,expandable:11},pt)}}function wt(e){let t,n;return t=new _t({props:{key:e[0],expanded:e[4],isParentExpanded:e[1],isParentArray:e[2],keys:e[5],previewKeys:e[5],getValue:e[6],label:e[3]+" ",bracketOpen:"{",bracketClose:"}"}}),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(e,[n]){const r={};1&n&&(r.key=e[0]),16&n&&(r.expanded=e[4]),2&n&&(r.isParentExpanded=e[1]),4&n&&(r.isParentArray=e[2]),32&n&&(r.keys=e[5]),32&n&&(r.previewKeys=e[5]),8&n&&(r.label=e[3]+" "),t.$set(r)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function Pt(e,t,n){let r,{key:s,value:i,isParentExpanded:o,isParentArray:a,nodeType:c}=t,{expanded:l=!0}=t;return e.$$set=e=>{"key"in e&&n(0,s=e.key),"value"in e&&n(7,i=e.value),"isParentExpanded"in e&&n(1,o=e.isParentExpanded),"isParentArray"in e&&n(2,a=e.isParentArray),"nodeType"in e&&n(3,c=e.nodeType),"expanded"in e&&n(4,l=e.expanded)},e.$$.update=()=>{128&e.$$.dirty&&n(5,r=Object.getOwnPropertyNames(i))},[s,o,a,c,l,r,function(e){return i[e]},i]}class Ot extends De{constructor(e){super(),Te(this,e,Pt,wt,h,{key:0,value:7,isParentExpanded:1,isParentArray:2,nodeType:3,expanded:4})}}function kt(e){let t,n;return t=new _t({props:{key:e[0],expanded:e[4],isParentExpanded:e[2],isParentArray:e[3],isArray:!0,keys:e[5],previewKeys:e[6],getValue:e[7],label:"Array("+e[1].length+")",bracketOpen:"[",bracketClose:"]"}}),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(e,[n]){const r={};1&n&&(r.key=e[0]),16&n&&(r.expanded=e[4]),4&n&&(r.isParentExpanded=e[2]),8&n&&(r.isParentArray=e[3]),32&n&&(r.keys=e[5]),64&n&&(r.previewKeys=e[6]),2&n&&(r.label="Array("+e[1].length+")"),t.$set(r)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function $t(e,t,n){let r,s,{key:i,value:o,isParentExpanded:a,isParentArray:c}=t,{expanded:l=JSON.stringify(o).length<1024}=t;const u=new Set(["length"]);return e.$$set=e=>{"key"in e&&n(0,i=e.key),"value"in e&&n(1,o=e.value),"isParentExpanded"in e&&n(2,a=e.isParentExpanded),"isParentArray"in e&&n(3,c=e.isParentArray),"expanded"in e&&n(4,l=e.expanded)},e.$$.update=()=>{2&e.$$.dirty&&n(5,r=Object.getOwnPropertyNames(o)),32&e.$$.dirty&&n(6,s=r.filter(e=>!u.has(e)))},[i,o,a,c,l,r,s,function(e){return o[e]}]}class At extends De{constructor(e){super(),Te(this,e,$t,kt,h,{key:0,value:1,isParentExpanded:2,isParentArray:3,expanded:4})}}function Et(e){let t,n;return t=new _t({props:{key:e[0],isParentExpanded:e[1],isParentArray:e[2],keys:e[4],getKey:Mt,getValue:jt,isArray:!0,label:e[3]+"("+e[4].length+")",bracketOpen:"{",bracketClose:"}"}}),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(e,[n]){const r={};1&n&&(r.key=e[0]),2&n&&(r.isParentExpanded=e[1]),4&n&&(r.isParentArray=e[2]),16&n&&(r.keys=e[4]),24&n&&(r.label=e[3]+"("+e[4].length+")"),t.$set(r)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function Mt(e){return String(e[0])}function jt(e){return e[1]}function St(e,t,n){let{key:r,value:s,isParentExpanded:i,isParentArray:o,nodeType:a}=t,c=[];return e.$$set=e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(5,s=e.value),"isParentExpanded"in e&&n(1,i=e.isParentExpanded),"isParentArray"in e&&n(2,o=e.isParentArray),"nodeType"in e&&n(3,a=e.nodeType)},e.$$.update=()=>{if(32&e.$$.dirty){let e=[],t=0;for(const n of s)e.push([t++,n]);n(4,c=e)}},[r,i,o,a,c,s]}class It extends De{constructor(e){super(),Te(this,e,St,Et,h,{key:0,value:5,isParentExpanded:1,isParentArray:2,nodeType:3})}}class Nt{constructor(e,t){this.key=e,this.value=t}}function Tt(e){let t,n;return t=new _t({props:{key:e[0],isParentExpanded:e[1],isParentArray:e[2],keys:e[4],getKey:Dt,getValue:Ct,label:e[3]+"("+e[4].length+")",colon:"",bracketOpen:"{",bracketClose:"}"}}),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(e,[n]){const r={};1&n&&(r.key=e[0]),2&n&&(r.isParentExpanded=e[1]),4&n&&(r.isParentArray=e[2]),16&n&&(r.keys=e[4]),24&n&&(r.label=e[3]+"("+e[4].length+")"),t.$set(r)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function Dt(e){return e[0]}function Ct(e){return e[1]}function Rt(e,t,n){let{key:r,value:s,isParentExpanded:i,isParentArray:o,nodeType:a}=t,c=[];return e.$$set=e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(5,s=e.value),"isParentExpanded"in e&&n(1,i=e.isParentExpanded),"isParentArray"in e&&n(2,o=e.isParentArray),"nodeType"in e&&n(3,a=e.nodeType)},e.$$.update=()=>{if(32&e.$$.dirty){let e=[],t=0;for(const n of s)e.push([t++,new Nt(n[0],n[1])]);n(4,c=e)}},[r,i,o,a,c,s]}class Bt extends De{constructor(e){super(),Te(this,e,Rt,Tt,h,{key:0,value:5,isParentExpanded:1,isParentArray:2,nodeType:3})}}function Gt(e){let t,n;return t=new _t({props:{expanded:e[4],isParentExpanded:e[2],isParentArray:e[3],key:e[2]?String(e[0]):e[1].key,keys:e[5],getValue:e[6],label:e[2]?"Entry ":"=> ",bracketOpen:"{",bracketClose:"}"}}),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(e,[n]){const r={};16&n&&(r.expanded=e[4]),4&n&&(r.isParentExpanded=e[2]),8&n&&(r.isParentArray=e[3]),7&n&&(r.key=e[2]?String(e[0]):e[1].key),4&n&&(r.label=e[2]?"Entry ":"=> "),t.$set(r)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function Lt(e,t,n){let{key:r,value:s,isParentExpanded:i,isParentArray:o}=t,{expanded:a=!1}=t;return e.$$set=e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(1,s=e.value),"isParentExpanded"in e&&n(2,i=e.isParentExpanded),"isParentArray"in e&&n(3,o=e.isParentArray),"expanded"in e&&n(4,a=e.expanded)},[r,s,i,o,a,["key","value"],function(e){return s[e]}]}class Ut extends De{constructor(e){super(),Te(this,e,Lt,Gt,h,{key:0,value:1,isParentExpanded:2,isParentArray:3,expanded:4})}}function zt(e){A(e,"svelte-3bjyvl","li.svelte-3bjyvl{user-select:text;word-wrap:break-word;word-break:break-all}.indent.svelte-3bjyvl{padding-left:var(--li-identation)}.String.svelte-3bjyvl{color:var(--string-color)}.Date.svelte-3bjyvl{color:var(--date-color)}.Number.svelte-3bjyvl{color:var(--number-color)}.Boolean.svelte-3bjyvl{color:var(--boolean-color)}.Null.svelte-3bjyvl{color:var(--null-color)}.Undefined.svelte-3bjyvl{color:var(--undefined-color)}.Function.svelte-3bjyvl{color:var(--function-color);font-style:italic}.Symbol.svelte-3bjyvl{color:var(--symbol-color)}")}function qt(e){let t,n,r,s,i,o,a,c=(e[2]?e[2](e[1]):e[1])+"";return n=new ut({props:{key:e[0],colon:e[6],isParentExpanded:e[3],isParentArray:e[4]}}),{c(){t=T("li"),Se(n.$$.fragment),r=R(),s=T("span"),i=C(c),L(s,"class",o=b(e[5])+" svelte-3bjyvl"),L(t,"class","svelte-3bjyvl"),V(t,"indent",e[3])},m(e,o){S(e,t,o),Ie(n,t,null),$(t,r),$(t,s),$(s,i),a=!0},p(e,[r]){const l={};1&r&&(l.key=e[0]),8&r&&(l.isParentExpanded=e[3]),16&r&&(l.isParentArray=e[4]),n.$set(l),(!a||6&r)&&c!==(c=(e[2]?e[2](e[1]):e[1])+"")&&U(i,c),(!a||32&r&&o!==(o=b(e[5])+" svelte-3bjyvl"))&&L(s,"class",o),8&r&&V(t,"indent",e[3])},i(e){a||(Pe(n.$$.fragment,e),a=!0)},o(e){Oe(n.$$.fragment,e),a=!1},d(e){e&&I(t),Ne(n)}}}function Ft(e,t,n){let{key:r,value:s,valueGetter:i=null,isParentExpanded:o,isParentArray:a,nodeType:c}=t;const{colon:l}=re(tt);return e.$$set=e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(1,s=e.value),"valueGetter"in e&&n(2,i=e.valueGetter),"isParentExpanded"in e&&n(3,o=e.isParentExpanded),"isParentArray"in e&&n(4,a=e.isParentArray),"nodeType"in e&&n(5,c=e.nodeType)},[r,s,i,o,a,c,l]}class Vt extends De{constructor(e){super(),Te(this,e,Ft,qt,h,{key:0,value:1,valueGetter:2,isParentExpanded:3,isParentArray:4,nodeType:5},zt)}}function Jt(e){A(e,"svelte-1ca3gb2","li.svelte-1ca3gb2{user-select:text;word-wrap:break-word;word-break:break-all}.indent.svelte-1ca3gb2{padding-left:var(--li-identation)}.collapse.svelte-1ca3gb2{--li-display:inline;display:inline;font-style:italic}")}function Wt(e,t,n){const r=e.slice();return r[8]=t[n],r[10]=n,r}function Ht(e){let t,n;return t=new it({props:{expanded:e[0]}}),t.$on("click",e[7]),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.expanded=e[0]),t.$set(r)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function Kt(e){let t,n,r=e[0]&&Yt(e);return{c(){t=T("ul"),r&&r.c(),L(t,"class","svelte-1ca3gb2"),V(t,"collapse",!e[0])},m(e,s){S(e,t,s),r&&r.m(t,null),n=!0},p(e,n){e[0]?r?(r.p(e,n),1&n&&Pe(r,1)):(r=Yt(e),r.c(),Pe(r,1),r.m(t,null)):r&&(_e(),Oe(r,1,1,()=>{r=null}),we()),1&n&&V(t,"collapse",!e[0])},i(e){n||(Pe(r),n=!0)},o(e){Oe(r),n=!1},d(e){e&&I(t),r&&r.d()}}}function Yt(e){let t,n,r,s,i,o,a;t=new rn({props:{key:"message",value:e[2].message}}),s=new ut({props:{key:"stack",colon:":",isParentExpanded:e[3]}});let c=e[5],l=[];for(let t=0;t<c.length;t+=1)l[t]=Xt(Wt(e,c,t));return{c(){Se(t.$$.fragment),n=R(),r=T("li"),Se(s.$$.fragment),i=R(),o=T("span");for(let e=0;e<l.length;e+=1)l[e].c();L(r,"class","svelte-1ca3gb2")},m(e,c){Ie(t,e,c),S(e,n,c),S(e,r,c),Ie(s,r,null),$(r,i),$(r,o);for(let e=0;e<l.length;e+=1)l[e].m(o,null);a=!0},p(e,n){const r={};4&n&&(r.value=e[2].message),t.$set(r);const i={};if(8&n&&(i.isParentExpanded=e[3]),s.$set(i),32&n){let t;for(c=e[5],t=0;t<c.length;t+=1){const r=Wt(e,c,t);l[t]?l[t].p(r,n):(l[t]=Xt(r),l[t].c(),l[t].m(o,null))}for(;t<l.length;t+=1)l[t].d(1);l.length=c.length}},i(e){a||(Pe(t.$$.fragment,e),Pe(s.$$.fragment,e),a=!0)},o(e){Oe(t.$$.fragment,e),Oe(s.$$.fragment,e),a=!1},d(e){Ne(t,e),e&&I(n),e&&I(r),Ne(s),N(l,e)}}}function Xt(e){let t,n,r,s=e[8]+"";return{c(){t=T("span"),n=C(s),r=T("br"),L(t,"class","svelte-1ca3gb2"),V(t,"indent",e[10]>0)},m(e,s){S(e,t,s),$(t,n),S(e,r,s)},p(e,t){32&t&&s!==(s=e[8]+"")&&U(n,s)},d(e){e&&I(t),e&&I(r)}}}function Qt(e){let t,n,r,s,i,o,a,c,l,u,p,d=(e[0]?"":e[2].message)+"",f=e[3]&&Ht(e);r=new ut({props:{key:e[1],colon:e[6].colon,isParentExpanded:e[3],isParentArray:e[4]}});let h=e[3]&&Kt(e);return{c(){t=T("li"),f&&f.c(),n=R(),Se(r.$$.fragment),s=R(),i=T("span"),o=C("Error: "),a=C(d),c=R(),h&&h.c(),L(t,"class","svelte-1ca3gb2"),V(t,"indent",e[3])},m(d,v){S(d,t,v),f&&f.m(t,null),$(t,n),Ie(r,t,null),$(t,s),$(t,i),$(i,o),$(i,a),$(t,c),h&&h.m(t,null),l=!0,u||(p=G(i,"click",e[7]),u=!0)},p(e,[s]){e[3]?f?(f.p(e,s),8&s&&Pe(f,1)):(f=Ht(e),f.c(),Pe(f,1),f.m(t,n)):f&&(_e(),Oe(f,1,1,()=>{f=null}),we());const i={};2&s&&(i.key=e[1]),8&s&&(i.isParentExpanded=e[3]),16&s&&(i.isParentArray=e[4]),r.$set(i),(!l||5&s)&&d!==(d=(e[0]?"":e[2].message)+"")&&U(a,d),e[3]?h?(h.p(e,s),8&s&&Pe(h,1)):(h=Kt(e),h.c(),Pe(h,1),h.m(t,null)):h&&(_e(),Oe(h,1,1,()=>{h=null}),we()),8&s&&V(t,"indent",e[3])},i(e){l||(Pe(f),Pe(r.$$.fragment,e),Pe(h),l=!0)},o(e){Oe(f),Oe(r.$$.fragment,e),Oe(h),l=!1},d(e){e&&I(t),f&&f.d(),Ne(r),h&&h.d(),u=!1,p()}}}function Zt(e,t,n){let r,{key:s,value:i,isParentExpanded:o,isParentArray:a}=t,{expanded:c=!1}=t;const l=re(tt);return ne(tt,{...l,colon:":"}),e.$$set=e=>{"key"in e&&n(1,s=e.key),"value"in e&&n(2,i=e.value),"isParentExpanded"in e&&n(3,o=e.isParentExpanded),"isParentArray"in e&&n(4,a=e.isParentArray),"expanded"in e&&n(0,c=e.expanded)},e.$$.update=()=>{4&e.$$.dirty&&n(5,r=i.stack.split("\n")),8&e.$$.dirty&&(o||n(0,c=!1))},[c,s,i,o,a,r,l,function(){n(0,c=!c)}]}class en extends De{constructor(e){super(),Te(this,e,Zt,Qt,h,{key:1,value:2,isParentExpanded:3,isParentArray:4,expanded:0},Jt)}}function tn(e){let t,n,r;var s=e[6];function i(e){return{props:{key:e[0],value:e[1],isParentExpanded:e[2],isParentArray:e[3],nodeType:e[4],valueGetter:e[5]}}}return s&&(t=new s(i(e))),{c(){t&&Se(t.$$.fragment),n=B()},m(e,s){t&&Ie(t,e,s),S(e,n,s),r=!0},p(e,[r]){const o={};if(1&r&&(o.key=e[0]),2&r&&(o.value=e[1]),4&r&&(o.isParentExpanded=e[2]),8&r&&(o.isParentArray=e[3]),16&r&&(o.nodeType=e[4]),32&r&&(o.valueGetter=e[5]),s!==(s=e[6])){if(t){_e();const e=t;Oe(e.$$.fragment,1,0,()=>{Ne(e,1)}),we()}s?(t=new s(i(e)),Se(t.$$.fragment),Pe(t.$$.fragment,1),Ie(t,n.parentNode,n)):t=null}else s&&t.$set(o)},i(e){r||(t&&Pe(t.$$.fragment,e),r=!0)},o(e){t&&Oe(t.$$.fragment,e),r=!1},d(e){e&&I(n),t&&Ne(t,e)}}}function nn(e,t,n){let r,s,i,{key:o,value:a,isParentExpanded:c,isParentArray:l}=t;return e.$$set=e=>{"key"in e&&n(0,o=e.key),"value"in e&&n(1,a=e.value),"isParentExpanded"in e&&n(2,c=e.isParentExpanded),"isParentArray"in e&&n(3,l=e.isParentArray)},e.$$.update=()=>{2&e.$$.dirty&&n(4,r=function(e){const t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t?"function"==typeof e[Symbol.iterator]?"Iterable":e.constructor.name:t}(a)),16&e.$$.dirty&&n(6,s=function(e){switch(e){case"Object":return Ot;case"Error":return en;case"Array":return At;case"Iterable":case"Map":case"Set":return"function"==typeof a.set?Bt:It;case"MapEntry":return Ut;default:return Vt}}(r)),16&e.$$.dirty&&n(5,i=function(e){switch(e){case"Object":case"Error":case"Array":case"Iterable":case"Map":case"Set":case"MapEntry":case"Number":return;case"String":return e=>`"${e}"`;case"Boolean":return e=>e?"true":"false";case"Date":return e=>e.toISOString();case"Null":return()=>"null";case"Undefined":return()=>"undefined";case"Function":case"Symbol":return e=>e.toString();default:return()=>`<${e}>`}}(r))},[o,a,c,l,r,i,s]}class rn extends De{constructor(e){super(),Te(this,e,nn,tn,h,{key:0,value:1,isParentExpanded:2,isParentArray:3})}}function sn(e){A(e,"svelte-773n60","ul.svelte-773n60{--string-color:var(--json-tree-string-color, #cb3f41);--symbol-color:var(--json-tree-symbol-color, #cb3f41);--boolean-color:var(--json-tree-boolean-color, #112aa7);--function-color:var(--json-tree-function-color, #112aa7);--number-color:var(--json-tree-number-color, #3029cf);--label-color:var(--json-tree-label-color, #871d8f);--arrow-color:var(--json-tree-arrow-color, #727272);--null-color:var(--json-tree-null-color, #8d8d8d);--undefined-color:var(--json-tree-undefined-color, #8d8d8d);--date-color:var(--json-tree-date-color, #8d8d8d);--li-identation:var(--json-tree-li-indentation, 1em);--li-line-height:var(--json-tree-li-line-height, 1.3);--li-colon-space:0.3em;font-size:var(--json-tree-font-size, 12px);font-family:var(--json-tree-font-family, 'Courier New', Courier, monospace)}ul.svelte-773n60 li{line-height:var(--li-line-height);display:var(--li-display, list-item);list-style:none}ul.svelte-773n60,ul.svelte-773n60 ul{padding:0;margin:0}")}function on(e){let t,n,r;return n=new rn({props:{key:e[0],value:e[1],isParentExpanded:!0,isParentArray:!1}}),{c(){t=T("ul"),Se(n.$$.fragment),L(t,"class","svelte-773n60")},m(e,s){S(e,t,s),Ie(n,t,null),r=!0},p(e,[t]){const r={};1&t&&(r.key=e[0]),2&t&&(r.value=e[1]),n.$set(r)},i(e){r||(Pe(n.$$.fragment,e),r=!0)},o(e){Oe(n.$$.fragment,e),r=!1},d(e){e&&I(t),Ne(n)}}}function an(e,t,n){ne(tt,{});let{key:r="",value:s}=t;return e.$$set=e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(1,s=e.value)},[r,s]}class cn extends De{constructor(e){super(),Te(this,e,an,on,h,{key:0,value:1},sn)}}function ln(e){A(e,"svelte-jvfq3i",".svelte-jvfq3i{box-sizing:border-box}section.switcher.svelte-jvfq3i{position:sticky;bottom:0;transform:translateY(20px);margin:40px -20px 0;border-top:1px solid #999;padding:20px;background:#fff}label.svelte-jvfq3i{display:flex;align-items:baseline;gap:5px;font-weight:bold}select.svelte-jvfq3i{min-width:140px}")}function un(e,t,n){const r=e.slice();return r[7]=t[n],r[9]=n,r}function pn(e){let t,n,r,s,i,o,a=e[1],c=[];for(let t=0;t<a.length;t+=1)c[t]=dn(un(e,a,t));return{c(){t=T("section"),n=T("label"),r=C("Client\n \n "),s=T("select");for(let e=0;e<c.length;e+=1)c[e].c();L(s,"id",hn),L(s,"class","svelte-jvfq3i"),void 0===e[2]&&pe(()=>e[6].call(s)),L(n,"class","svelte-jvfq3i"),L(t,"class","switcher svelte-jvfq3i")},m(a,l){S(a,t,l),$(t,n),$(n,r),$(n,s);for(let e=0;e<c.length;e+=1)c[e].m(s,null);q(s,e[2]),i||(o=[G(s,"change",e[3]),G(s,"change",e[6])],i=!0)},p(e,t){if(2&t){let n;for(a=e[1],n=0;n<a.length;n+=1){const r=un(e,a,n);c[n]?c[n].p(r,t):(c[n]=dn(r),c[n].c(),c[n].m(s,null))}for(;n<c.length;n+=1)c[n].d(1);c.length=a.length}4&t&&q(s,e[2])},d(e){e&&I(t),N(c,e),i=!1,d(o)}}}function dn(e){let t,n,r,s,i,o,a,c,l,u,p=JSON.stringify(e[7].playerID)+"",d=JSON.stringify(e[7].matchID)+"",f=e[7].game.name+"";return{c(){t=T("option"),n=C(e[9]),r=C(" —\n playerID: "),s=C(p),i=C(",\n matchID: "),o=C(d),a=C("\n ("),c=C(f),l=C(")\n "),t.__value=u=e[9],t.value=t.__value,L(t,"class","svelte-jvfq3i")},m(e,u){S(e,t,u),$(t,n),$(t,r),$(t,s),$(t,i),$(t,o),$(t,a),$(t,c),$(t,l)},p(e,t){2&t&&p!==(p=JSON.stringify(e[7].playerID)+"")&&U(s,p),2&t&&d!==(d=JSON.stringify(e[7].matchID)+"")&&U(o,d),2&t&&f!==(f=e[7].game.name+"")&&U(c,f)},d(e){e&&I(t)}}}function fn(e){let t,n=e[1].length>1&&pn(e);return{c(){n&&n.c(),t=B()},m(e,r){n&&n.m(e,r),S(e,t,r)},p(e,[r]){e[1].length>1?n?n.p(e,r):(n=pn(e),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:a,o:a,d(e){n&&n.d(e),e&&I(t)}}}const hn="bgio-debug-select-client";function vn(e,t,n){let r,s,i,o,c=a,l=()=>(c(),c=v(u,e=>n(5,o=e)),u);e.$$.on_destroy.push(()=>c());let{clientManager:u}=t;return l(),e.$$set=e=>{"clientManager"in e&&l(n(0,u=e.clientManager))},e.$$.update=()=>{32&e.$$.dirty&&n(4,({client:r,debuggableClients:s}=o),r,(n(1,s),n(5,o))),18&e.$$.dirty&&n(2,i=s.indexOf(r))},[u,s,i,e=>{const t=s[e.target.value];u.switchToClient(t);const n=document.getElementById(hn);n&&n.focus()},r,o,function(){i=F(this),n(2,i),n(1,s),n(4,r),n(5,o)}]}class yn extends De{constructor(e){super(),Te(this,e,vn,fn,h,{clientManager:0},ln)}}function gn(e){A(e,"svelte-1vfj1mn",".key.svelte-1vfj1mn.svelte-1vfj1mn{display:flex;flex-direction:row;align-items:center}button.svelte-1vfj1mn.svelte-1vfj1mn{cursor:pointer;min-width:10px;padding-left:5px;padding-right:5px;height:20px;line-height:20px;text-align:center;border:1px solid #ccc;box-shadow:1px 1px 1px #888;background:#eee;color:#444}button.svelte-1vfj1mn.svelte-1vfj1mn:hover{background:#ddd}.key.active.svelte-1vfj1mn button.svelte-1vfj1mn{background:#ddd;border:1px solid #999;box-shadow:none}label.svelte-1vfj1mn.svelte-1vfj1mn{margin-left:10px}")}function mn(e){let t,n,r,s,i,o=`(shortcut: ${e[0]})`;return{c(){t=T("label"),n=C(e[1]),r=R(),s=T("span"),i=C(o),L(s,"class","screen-reader-only"),L(t,"for",e[5]),L(t,"class","svelte-1vfj1mn")},m(e,o){S(e,t,o),$(t,n),$(t,r),$(t,s),$(s,i)},p(e,t){2&t&&U(n,e[1]),1&t&&o!==(o=`(shortcut: ${e[0]})`)&&U(i,o)},d(e){e&&I(t)}}}function bn(e){let t,n,r,s,i,o,c=e[1]&&mn(e);return{c(){t=T("div"),n=T("button"),r=C(e[0]),s=R(),c&&c.c(),L(n,"id",e[5]),n.disabled=e[2],L(n,"class","svelte-1vfj1mn"),L(t,"class","key svelte-1vfj1mn"),V(t,"active",e[3])},m(a,l){S(a,t,l),$(t,n),$(n,r),$(t,s),c&&c.m(t,null),i||(o=[G(window,"keydown",e[7]),G(n,"click",e[6])],i=!0)},p(e,[s]){1&s&&U(r,e[0]),4&s&&(n.disabled=e[2]),e[1]?c?c.p(e,s):(c=mn(e),c.c(),c.m(t,null)):c&&(c.d(1),c=null),8&s&&V(t,"active",e[3])},i:a,o:a,d(e){e&&I(t),c&&c.d(),i=!1,d(o)}}}function xn(e,t,n){let r,{value:s}=t,{onPress:i=null}=t,{label:o=null}=t,{disable:a=!1}=t;const{disableHotkeys:c}=re("hotkeys");y(e,c,e=>n(9,r=e));let l=!1,u=`key-${s}`;function p(){n(3,l=!1)}function d(){n(3,l=!0),setTimeout(p,200),i&&setTimeout(i,1)}return e.$$set=e=>{"value"in e&&n(0,s=e.value),"onPress"in e&&n(8,i=e.onPress),"label"in e&&n(1,o=e.label),"disable"in e&&n(2,a=e.disable)},[s,o,a,l,c,u,d,function(e){r||a||e.ctrlKey||e.metaKey||e.key!=s||(e.preventDefault(),d())},i]}class _n extends De{constructor(e){super(),Te(this,e,xn,bn,h,{value:0,onPress:8,label:1,disable:2},gn)}}function wn(e){A(e,"svelte-1mppqmp",".move.svelte-1mppqmp{display:flex;flex-direction:row;cursor:pointer;margin-left:10px;color:#666}.move.svelte-1mppqmp:hover{color:#333}.move.active.svelte-1mppqmp{color:#111;font-weight:bold}.arg-field.svelte-1mppqmp{outline:none;font-family:monospace}")}function Pn(e){let t,n,r,s,i,o,c,l,u,p,h;return{c(){t=T("div"),n=T("span"),r=C(e[2]),s=R(),i=T("span"),i.textContent="(",o=R(),c=T("span"),l=R(),u=T("span"),u.textContent=")",L(c,"class","arg-field svelte-1mppqmp"),L(c,"contenteditable",""),L(t,"class","move svelte-1mppqmp"),V(t,"active",e[3])},m(a,d){var v;S(a,t,d),$(t,n),$(n,r),$(t,s),$(t,i),$(t,o),$(t,c),e[6](c),$(t,l),$(t,u),p||(h=[G(c,"focus",function(){f(e[0])&&e[0].apply(this,arguments)}),G(c,"blur",function(){f(e[1])&&e[1].apply(this,arguments)}),G(c,"keypress",(v=On,function(e){return e.stopPropagation(),v.call(this,e)})),G(c,"keydown",e[5]),G(t,"click",function(){f(e[0])&&e[0].apply(this,arguments)})],p=!0)},p(n,[s]){e=n,4&s&&U(r,e[2]),8&s&&V(t,"active",e[3])},i:a,o:a,d(n){n&&I(t),e[6](null),p=!1,d(h)}}}const On=()=>{};function kn(e,t,n){let r,{Activate:s}=t,{Deactivate:i}=t,{name:o}=t,{active:a}=t;const c=te();var l;return l=()=>{a?r.focus():r.blur()},Z().$$.after_update.push(l),e.$$set=e=>{"Activate"in e&&n(0,s=e.Activate),"Deactivate"in e&&n(1,i=e.Deactivate),"name"in e&&n(2,o=e.name),"active"in e&&n(3,a=e.active)},[s,i,o,a,r,function(e){"Enter"==e.key&&(e.preventDefault(),function(){try{const e=r.innerText;let t=new Function(`return [${e}]`)();c("submit",t)}catch(e){c("error",e)}n(4,r.innerText="",r)}()),"Escape"==e.key&&(e.preventDefault(),i())},function(e){oe[e?"unshift":"push"](()=>{r=e,n(4,r)})}]}class $n extends De{constructor(e){super(),Te(this,e,kn,Pn,h,{Activate:0,Deactivate:1,name:2,active:3},wn)}}function An(e){A(e,"svelte-smqssc",".move-error.svelte-smqssc{color:#a00;font-weight:bold}.wrapper.svelte-smqssc{display:flex;flex-direction:row;align-items:center}")}function En(e){let t,n;return{c(){t=T("span"),n=C(e[2]),L(t,"class","move-error svelte-smqssc")},m(e,r){S(e,t,r),$(t,n)},p(e,t){4&t&&U(n,e[2])},d(e){e&&I(t)}}}function Mn(e){let t,n,r,s,i,o,a;r=new _n({props:{value:e[0],onPress:e[4]}}),i=new $n({props:{Activate:e[4],Deactivate:e[5],name:e[1],active:e[3]}}),i.$on("submit",e[6]),i.$on("error",e[7]);let c=e[2]&&En(e);return{c(){t=T("div"),n=T("div"),Se(r.$$.fragment),s=R(),Se(i.$$.fragment),o=R(),c&&c.c(),L(n,"class","wrapper svelte-smqssc")},m(e,l){S(e,t,l),$(t,n),Ie(r,n,null),$(n,s),Ie(i,n,null),$(t,o),c&&c.m(t,null),a=!0},p(e,[n]){const s={};1&n&&(s.value=e[0]),r.$set(s);const o={};2&n&&(o.name=e[1]),8&n&&(o.active=e[3]),i.$set(o),e[2]?c?c.p(e,n):(c=En(e),c.c(),c.m(t,null)):c&&(c.d(1),c=null)},i(e){a||(Pe(r.$$.fragment,e),Pe(i.$$.fragment,e),a=!0)},o(e){Oe(r.$$.fragment,e),Oe(i.$$.fragment,e),a=!1},d(e){e&&I(t),Ne(r),Ne(i),c&&c.d()}}}function jn(e,t,n){let{shortcut:s}=t,{name:i}=t,{fn:o}=t;const{disableHotkeys:a}=re("hotkeys");let c="",l=!1;function u(){a.set(!1),n(2,c=""),n(3,l=!1)}return e.$$set=e=>{"shortcut"in e&&n(0,s=e.shortcut),"name"in e&&n(1,i=e.name),"fn"in e&&n(8,o=e.fn)},[s,i,c,l,function(){a.set(!0),n(3,l=!0)},u,function(e){n(2,c=""),u(),o.apply(this,e.detail)},function(e){n(2,c=e.detail),(0,r.e)(e.detail)},o]}class Sn extends De{constructor(e){super(),Te(this,e,jn,Mn,h,{shortcut:0,name:1,fn:8},An)}}function In(e){A(e,"svelte-9hauj9","ul.svelte-9hauj9{padding-left:0}li.svelte-9hauj9{list-style:none;margin:0;margin-bottom:5px}")}function Nn(e){let t,n,r,s,i,o,a,c,l,u,p,d,f;return r=new _n({props:{value:"1",onPress:e[0].reset,label:"reset"}}),o=new _n({props:{value:"2",onPress:e[2],label:"save"}}),l=new _n({props:{value:"3",onPress:e[3],label:"restore"}}),d=new _n({props:{value:".",onPress:e[1],label:"hide"}}),{c(){t=T("ul"),n=T("li"),Se(r.$$.fragment),s=R(),i=T("li"),Se(o.$$.fragment),a=R(),c=T("li"),Se(l.$$.fragment),u=R(),p=T("li"),Se(d.$$.fragment),L(n,"class","svelte-9hauj9"),L(i,"class","svelte-9hauj9"),L(c,"class","svelte-9hauj9"),L(p,"class","svelte-9hauj9"),L(t,"id","debug-controls"),L(t,"class","controls svelte-9hauj9")},m(e,h){S(e,t,h),$(t,n),Ie(r,n,null),$(t,s),$(t,i),Ie(o,i,null),$(t,a),$(t,c),Ie(l,c,null),$(t,u),$(t,p),Ie(d,p,null),f=!0},p(e,[t]){const n={};1&t&&(n.onPress=e[0].reset),r.$set(n);const s={};2&t&&(s.onPress=e[1]),d.$set(s)},i(e){f||(Pe(r.$$.fragment,e),Pe(o.$$.fragment,e),Pe(l.$$.fragment,e),Pe(d.$$.fragment,e),f=!0)},o(e){Oe(r.$$.fragment,e),Oe(o.$$.fragment,e),Oe(l.$$.fragment,e),Oe(d.$$.fragment,e),f=!1},d(e){e&&I(t),Ne(r),Ne(o),Ne(l),Ne(d)}}}function Tn(e,t,n){let{client:s}=t,{ToggleVisibility:o}=t;return e.$$set=e=>{"client"in e&&n(0,s=e.client),"ToggleVisibility"in e&&n(1,o=e.ToggleVisibility)},[s,o,function(){const e=s.getState(),t=(0,i.As)({...e,_undo:[],_redo:[],deltalog:[]});window.localStorage.setItem("gamestate",t),window.localStorage.setItem("initialState",(0,i.As)(s.initialState))},function(){const e=window.localStorage.getItem("gamestate"),t=window.localStorage.getItem("initialState");if(null!==e&&null!==t){const n=(0,i.qg)(e),o=(0,i.qg)(t);s.store.dispatch((0,r.s)({state:n,initialState:o}))}}]}class Dn extends De{constructor(e){super(),Te(this,e,Tn,Nn,h,{client:0,ToggleVisibility:1},In)}}function Cn(e){A(e,"svelte-19aan9p",".player-box.svelte-19aan9p{display:flex;flex-direction:row}.player.svelte-19aan9p{cursor:pointer;text-align:center;width:30px;height:30px;line-height:30px;background:#eee;border:3px solid #fefefe;box-sizing:content-box;padding:0}.player.current.svelte-19aan9p{background:#555;color:#eee;font-weight:bold}.player.active.svelte-19aan9p{border:3px solid #ff7f50}")}function Rn(e,t,n){const r=e.slice();return r[7]=t[n],r}function Bn(e){let t,n,r,s,i,o,a=e[7]+"";function c(){return e[5](e[7])}return{c(){t=T("button"),n=C(a),r=R(),L(t,"class","player svelte-19aan9p"),L(t,"aria-label",s=e[4](e[7])),V(t,"current",e[7]==e[0].currentPlayer),V(t,"active",e[7]==e[1])},m(e,s){S(e,t,s),$(t,n),$(t,r),i||(o=G(t,"click",c),i=!0)},p(r,i){e=r,4&i&&a!==(a=e[7]+"")&&U(n,a),4&i&&s!==(s=e[4](e[7]))&&L(t,"aria-label",s),5&i&&V(t,"current",e[7]==e[0].currentPlayer),6&i&&V(t,"active",e[7]==e[1])},d(e){e&&I(t),i=!1,o()}}}function Gn(e){let t,n=e[2],r=[];for(let t=0;t<n.length;t+=1)r[t]=Bn(Rn(e,n,t));return{c(){t=T("div");for(let e=0;e<r.length;e+=1)r[e].c();L(t,"class","player-box svelte-19aan9p")},m(e,n){S(e,t,n);for(let e=0;e<r.length;e+=1)r[e].m(t,null)},p(e,[s]){if(31&s){let i;for(n=e[2],i=0;i<n.length;i+=1){const o=Rn(e,n,i);r[i]?r[i].p(o,s):(r[i]=Bn(o),r[i].c(),r[i].m(t,null))}for(;i<r.length;i+=1)r[i].d(1);r.length=n.length}},i:a,o:a,d(e){e&&I(t),N(r,e)}}}function Ln(e,t,n){let{ctx:r}=t,{playerID:s}=t;const i=te();function o(e){i("change",e==s?{playerID:null}:{playerID:e})}let a;return e.$$set=e=>{"ctx"in e&&n(0,r=e.ctx),"playerID"in e&&n(1,s=e.playerID)},e.$$.update=()=>{1&e.$$.dirty&&n(2,a=r?[...Array(r.numPlayers).keys()].map(e=>e.toString()):[])},[r,s,a,o,function(e){const t=[];e==r.currentPlayer&&t.push("current"),e==s&&t.push("active");let n=`Player ${e}`;return t.length&&(n+=` (${t.join(", ")})`),n},e=>o(e)]}class Un extends De{constructor(e){super(),Te(this,e,Ln,Gn,h,{ctx:0,playerID:1},Cn)}}function zn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function qn(e){A(e,"svelte-146sq5f",".tree.svelte-146sq5f{--json-tree-font-family:monospace;--json-tree-font-size:14px;--json-tree-null-color:#757575}.label.svelte-146sq5f{margin-bottom:0;text-transform:none}h3.svelte-146sq5f{text-transform:uppercase}ul.svelte-146sq5f{padding-left:0}li.svelte-146sq5f{list-style:none;margin:0;margin-bottom:5px}")}function Fn(e,t,n){const r=e.slice();return r[11]=t[n][0],r[12]=t[n][1],r}function Vn(e){let t,n,r,s;return n=new Sn({props:{shortcut:e[8][e[11]],fn:e[12],name:e[11]}}),{c(){t=T("li"),Se(n.$$.fragment),r=R(),L(t,"class","svelte-146sq5f")},m(e,i){S(e,t,i),Ie(n,t,null),$(t,r),s=!0},p(e,t){const r={};16&t&&(r.shortcut=e[8][e[11]]),16&t&&(r.fn=e[12]),16&t&&(r.name=e[11]),n.$set(r)},i(e){s||(Pe(n.$$.fragment,e),s=!0)},o(e){Oe(n.$$.fragment,e),s=!1},d(e){e&&I(t),Ne(n)}}}function Jn(e){let t,n,r;return n=new Sn({props:{name:"endStage",shortcut:7,fn:e[5].endStage}}),{c(){t=T("li"),Se(n.$$.fragment),L(t,"class","svelte-146sq5f")},m(e,s){S(e,t,s),Ie(n,t,null),r=!0},p(e,t){const r={};32&t&&(r.fn=e[5].endStage),n.$set(r)},i(e){r||(Pe(n.$$.fragment,e),r=!0)},o(e){Oe(n.$$.fragment,e),r=!1},d(e){e&&I(t),Ne(n)}}}function Wn(e){let t,n,r;return n=new Sn({props:{name:"endTurn",shortcut:8,fn:e[5].endTurn}}),{c(){t=T("li"),Se(n.$$.fragment),L(t,"class","svelte-146sq5f")},m(e,s){S(e,t,s),Ie(n,t,null),r=!0},p(e,t){const r={};32&t&&(r.fn=e[5].endTurn),n.$set(r)},i(e){r||(Pe(n.$$.fragment,e),r=!0)},o(e){Oe(n.$$.fragment,e),r=!1},d(e){e&&I(t),Ne(n)}}}function Hn(e){let t,n,r;return n=new Sn({props:{name:"endPhase",shortcut:9,fn:e[5].endPhase}}),{c(){t=T("li"),Se(n.$$.fragment),L(t,"class","svelte-146sq5f")},m(e,s){S(e,t,s),Ie(n,t,null),r=!0},p(e,t){const r={};32&t&&(r.fn=e[5].endPhase),n.$set(r)},i(e){r||(Pe(n.$$.fragment,e),r=!0)},o(e){Oe(n.$$.fragment,e),r=!1},d(e){e&&I(t),Ne(n)}}}function Kn(e){let t,n,r,s,i,o,a,c,l,u,p,d,f,h,v,y,g,m,b,x,_,w,P,O,k,A,E,M,j,D,C,B,G,U;s=new Dn({props:{client:e[0],ToggleVisibility:e[2]}}),l=new Un({props:{ctx:e[6],playerID:e[3]}}),l.$on("change",e[9]);let z=Object.entries(e[4]),q=[];for(let t=0;t<z.length;t+=1)q[t]=Vn(Fn(e,z,t));const F=e=>Oe(q[e],1,1,()=>{q[e]=null});let V=e[6].activePlayers&&e[5].endStage&&Jn(e),J=e[5].endTurn&&Wn(e),W=e[6].phase&&e[5].endPhase&&Hn(e);return A=new cn({props:{value:e[7]}}),C=new cn({props:{value:Yn(e[6])}}),G=new yn({props:{clientManager:e[1]}}),{c(){t=T("section"),n=T("h3"),n.textContent="Controls",r=R(),Se(s.$$.fragment),i=R(),o=T("section"),a=T("h3"),a.textContent="Players",c=R(),Se(l.$$.fragment),u=R(),p=T("section"),d=T("h3"),d.textContent="Moves",f=R(),h=T("ul");for(let e=0;e<q.length;e+=1)q[e].c();v=R(),y=T("section"),g=T("h3"),g.textContent="Events",m=R(),b=T("ul"),V&&V.c(),x=R(),J&&J.c(),_=R(),W&&W.c(),w=R(),P=T("section"),O=T("h3"),O.textContent="G",k=R(),Se(A.$$.fragment),E=R(),M=T("section"),j=T("h3"),j.textContent="ctx",D=R(),Se(C.$$.fragment),B=R(),Se(G.$$.fragment),L(n,"class","svelte-146sq5f"),L(a,"class","svelte-146sq5f"),L(d,"class","svelte-146sq5f"),L(h,"class","svelte-146sq5f"),L(g,"class","svelte-146sq5f"),L(b,"class","svelte-146sq5f"),L(O,"class","label svelte-146sq5f"),L(P,"class","tree svelte-146sq5f"),L(j,"class","label svelte-146sq5f"),L(M,"class","tree svelte-146sq5f")},m(e,I){S(e,t,I),$(t,n),$(t,r),Ie(s,t,null),S(e,i,I),S(e,o,I),$(o,a),$(o,c),Ie(l,o,null),S(e,u,I),S(e,p,I),$(p,d),$(p,f),$(p,h);for(let e=0;e<q.length;e+=1)q[e].m(h,null);S(e,v,I),S(e,y,I),$(y,g),$(y,m),$(y,b),V&&V.m(b,null),$(b,x),J&&J.m(b,null),$(b,_),W&&W.m(b,null),S(e,w,I),S(e,P,I),$(P,O),$(P,k),Ie(A,P,null),S(e,E,I),S(e,M,I),$(M,j),$(M,D),Ie(C,M,null),S(e,B,I),Ie(G,e,I),U=!0},p(e,[t]){const n={};1&t&&(n.client=e[0]),4&t&&(n.ToggleVisibility=e[2]),s.$set(n);const r={};if(64&t&&(r.ctx=e[6]),8&t&&(r.playerID=e[3]),l.$set(r),272&t){let n;for(z=Object.entries(e[4]),n=0;n<z.length;n+=1){const r=Fn(e,z,n);q[n]?(q[n].p(r,t),Pe(q[n],1)):(q[n]=Vn(r),q[n].c(),Pe(q[n],1),q[n].m(h,null))}for(_e(),n=z.length;n<q.length;n+=1)F(n);we()}e[6].activePlayers&&e[5].endStage?V?(V.p(e,t),96&t&&Pe(V,1)):(V=Jn(e),V.c(),Pe(V,1),V.m(b,x)):V&&(_e(),Oe(V,1,1,()=>{V=null}),we()),e[5].endTurn?J?(J.p(e,t),32&t&&Pe(J,1)):(J=Wn(e),J.c(),Pe(J,1),J.m(b,_)):J&&(_e(),Oe(J,1,1,()=>{J=null}),we()),e[6].phase&&e[5].endPhase?W?(W.p(e,t),96&t&&Pe(W,1)):(W=Hn(e),W.c(),Pe(W,1),W.m(b,null)):W&&(_e(),Oe(W,1,1,()=>{W=null}),we());const i={};128&t&&(i.value=e[7]),A.$set(i);const o={};64&t&&(o.value=Yn(e[6])),C.$set(o);const a={};2&t&&(a.clientManager=e[1]),G.$set(a)},i(e){if(!U){Pe(s.$$.fragment,e),Pe(l.$$.fragment,e);for(let e=0;e<z.length;e+=1)Pe(q[e]);Pe(V),Pe(J),Pe(W),Pe(A.$$.fragment,e),Pe(C.$$.fragment,e),Pe(G.$$.fragment,e),U=!0}},o(e){Oe(s.$$.fragment,e),Oe(l.$$.fragment,e),q=q.filter(Boolean);for(let e=0;e<q.length;e+=1)Oe(q[e]);Oe(V),Oe(J),Oe(W),Oe(A.$$.fragment,e),Oe(C.$$.fragment,e),Oe(G.$$.fragment,e),U=!1},d(e){e&&I(t),Ne(s),e&&I(i),e&&I(o),Ne(l),e&&I(u),e&&I(p),N(q,e),e&&I(v),e&&I(y),V&&V.d(),J&&J.d(),W&&W.d(),e&&I(w),e&&I(P),Ne(A),e&&I(E),e&&I(M),Ne(C),e&&I(B),Ne(G,e)}}}function Yn(e){let t={};for(const n in e)n.startsWith("_")||(t[n]=e[n]);return t}function Xn(e,t,n){let{client:r}=t,{clientManager:s}=t,{ToggleVisibility:i}=t;const o=function(e){var t,n={},r={},s=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return zn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?zn(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,s=function(){};return{s,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(a)throw i}}}}("mlia");try{for(s.s();!(t=s.n()).done;)r[t.value]=!0}catch(e){s.e(e)}finally{s.f()}var i=r,o=!0;for(var a in e){var c=a[0];if(i[c]){o=!1;break}i[c]=!0,n[a]=c}if(o)return n;i=r;var l=97;for(var u in n={},e){for(var p=String.fromCharCode(l);i[p];)l++,p=String.fromCharCode(l);i[p]=!0,n[u]=p}return n}(r.moves);let{playerID:a,moves:c,events:l}=r,u={},p={};return ee(r.subscribe(e=>{e&&n(7,({G:p,ctx:u}=e),p,n(6,u)),n(3,({playerID:a,moves:c,events:l}=r),a,n(4,c),n(5,l))})),e.$$set=e=>{"client"in e&&n(0,r=e.client),"clientManager"in e&&n(1,s=e.clientManager),"ToggleVisibility"in e&&n(2,i=e.ToggleVisibility)},[r,s,i,a,c,l,u,p,o,e=>s.switchPlayerID(e.detail.playerID)]}class Qn extends De{constructor(e){super(),Te(this,e,Xn,Kn,h,{client:0,clientManager:1,ToggleVisibility:2},qn)}}function Zn(e){A(e,"svelte-13qih23",".item.svelte-13qih23.svelte-13qih23{padding:10px}.item.svelte-13qih23.svelte-13qih23:not(:first-child){border-top:1px dashed #aaa}.item.svelte-13qih23 div.svelte-13qih23{float:right;text-align:right}")}function er(e){let t,n,r,s,i,o,c=JSON.stringify(e[1])+"";return{c(){t=T("div"),n=T("strong"),r=C(e[0]),s=R(),i=T("div"),o=C(c),L(i,"class","svelte-13qih23"),L(t,"class","item svelte-13qih23")},m(e,a){S(e,t,a),$(t,n),$(n,r),$(t,s),$(t,i),$(i,o)},p(e,[t]){1&t&&U(r,e[0]),2&t&&c!==(c=JSON.stringify(e[1])+"")&&U(o,c)},i:a,o:a,d(e){e&&I(t)}}}function tr(e,t,n){let{name:r}=t,{value:s}=t;return e.$$set=e=>{"name"in e&&n(0,r=e.name),"value"in e&&n(1,s=e.value)},[r,s]}class nr extends De{constructor(e){super(),Te(this,e,tr,er,h,{name:0,value:1},Zn)}}function rr(e){A(e,"svelte-1yzq5o8",".gameinfo.svelte-1yzq5o8{padding:10px}")}function sr(e){let t,n;return t=new nr({props:{name:"isConnected",value:e[1].isConnected}}),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(e,n){const r={};2&n&&(r.value=e[1].isConnected),t.$set(r)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function ir(e){let t,n,r,s,i,o,a,c;n=new nr({props:{name:"matchID",value:e[0].matchID}}),s=new nr({props:{name:"playerID",value:e[0].playerID}}),o=new nr({props:{name:"isActive",value:e[1].isActive}});let l=e[0].multiplayer&&sr(e);return{c(){t=T("section"),Se(n.$$.fragment),r=R(),Se(s.$$.fragment),i=R(),Se(o.$$.fragment),a=R(),l&&l.c(),L(t,"class","gameinfo svelte-1yzq5o8")},m(e,u){S(e,t,u),Ie(n,t,null),$(t,r),Ie(s,t,null),$(t,i),Ie(o,t,null),$(t,a),l&&l.m(t,null),c=!0},p(e,[r]){const i={};1&r&&(i.value=e[0].matchID),n.$set(i);const a={};1&r&&(a.value=e[0].playerID),s.$set(a);const c={};2&r&&(c.value=e[1].isActive),o.$set(c),e[0].multiplayer?l?(l.p(e,r),1&r&&Pe(l,1)):(l=sr(e),l.c(),Pe(l,1),l.m(t,null)):l&&(_e(),Oe(l,1,1,()=>{l=null}),we())},i(e){c||(Pe(n.$$.fragment,e),Pe(s.$$.fragment,e),Pe(o.$$.fragment,e),Pe(l),c=!0)},o(e){Oe(n.$$.fragment,e),Oe(s.$$.fragment,e),Oe(o.$$.fragment,e),Oe(l),c=!1},d(e){e&&I(t),Ne(n),Ne(s),Ne(o),l&&l.d()}}}function or(e,t,n){let r,s=a,i=()=>(s(),s=v(o,e=>n(1,r=e)),o);e.$$.on_destroy.push(()=>s());let{client:o}=t;i();let{clientManager:c}=t,{ToggleVisibility:l}=t;return e.$$set=e=>{"client"in e&&i(n(0,o=e.client)),"clientManager"in e&&n(2,c=e.clientManager),"ToggleVisibility"in e&&n(3,l=e.ToggleVisibility)},[o,r,c,l]}class ar extends De{constructor(e){super(),Te(this,e,or,ir,h,{client:0,clientManager:2,ToggleVisibility:3},rr)}}function cr(e){A(e,"svelte-6eza86",".turn-marker.svelte-6eza86{display:flex;justify-content:center;align-items:center;grid-column:1;background:#555;color:#eee;text-align:center;font-weight:bold;border:1px solid #888}")}function lr(e){let t,n;return{c(){t=T("div"),n=C(e[0]),L(t,"class","turn-marker svelte-6eza86"),L(t,"style",e[1])},m(e,r){S(e,t,r),$(t,n)},p(e,[t]){1&t&&U(n,e[0])},i:a,o:a,d(e){e&&I(t)}}}function ur(e,t,n){let{turn:r}=t,{numEvents:s}=t;const i=`grid-row: span ${s}`;return e.$$set=e=>{"turn"in e&&n(0,r=e.turn),"numEvents"in e&&n(2,s=e.numEvents)},[r,i,s]}class pr extends De{constructor(e){super(),Te(this,e,ur,lr,h,{turn:0,numEvents:2},cr)}}function dr(e){A(e,"svelte-1t4xap",".phase-marker.svelte-1t4xap{grid-column:3;background:#555;border:1px solid #888;color:#eee;text-align:center;font-weight:bold;padding-top:10px;padding-bottom:10px;text-orientation:sideways;writing-mode:vertical-rl;line-height:30px;width:100%}")}function fr(e){let t,n,r=(e[0]||"")+"";return{c(){t=T("div"),n=C(r),L(t,"class","phase-marker svelte-1t4xap"),L(t,"style",e[1])},m(e,r){S(e,t,r),$(t,n)},p(e,[t]){1&t&&r!==(r=(e[0]||"")+"")&&U(n,r)},i:a,o:a,d(e){e&&I(t)}}}function hr(e,t,n){let{phase:r}=t,{numEvents:s}=t;const i=`grid-row: span ${s}`;return e.$$set=e=>{"phase"in e&&n(0,r=e.phase),"numEvents"in e&&n(2,s=e.numEvents)},[r,i,s]}class vr extends De{constructor(e){super(),Te(this,e,hr,fr,h,{phase:0,numEvents:2},dr)}}function yr(e){let t;return{c(){t=T("div"),t.textContent=`${e[0]}`},m(e,n){S(e,t,n)},p:a,i:a,o:a,d(e){e&&I(t)}}}function gr(e,t,n){let{metadata:r}=t;const s=void 0!==r?JSON.stringify(r,null,4):"";return e.$$set=e=>{"metadata"in e&&n(1,r=e.metadata)},[s,r]}class mr extends De{constructor(e){super(),Te(this,e,gr,yr,h,{metadata:1})}}function br(e){A(e,"svelte-vajd9z",".log-event.svelte-vajd9z{grid-column:2;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;justify-content:center;background:#fff;border:1px dotted #ccc;border-left:5px solid #ccc;padding:5px;text-align:center;color:#666;font-size:14px;min-height:25px;line-height:25px}.log-event.svelte-vajd9z:hover,.log-event.svelte-vajd9z:focus{border-style:solid;background:#eee}.log-event.pinned.svelte-vajd9z{border-style:solid;background:#eee;opacity:1}.args.svelte-vajd9z{text-align:left;white-space:pre-wrap}.player0.svelte-vajd9z{border-left-color:#ff851b}.player1.svelte-vajd9z{border-left-color:#7fdbff}.player2.svelte-vajd9z{border-left-color:#0074d9}.player3.svelte-vajd9z{border-left-color:#39cccc}.player4.svelte-vajd9z{border-left-color:#3d9970}.player5.svelte-vajd9z{border-left-color:#2ecc40}.player6.svelte-vajd9z{border-left-color:#01ff70}.player7.svelte-vajd9z{border-left-color:#ffdc00}.player8.svelte-vajd9z{border-left-color:#001f3f}.player9.svelte-vajd9z{border-left-color:#ff4136}.player10.svelte-vajd9z{border-left-color:#85144b}.player11.svelte-vajd9z{border-left-color:#f012be}.player12.svelte-vajd9z{border-left-color:#b10dc9}.player13.svelte-vajd9z{border-left-color:#111111}.player14.svelte-vajd9z{border-left-color:#aaaaaa}.player15.svelte-vajd9z{border-left-color:#dddddd}")}function xr(e){let t,n;return t=new mr({props:{metadata:e[2]}}),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(e,n){const r={};4&n&&(r.metadata=e[2]),t.$set(r)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function _r(e){let t,n,r;var s=e[3];function i(e){return{props:{metadata:e[2]}}}return s&&(t=new s(i(e))),{c(){t&&Se(t.$$.fragment),n=B()},m(e,s){t&&Ie(t,e,s),S(e,n,s),r=!0},p(e,r){const o={};if(4&r&&(o.metadata=e[2]),s!==(s=e[3])){if(t){_e();const e=t;Oe(e.$$.fragment,1,0,()=>{Ne(e,1)}),we()}s?(t=new s(i(e)),Se(t.$$.fragment),Pe(t.$$.fragment,1),Ie(t,n.parentNode,n)):t=null}else s&&t.$set(o)},i(e){r||(t&&Pe(t.$$.fragment,e),r=!0)},o(e){t&&Oe(t.$$.fragment,e),r=!1},d(e){e&&I(n),t&&Ne(t,e)}}}function wr(e){let t,n,r,s,i,o,a,c,l,u,p,f,h;const v=[_r,xr],y=[];function g(e,t){return e[3]?0:1}return c=g(e),l=y[c]=v[c](e),{c(){t=T("button"),n=T("div"),r=C(e[4]),s=C("("),i=C(e[6]),o=C(")"),a=R(),l.c(),L(n,"class","args svelte-vajd9z"),L(t,"class",u="log-event player"+e[7]+" svelte-vajd9z"),V(t,"pinned",e[1])},m(l,u){S(l,t,u),$(t,n),$(n,r),$(n,s),$(n,i),$(n,o),$(t,a),y[c].m(t,null),p=!0,f||(h=[G(t,"click",e[9]),G(t,"mouseenter",e[10]),G(t,"focus",e[11]),G(t,"mouseleave",e[12]),G(t,"blur",e[13])],f=!0)},p(e,[n]){(!p||16&n)&&U(r,e[4]);let s=c;c=g(e),c===s?y[c].p(e,n):(_e(),Oe(y[s],1,1,()=>{y[s]=null}),we(),l=y[c],l?l.p(e,n):(l=y[c]=v[c](e),l.c()),Pe(l,1),l.m(t,null)),2&n&&V(t,"pinned",e[1])},i(e){p||(Pe(l),p=!0)},o(e){Oe(l),p=!1},d(e){e&&I(t),y[c].d(),f=!1,d(h)}}}function Pr(e,t,n){let{logIndex:r}=t,{action:s}=t,{pinned:i}=t,{metadata:o}=t,{metadataComponent:a}=t;const c=te(),l=s.payload.args,u=Array.isArray(l)?l.map(e=>JSON.stringify(e,null,2)).join(","):JSON.stringify(l,null,2)||"",p=s.payload.playerID;let d;switch(s.type){case"UNDO":d="undo";break;case"REDO":d="redo";default:d=s.payload.type}return e.$$set=e=>{"logIndex"in e&&n(0,r=e.logIndex),"action"in e&&n(8,s=e.action),"pinned"in e&&n(1,i=e.pinned),"metadata"in e&&n(2,o=e.metadata),"metadataComponent"in e&&n(3,a=e.metadataComponent)},[r,i,o,a,d,c,u,p,s,()=>c("click",{logIndex:r}),()=>c("mouseenter",{logIndex:r}),()=>c("mouseenter",{logIndex:r}),()=>c("mouseleave"),()=>c("mouseleave")]}class Or extends De{constructor(e){super(),Te(this,e,Pr,wr,h,{logIndex:0,action:8,pinned:1,metadata:2,metadataComponent:3},br)}}function kr(e){let t;return{c(){t=D("path"),L(t,"d","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM212 140v116h-70.9c-10.7 0-16.1 13-8.5 20.5l114.9 114.3c4.7 4.7 12.2 4.7 16.9 0l114.9-114.3c7.6-7.6 2.2-20.5-8.5-20.5H300V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z")},m(e,n){S(e,t,n)},p:a,d(e){e&&I(t)}}}function $r(e){let t,n;const r=[{viewBox:"0 0 512 512"},e[0]];let s={$$slots:{default:[kr]},$$scope:{ctx:e}};for(let e=0;e<r.length;e+=1)s=l(s,r[e]);return t=new Fe({props:s}),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(e,[n]){const s=1&n?Me(r,[r[0],je(e[0])]):{};2&n&&(s.$$scope={dirty:n,ctx:e}),t.$set(s)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function Ar(e,t,n){return e.$$set=e=>{n(0,t=l(l({},t),m(e)))},[t=m(t)]}class Er extends De{constructor(e){super(),Te(this,e,Ar,$r,h,{})}}function Mr(e){A(e,"svelte-1a7time","div.svelte-1a7time{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:500px}")}function jr(e){let t,n;return{c(){t=T("div"),n=C(e[0]),L(t,"alt",e[0]),L(t,"class","svelte-1a7time")},m(e,r){S(e,t,r),$(t,n)},p(e,[r]){1&r&&U(n,e[0]),1&r&&L(t,"alt",e[0])},i:a,o:a,d(e){e&&I(t)}}}function Sr(e,t,n){let r,{action:s}=t;return e.$$set=e=>{"action"in e&&n(1,s=e.action)},e.$$.update=()=>{if(2&e.$$.dirty){const{type:e,args:t}=s.payload,i=(t||[]).join(",");n(0,r=`${e}(${i})`)}},[r,s]}class Ir extends De{constructor(e){super(),Te(this,e,Sr,jr,h,{action:1},Mr)}}function Nr(e){A(e,"svelte-ztcwsu","table.svelte-ztcwsu.svelte-ztcwsu{font-size:12px;border-collapse:collapse;border:1px solid #ddd;padding:0}tr.svelte-ztcwsu.svelte-ztcwsu{cursor:pointer}tr.svelte-ztcwsu:hover td.svelte-ztcwsu{background:#eee}tr.selected.svelte-ztcwsu td.svelte-ztcwsu{background:#eee}td.svelte-ztcwsu.svelte-ztcwsu{padding:10px;height:10px;line-height:10px;font-size:12px;border:none}th.svelte-ztcwsu.svelte-ztcwsu{background:#888;color:#fff;padding:10px;text-align:center}")}function Tr(e,t,n){const r=e.slice();return r[10]=t[n],r[12]=n,r}function Dr(e){let t,n,r,s,i,o,a,c,l,u,p,f,h,v=e[10].value+"",y=e[10].visits+"";function g(){return e[6](e[10],e[12])}function m(){return e[7](e[12])}function b(){return e[8](e[10],e[12])}return l=new Ir({props:{action:e[10].parentAction}}),{c(){t=T("tr"),n=T("td"),r=C(v),s=R(),i=T("td"),o=C(y),a=R(),c=T("td"),Se(l.$$.fragment),u=R(),L(n,"class","svelte-ztcwsu"),L(i,"class","svelte-ztcwsu"),L(c,"class","svelte-ztcwsu"),L(t,"class","svelte-ztcwsu"),V(t,"clickable",e[1].length>0),V(t,"selected",e[12]===e[0])},m(e,d){S(e,t,d),$(t,n),$(n,r),$(t,s),$(t,i),$(i,o),$(t,a),$(t,c),Ie(l,c,null),$(t,u),p=!0,f||(h=[G(t,"click",g),G(t,"mouseout",m),G(t,"mouseover",b)],f=!0)},p(n,s){e=n,(!p||2&s)&&v!==(v=e[10].value+"")&&U(r,v),(!p||2&s)&&y!==(y=e[10].visits+"")&&U(o,y);const i={};2&s&&(i.action=e[10].parentAction),l.$set(i),2&s&&V(t,"clickable",e[1].length>0),1&s&&V(t,"selected",e[12]===e[0])},i(e){p||(Pe(l.$$.fragment,e),p=!0)},o(e){Oe(l.$$.fragment,e),p=!1},d(e){e&&I(t),Ne(l),f=!1,d(h)}}}function Cr(e){let t,n,r,s,i,o=e[1],a=[];for(let t=0;t<o.length;t+=1)a[t]=Dr(Tr(e,o,t));const c=e=>Oe(a[e],1,1,()=>{a[e]=null});return{c(){t=T("table"),n=T("thead"),n.innerHTML='<th class="svelte-ztcwsu">Value</th> \n <th class="svelte-ztcwsu">Visits</th> \n <th class="svelte-ztcwsu">Action</th>',r=R(),s=T("tbody");for(let e=0;e<a.length;e+=1)a[e].c();L(t,"class","svelte-ztcwsu")},m(e,o){S(e,t,o),$(t,n),$(t,r),$(t,s);for(let e=0;e<a.length;e+=1)a[e].m(s,null);i=!0},p(e,[t]){if(15&t){let n;for(o=e[1],n=0;n<o.length;n+=1){const r=Tr(e,o,n);a[n]?(a[n].p(r,t),Pe(a[n],1)):(a[n]=Dr(r),a[n].c(),Pe(a[n],1),a[n].m(s,null))}for(_e(),n=o.length;n<a.length;n+=1)c(n);we()}},i(e){if(!i){for(let e=0;e<o.length;e+=1)Pe(a[e]);i=!0}},o(e){a=a.filter(Boolean);for(let e=0;e<a.length;e+=1)Oe(a[e]);i=!1},d(e){e&&I(t),N(a,e)}}}function Rr(e,t,n){let{root:r}=t,{selectedIndex:s=null}=t;const i=te();let o=[],a=[];function c(e,t){i("select",{node:e,selectedIndex:t})}function l(e,t){null===s&&i("preview",{node:e})}return e.$$set=e=>{"root"in e&&n(4,r=e.root),"selectedIndex"in e&&n(0,s=e.selectedIndex)},e.$$.update=()=>{if(48&e.$$.dirty){let e=r;for(n(5,o=[]);e.parent;){const t=e.parent,{type:n,args:r}=e.parentAction.payload,s=`${n}(${(r||[]).join(",")})`;o.push({parent:t,arrowText:s}),e=t}o.reverse(),n(1,a=[...r.children].sort((e,t)=>e.visits<t.visits?1:-1).slice(0,50))}},[s,a,c,l,r,o,(e,t)=>c(e,t),e=>l(null),(e,t)=>l(e)]}class Br extends De{constructor(e){super(),Te(this,e,Rr,Cr,h,{root:4,selectedIndex:0},Nr)}}function Gr(e){A(e,"svelte-1f0amz4",".visualizer.svelte-1f0amz4{display:flex;flex-direction:column;align-items:center;padding:50px}.preview.svelte-1f0amz4{opacity:0.5}.icon.svelte-1f0amz4{color:#777;width:32px;height:32px;margin-bottom:20px}")}function Lr(e,t,n){const r=e.slice();return r[9]=t[n].node,r[10]=t[n].selectedIndex,r[12]=n,r}function Ur(e){let t,n;return t=new Br({props:{root:e[9],selectedIndex:e[10]}}),t.$on("select",function(...t){return e[7](e[12],...t)}),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(n,r){e=n;const s={};1&r&&(s.root=e[9]),1&r&&(s.selectedIndex=e[10]),t.$set(s)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function zr(e){let t,n;return t=new Br({props:{root:e[9]}}),t.$on("select",function(...t){return e[5](e[12],...t)}),t.$on("preview",function(...t){return e[6](e[12],...t)}),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(n,r){e=n;const s={};1&r&&(s.root=e[9]),t.$set(s)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function qr(e){let t,n,r,s,i,o=0!==e[12]&&function(){let e,t,n;return t=new Er({}),{c(){e=T("div"),Se(t.$$.fragment),L(e,"class","icon svelte-1f0amz4")},m(r,s){S(r,e,s),Ie(t,e,null),n=!0},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(n){n&&I(e),Ne(t)}}}();const a=[zr,Ur],c=[];function l(e,t){return e[12]===e[0].length-1?0:1}return r=l(e),s=c[r]=a[r](e),{c(){o&&o.c(),t=R(),n=T("section"),s.c()},m(e,s){o&&o.m(e,s),S(e,t,s),S(e,n,s),c[r].m(n,null),i=!0},p(e,t){let i=r;r=l(e),r===i?c[r].p(e,t):(_e(),Oe(c[i],1,1,()=>{c[i]=null}),we(),s=c[r],s?s.p(e,t):(s=c[r]=a[r](e),s.c()),Pe(s,1),s.m(n,null))},i(e){i||(Pe(o),Pe(s),i=!0)},o(e){Oe(o),Oe(s),i=!1},d(e){o&&o.d(e),e&&I(t),e&&I(n),c[r].d()}}}function Fr(e){let t,n,r,s,i,o;return n=new Er({}),i=new Br({props:{root:e[1]}}),{c(){t=T("div"),Se(n.$$.fragment),r=R(),s=T("section"),Se(i.$$.fragment),L(t,"class","icon svelte-1f0amz4"),L(s,"class","preview svelte-1f0amz4")},m(e,a){S(e,t,a),Ie(n,t,null),S(e,r,a),S(e,s,a),Ie(i,s,null),o=!0},p(e,t){const n={};2&t&&(n.root=e[1]),i.$set(n)},i(e){o||(Pe(n.$$.fragment,e),Pe(i.$$.fragment,e),o=!0)},o(e){Oe(n.$$.fragment,e),Oe(i.$$.fragment,e),o=!1},d(e){e&&I(t),Ne(n),e&&I(r),e&&I(s),Ne(i)}}}function Vr(e){let t,n,r,s=e[0],i=[];for(let t=0;t<s.length;t+=1)i[t]=qr(Lr(e,s,t));const o=e=>Oe(i[e],1,1,()=>{i[e]=null});let a=e[1]&&Fr(e);return{c(){t=T("div");for(let e=0;e<i.length;e+=1)i[e].c();n=R(),a&&a.c(),L(t,"class","visualizer svelte-1f0amz4")},m(e,s){S(e,t,s);for(let e=0;e<i.length;e+=1)i[e].m(t,null);$(t,n),a&&a.m(t,null),r=!0},p(e,[r]){if(13&r){let a;for(s=e[0],a=0;a<s.length;a+=1){const o=Lr(e,s,a);i[a]?(i[a].p(o,r),Pe(i[a],1)):(i[a]=qr(o),i[a].c(),Pe(i[a],1),i[a].m(t,n))}for(_e(),a=s.length;a<i.length;a+=1)o(a);we()}e[1]?a?(a.p(e,r),2&r&&Pe(a,1)):(a=Fr(e),a.c(),Pe(a,1),a.m(t,null)):a&&(_e(),Oe(a,1,1,()=>{a=null}),we())},i(e){if(!r){for(let e=0;e<s.length;e+=1)Pe(i[e]);Pe(a),r=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)Oe(i[e]);Oe(a),r=!1},d(e){e&&I(t),N(i,e),a&&a.d()}}}function Jr(e,t,n){let{metadata:r}=t,s=[],i=null;function o({node:e,selectedIndex:t},r){n(1,i=null),n(0,s[r].selectedIndex=t,s),n(0,s=[...s.slice(0,r+1),{node:e}])}function a({node:e},t){n(1,i=e)}return e.$$set=e=>{"metadata"in e&&n(4,r=e.metadata)},e.$$.update=()=>{16&e.$$.dirty&&n(0,s=[{node:r}])},[s,i,o,a,r,(e,t)=>o(t.detail,e),(e,t)=>a(t.detail),(e,t)=>o(t.detail,e)]}class Wr extends De{constructor(e){super(),Te(this,e,Jr,Vr,h,{metadata:4},Gr)}}function Hr(e){A(e,"svelte-1pq5e4b",".gamelog.svelte-1pq5e4b{display:grid;grid-template-columns:30px 1fr 30px;grid-auto-rows:auto;grid-auto-flow:column}")}function Kr(e,t,n){const r=e.slice();return r[16]=t[n].phase,r[18]=n,r}function Yr(e,t,n){const r=e.slice();return r[19]=t[n].action,r[20]=t[n].metadata,r[18]=n,r}function Xr(e,t,n){const r=e.slice();return r[22]=t[n].turn,r[18]=n,r}function Qr(e){let t,n;return t=new pr({props:{turn:e[22],numEvents:e[3][e[18]]}}),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(e,n){const r={};2&n&&(r.turn=e[22]),8&n&&(r.numEvents=e[3][e[18]]),t.$set(r)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function Zr(e){let t,n,r=e[18]in e[3]&&Qr(e);return{c(){r&&r.c(),t=B()},m(e,s){r&&r.m(e,s),S(e,t,s),n=!0},p(e,n){e[18]in e[3]?r?(r.p(e,n),8&n&&Pe(r,1)):(r=Qr(e),r.c(),Pe(r,1),r.m(t.parentNode,t)):r&&(_e(),Oe(r,1,1,()=>{r=null}),we())},i(e){n||(Pe(r),n=!0)},o(e){Oe(r),n=!1},d(e){r&&r.d(e),e&&I(t)}}}function es(e){let t,n;return t=new Or({props:{pinned:e[18]===e[2],logIndex:e[18],action:e[19],metadata:e[20]}}),t.$on("click",e[5]),t.$on("mouseenter",e[6]),t.$on("mouseleave",e[7]),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(e,n){const r={};4&n&&(r.pinned=e[18]===e[2]),2&n&&(r.action=e[19]),2&n&&(r.metadata=e[20]),t.$set(r)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function ts(e){let t,n;return t=new vr({props:{phase:e[16],numEvents:e[4][e[18]]}}),{c(){Se(t.$$.fragment)},m(e,r){Ie(t,e,r),n=!0},p(e,n){const r={};2&n&&(r.phase=e[16]),16&n&&(r.numEvents=e[4][e[18]]),t.$set(r)},i(e){n||(Pe(t.$$.fragment,e),n=!0)},o(e){Oe(t.$$.fragment,e),n=!1},d(e){Ne(t,e)}}}function ns(e){let t,n,r=e[18]in e[4]&&ts(e);return{c(){r&&r.c(),t=B()},m(e,s){r&&r.m(e,s),S(e,t,s),n=!0},p(e,n){e[18]in e[4]?r?(r.p(e,n),16&n&&Pe(r,1)):(r=ts(e),r.c(),Pe(r,1),r.m(t.parentNode,t)):r&&(_e(),Oe(r,1,1,()=>{r=null}),we())},i(e){n||(Pe(r),n=!0)},o(e){Oe(r),n=!1},d(e){r&&r.d(e),e&&I(t)}}}function rs(e){let t,n,r,s,i,o,a=e[1],c=[];for(let t=0;t<a.length;t+=1)c[t]=Zr(Xr(e,a,t));const l=e=>Oe(c[e],1,1,()=>{c[e]=null});let u=e[1],p=[];for(let t=0;t<u.length;t+=1)p[t]=es(Yr(e,u,t));const d=e=>Oe(p[e],1,1,()=>{p[e]=null});let f=e[1],h=[];for(let t=0;t<f.length;t+=1)h[t]=ns(Kr(e,f,t));const v=e=>Oe(h[e],1,1,()=>{h[e]=null});return{c(){t=T("div");for(let e=0;e<c.length;e+=1)c[e].c();n=R();for(let e=0;e<p.length;e+=1)p[e].c();r=R();for(let e=0;e<h.length;e+=1)h[e].c();L(t,"class","gamelog svelte-1pq5e4b"),V(t,"pinned",e[2])},m(a,l){S(a,t,l);for(let e=0;e<c.length;e+=1)c[e].m(t,null);$(t,n);for(let e=0;e<p.length;e+=1)p[e].m(t,null);$(t,r);for(let e=0;e<h.length;e+=1)h[e].m(t,null);s=!0,i||(o=G(window,"keydown",e[8]),i=!0)},p(e,[s]){if(10&s){let r;for(a=e[1],r=0;r<a.length;r+=1){const i=Xr(e,a,r);c[r]?(c[r].p(i,s),Pe(c[r],1)):(c[r]=Zr(i),c[r].c(),Pe(c[r],1),c[r].m(t,n))}for(_e(),r=a.length;r<c.length;r+=1)l(r);we()}if(230&s){let n;for(u=e[1],n=0;n<u.length;n+=1){const i=Yr(e,u,n);p[n]?(p[n].p(i,s),Pe(p[n],1)):(p[n]=es(i),p[n].c(),Pe(p[n],1),p[n].m(t,r))}for(_e(),n=u.length;n<p.length;n+=1)d(n);we()}if(18&s){let n;for(f=e[1],n=0;n<f.length;n+=1){const r=Kr(e,f,n);h[n]?(h[n].p(r,s),Pe(h[n],1)):(h[n]=ns(r),h[n].c(),Pe(h[n],1),h[n].m(t,null))}for(_e(),n=f.length;n<h.length;n+=1)v(n);we()}4&s&&V(t,"pinned",e[2])},i(e){if(!s){for(let e=0;e<a.length;e+=1)Pe(c[e]);for(let e=0;e<u.length;e+=1)Pe(p[e]);for(let e=0;e<f.length;e+=1)Pe(h[e]);s=!0}},o(e){c=c.filter(Boolean);for(let e=0;e<c.length;e+=1)Oe(c[e]);p=p.filter(Boolean);for(let e=0;e<p.length;e+=1)Oe(p[e]);h=h.filter(Boolean);for(let e=0;e<h.length;e+=1)Oe(h[e]);s=!1},d(e){e&&I(t),N(c,e),N(p,e),N(h,e),i=!1,o()}}}function ss(e,t,n){let r,i=a,o=()=>(i(),i=v(c,e=>n(10,r=e)),c);e.$$.on_destroy.push(()=>i());let{client:c}=t;o();const{secondaryPane:l}=re("secondaryPane"),u=(0,s.C)({game:c.game}),p=c.getInitialState();let d,{log:f}=r,h=null;function y(e){let t=p;for(let n=0;n<f.length;n++){const{action:r,automatic:s}=f[n];if(!s){if(t=u(t,r),0==e)break;e--}}return{G:t.G,ctx:t.ctx,plugins:t.plugins}}function g(){n(2,h=null),c.overrideGameState(null),l.set(null)}ee(g);let m={},b={};return e.$$set=e=>{"client"in e&&o(n(0,c=e.client))},e.$$.update=()=>{if(1538&e.$$.dirty){n(9,f=r.log),n(1,d=f.filter(e=>!e.automatic));let e=0,t=0;n(3,m={}),n(4,b={});for(let r=0;r<d.length;r++){const{action:s,payload:i,turn:o,phase:a}=d[r];t++,e++,r!=d.length-1&&d[r+1].turn==o||(n(3,m[r]=t,m),t=0),r!=d.length-1&&d[r+1].phase==a||(n(4,b[r]=e,b),e=0)}}},[c,d,h,m,b,function(e){const{logIndex:t}=e.detail,r=y(t),s=f.filter(e=>!e.automatic);if(c.overrideGameState(r),h==t)n(2,h=null),l.set(null);else{n(2,h=t);const{metadata:e}=s[t].action.payload;e&&l.set({component:Wr,metadata:e})}},function(e){const{logIndex:t}=e.detail;if(null===h){const e=y(t);c.overrideGameState(e)}},function(){null===h&&c.overrideGameState(null)},function(e){27==e.keyCode&&g()},f,r]}class is extends De{constructor(e){super(),Te(this,e,ss,rs,h,{client:0},Hr)}}function os(e){A(e,"svelte-1fu900w","label.svelte-1fu900w{color:#666}.option.svelte-1fu900w{margin-bottom:20px}.value.svelte-1fu900w{font-weight:bold;color:#000}input[type='checkbox'].svelte-1fu900w{vertical-align:middle}")}function as(e,t,n){const r=e.slice();return r[6]=t[n][0],r[7]=t[n][1],r[8]=t,r[9]=n,r}function cs(e){let t,n,r,s;function i(){e[5].call(t,e[6])}return{c(){t=T("input"),L(t,"id",n=e[3](e[6])),L(t,"type","checkbox"),L(t,"class","svelte-1fu900w")},m(n,o){S(n,t,o),t.checked=e[1][e[6]],r||(s=[G(t,"change",i),G(t,"change",e[2])],r=!0)},p(r,s){e=r,1&s&&n!==(n=e[3](e[6]))&&L(t,"id",n),3&s&&(t.checked=e[1][e[6]])},d(e){e&&I(t),r=!1,d(s)}}}function ls(e){let t,n,r,s,i,o,a,c,l,u=e[1][e[6]]+"";function p(){e[4].call(s,e[6])}return{c(){t=T("span"),n=C(u),r=R(),s=T("input"),L(t,"class","value svelte-1fu900w"),L(s,"id",i=e[3](e[6])),L(s,"type","range"),L(s,"min",o=e[7].range.min),L(s,"max",a=e[7].range.max)},m(i,o){S(i,t,o),$(t,n),S(i,r,o),S(i,s,o),z(s,e[1][e[6]]),c||(l=[G(s,"change",p),G(s,"input",p),G(s,"change",e[2])],c=!0)},p(t,r){e=t,3&r&&u!==(u=e[1][e[6]]+"")&&U(n,u),1&r&&i!==(i=e[3](e[6]))&&L(s,"id",i),1&r&&o!==(o=e[7].range.min)&&L(s,"min",o),1&r&&a!==(a=e[7].range.max)&&L(s,"max",a),3&r&&z(s,e[1][e[6]])},d(e){e&&I(t),e&&I(r),e&&I(s),c=!1,d(l)}}}function us(e){let t,n,r,s,i,o,a=e[6]+"";function c(e,t){return e[7].range?ls:"boolean"==typeof e[7].value?cs:void 0}let l=c(e),u=l&&l(e);return{c(){t=T("div"),n=T("label"),r=C(a),i=R(),u&&u.c(),o=R(),L(n,"for",s=e[3](e[6])),L(n,"class","svelte-1fu900w"),L(t,"class","option svelte-1fu900w")},m(e,s){S(e,t,s),$(t,n),$(n,r),$(t,i),u&&u.m(t,null),$(t,o)},p(e,i){1&i&&a!==(a=e[6]+"")&&U(r,a),1&i&&s!==(s=e[3](e[6]))&&L(n,"for",s),l===(l=c(e))&&u?u.p(e,i):(u&&u.d(1),u=l&&l(e),u&&(u.c(),u.m(t,o)))},d(e){e&&I(t),u&&u.d()}}}function ps(e){let t,n=Object.entries(e[0].opts()),r=[];for(let t=0;t<n.length;t+=1)r[t]=us(as(e,n,t));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=B()},m(e,n){for(let t=0;t<r.length;t+=1)r[t].m(e,n);S(e,t,n)},p(e,[s]){if(15&s){let i;for(n=Object.entries(e[0].opts()),i=0;i<n.length;i+=1){const o=as(e,n,i);r[i]?r[i].p(o,s):(r[i]=us(o),r[i].c(),r[i].m(t.parentNode,t))}for(;i<r.length;i+=1)r[i].d(1);r.length=n.length}},i:a,o:a,d(e){N(r,e),e&&I(t)}}}function ds(e,t,n){let{bot:r}=t,s={};for(let[e,t]of Object.entries(r.opts()))s[e]=t.value;return e.$$set=e=>{"bot"in e&&n(0,r=e.bot)},[r,s,function(){for(let[e,t]of Object.entries(s))r.setOpt(e,t)},e=>"ai-option-"+e,function(e){var t;s[e]=""===(t=this.value)?null:+t,n(1,s)},function(e){s[e]=this.checked,n(1,s)}]}class fs extends De{constructor(e){super(),Te(this,e,ds,ps,h,{bot:0},os)}}function hs(e){A(e,"svelte-fn09gm","ul.svelte-fn09gm{padding-left:0}li.svelte-fn09gm{list-style:none;margin:0;margin-bottom:5px}h3.svelte-fn09gm{text-transform:uppercase}label.svelte-fn09gm{color:#666}input[type='checkbox'].svelte-fn09gm{vertical-align:middle}")}function vs(e,t,n){const r=e.slice();return r[7]=t[n],r}function ys(e){let t,n,r;return{c(){t=T("p"),t.textContent="No bots available.",n=R(),r=T("p"),r.innerHTML='Follow the instructions\n <a href="https://boardgame.io/documentation/#/tutorial?id=bots" target="_blank">here</a>\n to set up bots.'},m(e,s){S(e,t,s),S(e,n,s),S(e,r,s)},p:a,i:a,o:a,d(e){e&&I(t),e&&I(n),e&&I(r)}}}function gs(e){let t;return{c(){t=T("p"),t.textContent="The bot debugger is only available in singleplayer mode."},m(e,n){S(e,t,n)},p:a,i:a,o:a,d(e){e&&I(t)}}}function ms(e){let t,n,r,s,i,o,a,c,l,u,p,f,h,v,y,g,m,b,x,_,w,P,O,k=Object.keys(e[7].opts()).length;o=new _n({props:{value:"1",onPress:e[13],label:"reset"}}),l=new _n({props:{value:"2",onPress:e[11],label:"play"}}),f=new _n({props:{value:"3",onPress:e[12],label:"simulate"}});let A=Object.keys(e[8]),E=[];for(let t=0;t<A.length;t+=1)E[t]=bs(vs(e,A,t));let M=k&&xs(e),j=(e[5]||e[3])&&_s(e);return{c(){t=T("section"),n=T("h3"),n.textContent="Controls",r=R(),s=T("ul"),i=T("li"),Se(o.$$.fragment),a=R(),c=T("li"),Se(l.$$.fragment),u=R(),p=T("li"),Se(f.$$.fragment),h=R(),v=T("section"),y=T("h3"),y.textContent="Bot",g=R(),m=T("select");for(let e=0;e<E.length;e+=1)E[e].c();b=R(),M&&M.c(),x=R(),j&&j.c(),_=B(),L(n,"class","svelte-fn09gm"),L(i,"class","svelte-fn09gm"),L(c,"class","svelte-fn09gm"),L(p,"class","svelte-fn09gm"),L(s,"class","svelte-fn09gm"),L(y,"class","svelte-fn09gm"),void 0===e[4]&&pe(()=>e[17].call(m))},m(d,k){S(d,t,k),$(t,n),$(t,r),$(t,s),$(s,i),Ie(o,i,null),$(s,a),$(s,c),Ie(l,c,null),$(s,u),$(s,p),Ie(f,p,null),S(d,h,k),S(d,v,k),$(v,y),$(v,g),$(v,m);for(let e=0;e<E.length;e+=1)E[e].m(m,null);q(m,e[4]),S(d,b,k),M&&M.m(d,k),S(d,x,k),j&&j.m(d,k),S(d,_,k),w=!0,P||(O=[G(m,"change",e[17]),G(m,"change",e[10])],P=!0)},p(e,t){if(256&t){let n;for(A=Object.keys(e[8]),n=0;n<A.length;n+=1){const r=vs(e,A,n);E[n]?E[n].p(r,t):(E[n]=bs(r),E[n].c(),E[n].m(m,null))}for(;n<E.length;n+=1)E[n].d(1);E.length=A.length}272&t&&q(m,e[4]),128&t&&(k=Object.keys(e[7].opts()).length),k?M?(M.p(e,t),128&t&&Pe(M,1)):(M=xs(e),M.c(),Pe(M,1),M.m(x.parentNode,x)):M&&(_e(),Oe(M,1,1,()=>{M=null}),we()),e[5]||e[3]?j?j.p(e,t):(j=_s(e),j.c(),j.m(_.parentNode,_)):j&&(j.d(1),j=null)},i(e){w||(Pe(o.$$.fragment,e),Pe(l.$$.fragment,e),Pe(f.$$.fragment,e),Pe(M),w=!0)},o(e){Oe(o.$$.fragment,e),Oe(l.$$.fragment,e),Oe(f.$$.fragment,e),Oe(M),w=!1},d(e){e&&I(t),Ne(o),Ne(l),Ne(f),e&&I(h),e&&I(v),N(E,e),e&&I(b),M&&M.d(e),e&&I(x),j&&j.d(e),e&&I(_),P=!1,d(O)}}}function bs(e){let t,n,r,s=e[7]+"";return{c(){t=T("option"),n=C(s),t.__value=r=e[7],t.value=t.__value},m(e,r){S(e,t,r),$(t,n)},p:a,d(e){e&&I(t)}}}function xs(e){let t,n,r,s,i,o,a,c,l,u,p;return c=new fs({props:{bot:e[7]}}),{c(){t=T("section"),n=T("h3"),n.textContent="Options",r=R(),s=T("label"),s.textContent="debug",i=R(),o=T("input"),a=R(),Se(c.$$.fragment),L(n,"class","svelte-fn09gm"),L(s,"for","ai-option-debug"),L(s,"class","svelte-fn09gm"),L(o,"id","ai-option-debug"),L(o,"type","checkbox"),L(o,"class","svelte-fn09gm")},m(d,f){S(d,t,f),$(t,n),$(t,r),$(t,s),$(t,i),$(t,o),o.checked=e[1],$(t,a),Ie(c,t,null),l=!0,u||(p=[G(o,"change",e[18]),G(o,"change",e[9])],u=!0)},p(e,t){2&t&&(o.checked=e[1]);const n={};128&t&&(n.bot=e[7]),c.$set(n)},i(e){l||(Pe(c.$$.fragment,e),l=!0)},o(e){Oe(c.$$.fragment,e),l=!1},d(e){e&&I(t),Ne(c),u=!1,d(p)}}}function _s(e){let t,n,r,s,i=e[2]&&e[2]<1&&ws(e),o=e[5]&&Ps(e);return{c(){t=T("section"),n=T("h3"),n.textContent="Result",r=R(),i&&i.c(),s=R(),o&&o.c(),L(n,"class","svelte-fn09gm")},m(e,a){S(e,t,a),$(t,n),$(t,r),i&&i.m(t,null),$(t,s),o&&o.m(t,null)},p(e,n){e[2]&&e[2]<1?i?i.p(e,n):(i=ws(e),i.c(),i.m(t,s)):i&&(i.d(1),i=null),e[5]?o?o.p(e,n):(o=Ps(e),o.c(),o.m(t,null)):o&&(o.d(1),o=null)},d(e){e&&I(t),i&&i.d(),o&&o.d()}}}function ws(e){let t;return{c(){t=T("progress"),t.value=e[2]},m(e,n){S(e,t,n)},p(e,n){4&n&&(t.value=e[2])},d(e){e&&I(t)}}}function Ps(e){let t,n,r,s,i,o,a,c,l=JSON.stringify(e[6])+"";return{c(){t=T("ul"),n=T("li"),r=C("Action: "),s=C(e[5]),i=R(),o=T("li"),a=C("Args: "),c=C(l),L(n,"class","svelte-fn09gm"),L(o,"class","svelte-fn09gm"),L(t,"class","svelte-fn09gm")},m(e,l){S(e,t,l),$(t,n),$(n,r),$(n,s),$(t,i),$(t,o),$(o,a),$(o,c)},p(e,t){32&t&&U(s,e[5]),64&t&&l!==(l=JSON.stringify(e[6])+"")&&U(c,l)},d(e){e&&I(t)}}}function Os(e){let t,n,r,s,i,o;const a=[ms,gs,ys],c=[];function l(e,t){return e[0].game.ai&&!e[0].multiplayer?0:e[0].multiplayer?1:2}return n=l(e),r=c[n]=a[n](e),{c(){t=T("section"),r.c()},m(r,a){S(r,t,a),c[n].m(t,null),s=!0,i||(o=G(window,"keydown",e[14]),i=!0)},p(e,[s]){let i=n;n=l(e),n===i?c[n].p(e,s):(_e(),Oe(c[i],1,1,()=>{c[i]=null}),we(),r=c[n],r?r.p(e,s):(r=c[n]=a[n](e),r.c()),Pe(r,1),r.m(t,null))},i(e){s||(Pe(r),s=!0)},o(e){Oe(r),s=!1},d(e){e&&I(t),c[n].d(),i=!1,o()}}}function ks(e,t,n){let{client:r}=t,{clientManager:s}=t,{ToggleVisibility:i}=t;const{secondaryPane:a}=re("secondaryPane"),c={MCTS:o.M,Random:o.R};let l=!1,u=null,p=0,d=null;const f=({iterationCounter:e,numIterations:t,metadata:r})=>{n(3,p=e),n(2,u=e/t),d=r,l&&d&&a.set({component:Wr,metadata:d})};let h,v,y,g;function m(){r.overrideGameState(null),a.set(null),n(1,l=!1)}return r.game.ai&&(h=new o.M({game:r.game,enumerate:r.game.ai.enumerate,iterationCallback:f}),h.setOpt("async",!0)),ee(m),e.$$set=e=>{"client"in e&&n(0,r=e.client),"clientManager"in e&&n(15,s=e.clientManager),"ToggleVisibility"in e&&n(16,i=e.ToggleVisibility)},[r,l,u,p,v,y,g,h,c,function(){l&&d?a.set({component:Wr,metadata:d}):a.set(null)},function(){n(7,h=new(0,c[v])({game:r.game,enumerate:r.game.ai.enumerate,iterationCallback:f})),h.setOpt("async",!0),n(5,y=null),d=null,a.set(null),n(3,p=0)},async function(){n(5,y=null),d=null,n(3,p=0);const e=await(0,o.S)(r,h);e&&(n(5,y=e.payload.type),n(6,g=e.payload.args))},function(e=1e4,t=100){return n(5,y=null),d=null,n(3,p=0),(async()=>{for(let n=0;n<e&&await(0,o.S)(r,h);n++)await new Promise(e=>setTimeout(e,t))})()},function(){r.reset(),n(5,y=null),d=null,n(3,p=0),m()},function(e){27==e.keyCode&&m()},s,i,function(){v=F(this),n(4,v),n(8,c)},function(){l=this.checked,n(1,l)}]}class $s extends De{constructor(e){super(),Te(this,e,ks,Os,h,{client:0,clientManager:15,ToggleVisibility:16},hs)}}function As(e){A(e,"svelte-8ymctk",".debug-panel.svelte-8ymctk.svelte-8ymctk{position:fixed;color:#555;font-family:monospace;right:0;top:0;height:100%;font-size:14px;opacity:0.9;z-index:99999}.panel.svelte-8ymctk.svelte-8ymctk{display:flex;position:relative;flex-direction:row;height:100%}.visibility-toggle.svelte-8ymctk.svelte-8ymctk{position:absolute;box-sizing:border-box;top:7px;border:1px solid #ccc;border-radius:5px;width:48px;height:48px;padding:8px;background:white;color:#555;box-shadow:0 0 5px rgba(0, 0, 0, 0.2)}.visibility-toggle.svelte-8ymctk.svelte-8ymctk:hover,.visibility-toggle.svelte-8ymctk.svelte-8ymctk:focus{background:#eee}.opener.svelte-8ymctk.svelte-8ymctk{right:10px}.closer.svelte-8ymctk.svelte-8ymctk{left:-326px}@keyframes svelte-8ymctk-rotateFromZero{from{transform:rotateZ(0deg)}to{transform:rotateZ(180deg)}}.icon.svelte-8ymctk.svelte-8ymctk{display:flex;height:100%;animation:svelte-8ymctk-rotateFromZero 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55) 0s 1\n normal forwards}.closer.svelte-8ymctk .icon.svelte-8ymctk{animation-direction:reverse}.pane.svelte-8ymctk.svelte-8ymctk{flex-grow:2;overflow-x:hidden;overflow-y:scroll;background:#fefefe;padding:20px;border-left:1px solid #ccc;box-shadow:-1px 0 5px rgba(0, 0, 0, 0.2);box-sizing:border-box;width:280px}.secondary-pane.svelte-8ymctk.svelte-8ymctk{background:#fefefe;overflow-y:scroll}.debug-panel.svelte-8ymctk button,.debug-panel.svelte-8ymctk select{cursor:pointer;font-size:14px;font-family:monospace}.debug-panel.svelte-8ymctk select{background:#eee;border:1px solid #bbb;color:#555;padding:3px;border-radius:3px}.debug-panel.svelte-8ymctk section{margin-bottom:20px}.debug-panel.svelte-8ymctk .screen-reader-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}")}function Es(e){let t,n,r,s,i,o,c,l,u,p=e[10]&&function(e){let t,n,r,s,i,o,c,l;return r=new He({}),{c(){t=T("button"),n=T("span"),Se(r.$$.fragment),L(n,"class","icon svelte-8ymctk"),L(n,"aria-hidden","true"),L(t,"class","visibility-toggle closer svelte-8ymctk"),L(t,"title","Hide Debug Panel")},m(s,i){S(s,t,i),$(t,n),Ie(r,n,null),o=!0,c||(l=G(t,"click",e[9]),c=!0)},p:a,i(n){o||(Pe(r.$$.fragment,n),pe(()=>{i&&i.end(1),s=$e(t,e[14],{key:"toggle"}),s.start()}),o=!0)},o(n){Oe(r.$$.fragment,n),s&&s.invalidate(),i=Ae(t,e[13],{key:"toggle"}),o=!1},d(e){e&&I(t),Ne(r),e&&i&&i.end(),c=!1,l()}}}(e);r=new et({props:{panes:e[6],pane:e[2]}}),r.$on("change",e[8]);var d=e[6][e[2]].component;function f(e){return{props:{client:e[4],clientManager:e[0],ToggleVisibility:e[9]}}}d&&(o=new d(f(e)));let h=e[5]&&js(e);return{c(){t=T("div"),p&&p.c(),n=R(),Se(r.$$.fragment),s=R(),i=T("div"),o&&Se(o.$$.fragment),c=R(),h&&h.c(),L(i,"class","pane svelte-8ymctk"),L(i,"role","region"),L(i,"aria-label",e[2]),L(i,"tabindex","-1"),L(t,"class","panel svelte-8ymctk")},m(a,l){S(a,t,l),p&&p.m(t,null),$(t,n),Ie(r,t,null),$(t,s),$(t,i),o&&Ie(o,i,null),e[16](i),$(t,c),h&&h.m(t,null),u=!0},p(n,s){(e=n)[10]&&p.p(e,s);const a={};4&s&&(a.pane=e[2]),r.$set(a);const c={};if(16&s&&(c.client=e[4]),1&s&&(c.clientManager=e[0]),d!==(d=e[6][e[2]].component)){if(o){_e();const e=o;Oe(e.$$.fragment,1,0,()=>{Ne(e,1)}),we()}d?(o=new d(f(e)),Se(o.$$.fragment),Pe(o.$$.fragment,1),Ie(o,i,null)):o=null}else d&&o.$set(c);(!u||4&s)&&L(i,"aria-label",e[2]),e[5]?h?(h.p(e,s),32&s&&Pe(h,1)):(h=js(e),h.c(),Pe(h,1),h.m(t,null)):h&&(_e(),Oe(h,1,1,()=>{h=null}),we())},i(n){u||(Pe(p),Pe(r.$$.fragment,n),o&&Pe(o.$$.fragment,n),Pe(h),pe(()=>{l||(l=Ee(t,Ge,{x:400,...e[12]},!0)),l.run(1)}),u=!0)},o(n){Oe(p),Oe(r.$$.fragment,n),o&&Oe(o.$$.fragment,n),Oe(h),l||(l=Ee(t,Ge,{x:400,...e[12]},!1)),l.run(0),u=!1},d(n){n&&I(t),p&&p.d(),Ne(r),o&&Ne(o),e[16](null),h&&h.d(),n&&l&&l.end()}}}function Ms(e){let t,n,r=e[10]&&function(e){let t,n,r,s,i,o,c,l;return r=new He({}),{c(){t=T("button"),n=T("span"),Se(r.$$.fragment),L(n,"class","icon svelte-8ymctk"),L(n,"aria-hidden","true"),L(t,"class","visibility-toggle opener svelte-8ymctk"),L(t,"title","Show Debug Panel")},m(s,i){S(s,t,i),$(t,n),Ie(r,n,null),o=!0,c||(l=G(t,"click",e[9]),c=!0)},p:a,i(n){o||(Pe(r.$$.fragment,n),pe(()=>{i&&i.end(1),s=$e(t,e[14],{key:"toggle"}),s.start()}),o=!0)},o(n){Oe(r.$$.fragment,n),s&&s.invalidate(),i=Ae(t,e[13],{key:"toggle"}),o=!1},d(e){e&&I(t),Ne(r),e&&i&&i.end(),c=!1,l()}}}(e);return{c(){r&&r.c(),t=B()},m(e,s){r&&r.m(e,s),S(e,t,s),n=!0},p(e,t){e[10]&&r.p(e,t)},i(e){n||(Pe(r),n=!0)},o(e){Oe(r),n=!1},d(e){r&&r.d(e),e&&I(t)}}}function js(e){let t,n,r;var s=e[5].component;function i(e){return{props:{metadata:e[5].metadata}}}return s&&(n=new s(i(e))),{c(){t=T("div"),n&&Se(n.$$.fragment),L(t,"class","secondary-pane svelte-8ymctk")},m(e,s){S(e,t,s),n&&Ie(n,t,null),r=!0},p(e,r){const o={};if(32&r&&(o.metadata=e[5].metadata),s!==(s=e[5].component)){if(n){_e();const e=n;Oe(e.$$.fragment,1,0,()=>{Ne(e,1)}),we()}s?(n=new s(i(e)),Se(n.$$.fragment),Pe(n.$$.fragment,1),Ie(n,t,null)):n=null}else s&&n.$set(o)},i(e){r||(n&&Pe(n.$$.fragment,e),r=!0)},o(e){n&&Oe(n.$$.fragment,e),r=!1},d(e){e&&I(t),n&&Ne(n)}}}function Ss(e){let t,n,r,s,i,o;const a=[Ms,Es],c=[];function l(e,t){return e[3]?1:0}return n=l(e),r=c[n]=a[n](e),{c(){t=T("section"),r.c(),L(t,"aria-label","boardgame.io Debug Panel"),L(t,"class","debug-panel svelte-8ymctk")},m(r,a){S(r,t,a),c[n].m(t,null),s=!0,i||(o=G(window,"keypress",e[11]),i=!0)},p(e,[s]){let i=n;n=l(e),n===i?c[n].p(e,s):(_e(),Oe(c[i],1,1,()=>{c[i]=null}),we(),r=c[n],r?r.p(e,s):(r=c[n]=a[n](e),r.c()),Pe(r,1),r.m(t,null))},i(e){s||(Pe(r),s=!0)},o(e){Oe(r),s=!1},d(e){e&&I(t),c[n].d(),i=!1,o()}}}function Is(e,t,n){let r,s,i,o=a,c=()=>(o(),o=v(u,e=>n(15,s=e)),u);e.$$.on_destroy.push(()=>o());let{clientManager:u}=t;c();const p={main:{label:"Main",shortcut:"m",component:Qn},log:{label:"Log",shortcut:"l",component:is},info:{label:"Info",shortcut:"i",component:ar},ai:{label:"AI",shortcut:"a",component:$s}},d=Re(!1),h=Re(null);let g;y(e,h,e=>n(5,i=e)),ne("hotkeys",{disableHotkeys:d}),ne("secondaryPane",{secondaryPane:h});let m="main";function b(){n(3,_=!_)}const x=s.client.debugOpt;let _=!x||!x.collapseOnLoad;const w=!x||!x.hideToggleButton,P={duration:150,easing:Be},[O,k]=function(e){var{fallback:t}=e,n=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(e);s<r.length;s++)t.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(n[r[s]]=e[r[s]])}return n}(e,["fallback"]);const r=new Map,s=new Map;function i(e,r,s){return(i,o)=>(e.set(o.key,{rect:i.getBoundingClientRect()}),()=>{if(r.has(o.key)){const{rect:e}=r.get(o.key);return r.delete(o.key),function(e,t,r){const{delay:s=0,duration:i=e=>30*Math.sqrt(e),easing:o=Be}=l(l({},n),r),a=t.getBoundingClientRect(),c=e.left-a.left,u=e.top-a.top,p=e.width/a.width,d=e.height/a.height,h=Math.sqrt(c*c+u*u),v=getComputedStyle(t),y="none"===v.transform?"":v.transform,g=+v.opacity;return{delay:s,duration:f(i)?i(h):i,easing:o,css:(e,t)=>`\n\t\t\t\topacity: ${e*g};\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransform: ${y} translate(${t*c}px,${t*u}px) scale(${e+(1-e)*p}, ${e+(1-e)*d});\n\t\t\t`}}(e,i,o)}return e.delete(o.key),t&&t(i,o,s)})}return[i(s,r,!1),i(r,s,!0)]}(P);return e.$$set=e=>{"clientManager"in e&&c(n(0,u=e.clientManager))},e.$$.update=()=>{32768&e.$$.dirty&&n(4,r=s.client)},[u,g,m,_,r,i,p,h,function(e){n(2,m=e.detail),g.focus()},b,w,function(e){"."!=e.key?_&&Object.entries(p).forEach(([t,{shortcut:r}])=>{e.key==r&&n(2,m=t)}):b()},P,O,k,s,function(e){oe[e?"unshift":"push"](()=>{g=e,n(1,g)})}]}class Ns extends De{constructor(e){super(),Te(this,e,Is,Ss,h,{clientManager:0},As)}}},8286(e,t,n){"use strict";n.d(t,{M:()=>a,R:()=>c,S:()=>l});var r=n(2743),s=n(3321),i=n(2878);n(2791);class o{constructor({enumerate:e,seed:t}){this.enumerateFn=e,this.seed=t,this.iterationCounter=0,this._opts={}}addOpt({key:e,range:t,initial:n}){this._opts[e]={range:t,value:n}}getOpt(e){return this._opts[e].value}setOpt(e,t){e in this._opts&&(this._opts[e].value=t)}opts(){return this._opts}enumerate(e,t,n){return this.enumerateFn(e,t,n).map(e=>"payload"in e?e:"move"in e?(0,r.B)(e.move,e.args,n):"event"in e?(0,r.g)(e.event,e.args,n):void 0)}random(e){let t;if(void 0!==this.seed){const e=this.prngstate?"":this.seed,n=(0,s.a)(e,this.prngstate);t=n(),this.prngstate=n.state()}else t=Math.random();return e?Array.isArray(e)?e[Math.floor(t*e.length)]:Math.floor(t*e):t}}class a extends o{constructor({enumerate:e,seed:t,objectives:n,game:r,iterations:s,playoutDepth:o,iterationCallback:a}){super({enumerate:e,seed:t}),void 0===n&&(n=()=>({})),this.objectives=n,this.iterationCallback=a||(()=>{}),this.reducer=(0,i.C)({game:r}),this.iterations=s,this.playoutDepth=o,this.addOpt({key:"async",initial:!1}),this.addOpt({key:"iterations",initial:"number"==typeof s?s:1e3,range:{min:1,max:2e3}}),this.addOpt({key:"playoutDepth",initial:"number"==typeof o?o:50,range:{min:1,max:100}})}createNode({state:e,parentAction:t,parent:n,playerID:r}){const{G:s,ctx:i}=e;let o=[],a=[];if(void 0!==r)o=this.enumerate(s,i,r),a=this.objectives(s,i,r);else if(i.activePlayers)for(const e in i.activePlayers)o.push(...this.enumerate(s,i,e)),a.push(this.objectives(s,i,e));else o=this.enumerate(s,i,i.currentPlayer),a=this.objectives(s,i,i.currentPlayer);return{state:e,parent:n,parentAction:t,actions:o,objectives:a,children:[],visits:0,value:0}}select(e){if(e.actions.length>0)return e;if(0===e.children.length)return e;let t=null,n=0;for(const r of e.children){const s=r.visits+Number.EPSILON,i=r.value/s+Math.sqrt(2*Math.log(e.visits)/s);(null==t||i>n)&&(n=i,t=r)}return this.select(t)}expand(e){const t=e.actions;if(0===t.length||void 0!==e.state.ctx.gameover)return e;const n=this.random(t.length),r=t[n];e.actions.splice(n,1);const s=this.reducer(e.state,r),i=this.createNode({state:s,parentAction:r,parent:e});return e.children.push(i),i}playout({state:e}){let t=this.getOpt("playoutDepth");"function"==typeof this.playoutDepth&&(t=this.playoutDepth(e.G,e.ctx));for(let n=0;n<t&&void 0===e.ctx.gameover;n++){const{G:t,ctx:n}=e;let r=n.currentPlayer;n.activePlayers&&(r=Object.keys(n.activePlayers)[0]);const s=this.enumerate(t,n,r),i=this.objectives(t,n,r),o=Object.keys(i).reduce((e,r)=>{const s=i[r];return s.checker(t,n)?e+s.weight:e},0);if(o>0)return{score:o};if(!s||0===s.length)return;const a=this.random(s.length);e=this.reducer(e,s[a])}return e.ctx.gameover}backpropagate(e,t={}){e.visits++,void 0!==t.score&&(e.value+=t.score),!0===t.draw&&(e.value+=.5),e.parentAction&&t.winner===e.parentAction.payload.playerID&&e.value++,e.parent&&this.backpropagate(e.parent,t)}play(e,t){const n=this.createNode({state:e,playerID:t});let r=this.getOpt("iterations");"function"==typeof this.iterations&&(r=this.iterations(e.G,e.ctx));const s=()=>{let e=null;for(const t of n.children)(null==e||t.visits>e.visits)&&(e=t);return{action:e&&e.parentAction,metadata:n}};return new Promise(e=>{const t=()=>{for(let e=0;e<25&&this.iterationCounter<r;e++){const e=this.select(n),t=this.expand(e),r=this.playout(t);this.backpropagate(t,r),this.iterationCounter++}this.iterationCallback({iterationCounter:this.iterationCounter,numIterations:r,metadata:n})};if(this.iterationCounter=0,this.getOpt("async")){const n=()=>{this.iterationCounter<r?(t(),setImmediate(n)):e(s())};n()}else{for(;this.iterationCounter<r;)t();e(s())}})}}class c extends o{play({G:e,ctx:t},n){const r=this.enumerate(e,t,n);return Promise.resolve({action:this.random(r)})}}async function l(e,t){const n=e.store.getState();let r=n.ctx.currentPlayer;n.ctx.activePlayers&&(r=Object.keys(n.ctx.activePlayers)[0]);const{action:s,metadata:i}=await t.play(n,r);if(s){const t={...s,payload:{...s.payload,metadata:i}};return e.store.dispatch(t),t}}},961(e,t,n){"use strict";n.d(t,{L:()=>c,a:()=>a});const r=(e,t)=>{if(!e||"string"!=typeof e)throw new Error(`Expected ${t} string, got "${e}".`)},s=e=>r(e,"game name"),i=e=>r(e,"match ID"),o=(e,t)=>{if(!e)throw new Error(`Expected body, got “${e}”.`);for(const n in t){const r=t[n],s=Array.isArray(r)?r:[r],i=e[n];if(!s.includes(typeof i)){const e=s.join("|");throw new TypeError(`Expected body.${n} to be of type ${e}, got “${i}”.`)}}};class a extends Error{constructor(e,t){super(e),this.details=t}}class c{constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")}async request(e,t){const n=await fetch(this.server+e,t);if(!n.ok){let e;try{e=await n.clone().json()}catch{try{e=await n.text()}catch(t){e=t.message}}throw new a(`HTTP status ${n.status}`,e)}return n.json()}async post(e,t){let n={method:"post",body:JSON.stringify(t.body),headers:{"Content-Type":"application/json"}};return t.init&&(n={...n,...t.init,headers:{...n.headers,...t.init.headers}}),this.request(e,n)}async listGames(e){return this.request("/games",e)}async listMatches(e,t,n){s(e);let r="";if(t){const e=[],{isGameover:n,updatedBefore:s,updatedAfter:i}=t;void 0!==n&&e.push(`isGameover=${n}`),s&&e.push(`updatedBefore=${s}`),i&&e.push(`updatedAfter=${i}`),e.length>0&&(r="?"+e.join("&"))}return this.request(`/games/${e}${r}`,n)}async getMatch(e,t,n){return s(e),i(t),this.request(`/games/${e}/${t}`,n)}async createMatch(e,t,n){return s(e),o(t,{numPlayers:"number"}),this.post(`/games/${e}/create`,{body:t,init:n})}async joinMatch(e,t,n,r){return s(e),i(t),o(n,{playerID:["string","undefined"],playerName:"string"}),this.post(`/games/${e}/${t}/join`,{body:n,init:r})}async leaveMatch(e,t,n,r){s(e),i(t),o(n,{playerID:"string",credentials:"string"}),await this.post(`/games/${e}/${t}/leave`,{body:n,init:r})}async updatePlayer(e,t,n,r){s(e),i(t),o(n,{playerID:"string",credentials:"string"}),await this.post(`/games/${e}/${t}/update`,{body:n,init:r})}async playAgain(e,t,n,r){return s(e),i(t),o(n,{playerID:"string",credentials:"string"}),this.post(`/games/${e}/${t}/playAgain`,{body:n,init:r})}}},3295(e,t,n){"use strict";n.d(t,{C:()=>m});var r=n(8423),s=n(2960),i=n(2743),o=n(2878),a=n(3389),c=n(6634);class l extends c.T{connect(){}disconnect(){}sendAction(){}sendChatMessage(){}requestSync(){}updateCredentials(){}updateMatchID(){}updatePlayerID(){}}const u=e=>new l(e),p=new class{constructor(){this.debugPanel=null,this.currentClient=null,this.clients=new Map,this.subscribers=new Map}register(e){this.clients.set(e,e),this.mountDebug(e),this.notifySubscribers()}unregister(e){if(this.clients.delete(e),this.currentClient===e){this.unmountDebug();for(const[e]of this.clients){if(this.debugPanel)break;this.mountDebug(e)}}this.notifySubscribers()}subscribe(e){const t=Symbol();return this.subscribers.set(t,e),e(this.getState()),()=>{this.subscribers.delete(t)}}switchPlayerID(e){if(this.currentClient.multiplayer)for(const[t]of this.clients)if(t.playerID===e&&!1!==t.debugOpt&&t.multiplayer===this.currentClient.multiplayer)return void this.switchToClient(t);this.currentClient.updatePlayerID(e),this.notifySubscribers()}switchToClient(e){e!==this.currentClient&&(this.unmountDebug(),this.mountDebug(e),this.notifySubscribers())}notifySubscribers(){const e=this.getState();this.subscribers.forEach(t=>{t(e)})}getState(){return{client:this.currentClient,debuggableClients:this.getDebuggableClients()}}getDebuggableClients(){return[...this.clients.values()].filter(e=>!1!==e.debugOpt)}mountDebug(e){if(!1===e.debugOpt||null!==this.debugPanel||"undefined"==typeof document)return;let t,n=document.body;e.debugOpt&&!0!==e.debugOpt&&(t=e.debugOpt.impl||t,n=e.debugOpt.target||n),t&&(this.currentClient=e,this.debugPanel=new t({target:n,props:{clientManager:this}}))}unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.currentClient=null}};function d(e,t,n){return n||null!=e||(e=t.getState().ctx.currentPlayer),e}function f(e,t,n,r,s,o){const a={};for(const c of t)a[c]=(...t)=>{const a=i.A[e](c,t,d(r,n,o),s);n.dispatch(a)};return a}const h=f.bind(null,"makeMove"),v=f.bind(null,"gameEvent"),y=f.bind(null,"plugin");class g{constructor({game:e,debug:t,numPlayers:n,multiplayer:c,matchID:l,playerID:f,credentials:h,enhancer:v}){this.game=(0,o.P)(e),this.playerID=f,this.matchID=l||"default",this.credentials=h,this.multiplayer=c,this.debugOpt=t,this.manager=p,this.gameStateOverride=null,this.subscribers={},this._running=!1,this.reducer=(0,o.C)({game:this.game,isClient:void 0!==c}),this.initialState=null,c||(this.initialState=(0,a.I)({game:this.game,numPlayers:n})),this.reset=()=>{this.store.dispatch((0,i.u)(this.initialState))},this.undo=()=>{const e=(0,i.v)(d(this.playerID,this.store,this.multiplayer),this.credentials);this.store.dispatch(e)},this.redo=()=>{const e=(0,i.w)(d(this.playerID,this.store,this.multiplayer),this.credentials);this.store.dispatch(e)},this.log=[];const y=(0,s.Tw)(o.T,()=>e=>t=>{const n=e(t);return this.notifySubscribers(),n},e=>t=>n=>{const r=e.getState(),s=t(n);return"clientOnly"in n||n.type===i.p||this.transport.sendAction(r,n),s},e=>t=>n=>{const r=t(n),s=e.getState();switch(n.type){case i.M:case i.o:case i.j:case i.R:{const e=s.deltalog;this.log=[...this.log,...e];break}case i.m:this.log=[];break;case i.P:case i.l:{let e=-1;this.log.length>0&&(e=this.log[this.log.length-1]._stateID);let t=n.deltalog||[];t=t.filter(t=>t._stateID>e),this.log=[...this.log,...t];break}case i.k:this.initialState=n.initialState,this.log=n.log||[]}return r});v=void 0!==v?(0,s.Zz)(y,v):y,this.store=(0,s.y$)(this.reducer,this.initialState,v),c||(c=u),this.transport=c({transportDataCallback:e=>this.receiveTransportData(e),gameKey:e,game:this.game,matchID:l,playerID:f,credentials:h,gameName:this.game.name,numPlayers:n}),this.createDispatchers(),this.chatMessages=[],this.sendChatMessage=e=>{this.transport.sendChatMessage(this.matchID,{id:(0,r.A)(7),sender:this.playerID,payload:e})}}receiveMatchData(e){this.matchData=e,this.notifySubscribers()}receiveChatMessage(e){this.chatMessages=[...this.chatMessages,e],this.notifySubscribers()}receiveTransportData(e){const[t]=e.args;if(t===this.matchID)switch(e.type){case"sync":{const[,t]=e.args,n=(0,i.s)(t);this.receiveMatchData(t.filteredMetadata),this.store.dispatch(n);break}case"update":{const[,t,n]=e.args,r=this.store.getState();if(t._stateID>=r._stateID){const e=(0,i.z)(t,n);this.store.dispatch(e)}break}case"patch":{const[,t,n,r,s]=e.args,o=this.store.getState()._stateID;if(t!==o)break;const a=(0,i.y)(t,n,r,s);this.store.dispatch(a),this.store.getState()._stateID===o&&this.transport.requestSync();break}case"matchData":{const[,t]=e.args;this.receiveMatchData(t);break}case"chat":{const[,t]=e.args;this.receiveChatMessage(t);break}}}notifySubscribers(){Object.values(this.subscribers).forEach(e=>e(this.getState()))}overrideGameState(e){this.gameStateOverride=e,this.notifySubscribers()}start(){this.transport.connect(),this._running=!0,this.manager.register(this)}stop(){this.transport.disconnect(),this._running=!1,this.manager.unregister(this)}subscribe(e){const t=Object.keys(this.subscribers).length;return this.subscribers[t]=e,this.transport.subscribeToConnectionStatus(()=>this.notifySubscribers()),!this._running&&this.multiplayer||e(this.getState()),()=>{delete this.subscribers[t]}}getInitialState(){return this.initialState}getState(){let e=this.store.getState();if(null!==this.gameStateOverride&&(e=this.gameStateOverride),null===e)return e;let t=!0;const n=this.game.flow.isPlayerActive(e.G,e.ctx,this.playerID);return this.multiplayer&&!n&&(t=!1),this.multiplayer||null===this.playerID||void 0===this.playerID||n||(t=!1),void 0!==e.ctx.gameover&&(t=!1),this.multiplayer||(e={...e,G:this.game.playerView({G:e.G,ctx:e.ctx,playerID:this.playerID}),plugins:(0,i.x)(e,this)}),{...e,log:this.log,isActive:t,isConnected:this.transport.isConnected}}createDispatchers(){this.moves=h(this.game.moveNames,this.store,this.playerID,this.credentials,this.multiplayer),this.events=v(this.game.flow.enabledEventNames,this.store,this.playerID,this.credentials,this.multiplayer),this.plugins=y(this.game.pluginNames,this.store,this.playerID,this.credentials,this.multiplayer)}updatePlayerID(e){this.playerID=e,this.createDispatchers(),this.transport.updatePlayerID(e),this.notifySubscribers()}updateMatchID(e){this.matchID=e,this.createDispatchers(),this.transport.updateMatchID(e),this.notifySubscribers()}updateCredentials(e){this.credentials=e,this.createDispatchers(),this.transport.updateCredentials(e),this.notifySubscribers()}}function m(e){return new g(e)}},87(e,t,n){"use strict";n.r(t),n.d(t,{Client:()=>r.C,LobbyClient:()=>s.L,LobbyClientError:()=>s.a}),n(9001),n(1337);var r=n(3295),s=(n(1284),n(2791),n(961))},8841(e,t,n){"use strict";n.r(t),n.d(t,{Debug:()=>r.D});var r=n(8894);n(9001),n(1337),n(1284),n(2791)},1610(e,t,n){"use strict";n.d(t,{g:()=>o});var r=n(2743),s=n(1337);const i=(e,t,n)=>({...n,G:e.playerView({G:n.G,ctx:n.ctx,playerID:t}),plugins:(0,r.x)(n,{playerID:t,game:e}),deltalog:void 0,_undo:[],_redo:[]}),o=e=>(t,n)=>{switch(n.type){case"patch":{const[r,o,c,l]=n.args,u=a(l.deltalog,t),p=i(e,t,l),d=l._stateID,f=i(e,t,c);return{type:"patch",args:[r,o,d,(0,s.B8)(f,p),u]}}case"update":{const[r,s]=n.args,o=a(s.deltalog,t);return{type:"update",args:[r,i(e,t,s),o]}}case"sync":{const[r,s]=n.args,o=i(e,t,s.state),c=a(s.log,t);return{type:"sync",args:[r,{...s,state:o,log:c}]}}default:return n}};function a(e,t){return void 0===e?e:e.map(e=>{if(null!==t&&+t===+e.action.payload.playerID)return e;if(!0!==e.redact)return e;const n={...e.action.payload,args:null},r={...e,action:{...e.action,payload:n}},{redact:s,...i}=r;return i})}},3389(e,t,n){"use strict";n.d(t,{I:()=>i});var r=n(2743),s=n(2878);function i({game:e,numPlayers:t,setupData:n}){t||(t=2);let i={G:{},ctx:(e=(0,s.P)(e)).flow.ctx(t),plugins:{}};i=(0,r.t)(i,{game:e}),i=(0,r.E)(i,{game:e,playerID:void 0});const o=(0,r.a)(i);i.G=e.setup({...o,ctx:i.ctx},n);let a={...i,_undo:[],_redo:[],_stateID:0};return a=e.flow.init(a),[a]=(0,r.q)(a,{game:e}),e.disableUndo||(a._undo=[{G:a.G,ctx:a.ctx,plugins:a.plugins}]),a}},9271(e,t,n){"use strict";n.d(t,{M:()=>c});var r=n(2960),s=n(2743),i=n(2878),o=n(8048);const a=e=>Object.values(e.players).map(e=>{const{credentials:t,...n}=e;return n});class c{constructor(e,t,n,r){this.game=(0,i.P)(e),this.storageAPI=t,this.transportAPI=n,this.subscribeCallback=()=>{},this.auth=r}subscribe(e){this.subscribeCallback=e}async onUpdate(e,t,n,a){if(!e||!e.payload)return{error:"missing action or action payload"};let c;if((0,o.i)(this.storageAPI)?({metadata:c}=this.storageAPI.fetch(n,{metadata:!0})):({metadata:c}=await this.storageAPI.fetch(n,{metadata:!0})),this.auth&&!await this.auth.authenticateCredentials({playerID:a,credentials:e.payload.credentials,metadata:c}))return{error:"unauthorized action"};const l=(e=>{const{credentials:t,...n}=e.payload;return{...e,payload:n}})(e),u=n;let p;if((0,o.i)(this.storageAPI)?({state:p}=this.storageAPI.fetch(u,{state:!0})):({state:p}=await this.storageAPI.fetch(u,{state:!0})),void 0===p)return(0,s.e)(`game not found, matchID=[${u}]`),{error:"game not found"};if(void 0!==p.ctx.gameover)return void(0,s.e)(`game over - matchID=[${u}] - playerID=[${a}] - action[${l.payload.type}]`);const d=(0,i.C)({game:this.game}),f=(0,r.Tw)(i.T),h=(0,r.y$)(d,p,f);if(l.type==s.j||l.type==s.R){const e=null!==p.ctx.activePlayers,t=p.ctx.currentPlayer===a;if(!e&&!t||e&&(void 0===p.ctx.activePlayers[a]||Object.keys(p.ctx.activePlayers).length>1))return void(0,s.e)(`playerID=[${a}] cannot undo / redo right now`)}if(!this.game.flow.isPlayerActive(p.G,p.ctx,a))return void(0,s.e)(`player not active - playerID=[${a}] - action[${l.payload.type}]`);const v=l.type==s.M?this.game.flow.getMove(p.ctx,l.payload.type,a):null;if(l.type==s.M&&!v)return void(0,s.e)(`move not processed - canPlayerMakeMove=false - playerID=[${a}] - action[${l.payload.type}]`);if(p._stateID!==t&&!(v&&(0,i.I)(v)&&v.ignoreStaleStateID))return void(0,s.e)(`invalid stateID, was=[${t}], expected=[${p._stateID}] - playerID=[${a}] - action[${l.payload.type}]`);const y=h.getState();h.dispatch(l),p=h.getState(),this.subscribeCallback({state:p,action:l,matchID:n}),this.game.deltaState?this.transportAPI.sendAll({type:"patch",args:[n,t,y,p]}):this.transportAPI.sendAll({type:"update",args:[n,p]});const{deltalog:g,...m}=p;let b;if(!c||void 0!==c.gameover&&null!==c.gameover||(b={...c,updatedAt:Date.now()},void 0!==p.ctx.gameover&&(b.gameover=p.ctx.gameover)),(0,o.i)(this.storageAPI))this.storageAPI.setState(u,m,g),b&&this.storageAPI.setMetadata(u,b);else{const e=[this.storageAPI.setState(u,m,g)];b&&e.push(this.storageAPI.setMetadata(u,b)),await Promise.all(e)}}async onSync(e,t,n,r=2){const s=e,i={state:!0,metadata:!0,log:!0,initialState:!0},c=(0,o.i)(this.storageAPI)?this.storageAPI.fetch(s,i):await this.storageAPI.fetch(s,i);let{state:l,initialState:u,log:p,metadata:d}=c;if(this.auth&&null!=t&&!await this.auth.authenticateCredentials({playerID:t,credentials:n,metadata:d}))return{error:"unauthorized"};if(void 0===l){const t=(0,o.c)({game:this.game,unlisted:!0,numPlayers:r,setupData:void 0});if("setupDataError"in t)return{error:"game requires setupData"};u=l=t.initialState,d=t.metadata,this.subscribeCallback({state:l,matchID:e}),(0,o.i)(this.storageAPI)?this.storageAPI.createMatch(s,{initialState:u,metadata:d}):await this.storageAPI.createMatch(s,{initialState:u,metadata:d})}const f={state:l,log:p,filteredMetadata:d?a(d):void 0,initialState:u};this.transportAPI.send({playerID:t,type:"sync",args:[e,f]})}async onConnectionChange(e,t,n,r){const i=e;if(null==t)return;let c;if((0,o.i)(this.storageAPI)?({metadata:c}=this.storageAPI.fetch(i,{metadata:!0})):({metadata:c}=await this.storageAPI.fetch(i,{metadata:!0})),void 0===c)return(0,s.e)(`metadata not found for matchID=[${i}]`),{error:"metadata not found"};if(void 0===c.players[t])return(0,s.e)(`Player not in the match, matchID=[${i}] playerID=[${t}]`),{error:"player not in the match"};if(this.auth&&!await this.auth.authenticateCredentials({playerID:t,credentials:n,metadata:c}))return{error:"unauthorized"};c.players[t].isConnected=r;const l=a(c);this.transportAPI.sendAll({type:"matchData",args:[e,l]}),(0,o.i)(this.storageAPI)?this.storageAPI.setMetadata(i,c):await this.storageAPI.setMetadata(i,c)}async onChatMessage(e,t,n){const r=e;if(this.auth){const{metadata:e}=await this.storageAPI.fetch(r,{metadata:!0});if(!t||"string"!=typeof t.sender)return{error:"unauthorized"};if(!await this.auth.authenticateCredentials({playerID:t.sender,credentials:n,metadata:e}))return{error:"unauthorized"}}this.transportAPI.sendAll({type:"chat",args:[e,t]})}}},3614(e,t,n){"use strict";n.r(t),n.d(t,{Local:()=>r.L,SocketIO:()=>r.S}),n(9001),n(1337);var r=n(2426);n(1128)},3321(e,t,n){"use strict";n.d(t,{R:()=>a,a:()=>i});class r{constructor(e){const t=function(){let e=4022871197;return function(t){const n=t.toString();for(let t=0;t<n.length;t++){e+=n.charCodeAt(t);let r=.02519603282416938*e;e=r>>>0,r-=e,r*=e,e=r>>>0,r-=e,e+=4294967296*r}return 2.3283064365386963e-10*(e>>>0)}}();this.c=1,this.s0=t(" "),this.s1=t(" "),this.s2=t(" "),this.s0-=t(e),this.s0<0&&(this.s0+=1),this.s1-=t(e),this.s1<0&&(this.s1+=1),this.s2-=t(e),this.s2<0&&(this.s2+=1)}next(){const e=2091639*this.s0+2.3283064365386963e-10*this.c;return this.s0=this.s1,this.s1=this.s2,this.s2=e-(this.c=Math.trunc(e))}}function s(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function i(e,t){const n=new r(e),i=n.next.bind(n);return t&&s(t,n),i.state=()=>s(n,{}),i}class o{constructor(e){this.state=e||{seed:"0"},this.used=!1}static seed(){return Date.now().toString(36).slice(-10)}isUsed(){return this.used}getState(){return this.state}_random(){this.used=!0;const e=this.state,t=i(e.prngstate?"":e.seed,e.prngstate),n=t();return this.state={...e,prngstate:t.state()},n}api(){const e=this._random.bind(this),t={D4:4,D6:6,D8:8,D10:10,D12:12,D20:20},n={};for(const r in t){const s=t[r];n[r]=t=>void 0===t?Math.floor(e()*s)+1:Array.from({length:t}).map(()=>Math.floor(e()*s)+1)}return{...n,Die:function(t=6,n){return void 0===n?Math.floor(e()*t)+1:Array.from({length:n}).map(()=>Math.floor(e()*t)+1)},Number:()=>e(),Shuffle:t=>{const n=[...t];let r=t.length,s=0;const i=Array.from({length:r});for(;r;){const t=Math.trunc(r*e());i[s++]=n[t],n[t]=n[--r]}return i},_private:this}}}const a={name:"random",noClient:({api:e})=>e._private.isUsed(),flush:({api:e})=>e._private.getState(),api:({data:e})=>new o(e).api(),setup:({game:e})=>{let{seed:t}=e;return void 0===t&&(t=o.seed()),{seed:t}},playerView:()=>{}}},2878(e,t,n){"use strict";n.d(t,{C:()=>y,I:()=>c,P:()=>a,T:()=>v});var r,s,i=n(2743),o=n(1337);function a(e){if(function(e){return void 0!==e.processMove}(e))return e;if(void 0===e.name&&(e.name="default"),void 0===e.deltaState&&(e.deltaState=!1),void 0===e.disableUndo&&(e.disableUndo=!1),void 0===e.setup&&(e.setup=()=>({})),void 0===e.moves&&(e.moves={}),void 0===e.playerView&&(e.playerView=({G:e})=>e),void 0===e.plugins&&(e.plugins=[]),e.plugins.forEach(e=>{if(void 0===e.name)throw new Error("Plugin missing name attribute");if(e.name.includes(" "))throw new Error(e.name+": Plugin name must not include spaces")}),e.name.includes(" "))throw new Error(e.name+": Game name must not include spaces");const t=function({moves:e,phases:t,endIf:n,onEnd:r,turn:s,events:o,plugins:a}){void 0===e&&(e={}),void 0===o&&(o={}),void 0===a&&(a=[]),void 0===t&&(t={}),n||(n=()=>{}),r||(r=({G:e})=>e),s||(s={});const c={...t};""in c&&(0,i.e)("cannot specify phase with empty name"),c[""]={};const l={},u=new Set;let p=null;Object.keys(e).forEach(e=>u.add(e));const d=(e,t)=>{const n=(0,i.F)(e,t,a);return e=>{const t=(0,i.a)(e);return n({...t,G:e.G,ctx:e.ctx,playerID:e.playerID})}},f=e=>t=>{const n=(0,i.a)(t);return e({...n,G:t.G,ctx:t.ctx})},h={onEnd:d(r,i.G.GAME_ON_END),endIf:f(n)};for(const e in c){const t=c[e];if(!0===t.start&&(p=e),void 0!==t.moves)for(const n of Object.keys(t.moves))l[e+"."+n]=t.moves[n],u.add(n);void 0===t.endIf&&(t.endIf=()=>{}),void 0===t.onBegin&&(t.onBegin=({G:e})=>e),void 0===t.onEnd&&(t.onEnd=({G:e})=>e),void 0===t.turn&&(t.turn=s),void 0===t.turn.order&&(t.turn.order=i.T.DEFAULT),void 0===t.turn.onBegin&&(t.turn.onBegin=({G:e})=>e),void 0===t.turn.onEnd&&(t.turn.onEnd=({G:e})=>e),void 0===t.turn.endIf&&(t.turn.endIf=()=>!1),void 0===t.turn.onMove&&(t.turn.onMove=({G:e})=>e),void 0===t.turn.stages&&(t.turn.stages={}),(0,i.b)(t.turn,!0);for(const n in t.turn.stages){const r=t.turn.stages[n].moves||{};for(const t of Object.keys(r))l[e+"."+n+"."+t]=r[t],u.add(t)}if(t.wrapped={onBegin:d(t.onBegin,i.G.PHASE_ON_BEGIN),onEnd:d(t.onEnd,i.G.PHASE_ON_END),endIf:f(t.endIf)},t.turn.wrapped={onMove:d(t.turn.onMove,i.G.TURN_ON_MOVE),onBegin:d(t.turn.onBegin,i.G.TURN_ON_BEGIN),onEnd:d(t.turn.onEnd,i.G.TURN_ON_END),endIf:f(t.turn.endIf)},"function"!=typeof t.next){const{next:e}=t;t.next=()=>e||null}t.wrapped.next=f(t.next)}function v(e){return e.phase?c[e.phase]:c[""]}function y(e){return e}function g(e,t){const n=new Set,r=new Set;for(let s=0;s<t.length;s++){const{fn:i,arg:o,...a}=t[s];if(i===M){r.clear();const t=e.ctx.phase;if(n.has(t)){const t={...e.ctx,phase:null};return{...e,ctx:t}}n.add(t)}const c=[];if(e=i(e,{...a,arg:o,next:c}),i===E)break;const l=k(e);if(l){t.push({fn:E,arg:l,turn:e.ctx.turn,phase:e.ctx.phase,automatic:!0});continue}const u=$(e);if(u)t.push({fn:M,arg:u,turn:e.ctx.turn,phase:e.ctx.phase,automatic:!0});else{if([y,P,O].includes(i)){const n=A(e);if(n){t.push({fn:j,arg:n,turn:e.ctx.turn,phase:e.ctx.phase,automatic:!0});continue}}t.push(...c)}}return e}function m(e,{next:t}){return t.push({fn:b}),e}function b(e,{next:t}){let{G:n,ctx:r}=e;return n=v(r).wrapped.onBegin(e),t.push({fn:x}),{...e,G:n,ctx:r}}function x(e,{currentPlayer:t}){let{ctx:n}=e;const r=v(n);t?(n={...n,currentPlayer:t},r.turn.activePlayers&&(n=(0,i.c)(n,r.turn.activePlayers))):n=(0,i.I)(e,r.turn);const s=n.turn+1;n={...n,turn:s,numMoves:0,_prevActivePlayers:[]};const o=r.turn.wrapped.onBegin({...e,ctx:n});return{...e,G:o,ctx:n,_undo:[],_redo:[]}}function _(e,{arg:t,next:n,phase:r}){const s=v({phase:r});let{ctx:o}=e;if(t&&t.next){if(!(t.next in c))return(0,i.e)("invalid phase: "+t.next),e;o={...o,phase:t.next}}else o={...o,phase:s.wrapped.next(e)||null};return e={...e,ctx:o},n.push({fn:b}),e}function w(e,{arg:t,currentPlayer:n,next:r}){let{G:s,ctx:o}=e;const a=v(o),{endPhase:c,ctx:l}=(0,i.U)(e,n,a.turn,t);return o=l,e={...e,G:s,ctx:o},c?r.push({fn:M,turn:o.turn,phase:o.phase}):r.push({fn:x,currentPlayer:o.currentPlayer}),e}function P(e,{arg:t,playerID:n}){if("string"!=typeof t&&t!==i.S.NULL||(t={stage:t}),"object"!=typeof t)return e;(0,i.b)(t);let{ctx:r}=e,{activePlayers:s,_activePlayersMinMoves:o,_activePlayersMaxMoves:a,_activePlayersNumMoves:c}=r;return void 0!==t.stage&&(null===s&&(s={}),s[n]=t.stage,c[n]=0,t.minMoves&&(null===o&&(o={}),o[n]=t.minMoves),t.maxMoves&&(null===a&&(a={}),a[n]=t.maxMoves)),r={...r,activePlayers:s,_activePlayersMinMoves:o,_activePlayersMaxMoves:a,_activePlayersNumMoves:c},{...e,ctx:r}}function O(e,{arg:t}){return{...e,ctx:(0,i.c)(e.ctx,t)}}function k(e){return h.endIf(e)}function $(e){return v(e.ctx).wrapped.endIf(e)}function A(e){const t=v(e.ctx),n=e.ctx.numMoves||0;return!!(t.turn.maxMoves&&n>=t.turn.maxMoves)||t.turn.wrapped.endIf(e)}function E(e,{arg:t,phase:n}){e=M(e,{phase:n}),void 0===t&&(t=!0),e={...e,ctx:{...e.ctx,gameover:t}};const r=h.onEnd(e);return{...e,G:r}}function M(e,{arg:t,next:n,turn:r,automatic:s}){e=j(e,{turn:r,force:!0,automatic:!0});const{phase:o,turn:a}=e.ctx;if(n&&n.push({fn:_,arg:t,phase:o}),null===o)return e;const c=v(e.ctx).wrapped.onEnd(e),l={...e.ctx,phase:null},u=(0,i.g)("endPhase",t),{_stateID:p}=e,d={action:u,_stateID:p,turn:a,phase:o};s&&(d.automatic=!0);const f=[...e.deltalog||[],d];return{...e,G:c,ctx:l,deltalog:f}}function j(e,{arg:t,next:n,turn:r,force:s,automatic:o,playerID:a}){if(r!==e.ctx.turn)return e;const{currentPlayer:c,numMoves:l,phase:u,turn:p}=e.ctx,d=v(e.ctx),f=l||0;if(!s&&d.turn.minMoves&&f<d.turn.minMoves)return(0,i.i)(`cannot end turn before making ${d.turn.minMoves} moves`),e;const h=d.turn.wrapped.onEnd(e);n&&n.push({fn:w,arg:t,currentPlayer:c});let y={...e.ctx,activePlayers:null};if(t&&t.remove){a=a||c;const t=y.playOrder.filter(e=>e!=a),r=y.playOrderPos>t.length-1?0:y.playOrderPos;if(y={...y,playOrder:t,playOrderPos:r},0===t.length)return n.push({fn:M,turn:p,phase:u}),e}const g=(0,i.g)("endTurn",t),{_stateID:m}=e,b={action:g,_stateID:m,turn:p,phase:u};o&&(b.automatic=!0);const x=[...e.deltalog||[],b];return{...e,G:h,ctx:y,deltalog:x,_undo:[],_redo:[]}}function S(e,{arg:t,next:n,automatic:r,playerID:s}){s=s||e.ctx.currentPlayer;let{ctx:o,_stateID:a}=e,{activePlayers:c,_activePlayersNumMoves:l,_activePlayersMinMoves:u,_activePlayersMaxMoves:p,phase:d,turn:f}=o;const h=null!==c&&s in c,y=v(o);if(!t&&h){const e=y.turn.stages[c[s]];e&&e.next&&(t=e.next)}if(n&&n.push({fn:P,arg:t,playerID:s}),!h)return e;const g=l[s]||0;if(u&&u[s]&&g<u[s])return(0,i.i)(`cannot end stage before making ${u[s]} moves`),e;c={...c},delete c[s],u&&(u={...u},delete u[s]),p&&(p={...p},delete p[s]),o=(0,i.d)({...o,activePlayers:c,_activePlayersMinMoves:u,_activePlayersMaxMoves:p});const m={action:(0,i.g)("endStage",t),_stateID:a,turn:f,phase:d};r&&(m.automatic=!0);const b=[...e.deltalog||[],m];return{...e,ctx:o,deltalog:b}}function I(t,n,r){const s=v(t),o=s.turn.stages,{activePlayers:a}=t;if(a&&void 0!==a[r]&&a[r]!==i.S.NULL&&void 0!==o[a[r]]&&void 0!==o[a[r]].moves){const e=o[a[r]].moves;if(n in e)return e[n]}else if(s.moves){if(n in s.moves)return s.moves[n]}else if(n in e)return e[n];return null}const N={endStage:function(e,t){return g(e,[{fn:S,playerID:t}])},setStage:function(e,t,n){return g(e,[{fn:S,arg:n,playerID:t}])},endTurn:function(e,t,n){return g(e,[{fn:j,turn:e.ctx.turn,phase:e.ctx.phase,arg:n}])},pass:function(e,t,n){return g(e,[{fn:j,turn:e.ctx.turn,phase:e.ctx.phase,force:!0,arg:n}])},endPhase:function(e){return g(e,[{fn:M,phase:e.ctx.phase,turn:e.ctx.turn}])},setPhase:function(e,t,n){return g(e,[{fn:M,phase:e.ctx.phase,turn:e.ctx.turn,arg:{next:n}}])},endGame:function(e,t,n){return g(e,[{fn:E,turn:e.ctx.turn,phase:e.ctx.phase,arg:n}])},setActivePlayers:function(e,t,n){return g(e,[{fn:O,arg:n}])}},T=[];return!1!==o.endTurn&&T.push("endTurn"),!1!==o.pass&&T.push("pass"),!1!==o.endPhase&&T.push("endPhase"),!1!==o.setPhase&&T.push("setPhase"),!1!==o.endGame&&T.push("endGame"),!1!==o.setActivePlayers&&T.push("setActivePlayers"),!1!==o.endStage&&T.push("endStage"),!1!==o.setStage&&T.push("setStage"),{ctx:e=>({numPlayers:e,turn:0,currentPlayer:"0",playOrder:[...Array.from({length:e})].map((e,t)=>t+""),playOrderPos:0,phase:p,activePlayers:null}),init:e=>g(e,[{fn:m}]),isPlayerActive:function(e,t,n){return t.activePlayers?n in t.activePlayers:t.currentPlayer===n},eventHandlers:N,eventNames:Object.keys(N),enabledEventNames:T,moveMap:l,moveNames:[...u.values()],processMove:function(e,t){const{playerID:n,type:r}=t,{currentPlayer:s,activePlayers:i,_activePlayersMaxMoves:o}=e.ctx,a=I(e.ctx,r,n),c=!a||"function"==typeof a||!0!==a.noLimit;let{numMoves:l,_activePlayersNumMoves:u}=e.ctx;c&&(n===s&&l++,i&&u[n]++),e={...e,ctx:{...e.ctx,numMoves:l,_activePlayersNumMoves:u}},o&&u[n]>=o[n]&&(e=S(e,{playerID:n,automatic:!0}));const p=v(e.ctx).turn.wrapped.onMove({...e,playerID:n});return g(e={...e,G:p},[{fn:y}])},processEvent:function(e,t){const{type:n,playerID:r,args:s}=t.payload;return"function"!=typeof N[n]?e:N[n](e,r,...Array.isArray(s)?s:[s])},getMove:I}}(e);return{...e,flow:t,moveNames:t.moveNames,pluginNames:e.plugins.map(e=>e.name),processMove:(n,r)=>{let s=t.getMove(n.ctx,r.type,r.playerID);if(c(s)&&(s=s.move),s instanceof Function){const t=(0,i.F)(s,i.G.MOVE,e.plugins);let o=[];return void 0!==r.args&&(o=Array.isArray(r.args)?r.args:[r.args]),t({...(0,i.a)(n),G:n.G,ctx:n.ctx,playerID:r.playerID},...o)}return(0,i.e)(`invalid move object: ${r.type}`),n.G}}}function c(e){return e instanceof Object&&void 0!==e.move}!function(e){e.UnauthorizedAction="update/unauthorized_action",e.MatchNotFound="update/match_not_found",e.PatchFailed="update/patch_failed"}(r||(r={})),function(e){e.StaleStateId="action/stale_state_id",e.UnavailableMove="action/unavailable_move",e.InvalidMove="action/invalid_move",e.InactivePlayer="action/inactive_player",e.GameOver="action/gameover",e.ActionDisabled="action/action_disabled",e.ActionInvalid="action/action_invalid",e.PluginActionInvalid="action/plugin_invalid"}(s||(s={}));const l=e=>null!==e.payload.playerID&&void 0!==e.payload.playerID;function u(e,t){if(t.game.disableUndo)return e;const n={G:e.G,ctx:e.ctx,plugins:e.plugins,playerID:t.action.payload.playerID||e.ctx.currentPlayer};return"MAKE_MOVE"===t.action.type&&(n.moveType=t.action.payload.type),{...e,_undo:[...e._undo,n],_redo:[]}}function p(e,t,n){const r={action:t,_stateID:e._stateID,turn:e.ctx.turn,phase:e.ctx.phase},s=e.plugins.log.data.metadata;return void 0!==s&&(r.metadata=s),"object"==typeof n&&!0===n.redact?r.redact=!0:"object"==typeof n&&n.redact instanceof Function&&(r.redact=n.redact({G:e.G,ctx:e.ctx})),{...e,deltalog:[r]}}function d(e,t,n){const[r,o]=(0,i.q)(e,n);return o?[r,h(t,s.PluginActionInvalid,o)]:[r]}function f(e){if(!e)return[null,void 0];const{transients:t,...n}=e;return[n,t]}function h(e,t,n){return{...e,transients:{error:{type:t,payload:n}}}}const v=e=>t=>n=>{const r=t(n);if(n.type===i.p)return r;{const[,t]=f(e.getState());return void 0!==t?(e.dispatch((0,i.r)()),{...r,transients:t}):r}};function y({game:e,isClient:t}){return e=a(e),(n=null,a)=>{let[c]=f(n);switch(a.type){case i.p:return c;case i.o:{if(c={...c,deltalog:[]},t)return c;if(void 0!==c.ctx.gameover)return(0,i.e)("cannot call event after game end"),h(c,s.GameOver);if(l(a)&&!e.flow.isPlayerActive(c.G,c.ctx,a.payload.playerID))return(0,i.e)(`disallowed event: ${a.payload.type}`),h(c,s.InactivePlayer);c=(0,i.E)(c,{game:e,isClient:!1,playerID:a.payload.playerID});let n,r=e.flow.processEvent(c,a);return[r,n]=d(r,c,{game:e,isClient:!1}),n||(r=u(r,{game:e,action:a}),{...r,_stateID:c._stateID+1})}case i.M:{const n=c={...c,deltalog:[]},r=e.flow.getMove(c.ctx,a.payload.type,a.payload.playerID||c.ctx.currentPlayer);if(null===r)return(0,i.e)(`disallowed move: ${a.payload.type}`),h(c,s.UnavailableMove);if(t&&!1===r.client)return c;if(void 0!==c.ctx.gameover)return(0,i.e)("cannot make move after game end"),h(c,s.GameOver);if(l(a)&&!e.flow.isPlayerActive(c.G,c.ctx,a.payload.playerID))return(0,i.e)(`disallowed move: ${a.payload.type}`),h(c,s.InactivePlayer);c=(0,i.E)(c,{game:e,isClient:t,playerID:a.payload.playerID});const o=e.processMove(c,a.payload);if(o===i.n)return(0,i.e)(`invalid move: ${a.payload.type} args: ${a.payload.args}`),h(c,s.InvalidMove);const f={...c,G:o};if(t&&(0,i.N)(f,{game:e}))return c;if(c=f,t){let t;return[c,t]=d(c,n,{game:e,isClient:!0}),t||{...c,_stateID:c._stateID+1}}let v;return c=p(c,a,r),c=e.flow.processMove(c,a.payload),[c,v]=d(c,n,{game:e}),v||(c=u(c,{game:e,action:a}),{...c,_stateID:c._stateID+1})}case i.m:case i.l:case i.k:return a.state;case i.j:{if(c={...c,deltalog:[]},e.disableUndo)return(0,i.e)("Undo is not enabled"),h(c,s.ActionDisabled);const{G:t,ctx:n,_undo:r,_redo:o,_stateID:u}=c;if(r.length<2)return(0,i.e)("No moves to undo"),h(c,s.ActionInvalid);const d=r[r.length-1],f=r[r.length-2];return l(a)&&a.payload.playerID!==d.playerID?((0,i.e)("Cannot undo other players' moves"),h(c,s.ActionInvalid)):d.moveType&&!((e,t,n)=>!function(e){return void 0!==e.undoable}(n)||(n.undoable instanceof Function?n.undoable({G:e,ctx:t}):n.undoable))(t,n,e.flow.getMove(f.ctx,d.moveType,d.playerID))?((0,i.e)("Move cannot be undone"),h(c,s.ActionInvalid)):(c=p(c,a),{...c,G:f.G,ctx:f.ctx,plugins:f.plugins,_stateID:u+1,_undo:r.slice(0,-1),_redo:[d,...o]})}case i.R:{if(c={...c,deltalog:[]},e.disableUndo)return(0,i.e)("Redo is not enabled"),h(c,s.ActionDisabled);const{_undo:t,_redo:n,_stateID:r}=c;if(0===n.length)return(0,i.e)("No moves to redo"),h(c,s.ActionInvalid);const o=n[0];return l(a)&&a.payload.playerID!==o.playerID?((0,i.e)("Cannot redo other players' moves"),h(c,s.ActionInvalid)):(c=p(c,a),{...c,G:o.G,ctx:o.ctx,plugins:o.plugins,_stateID:r+1,_undo:[...t,o],_redo:n.slice(1)})}case i.f:return(0,i.h)(c,a,{game:e});case i.P:{const e=c,t=JSON.parse(JSON.stringify(e)),n=(0,o.X6)(t,a.patch);return n.some(e=>null!==e)?((0,i.e)(`Patch ${JSON.stringify(a.patch)} apply failed`),h(e,r.PatchFailed,n)):t}default:return c}}}},2426(e,t,n){"use strict";n.d(t,{L:()=>h,S:()=>g});var r=n(6634),s=n(8048),i=n(9271),o=n(1610),a=n(1128);class c extends s.S{constructor(){super(),this.state=new Map,this.initial=new Map,this.metadata=new Map,this.log=new Map}createMatch(e,t){this.initial.set(e,t.initialState),this.setState(e,t.initialState),this.setMetadata(e,t.metadata)}setMetadata(e,t){this.metadata.set(e,t)}setState(e,t,n){if(n&&n.length>0){const t=this.log.get(e)||[];this.log.set(e,[...t,...n])}this.state.set(e,t)}fetch(e,t){const n={};return t.state&&(n.state=this.state.get(e)),t.metadata&&(n.metadata=this.metadata.get(e)),t.log&&(n.log=this.log.get(e)||[]),t.initialState&&(n.initialState=this.initial.get(e)),n}wipe(e){this.state.delete(e),this.metadata.delete(e)}listMatches(e){return[...this.metadata.entries()].filter(([,t])=>{if(!e)return!0;if(void 0!==e.gameName&&t.gameName!==e.gameName)return!1;if(void 0!==e.where){if(void 0!==e.where.isGameover&&void 0!==t.gameover!==e.where.isGameover)return!1;if(void 0!==e.where.updatedBefore&&t.updatedAt>=e.where.updatedBefore)return!1;if(void 0!==e.where.updatedAfter&&t.updatedAt<=e.where.updatedAfter)return!1}return!0}).map(([e])=>e)}}class l extends Map{constructor(e){super(),this.key=e,(JSON.parse(localStorage.getItem(this.key))||[]).forEach(e=>this.set(...e))}sync(){const e=[...this.entries()];localStorage.setItem(this.key,JSON.stringify(e))}set(e,t){return super.set(e,t),this.sync(),this}delete(e){const t=super.delete(e);return this.sync(),t}}class u extends c{constructor(e="bgio"){super();const t=t=>new l(`${e}_${t}`);this.state=t("state"),this.initial=t("initial"),this.metadata=t("metadata"),this.log=t("log")}}class p extends i.M{constructor({game:e,bots:t,storageKey:n,persist:r}){const s={},i={};if(e&&e.ai&&t)for(const n in t){const r=t[n];i[n]=new r({game:e,enumerate:e.ai.enumerate,seed:e.seed})}const a=({playerID:e,...t})=>{const n=s[e];void 0!==n&&n(l(e,t))},l=(0,o.g)(e),p={send:a,sendAll:e=>{for(const t in s)a({playerID:t,...e})}};super(e,r?new u(n):new c,p),this.connect=(e,t)=>{s[e]=t},this.subscribe(({state:e,matchID:n})=>{if(!t)return;const r=function(e,t){if(void 0!==e.ctx.gameover)return null;if(e.ctx.activePlayers){for(const n of Object.keys(t))if(n in e.ctx.activePlayers)return n}else if(e.ctx.currentPlayer in t)return e.ctx.currentPlayer;return null}(e,i);null!==r&&setTimeout(async()=>{const t=await i[r].play(e,r);await this.onUpdate(t.action,e._stateID,n,t.action.payload.playerID)},100)})}}class d extends r.T{constructor({master:e,...t}){super(t),this.master=e}sendChatMessage(e,t){const n=[e,t,this.credentials];this.master.onChatMessage(...n)}sendAction(e,t){this.master.onUpdate(t,e._stateID,this.matchID,this.playerID)}requestSync(){this.master.onSync(this.matchID,this.playerID,this.credentials,this.numPlayers)}connect(){this.setConnectionStatus(!0),this.master.connect(this.playerID,e=>this.notifyClient(e)),this.requestSync()}disconnect(){this.setConnectionStatus(!1)}updateMatchID(e){this.matchID=e,this.connect()}updatePlayerID(e){this.playerID=e,this.connect()}updateCredentials(e){this.credentials=e,this.connect()}}const f=new Map;function h({bots:e,persist:t,storageKey:n}={}){return r=>{const{gameKey:s,game:i}=r;let o;const a=f.get(s);return a&&a.bots===e&&a.storageKey===n&&a.persist===t&&(o=a.master),o||(o=new p({game:i,bots:e,persist:t,storageKey:n}),f.set(s,{master:o,bots:e,persist:t,storageKey:n})),new d({master:o,...r})}}const v=a.Ay;class y extends r.T{constructor({socket:e,socketOpts:t,server:n,...r}){super(r),this.server=n,this.socket=e,this.socketOpts=t}sendAction(e,t){const n=[t,e._stateID,this.matchID,this.playerID];this.socket.emit("update",...n)}sendChatMessage(e,t){const n=[e,t,this.credentials];this.socket.emit("chat",...n)}connect(){if(!this.socket)if(this.server){let e=this.server;-1==e.search(/^https?:\/\//)&&(e="http://"+this.server),"/"!=e.slice(-1)&&(e+="/"),this.socket=v(e+this.gameName,this.socketOpts)}else this.socket=v("/"+this.gameName,this.socketOpts);this.socket.on("patch",(e,t,n,r,s)=>{this.notifyClient({type:"patch",args:[e,t,n,r,s]})}),this.socket.on("update",(e,t,n)=>{this.notifyClient({type:"update",args:[e,t,n]})}),this.socket.on("sync",(e,t)=>{this.notifyClient({type:"sync",args:[e,t]})}),this.socket.on("matchData",(e,t)=>{this.notifyClient({type:"matchData",args:[e,t]})}),this.socket.on("chat",(e,t)=>{this.notifyClient({type:"chat",args:[e,t]})}),this.socket.on("connect",()=>{this.requestSync(),this.setConnectionStatus(!0)}),this.socket.on("disconnect",()=>{this.setConnectionStatus(!1)})}disconnect(){this.socket.close(),this.socket=null,this.setConnectionStatus(!1)}requestSync(){if(this.socket){const e=[this.matchID,this.playerID,this.credentials,this.numPlayers];this.socket.emit("sync",...e)}}updateMatchID(e){this.matchID=e,this.requestSync()}updatePlayerID(e){this.playerID=e,this.requestSync()}updateCredentials(e){this.credentials=e,this.requestSync()}}function g({server:e,socketOpts:t}={}){return n=>new y({server:e,socketOpts:t,...n})}},6634(e,t,n){"use strict";n.d(t,{T:()=>r});class r{constructor({transportDataCallback:e,gameName:t,playerID:n,matchID:r,credentials:s,numPlayers:i}){this.connectionStatusCallback=()=>{},this.isConnected=!1,this.transportDataCallback=e,this.gameName=t||"default",this.playerID=n||null,this.matchID=r||"default",this.credentials=s,this.numPlayers=i||2}subscribeToConnectionStatus(e){this.connectionStatusCallback=e}setConnectionStatus(e){this.isConnected=e,this.connectionStatusCallback()}notifyClient(e){this.transportDataCallback(e)}}},2743(e,t,n){"use strict";n.d(t,{A:()=>k,B:()=>v,E:()=>L,F:()=>B,G:()=>E,I:()=>K,M:()=>i,N:()=>U,P:()=>d,R:()=>a,S:()=>Q,T:()=>X,U:()=>Y,a:()=>R,b:()=>F,c:()=>V,d:()=>J,e:()=>N,f:()=>f,g:()=>y,h:()=>C,i:()=>I,j:()=>u,k:()=>l,l:()=>p,m:()=>c,n:()=>$,o:()=>o,p:()=>h,q:()=>z,r:()=>O,s:()=>m,t:()=>G,u:()=>_,v:()=>w,w:()=>P,x:()=>q,y:()=>b,z:()=>x});var r=n(6535),s=n(3321);n(9001);const i="MAKE_MOVE",o="GAME_EVENT",a="REDO",c="RESET",l="SYNC",u="UNDO",p="UPDATE",d="PATCH",f="PLUGIN",h="STRIP_TRANSIENTS",v=(e,t,n,r)=>({type:i,payload:{type:e,args:t,playerID:n,credentials:r}}),y=(e,t,n,r)=>({type:o,payload:{type:e,args:t,playerID:n,credentials:r}}),g=(e,t,n,r)=>({type:o,payload:{type:e,args:t,playerID:n,credentials:r},automatic:!0}),m=e=>({type:l,state:e.state,log:e.log,initialState:e.initialState,clientOnly:!0}),b=(e,t,n,r)=>({type:d,prevStateID:e,stateID:t,patch:n,deltalog:r,clientOnly:!0}),x=(e,t)=>({type:p,state:e,deltalog:t,clientOnly:!0}),_=e=>({type:c,state:e,clientOnly:!0}),w=(e,t)=>({type:u,payload:{type:null,args:null,playerID:e,credentials:t}}),P=(e,t)=>({type:a,payload:{type:null,args:null,playerID:e,credentials:t}}),O=()=>({type:h});var k=Object.freeze({__proto__:null,makeMove:v,gameEvent:y,automaticGameEvent:g,sync:m,patch:b,update:x,reset:_,undo:w,redo:P,plugin:(e,t,n,r)=>({type:f,payload:{type:e,args:t,playerID:n,credentials:r}}),stripTransients:O});const $="INVALID_MOVE",A={name:"plugin-immer",fnWrap:e=>(t,...n)=>{let s=!1;const i=(0,r.Ay)(t.G,r=>{const i=e({...t,G:r},...n);if(i!==$)return i;s=!0});return s?$:i}};var E,M;!function(e){e.MOVE="MOVE",e.GAME_ON_END="GAME_ON_END",e.PHASE_ON_BEGIN="PHASE_ON_BEGIN",e.PHASE_ON_END="PHASE_ON_END",e.TURN_ON_BEGIN="TURN_ON_BEGIN",e.TURN_ON_MOVE="TURN_ON_MOVE",e.TURN_ON_END="TURN_ON_END"}(E||(E={})),function(e){e.CalledOutsideHook="Events must be called from moves or the `onBegin`, `onEnd`, and `onMove` hooks.\nThis error probably means you called an event from other game code, like an `endIf` trigger or one of the `turn.order` methods.",e.EndTurnInOnEnd="`endTurn` is disallowed in `onEnd` hooks — the turn is already ending.",e.MaxTurnEndings="Maximum number of turn endings exceeded for this update.\nThis likely means game code is triggering an infinite loop.",e.PhaseEventInOnEnd="`setPhase` & `endPhase` are disallowed in a phase’s `onEnd` hook — the phase is already ending.\nIf you’re trying to dynamically choose the next phase when a phase ends, use the phase’s `next` trigger.",e.StageEventInOnEnd="`setStage`, `endStage` & `setActivePlayers` are disallowed in `onEnd` hooks.",e.StageEventInPhaseBegin="`setStage`, `endStage` & `setActivePlayers` are disallowed in a phase’s `onBegin` hook.\nUse `setActivePlayers` in a `turn.onBegin` hook or declare stages with `turn.activePlayers` instead.",e.StageEventInTurnBegin="`setStage` & `endStage` are disallowed in `turn.onBegin`.\nUse `setActivePlayers` or declare stages with `turn.activePlayers` instead."}(M||(M={}));class j{constructor(e,t,n){this.flow=e,this.playerID=n,this.dispatch=[],this.initialTurn=t.turn,this.updateTurnContext(t,void 0),this.maxEndedTurnsPerAction=100*t.numPlayers}api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]=(...e)=>{this.dispatch.push({type:t,args:e,phase:this.currentPhase,turn:this.currentTurn,calledFrom:this.currentMethod,error:new Error("Events Plugin Error")})};return e}isUsed(){return this.dispatch.length>0}updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.turn,this.currentMethod=t}unsetCurrentMethod(){this.currentMethod=void 0}update(e){const t=e,n=({stack:e},n)=>({...t,plugins:{...t.plugins,events:{...t.plugins.events,data:{error:n+"\n"+e}}}});e:for(let t=0;t<this.dispatch.length;t++){const r=this.dispatch[t],s=r.turn!==e.ctx.turn;if(this.currentTurn-this.initialTurn>=this.maxEndedTurnsPerAction)return n(r.error,M.MaxTurnEndings);if(void 0===r.calledFrom)return n(r.error,M.CalledOutsideHook);if(e.ctx.gameover)break e;switch(r.type){case"endStage":case"setStage":case"setActivePlayers":switch(r.calledFrom){case E.TURN_ON_END:case E.PHASE_ON_END:return n(r.error,M.StageEventInOnEnd);case E.PHASE_ON_BEGIN:return n(r.error,M.StageEventInPhaseBegin);case E.TURN_ON_BEGIN:if("setActivePlayers"===r.type)break;return n(r.error,M.StageEventInTurnBegin)}if(s)continue e;break;case"endTurn":if(r.calledFrom===E.TURN_ON_END||r.calledFrom===E.PHASE_ON_END)return n(r.error,M.EndTurnInOnEnd);if(s)continue e;break;case"endPhase":case"setPhase":if(r.calledFrom===E.PHASE_ON_END)return n(r.error,M.PhaseEventInOnEnd);if(r.phase!==e.ctx.phase)continue e}const i=g(r.type,r.args,this.playerID);e=this.flow.processEvent(e,i)}return e}}const S={name:"events",noClient:({api:e})=>e._private.isUsed(),isInvalid:({data:e})=>e.error||!1,fnWrap:(e,t)=>(n,...r)=>{const s=n.events;s&&s._private.updateTurnContext(n.ctx,t);const i=e(n,...r);return s&&s._private.unsetCurrentMethod(),i},dangerouslyFlushRawState:({state:e,api:t})=>t._private.update(e),api:({game:e,ctx:t,playerID:n})=>new j(e.flow,t,n).api()};function I(e){}function N(e){((...e)=>{console.error(...e)})("ERROR:",e)}const T=[A,s.R,{name:"log",flush:()=>({}),api:({data:e})=>({setMetadata:t=>{e.metadata=t}}),setup:()=>({})},{name:"plugin-serializable",fnWrap:e=>(t,...n)=>e(t,...n)}],D=[...T,S],C=(e,t,n)=>(n.game.plugins.filter(e=>void 0!==e.action).filter(e=>e.name===t.payload.type).forEach(n=>{const r=n.name,s=e.plugins[r]||{data:{}},i=n.action(s.data,t.payload);e={...e,plugins:{...e.plugins,[r]:{...s,data:i}}}}),e),R=({plugins:e})=>Object.entries(e||{}).reduce((e,[t,{api:n}])=>(e[t]=n,e),{}),B=(e,t,n)=>[...T,...n,S].filter(e=>void 0!==e.fnWrap).reduce((e,{fnWrap:n})=>n(e,t),e),G=(e,t)=>([...D,...t.game.plugins].filter(e=>void 0!==e.setup).forEach(n=>{const r=n.name,s=n.setup({G:e.G,ctx:e.ctx,game:t.game});e={...e,plugins:{...e.plugins,[r]:{data:s}}}}),e),L=(e,t)=>([...D,...t.game.plugins].filter(e=>void 0!==e.api).forEach(n=>{const r=n.name,s=e.plugins[r]||{data:{}},i=n.api({G:e.G,ctx:e.ctx,data:s.data,game:t.game,playerID:t.playerID});e={...e,plugins:{...e.plugins,[r]:{...s,api:i}}}}),e),U=(e,t)=>[...D,...t.game.plugins].filter(e=>void 0!==e.noClient).map(n=>{const r=n.name,s=e.plugins[r];return!!s&&n.noClient({G:e.G,ctx:e.ctx,game:t.game,api:s.api,data:s.data})}).includes(!0),z=(e,t)=>{const n=((e,t)=>([...T,...t.game.plugins,S].reverse().forEach(n=>{const r=n.name,s=e.plugins[r]||{data:{}};if(n.flush){const r=n.flush({G:e.G,ctx:e.ctx,game:t.game,api:s.api,data:s.data});e={...e,plugins:{...e.plugins,[n.name]:{data:r}}}}else if(n.dangerouslyFlushRawState){const i=(e=n.dangerouslyFlushRawState({state:e,game:t.game,api:s.api,data:s.data})).plugins[r].data;e={...e,plugins:{...e.plugins,[n.name]:{data:i}}}}}),e))(e,t),r=((e,t)=>{const n=[...D,...t.game.plugins].filter(e=>void 0!==e.isInvalid).map(n=>{const{name:r}=n,s=e.plugins[r],i=n.isInvalid({G:e.G,ctx:e.ctx,game:t.game,data:s&&s.data});return!!i&&{plugin:r,message:i}}).find(e=>e);return n||!1})(n,t);if(!r)return[n];const{plugin:s,message:i}=r;return N(`${s} plugin declared action invalid:\n${i}`),[e,r]},q=({G:e,ctx:t,plugins:n={}},{game:r,playerID:s})=>([...D,...r.plugins].forEach(({name:i,playerView:o})=>{if(!o)return;const{data:a}=n[i]||{data:{}},c=o({G:e,ctx:t,game:r,data:a,playerID:s});n={...n,[i]:{data:c}}}),n);function F(e,t=!1){e.moveLimit&&(t&&(e.minMoves=e.moveLimit),e.maxMoves=e.moveLimit,delete e.moveLimit)}function V(e,t){let n={},r=[],s=null,i={},o={};if(Array.isArray(t)){const e={};t.forEach(t=>e[t]=Q.NULL),n=e}else{if(F(t),t.next&&(s=t.next),t.revert&&(r=[...e._prevActivePlayers,{activePlayers:e.activePlayers,_activePlayersMinMoves:e._activePlayersMinMoves,_activePlayersMaxMoves:e._activePlayersMaxMoves,_activePlayersNumMoves:e._activePlayersNumMoves}]),void 0!==t.currentPlayer&&W(n,i,o,e.currentPlayer,t.currentPlayer),void 0!==t.others)for(let r=0;r<e.playOrder.length;r++){const s=e.playOrder[r];s!==e.currentPlayer&&W(n,i,o,s,t.others)}if(void 0!==t.all)for(let r=0;r<e.playOrder.length;r++)W(n,i,o,e.playOrder[r],t.all);if(t.value)for(const e in t.value)W(n,i,o,e,t.value[e]);if(t.minMoves)for(const e in n)void 0===i[e]&&(i[e]=t.minMoves);if(t.maxMoves)for(const e in n)void 0===o[e]&&(o[e]=t.maxMoves)}0===Object.keys(n).length&&(n=null),0===Object.keys(i).length&&(i=null),0===Object.keys(o).length&&(o=null);const a={};for(const e in n)a[e]=0;return{...e,activePlayers:n,_activePlayersMinMoves:i,_activePlayersMaxMoves:o,_activePlayersNumMoves:a,_prevActivePlayers:r,_nextActivePlayers:s}}function J(e){let{activePlayers:t,_activePlayersMinMoves:n,_activePlayersMaxMoves:r,_activePlayersNumMoves:s,_prevActivePlayers:i,_nextActivePlayers:o}=e;if(t&&0===Object.keys(t).length)if(o)e=V(e,o),({activePlayers:t,_activePlayersMinMoves:n,_activePlayersMaxMoves:r,_activePlayersNumMoves:s,_prevActivePlayers:i}=e);else if(i.length>0){const e=i.length-1;({activePlayers:t,_activePlayersMinMoves:n,_activePlayersMaxMoves:r,_activePlayersNumMoves:s}=i[e]),i=i.slice(0,e)}else t=null,n=null,r=null;return{...e,activePlayers:t,_activePlayersMinMoves:n,_activePlayersMaxMoves:r,_activePlayersNumMoves:s,_prevActivePlayers:i}}function W(e,t,n,r,s){"object"==typeof s&&s!==Q.NULL||(s={stage:s}),void 0!==s.stage&&(F(s),e[r]=s.stage,s.minMoves&&(t[r]=s.minMoves),s.maxMoves&&(n[r]=s.maxMoves))}function H(e,t){return e[t]+""}function K(e,t){let{G:n,ctx:r}=e;const{numPlayers:s}=r,i={...R(e),G:n,ctx:r},o=t.order;let a=[...Array.from({length:s})].map((e,t)=>t+"");void 0!==o.playOrder&&(a=o.playOrder(i));const c=o.first(i),l=typeof c;"number"!==l&&N(`invalid value returned by turn.order.first — expected number got ${l} “${c}”.`);const u=H(a,c);return r={...r,currentPlayer:u,playOrderPos:c,playOrder:a},r=V(r,t.activePlayers||{}),r}function Y(e,t,n,r){const s=n.order;let{G:i,ctx:o}=e,a=o.playOrderPos,c=!1;if(r&&!0!==r)"object"!=typeof r&&N(`invalid argument to endTurn: ${r}`),Object.keys(r).forEach(e=>{switch(e){case"remove":t=H(o.playOrder,a);break;case"next":a=o.playOrder.indexOf(r.next),t=r.next;break;default:N(`invalid argument to endTurn: ${e}`)}});else{const n={...R(e),G:i,ctx:o},r=s.next(n),l=typeof r;void 0!==r&&"number"!==l&&N(`invalid value returned by turn.order.next — expected number or undefined got ${l} “${r}”.`),void 0===r?c=!0:(a=r,t=H(o.playOrder,a))}return o={...o,playOrderPos:a,currentPlayer:t},{endPhase:c,ctx:o}}const X={DEFAULT:{first:({ctx:e})=>0===e.turn?e.playOrderPos:(e.playOrderPos+1)%e.playOrder.length,next:({ctx:e})=>(e.playOrderPos+1)%e.playOrder.length},RESET:{first:()=>0,next:({ctx:e})=>(e.playOrderPos+1)%e.playOrder.length},CONTINUE:{first:({ctx:e})=>e.playOrderPos,next:({ctx:e})=>(e.playOrderPos+1)%e.playOrder.length},ONCE:{first:()=>0,next:({ctx:e})=>{if(e.playOrderPos<e.playOrder.length-1)return e.playOrderPos+1}},CUSTOM:e=>({playOrder:()=>e,first:()=>0,next:({ctx:e})=>(e.playOrderPos+1)%e.playOrder.length}),CUSTOM_FROM:e=>({playOrder:({G:t})=>t[e],first:()=>0,next:({ctx:e})=>(e.playOrderPos+1)%e.playOrder.length})},Q={NULL:null};Q.NULL,Q.NULL,Q.NULL,Q.NULL},8048(e,t,n){"use strict";n.d(t,{S:()=>o,c:()=>a,i:()=>i});var r,s=n(3389);function i(e){return e.type()===r.SYNC}!function(e){e[e.SYNC=0]="SYNC",e[e.ASYNC=1]="ASYNC"}(r||(r={}));class o{type(){return r.SYNC}connect(){}createMatch(e,t){if(this.createGame)return console.warn("The database connector does not implement a createMatch method.","\nUsing the deprecated createGame method instead."),this.createGame(e,t);console.error("The database connector does not implement a createMatch method.")}listMatches(e){if(this.listGames)return console.warn("The database connector does not implement a listMatches method.","\nUsing the deprecated listGames method instead."),this.listGames(e);console.error("The database connector does not implement a listMatches method.")}}const a=({game:e,numPlayers:t,setupData:n,unlisted:r})=>{t&&"number"==typeof t||(t=2);const i=e.validateSetupData&&e.validateSetupData(n,t);if(void 0!==i)return{setupDataError:i};const o=(({game:e,unlisted:t,setupData:n,numPlayers:r})=>{const s={gameName:e.name,unlisted:!!t,players:{},createdAt:Date.now(),updatedAt:Date.now()};void 0!==n&&(s.setupData=n);for(let e=0;e<r;e++)s.players[e]={id:e};return s})({game:e,numPlayers:t,setupData:n,unlisted:r});return{metadata:o,initialState:(0,s.I)({game:e,numPlayers:t,setupData:n})}}},6477(e,t){function n(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];throw Error("[Immer] minified error nr: "+e+(n.length?" "+n.map(function(e){return"'"+e+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function r(e){return!!e&&!!e[H]}function s(e){var t;return!!e&&(function(e){if(!e||"object"!=typeof e)return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;var n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return n===Object||"function"==typeof n&&Function.toString.call(n)===Y}(e)||Array.isArray(e)||!!e[W]||!!(null===(t=e.constructor)||void 0===t?void 0:t[W])||p(e)||d(e))}function i(e,t,n){void 0===n&&(n=!1),0===o(e)?(n?Object.keys:X)(e).forEach(function(r){n&&"symbol"==typeof r||t(r,e[r],e)}):e.forEach(function(n,r){return t(r,n,e)})}function o(e){var t=e[H];return t?t.t>3?t.t-4:t.t:Array.isArray(e)?1:p(e)?2:d(e)?3:0}function a(e,t){return 2===o(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function c(e,t){return 2===o(e)?e.get(t):e[t]}function l(e,t,n){var r=o(e);2===r?e.set(t,n):3===r?e.add(n):e[t]=n}function u(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function p(e){return q&&e instanceof Map}function d(e){return F&&e instanceof Set}function f(e){return e.i||e.u}function h(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Q(e);delete t[H];for(var n=X(t),r=0;r<n.length;r++){var s=n[r],i=t[s];!1===i.writable&&(i.writable=!0,i.configurable=!0),(i.get||i.set)&&(t[s]={configurable:!0,writable:!0,enumerable:i.enumerable,value:e[s]})}return Object.create(Object.getPrototypeOf(e),t)}function v(e,t){return void 0===t&&(t=!1),g(e)||r(e)||!s(e)||(o(e)>1&&(e.set=e.add=e.clear=e.delete=y),Object.freeze(e),t&&i(e,function(e,t){return v(t,!0)},!0)),e}function y(){n(2)}function g(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function m(e){var t=Z[e];return t||n(18,e),t}function b(e,t){Z[e]||(Z[e]=t)}function x(){return U}function _(e,t){t&&(m("Patches"),e.o=[],e.v=[],e.s=t)}function w(e){P(e),e.p.forEach(k),e.p=null}function P(e){e===U&&(U=e.l)}function O(e){return U={p:[],l:U,h:e,_:!0,m:0}}function k(e){var t=e[H];0===t.t||1===t.t?t.j():t.O=!0}function $(e,t){t.m=t.p.length;var r=t.p[0],i=void 0!==e&&e!==r;return t.h.S||m("ES5").P(t,e,i),i?(r[H].g&&(w(t),n(4)),s(e)&&(e=A(t,e),t.l||M(t,e)),t.o&&m("Patches").M(r[H].u,e,t.o,t.v)):e=A(t,r,[]),w(t),t.o&&t.s(t.o,t.v),e!==J?e:void 0}function A(e,t,n){if(g(t))return t;var r=t[H];if(!r)return i(t,function(s,i){return E(e,r,t,s,i,n)},!0),t;if(r.A!==e)return t;if(!r.g)return M(e,r.u,!0),r.u;if(!r.R){r.R=!0,r.A.m--;var s=4===r.t||5===r.t?r.i=h(r.k):r.i,o=s,a=!1;3===r.t&&(o=new Set(s),s.clear(),a=!0),i(o,function(t,i){return E(e,r,s,t,i,n,a)}),M(e,s,!1),n&&e.o&&m("Patches").F(r,n,e.o,e.v)}return r.i}function E(e,t,n,i,o,c,u){if(r(o)){var p=A(e,o,c&&t&&3!==t.t&&!a(t.N,i)?c.concat(i):void 0);if(l(n,i,p),!r(p))return;e._=!1}else u&&n.add(o);if(s(o)&&!g(o)){if(!e.h.D&&e.m<1)return;A(e,o),t&&t.A.l||M(e,o)}}function M(e,t,n){void 0===n&&(n=!1),!e.l&&e.h.D&&e._&&v(t,n)}function j(e,t){var n=e[H];return(n?f(n):e)[t]}function S(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function I(e){e.g||(e.g=!0,e.l&&I(e.l))}function N(e){e.i||(e.i=h(e.u))}function T(e,t,n){var r=p(t)?m("MapSet").K(t,n):d(t)?m("MapSet").$(t,n):e.S?function(e,t){var n=Array.isArray(e),r={t:n?1:0,A:t?t.A:x(),g:!1,R:!1,N:{},l:t,u:e,k:null,i:null,j:null,C:!1},s=r,i=ee;n&&(s=[r],i=te);var o=Proxy.revocable(s,i),a=o.revoke,c=o.proxy;return r.k=c,r.j=a,c}(t,n):m("ES5").I(t,n);return(n?n.A:x()).p.push(r),r}function D(e){return r(e)||n(22,e),function e(t){if(!s(t))return t;var n,r=t[H],a=o(t);if(r){if(!r.g&&(r.t<4||!m("ES5").J(r)))return r.u;r.R=!0,n=C(t,a),r.R=!1}else n=C(t,a);return i(n,function(t,s){r&&c(r.u,t)===s||l(n,t,e(s))}),3===a?new Set(n):n}(e)}function C(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return h(e)}function R(){function e(e,t){var n=o[e];return n?n.enumerable=t:o[e]=n={configurable:!0,enumerable:t,get:function(){return ee.get(this[H],e)},set:function(t){ee.set(this[H],e,t)}},n}function t(e){for(var t=e.length-1;t>=0;t--){var r=e[t][H];if(!r.g)switch(r.t){case 5:s(r)&&I(r);break;case 4:n(r)&&I(r)}}}function n(e){for(var t=e.u,n=e.k,r=X(n),s=r.length-1;s>=0;s--){var i=r[s];if(i!==H){var o=t[i];if(void 0===o&&!a(t,i))return!0;var c=n[i],l=c&&c[H];if(l?l.u!==o:!u(c,o))return!0}}var p=!!t[H];return r.length!==X(t).length+(p?0:1)}function s(e){var t=e.k;if(t.length!==e.u.length)return!0;var n=Object.getOwnPropertyDescriptor(t,t.length-1);if(n&&!n.get)return!0;for(var r=0;r<t.length;r++)if(!t.hasOwnProperty(r))return!0;return!1}var o={};b("ES5",{I:function(t,n){var r=Array.isArray(t),s=function(t,n){if(t){for(var r=Array(n.length),s=0;s<n.length;s++)Object.defineProperty(r,""+s,e(s,!0));return r}var i=Q(n);delete i[H];for(var o=X(i),a=0;a<o.length;a++){var c=o[a];i[c]=e(c,t||!!i[c].enumerable)}return Object.create(Object.getPrototypeOf(n),i)}(r,t),i={t:r?5:4,A:n?n.A:x(),g:!1,R:!1,N:{},l:n,u:t,k:s,i:null,O:!1,C:!1};return Object.defineProperty(s,H,{value:i,writable:!0}),s},P:function(e,n,o){o?r(n)&&n[H].A===e&&t(e.p):(e.o&&function e(t){if(t&&"object"==typeof t){var n=t[H];if(n){var r=n.u,o=n.k,c=n.N,l=n.t;if(4===l)i(o,function(t){t!==H&&(void 0!==r[t]||a(r,t)?c[t]||e(o[t]):(c[t]=!0,I(n)))}),i(r,function(e){void 0!==o[e]||a(o,e)||(c[e]=!1,I(n))});else if(5===l){if(s(n)&&(I(n),c.length=!0),o.length<r.length)for(var u=o.length;u<r.length;u++)c[u]=!1;else for(var p=r.length;p<o.length;p++)c[p]=!0;for(var d=Math.min(o.length,r.length),f=0;f<d;f++)o.hasOwnProperty(f)||(c[f]=!0),void 0===c[f]&&e(o[f])}}}}(e.p[0]),t(e.p))},J:function(e){return 4===e.t?n(e):s(e)}})}function B(){function e(t){if(!s(t))return t;if(Array.isArray(t))return t.map(e);if(p(t))return new Map(Array.from(t.entries()).map(function(t){return[t[0],e(t[1])]}));if(d(t))return new Set(Array.from(t).map(e));var n=Object.create(Object.getPrototypeOf(t));for(var r in t)n[r]=e(t[r]);return a(t,W)&&(n[W]=t[W]),n}function t(t){return r(t)?e(t):t}var l="add";b("Patches",{W:function(t,r){return r.forEach(function(r){for(var s=r.path,i=r.op,a=t,u=0;u<s.length-1;u++){var p=o(a),d=s[u];"string"!=typeof d&&"number"!=typeof d&&(d=""+d),0!==p&&1!==p||"__proto__"!==d&&"constructor"!==d||n(24),"function"==typeof a&&"prototype"===d&&n(24),"object"!=typeof(a=c(a,d))&&n(15,s.join("/"))}var f=o(a),h=e(r.value),v=s[s.length-1];switch(i){case"replace":switch(f){case 2:return a.set(v,h);case 3:n(16);default:return a[v]=h}case l:switch(f){case 1:return"-"===v?a.push(h):a.splice(v,0,h);case 2:return a.set(v,h);case 3:return a.add(h);default:return a[v]=h}case"remove":switch(f){case 1:return a.splice(v,1);case 2:return a.delete(v);case 3:return a.delete(r.value);default:return delete a[v]}default:n(17,i)}}),t},F:function(e,n,r,s){switch(e.t){case 0:case 4:case 2:return function(e,n,r,s){var o=e.u,u=e.i;i(e.N,function(e,i){var p=c(o,e),d=c(u,e),f=i?a(o,e)?"replace":l:"remove";if(p!==d||"replace"!==f){var h=n.concat(e);r.push("remove"===f?{op:f,path:h}:{op:f,path:h,value:d}),s.push(f===l?{op:"remove",path:h}:"remove"===f?{op:l,path:h,value:t(p)}:{op:"replace",path:h,value:t(p)})}})}(e,n,r,s);case 5:case 1:return function(e,n,r,s){var i=e.u,o=e.N,a=e.i;if(a.length<i.length){var c=[a,i];i=c[0],a=c[1];var u=[s,r];r=u[0],s=u[1]}for(var p=0;p<i.length;p++)if(o[p]&&a[p]!==i[p]){var d=n.concat([p]);r.push({op:"replace",path:d,value:t(a[p])}),s.push({op:"replace",path:d,value:t(i[p])})}for(var f=i.length;f<a.length;f++){var h=n.concat([f]);r.push({op:l,path:h,value:t(a[f])})}i.length<a.length&&s.push({op:"replace",path:n.concat(["length"]),value:i.length})}(e,n,r,s);case 3:return function(e,t,n,r){var s=e.u,i=e.i,o=0;s.forEach(function(e){if(!i.has(e)){var s=t.concat([o]);n.push({op:"remove",path:s,value:e}),r.unshift({op:l,path:s,value:e})}o++}),o=0,i.forEach(function(e){if(!s.has(e)){var i=t.concat([o]);n.push({op:l,path:i,value:e}),r.unshift({op:"remove",path:i,value:e})}o++})}(e,n,r,s)}},M:function(e,t,n,r){n.push({op:"replace",path:[],value:t===J?void 0:t}),r.push({op:"replace",path:[],value:e})}})}function G(){function e(e,t){function n(){this.constructor=e}a(e,t),e.prototype=(n.prototype=t.prototype,new n)}function t(e){e.i||(e.N=new Map,e.i=new Map(e.u))}function r(e){e.i||(e.i=new Set,e.u.forEach(function(t){if(s(t)){var n=T(e.A.h,t,e);e.p.set(t,n),e.i.add(n)}else e.i.add(t)}))}function o(e){e.O&&n(3,JSON.stringify(f(e)))}var a=function(e,t){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},c=function(){function n(e,t){return this[H]={t:2,l:t,A:t?t.A:x(),g:!1,R:!1,i:void 0,N:void 0,u:e,k:this,C:!1,O:!1},this}e(n,Map);var r=n.prototype;return Object.defineProperty(r,"size",{get:function(){return f(this[H]).size}}),r.has=function(e){return f(this[H]).has(e)},r.set=function(e,n){var r=this[H];return o(r),f(r).has(e)&&f(r).get(e)===n||(t(r),I(r),r.N.set(e,!0),r.i.set(e,n),r.N.set(e,!0)),this},r.delete=function(e){if(!this.has(e))return!1;var n=this[H];return o(n),t(n),I(n),n.u.has(e)?n.N.set(e,!1):n.N.delete(e),n.i.delete(e),!0},r.clear=function(){var e=this[H];o(e),f(e).size&&(t(e),I(e),e.N=new Map,i(e.u,function(t){e.N.set(t,!1)}),e.i.clear())},r.forEach=function(e,t){var n=this;f(this[H]).forEach(function(r,s){e.call(t,n.get(s),s,n)})},r.get=function(e){var n=this[H];o(n);var r=f(n).get(e);if(n.R||!s(r))return r;if(r!==n.u.get(e))return r;var i=T(n.A.h,r,n);return t(n),n.i.set(e,i),i},r.keys=function(){return f(this[H]).keys()},r.values=function(){var e,t=this,n=this.keys();return(e={})[K]=function(){return t.values()},e.next=function(){var e=n.next();return e.done?e:{done:!1,value:t.get(e.value)}},e},r.entries=function(){var e,t=this,n=this.keys();return(e={})[K]=function(){return t.entries()},e.next=function(){var e=n.next();if(e.done)return e;var r=t.get(e.value);return{done:!1,value:[e.value,r]}},e},r[K]=function(){return this.entries()},n}(),l=function(){function t(e,t){return this[H]={t:3,l:t,A:t?t.A:x(),g:!1,R:!1,i:void 0,u:e,k:this,p:new Map,O:!1,C:!1},this}e(t,Set);var n=t.prototype;return Object.defineProperty(n,"size",{get:function(){return f(this[H]).size}}),n.has=function(e){var t=this[H];return o(t),t.i?!!t.i.has(e)||!(!t.p.has(e)||!t.i.has(t.p.get(e))):t.u.has(e)},n.add=function(e){var t=this[H];return o(t),this.has(e)||(r(t),I(t),t.i.add(e)),this},n.delete=function(e){if(!this.has(e))return!1;var t=this[H];return o(t),r(t),I(t),t.i.delete(e)||!!t.p.has(e)&&t.i.delete(t.p.get(e))},n.clear=function(){var e=this[H];o(e),f(e).size&&(r(e),I(e),e.i.clear())},n.values=function(){var e=this[H];return o(e),r(e),e.i.values()},n.entries=function(){var e=this[H];return o(e),r(e),e.i.entries()},n.keys=function(){return this.values()},n[K]=function(){return this.values()},n.forEach=function(e,t){for(var n=this.values(),r=n.next();!r.done;)e.call(t,r.value,r.value,this),r=n.next()},t}();b("MapSet",{K:function(e,t){return new c(e,t)},$:function(e,t){return new l(e,t)}})}var L;Object.defineProperty(t,"__esModule",{value:!0});var U,z="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),q="undefined"!=typeof Map,F="undefined"!=typeof Set,V="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,J=z?Symbol.for("immer-nothing"):((L={})["immer-nothing"]=!0,L),W=z?Symbol.for("immer-draftable"):"__$immer_draftable",H=z?Symbol.for("immer-state"):"__$immer_state",K="undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator",Y=""+Object.prototype.constructor,X="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,Q=Object.getOwnPropertyDescriptors||function(e){var t={};return X(e).forEach(function(n){t[n]=Object.getOwnPropertyDescriptor(e,n)}),t},Z={},ee={get:function(e,t){if(t===H)return e;var n=f(e);if(!a(n,t))return function(e,t,n){var r,s=S(t,n);return s?"value"in s?s.value:null===(r=s.get)||void 0===r?void 0:r.call(e.k):void 0}(e,n,t);var r=n[t];return e.R||!s(r)?r:r===j(e.u,t)?(N(e),e.i[t]=T(e.A.h,r,e)):r},has:function(e,t){return t in f(e)},ownKeys:function(e){return Reflect.ownKeys(f(e))},set:function(e,t,n){var r=S(f(e),t);if(null==r?void 0:r.set)return r.set.call(e.k,n),!0;if(!e.g){var s=j(f(e),t),i=null==s?void 0:s[H];if(i&&i.u===n)return e.i[t]=n,e.N[t]=!1,!0;if(u(n,s)&&(void 0!==n||a(e.u,t)))return!0;N(e),I(e)}return e.i[t]===n&&(void 0!==n||t in e.i)||Number.isNaN(n)&&Number.isNaN(e.i[t])||(e.i[t]=n,e.N[t]=!0),!0},deleteProperty:function(e,t){return void 0!==j(e.u,t)||t in e.u?(e.N[t]=!1,N(e),I(e)):delete e.N[t],e.i&&delete e.i[t],!0},getOwnPropertyDescriptor:function(e,t){var n=f(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.t||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},defineProperty:function(){n(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.u)},setPrototypeOf:function(){n(12)}},te={};i(ee,function(e,t){te[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),te.deleteProperty=function(e,t){return te.set.call(this,e,t,void 0)},te.set=function(e,t,n){return ee.set.call(this,e[0],t,n,e[0])};var ne=function(){function e(e){var t=this;this.S=V,this.D=!0,this.produce=function(e,r,i){if("function"==typeof e&&"function"!=typeof r){var o=r;r=e;var a=t;return function(e){var t=this;void 0===e&&(e=o);for(var n=arguments.length,s=Array(n>1?n-1:0),i=1;i<n;i++)s[i-1]=arguments[i];return a.produce(e,function(e){var n;return(n=r).call.apply(n,[t,e].concat(s))})}}var c;if("function"!=typeof r&&n(6),void 0!==i&&"function"!=typeof i&&n(7),s(e)){var l=O(t),u=T(t,e,void 0),p=!0;try{c=r(u),p=!1}finally{p?w(l):P(l)}return"undefined"!=typeof Promise&&c instanceof Promise?c.then(function(e){return _(l,i),$(e,l)},function(e){throw w(l),e}):(_(l,i),$(c,l))}if(!e||"object"!=typeof e){if(void 0===(c=r(e))&&(c=e),c===J&&(c=void 0),t.D&&v(c,!0),i){var d=[],f=[];m("Patches").M(e,c,d,f),i(d,f)}return c}n(21,e)},this.produceWithPatches=function(e,n){if("function"==typeof e)return function(n){for(var r=arguments.length,s=Array(r>1?r-1:0),i=1;i<r;i++)s[i-1]=arguments[i];return t.produceWithPatches(n,function(t){return e.apply(void 0,[t].concat(s))})};var r,s,i=t.produce(e,n,function(e,t){r=e,s=t});return"undefined"!=typeof Promise&&i instanceof Promise?i.then(function(e){return[e,r,s]}):[i,r,s]},"boolean"==typeof(null==e?void 0:e.useProxies)&&this.setUseProxies(e.useProxies),"boolean"==typeof(null==e?void 0:e.autoFreeze)&&this.setAutoFreeze(e.autoFreeze)}var t=e.prototype;return t.createDraft=function(e){s(e)||n(8),r(e)&&(e=D(e));var t=O(this),i=T(this,e,void 0);return i[H].C=!0,P(t),i},t.finishDraft=function(e,t){var n=(e&&e[H]).A;return _(n,t),$(void 0,n)},t.setAutoFreeze=function(e){this.D=e},t.setUseProxies=function(e){e&&!V&&n(20),this.S=e},t.applyPatches=function(e,t){var n;for(n=t.length-1;n>=0;n--){var s=t[n];if(0===s.path.length&&"replace"===s.op){e=s.value;break}}n>-1&&(t=t.slice(n+1));var i=m("Patches").W;return r(e)?i(e,t):this.produce(e,function(e){return i(e,t)})},e}(),re=new ne,se=re.produce,ie=re.produceWithPatches.bind(re),oe=re.setAutoFreeze.bind(re),ae=re.setUseProxies.bind(re),ce=re.applyPatches.bind(re),le=re.createDraft.bind(re),ue=re.finishDraft.bind(re);t.Immer=ne,t.applyPatches=ce,t.castDraft=function(e){return e},t.castImmutable=function(e){return e},t.createDraft=le,t.current=D,t.default=se,t.enableAllPlugins=function(){R(),G(),B()},t.enableES5=R,t.enableMapSet=G,t.enablePatches=B,t.finishDraft=ue,t.freeze=v,t.immerable=W,t.isDraft=r,t.isDraftable=s,t.nothing=J,t.original=function(e){return r(e)||n(23,e),e[H].u},t.produce=se,t.produceWithPatches=ie,t.setAutoFreeze=oe,t.setUseProxies=ae},5878(e,t,n){"use strict";e.exports=n(6477)},9001(e){var t,n,r=Function.prototype,s=Object.prototype,i=r.toString,o=s.hasOwnProperty,a=i.call(Object),c=s.toString,l=(t=Object.getPrototypeOf,n=Object,function(e){return t(n(e))});e.exports=function(e){if(!function(e){return!!e&&"object"==typeof e}(e)||"[object Object]"!=c.call(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e))return!1;var t=l(e);if(null===t)return!0;var n=o.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&i.call(n)==a}},5580(e,t,n){var r=n(6110)(n(9325),"DataView");e.exports=r},1549(e,t,n){var r=n(2032),s=n(3862),i=n(6721),o=n(2749),a=n(5749);function c(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=s,c.prototype.get=i,c.prototype.has=o,c.prototype.set=a,e.exports=c},79(e,t,n){var r=n(3702),s=n(80),i=n(4739),o=n(8655),a=n(1175);function c(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=s,c.prototype.get=i,c.prototype.has=o,c.prototype.set=a,e.exports=c},8223(e,t,n){var r=n(6110)(n(9325),"Map");e.exports=r},3661(e,t,n){var r=n(3040),s=n(7670),i=n(289),o=n(4509),a=n(2949);function c(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=s,c.prototype.get=i,c.prototype.has=o,c.prototype.set=a,e.exports=c},2804(e,t,n){var r=n(6110)(n(9325),"Promise");e.exports=r},6545(e,t,n){var r=n(6110)(n(9325),"Set");e.exports=r},8859(e,t,n){var r=n(3661),s=n(1380),i=n(3840);function o(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new r;++t<n;)this.add(e[t])}o.prototype.add=o.prototype.push=s,o.prototype.has=i,e.exports=o},7217(e,t,n){var r=n(79),s=n(1420),i=n(938),o=n(3605),a=n(9817),c=n(945);function l(e){var t=this.__data__=new r(e);this.size=t.size}l.prototype.clear=s,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=a,l.prototype.set=c,e.exports=l},1873(e,t,n){var r=n(9325).Symbol;e.exports=r},7828(e,t,n){var r=n(9325).Uint8Array;e.exports=r},8303(e,t,n){var r=n(6110)(n(9325),"WeakMap");e.exports=r},1033(e){e.exports=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}},3729(e){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}},9770(e){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,s=0,i=[];++n<r;){var o=e[n];t(o,n,e)&&(i[s++]=o)}return i}},695(e,t,n){var r=n(8096),s=n(2428),i=n(6449),o=n(3656),a=n(361),c=n(7167),l=Object.prototype.hasOwnProperty;e.exports=function(e,t){var n=i(e),u=!n&&s(e),p=!n&&!u&&o(e),d=!n&&!u&&!p&&c(e),f=n||u||p||d,h=f?r(e.length,String):[],v=h.length;for(var y in e)!t&&!l.call(e,y)||f&&("length"==y||p&&("offset"==y||"parent"==y)||d&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||a(y,v))||h.push(y);return h}},4932(e){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,s=Array(r);++n<r;)s[n]=t(e[n],n,e);return s}},4528(e){e.exports=function(e,t){for(var n=-1,r=t.length,s=e.length;++n<r;)e[s+n]=t[n];return e}},4248(e){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}},6547(e,t,n){var r=n(3360),s=n(5288),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var o=e[t];i.call(e,t)&&s(o,n)&&(void 0!==n||t in e)||r(e,t,n)}},6025(e,t,n){var r=n(5288);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},4733(e,t,n){var r=n(1791),s=n(5950);e.exports=function(e,t){return e&&r(t,s(t),e)}},3838(e,t,n){var r=n(1791),s=n(7241);e.exports=function(e,t){return e&&r(t,s(t),e)}},3360(e,t,n){var r=n(3243);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},9999(e,t,n){var r=n(7217),s=n(3729),i=n(6547),o=n(4733),a=n(3838),c=n(3290),l=n(3007),u=n(2271),p=n(8948),d=n(2),f=n(3349),h=n(5861),v=n(6189),y=n(7199),g=n(5529),m=n(6449),b=n(3656),x=n(7730),_=n(3805),w=n(8440),P=n(5950),O=n(7241),k="[object Arguments]",$="[object Function]",A="[object Object]",E={};E[k]=E["[object Array]"]=E["[object ArrayBuffer]"]=E["[object DataView]"]=E["[object Boolean]"]=E["[object Date]"]=E["[object Float32Array]"]=E["[object Float64Array]"]=E["[object Int8Array]"]=E["[object Int16Array]"]=E["[object Int32Array]"]=E["[object Map]"]=E["[object Number]"]=E[A]=E["[object RegExp]"]=E["[object Set]"]=E["[object String]"]=E["[object Symbol]"]=E["[object Uint8Array]"]=E["[object Uint8ClampedArray]"]=E["[object Uint16Array]"]=E["[object Uint32Array]"]=!0,E["[object Error]"]=E[$]=E["[object WeakMap]"]=!1,e.exports=function e(t,n,M,j,S,I){var N,T=1&n,D=2&n,C=4&n;if(M&&(N=S?M(t,j,S,I):M(t)),void 0!==N)return N;if(!_(t))return t;var R=m(t);if(R){if(N=v(t),!T)return l(t,N)}else{var B=h(t),G=B==$||"[object GeneratorFunction]"==B;if(b(t))return c(t,T);if(B==A||B==k||G&&!S){if(N=D||G?{}:g(t),!T)return D?p(t,a(N,t)):u(t,o(N,t))}else{if(!E[B])return S?t:{};N=y(t,B,T)}}I||(I=new r);var L=I.get(t);if(L)return L;I.set(t,N),w(t)?t.forEach(function(r){N.add(e(r,n,M,r,t,I))}):x(t)&&t.forEach(function(r,s){N.set(s,e(r,n,M,s,t,I))});var U=R?void 0:(C?D?f:d:D?O:P)(t);return s(U||t,function(r,s){U&&(r=t[s=r]),i(N,s,e(r,n,M,s,t,I))}),N}},9344(e,t,n){var r=n(3805),s=Object.create,i=function(){function e(){}return function(t){if(!r(t))return{};if(s)return s(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();e.exports=i},909(e,t,n){var r=n(641),s=n(8329)(r);e.exports=s},6574(e,t,n){var r=n(909);e.exports=function(e,t){var n=[];return r(e,function(e,r,s){t(e,r,s)&&n.push(e)}),n}},2523(e){e.exports=function(e,t,n,r){for(var s=e.length,i=n+(r?1:-1);r?i--:++i<s;)if(t(e[i],i,e))return i;return-1}},3120(e,t,n){var r=n(4528),s=n(5891);e.exports=function e(t,n,i,o,a){var c=-1,l=t.length;for(i||(i=s),a||(a=[]);++c<l;){var u=t[c];n>0&&i(u)?n>1?e(u,n-1,i,o,a):r(a,u):o||(a[a.length]=u)}return a}},6649(e,t,n){var r=n(3221)();e.exports=r},641(e,t,n){var r=n(6649),s=n(5950);e.exports=function(e,t){return e&&r(e,t,s)}},7422(e,t,n){var r=n(1769),s=n(7797);e.exports=function(e,t){for(var n=0,i=(t=r(t,e)).length;null!=e&&n<i;)e=e[s(t[n++])];return n&&n==i?e:void 0}},2199(e,t,n){var r=n(4528),s=n(6449);e.exports=function(e,t,n){var i=t(e);return s(e)?i:r(i,n(e))}},2552(e,t,n){var r=n(1873),s=n(659),i=n(9350),o=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?s(e):i(e)}},8077(e){e.exports=function(e,t){return null!=e&&t in Object(e)}},7534(e,t,n){var r=n(2552),s=n(346);e.exports=function(e){return s(e)&&"[object Arguments]"==r(e)}},270(e,t,n){var r=n(7068),s=n(346);e.exports=function e(t,n,i,o,a){return t===n||(null==t||null==n||!s(t)&&!s(n)?t!=t&&n!=n:r(t,n,i,o,e,a))}},7068(e,t,n){var r=n(7217),s=n(5911),i=n(1986),o=n(689),a=n(5861),c=n(6449),l=n(3656),u=n(7167),p="[object Arguments]",d="[object Array]",f="[object Object]",h=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,v,y,g){var m=c(e),b=c(t),x=m?d:a(e),_=b?d:a(t),w=(x=x==p?f:x)==f,P=(_=_==p?f:_)==f,O=x==_;if(O&&l(e)){if(!l(t))return!1;m=!0,w=!1}if(O&&!w)return g||(g=new r),m||u(e)?s(e,t,n,v,y,g):i(e,t,x,n,v,y,g);if(!(1&n)){var k=w&&h.call(e,"__wrapped__"),$=P&&h.call(t,"__wrapped__");if(k||$){var A=k?e.value():e,E=$?t.value():t;return g||(g=new r),y(A,E,n,v,g)}}return!!O&&(g||(g=new r),o(e,t,n,v,y,g))}},9172(e,t,n){var r=n(5861),s=n(346);e.exports=function(e){return s(e)&&"[object Map]"==r(e)}},1799(e,t,n){var r=n(7217),s=n(270);e.exports=function(e,t,n,i){var o=n.length,a=o,c=!i;if(null==e)return!a;for(e=Object(e);o--;){var l=n[o];if(c&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++o<a;){var u=(l=n[o])[0],p=e[u],d=l[1];if(c&&l[2]){if(void 0===p&&!(u in e))return!1}else{var f=new r;if(i)var h=i(p,d,u,e,t,f);if(!(void 0===h?s(d,p,3,i,f):h))return!1}}return!0}},5083(e,t,n){var r=n(1882),s=n(7296),i=n(3805),o=n(7473),a=/^\[object .+?Constructor\]$/,c=Function.prototype,l=Object.prototype,u=c.toString,p=l.hasOwnProperty,d=RegExp("^"+u.call(p).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!i(e)||s(e))&&(r(e)?d:a).test(o(e))}},6038(e,t,n){var r=n(5861),s=n(346);e.exports=function(e){return s(e)&&"[object Set]"==r(e)}},4901(e,t,n){var r=n(2552),s=n(294),i=n(346),o={};o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Arguments]"]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object Boolean]"]=o["[object DataView]"]=o["[object Date]"]=o["[object Error]"]=o["[object Function]"]=o["[object Map]"]=o["[object Number]"]=o["[object Object]"]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object WeakMap]"]=!1,e.exports=function(e){return i(e)&&s(e.length)&&!!o[r(e)]}},5389(e,t,n){var r=n(3663),s=n(7978),i=n(3488),o=n(6449),a=n(583);e.exports=function(e){return"function"==typeof e?e:null==e?i:"object"==typeof e?o(e)?s(e[0],e[1]):r(e):a(e)}},8984(e,t,n){var r=n(5527),s=n(3650),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return s(e);var t=[];for(var n in Object(e))i.call(e,n)&&"constructor"!=n&&t.push(n);return t}},2903(e,t,n){var r=n(3805),s=n(5527),i=n(181),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return i(e);var t=s(e),n=[];for(var a in e)("constructor"!=a||!t&&o.call(e,a))&&n.push(a);return n}},3663(e,t,n){var r=n(1799),s=n(776),i=n(7197);e.exports=function(e){var t=s(e);return 1==t.length&&t[0][2]?i(t[0][0],t[0][1]):function(n){return n===e||r(n,e,t)}}},7978(e,t,n){var r=n(270),s=n(8156),i=n(631),o=n(8586),a=n(756),c=n(7197),l=n(7797);e.exports=function(e,t){return o(e)&&a(t)?c(l(e),t):function(n){var o=s(n,e);return void 0===o&&o===t?i(n,e):r(t,o,3)}}},6001(e,t,n){var r=n(7420),s=n(631);e.exports=function(e,t){return r(e,t,function(t,n){return s(e,n)})}},7420(e,t,n){var r=n(7422),s=n(3170),i=n(1769);e.exports=function(e,t,n){for(var o=-1,a=t.length,c={};++o<a;){var l=t[o],u=r(e,l);n(u,l)&&s(c,i(l,e),u)}return c}},7237(e){e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},7255(e,t,n){var r=n(7422);e.exports=function(e){return function(t){return r(t,e)}}},3170(e,t,n){var r=n(6547),s=n(1769),i=n(361),o=n(3805),a=n(7797);e.exports=function(e,t,n,c){if(!o(e))return e;for(var l=-1,u=(t=s(t,e)).length,p=u-1,d=e;null!=d&&++l<u;){var f=a(t[l]),h=n;if("__proto__"===f||"constructor"===f||"prototype"===f)return e;if(l!=p){var v=d[f];void 0===(h=c?c(v,f,d):void 0)&&(h=o(v)?v:i(t[l+1])?[]:{})}r(d,f,h),d=d[f]}return e}},9570(e,t,n){var r=n(7334),s=n(3243),i=n(3488),o=s?function(e,t){return s(e,"toString",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:i;e.exports=o},5160(e){e.exports=function(e,t,n){var r=-1,s=e.length;t<0&&(t=-t>s?0:s+t),(n=n>s?s:n)<0&&(n+=s),s=t>n?0:n-t>>>0,t>>>=0;for(var i=Array(s);++r<s;)i[r]=e[r+t];return i}},8096(e){e.exports=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}},7556(e,t,n){var r=n(1873),s=n(4932),i=n(6449),o=n(4394),a=r?r.prototype:void 0,c=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(i(t))return s(t,e)+"";if(o(t))return c?c.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},4128(e,t,n){var r=n(1800),s=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(s,""):e}},7301(e){e.exports=function(e){return function(t){return e(t)}}},9219(e){e.exports=function(e,t){return e.has(t)}},1769(e,t,n){var r=n(6449),s=n(8586),i=n(1802),o=n(3222);e.exports=function(e,t){return r(e)?e:s(e,t)?[e]:i(o(e))}},9653(e,t,n){var r=n(7828);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},3290(e,t,n){e=n.nmd(e);var r=n(9325),s=t&&!t.nodeType&&t,i=s&&e&&!e.nodeType&&e,o=i&&i.exports===s?r.Buffer:void 0,a=o?o.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var n=e.length,r=a?a(n):new e.constructor(n);return e.copy(r),r}},6169(e,t,n){var r=n(9653);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}},3201(e){var t=/\w*$/;e.exports=function(e){var n=new e.constructor(e.source,t.exec(e));return n.lastIndex=e.lastIndex,n}},3736(e,t,n){var r=n(1873),s=r?r.prototype:void 0,i=s?s.valueOf:void 0;e.exports=function(e){return i?Object(i.call(e)):{}}},1961(e,t,n){var r=n(9653);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}},3007(e){e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}},1791(e,t,n){var r=n(6547),s=n(3360);e.exports=function(e,t,n,i){var o=!n;n||(n={});for(var a=-1,c=t.length;++a<c;){var l=t[a],u=i?i(n[l],e[l],l,n,e):void 0;void 0===u&&(u=e[l]),o?s(n,l,u):r(n,l,u)}return n}},2271(e,t,n){var r=n(1791),s=n(4664);e.exports=function(e,t){return r(e,s(e),t)}},8948(e,t,n){var r=n(1791),s=n(6375);e.exports=function(e,t){return r(e,s(e),t)}},5481(e,t,n){var r=n(9325)["__core-js_shared__"];e.exports=r},8329(e,t,n){var r=n(4894);e.exports=function(e,t){return function(n,s){if(null==n)return n;if(!r(n))return e(n,s);for(var i=n.length,o=t?i:-1,a=Object(n);(t?o--:++o<i)&&!1!==s(a[o],o,a););return n}}},3221(e){e.exports=function(e){return function(t,n,r){for(var s=-1,i=Object(t),o=r(t),a=o.length;a--;){var c=o[e?a:++s];if(!1===n(i[c],c,i))break}return t}}},2006(e,t,n){var r=n(5389),s=n(4894),i=n(5950);e.exports=function(e){return function(t,n,o){var a=Object(t);if(!s(t)){var c=r(n,3);t=i(t),n=function(e){return c(a[e],e,a)}}var l=e(t,n,o);return l>-1?a[c?t[l]:l]:void 0}}},3243(e,t,n){var r=n(6110),s=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=s},5911(e,t,n){var r=n(8859),s=n(4248),i=n(9219);e.exports=function(e,t,n,o,a,c){var l=1&n,u=e.length,p=t.length;if(u!=p&&!(l&&p>u))return!1;var d=c.get(e),f=c.get(t);if(d&&f)return d==t&&f==e;var h=-1,v=!0,y=2&n?new r:void 0;for(c.set(e,t),c.set(t,e);++h<u;){var g=e[h],m=t[h];if(o)var b=l?o(m,g,h,t,e,c):o(g,m,h,e,t,c);if(void 0!==b){if(b)continue;v=!1;break}if(y){if(!s(t,function(e,t){if(!i(y,t)&&(g===e||a(g,e,n,o,c)))return y.push(t)})){v=!1;break}}else if(g!==m&&!a(g,m,n,o,c)){v=!1;break}}return c.delete(e),c.delete(t),v}},1986(e,t,n){var r=n(1873),s=n(7828),i=n(5288),o=n(5911),a=n(317),c=n(4247),l=r?r.prototype:void 0,u=l?l.valueOf:void 0;e.exports=function(e,t,n,r,l,p,d){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!p(new s(e),new s(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return i(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var f=a;case"[object Set]":var h=1&r;if(f||(f=c),e.size!=t.size&&!h)return!1;var v=d.get(e);if(v)return v==t;r|=2,d.set(e,t);var y=o(f(e),f(t),r,l,p,d);return d.delete(e),y;case"[object Symbol]":if(u)return u.call(e)==u.call(t)}return!1}},689(e,t,n){var r=n(2),s=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,i,o,a){var c=1&n,l=r(e),u=l.length;if(u!=r(t).length&&!c)return!1;for(var p=u;p--;){var d=l[p];if(!(c?d in t:s.call(t,d)))return!1}var f=a.get(e),h=a.get(t);if(f&&h)return f==t&&h==e;var v=!0;a.set(e,t),a.set(t,e);for(var y=c;++p<u;){var g=e[d=l[p]],m=t[d];if(i)var b=c?i(m,g,d,t,e,a):i(g,m,d,e,t,a);if(!(void 0===b?g===m||o(g,m,n,i,a):b)){v=!1;break}y||(y="constructor"==d)}if(v&&!y){var x=e.constructor,_=t.constructor;x==_||!("constructor"in e)||!("constructor"in t)||"function"==typeof x&&x instanceof x&&"function"==typeof _&&_ instanceof _||(v=!1)}return a.delete(e),a.delete(t),v}},8816(e,t,n){var r=n(5970),s=n(6757),i=n(2865);e.exports=function(e){return i(s(e,void 0,r),e+"")}},4840(e,t,n){var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=r},2(e,t,n){var r=n(2199),s=n(4664),i=n(5950);e.exports=function(e){return r(e,i,s)}},3349(e,t,n){var r=n(2199),s=n(6375),i=n(7241);e.exports=function(e){return r(e,i,s)}},2651(e,t,n){var r=n(4218);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},776(e,t,n){var r=n(756),s=n(5950);e.exports=function(e){for(var t=s(e),n=t.length;n--;){var i=t[n],o=e[i];t[n]=[i,o,r(o)]}return t}},6110(e,t,n){var r=n(5083),s=n(392);e.exports=function(e,t){var n=s(e,t);return r(n)?n:void 0}},8879(e,t,n){var r=n(4335)(Object.getPrototypeOf,Object);e.exports=r},659(e,t,n){var r=n(1873),s=Object.prototype,i=s.hasOwnProperty,o=s.toString,a=r?r.toStringTag:void 0;e.exports=function(e){var t=i.call(e,a),n=e[a];try{e[a]=void 0;var r=!0}catch(e){}var s=o.call(e);return r&&(t?e[a]=n:delete e[a]),s}},4664(e,t,n){var r=n(9770),s=n(3345),i=Object.prototype.propertyIsEnumerable,o=Object.getOwnPropertySymbols,a=o?function(e){return null==e?[]:(e=Object(e),r(o(e),function(t){return i.call(e,t)}))}:s;e.exports=a},6375(e,t,n){var r=n(4528),s=n(8879),i=n(4664),o=n(3345),a=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)r(t,i(e)),e=s(e);return t}:o;e.exports=a},5861(e,t,n){var r=n(5580),s=n(8223),i=n(2804),o=n(6545),a=n(8303),c=n(2552),l=n(7473),u="[object Map]",p="[object Promise]",d="[object Set]",f="[object WeakMap]",h="[object DataView]",v=l(r),y=l(s),g=l(i),m=l(o),b=l(a),x=c;(r&&x(new r(new ArrayBuffer(1)))!=h||s&&x(new s)!=u||i&&x(i.resolve())!=p||o&&x(new o)!=d||a&&x(new a)!=f)&&(x=function(e){var t=c(e),n="[object Object]"==t?e.constructor:void 0,r=n?l(n):"";if(r)switch(r){case v:return h;case y:return u;case g:return p;case m:return d;case b:return f}return t}),e.exports=x},392(e){e.exports=function(e,t){return null==e?void 0:e[t]}},9326(e,t,n){var r=n(1769),s=n(2428),i=n(6449),o=n(361),a=n(294),c=n(7797);e.exports=function(e,t,n){for(var l=-1,u=(t=r(t,e)).length,p=!1;++l<u;){var d=c(t[l]);if(!(p=null!=e&&n(e,d)))break;e=e[d]}return p||++l!=u?p:!!(u=null==e?0:e.length)&&a(u)&&o(d,u)&&(i(e)||s(e))}},2032(e,t,n){var r=n(1042);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},3862(e){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},6721(e,t,n){var r=n(1042),s=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return s.call(t,e)?t[e]:void 0}},2749(e,t,n){var r=n(1042),s=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:s.call(t,e)}},5749(e,t,n){var r=n(1042);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}},6189(e){var t=Object.prototype.hasOwnProperty;e.exports=function(e){var n=e.length,r=new e.constructor(n);return n&&"string"==typeof e[0]&&t.call(e,"index")&&(r.index=e.index,r.input=e.input),r}},7199(e,t,n){var r=n(9653),s=n(6169),i=n(3201),o=n(3736),a=n(1961);e.exports=function(e,t,n){var c=e.constructor;switch(t){case"[object ArrayBuffer]":return r(e);case"[object Boolean]":case"[object Date]":return new c(+e);case"[object DataView]":return s(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return a(e,n);case"[object Map]":case"[object Set]":return new c;case"[object Number]":case"[object String]":return new c(e);case"[object RegExp]":return i(e);case"[object Symbol]":return o(e)}}},5529(e,t,n){var r=n(9344),s=n(8879),i=n(5527);e.exports=function(e){return"function"!=typeof e.constructor||i(e)?{}:r(s(e))}},5891(e,t,n){var r=n(1873),s=n(2428),i=n(6449),o=r?r.isConcatSpreadable:void 0;e.exports=function(e){return i(e)||s(e)||!!(o&&e&&e[o])}},361(e){var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,n){var r=typeof e;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&t.test(e))&&e>-1&&e%1==0&&e<n}},6800(e,t,n){var r=n(5288),s=n(4894),i=n(361),o=n(3805);e.exports=function(e,t,n){if(!o(n))return!1;var a=typeof t;return!!("number"==a?s(n)&&i(t,n.length):"string"==a&&t in n)&&r(n[t],e)}},8586(e,t,n){var r=n(6449),s=n(4394),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!s(e))||o.test(e)||!i.test(e)||null!=t&&e in Object(t)}},4218(e){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},7296(e,t,n){var r,s=n(5481),i=(r=/[^.]+$/.exec(s&&s.keys&&s.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!i&&i in e}},5527(e){var t=Object.prototype;e.exports=function(e){var n=e&&e.constructor;return e===("function"==typeof n&&n.prototype||t)}},756(e,t,n){var r=n(3805);e.exports=function(e){return e==e&&!r(e)}},3702(e){e.exports=function(){this.__data__=[],this.size=0}},80(e,t,n){var r=n(6025),s=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():s.call(t,n,1),--this.size,0))}},4739(e,t,n){var r=n(6025);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},8655(e,t,n){var r=n(6025);e.exports=function(e){return r(this.__data__,e)>-1}},1175(e,t,n){var r=n(6025);e.exports=function(e,t){var n=this.__data__,s=r(n,e);return s<0?(++this.size,n.push([e,t])):n[s][1]=t,this}},3040(e,t,n){var r=n(1549),s=n(79),i=n(8223);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||s),string:new r}}},7670(e,t,n){var r=n(2651);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},289(e,t,n){var r=n(2651);e.exports=function(e){return r(this,e).get(e)}},4509(e,t,n){var r=n(2651);e.exports=function(e){return r(this,e).has(e)}},2949(e,t,n){var r=n(2651);e.exports=function(e,t){var n=r(this,e),s=n.size;return n.set(e,t),this.size+=n.size==s?0:1,this}},317(e){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}},7197(e){e.exports=function(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}}},2224(e,t,n){var r=n(104);e.exports=function(e){var t=r(e,function(e){return 500===n.size&&n.clear(),e}),n=t.cache;return t}},1042(e,t,n){var r=n(6110)(Object,"create");e.exports=r},3650(e,t,n){var r=n(4335)(Object.keys,Object);e.exports=r},181(e){e.exports=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}},6009(e,t,n){e=n.nmd(e);var r=n(4840),s=t&&!t.nodeType&&t,i=s&&e&&!e.nodeType&&e,o=i&&i.exports===s&&r.process,a=function(){try{return i&&i.require&&i.require("util").types||o&&o.binding&&o.binding("util")}catch(e){}}();e.exports=a},9350(e){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},4335(e){e.exports=function(e,t){return function(n){return e(t(n))}}},6757(e,t,n){var r=n(1033),s=Math.max;e.exports=function(e,t,n){return t=s(void 0===t?e.length-1:t,0),function(){for(var i=arguments,o=-1,a=s(i.length-t,0),c=Array(a);++o<a;)c[o]=i[t+o];o=-1;for(var l=Array(t+1);++o<t;)l[o]=i[o];return l[t]=n(c),r(e,this,l)}}},9325(e,t,n){var r=n(4840),s="object"==typeof self&&self&&self.Object===Object&&self,i=r||s||Function("return this")();e.exports=i},1380(e){e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},3840(e){e.exports=function(e){return this.__data__.has(e)}},4247(e){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}},2865(e,t,n){var r=n(9570),s=n(1811)(r);e.exports=s},1811(e){var t=Date.now;e.exports=function(e){var n=0,r=0;return function(){var s=t(),i=16-(s-r);if(r=s,i>0){if(++n>=800)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}},1420(e,t,n){var r=n(79);e.exports=function(){this.__data__=new r,this.size=0}},938(e){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},3605(e){e.exports=function(e){return this.__data__.get(e)}},9817(e){e.exports=function(e){return this.__data__.has(e)}},945(e,t,n){var r=n(79),s=n(8223),i=n(3661);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var o=n.__data__;if(!s||o.length<199)return o.push([e,t]),this.size=++n.size,this;n=this.__data__=new i(o)}return n.set(e,t),this.size=n.size,this}},1802(e,t,n){var r=n(2224),s=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,o=r(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(s,function(e,n,r,s){t.push(r?s.replace(i,"$1"):n||e)}),t});e.exports=o},7797(e,t,n){var r=n(4394);e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},7473(e){var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},1800(e){var t=/\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},1013(e,t,n){var r=n(5160),s=n(6800),i=n(1489),o=Math.ceil,a=Math.max;e.exports=function(e,t,n){t=(n?s(e,t,n):void 0===t)?1:a(i(t),0);var c=null==e?0:e.length;if(!c||t<1)return[];for(var l=0,u=0,p=Array(o(c/t));l<c;)p[u++]=r(e,l,l+=t);return p}},8055(e,t,n){var r=n(9999);e.exports=function(e){return r(e,5)}},7334(e){e.exports=function(e){return function(){return e}}},5288(e){e.exports=function(e,t){return e===t||e!=e&&t!=t}},7612(e,t,n){var r=n(9770),s=n(6574),i=n(5389),o=n(6449);e.exports=function(e,t){return(o(e)?r:s)(e,i(t,3))}},7309(e,t,n){var r=n(2006)(n(4713));e.exports=r},4713(e,t,n){var r=n(2523),s=n(5389),i=n(1489),o=Math.max;e.exports=function(e,t,n){var a=null==e?0:e.length;if(!a)return-1;var c=null==n?0:i(n);return c<0&&(c=o(a+c,0)),r(e,s(t,3),c)}},5970(e,t,n){var r=n(3120);e.exports=function(e){return null!=e&&e.length?r(e,1):[]}},8156(e,t,n){var r=n(7422);e.exports=function(e,t,n){var s=null==e?void 0:r(e,t);return void 0===s?n:s}},631(e,t,n){var r=n(8077),s=n(9326);e.exports=function(e,t){return null!=e&&s(e,t,r)}},3488(e){e.exports=function(e){return e}},2428(e,t,n){var r=n(7534),s=n(346),i=Object.prototype,o=i.hasOwnProperty,a=i.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(e){return s(e)&&o.call(e,"callee")&&!a.call(e,"callee")};e.exports=c},6449(e){var t=Array.isArray;e.exports=t},4894(e,t,n){var r=n(1882),s=n(294);e.exports=function(e){return null!=e&&s(e.length)&&!r(e)}},3656(e,t,n){e=n.nmd(e);var r=n(9325),s=n(9935),i=t&&!t.nodeType&&t,o=i&&e&&!e.nodeType&&e,a=o&&o.exports===i?r.Buffer:void 0,c=(a?a.isBuffer:void 0)||s;e.exports=c},1882(e,t,n){var r=n(2552),s=n(3805);e.exports=function(e){if(!s(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},294(e){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},7730(e,t,n){var r=n(9172),s=n(7301),i=n(6009),o=i&&i.isMap,a=o?s(o):r;e.exports=a},3805(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},346(e){e.exports=function(e){return null!=e&&"object"==typeof e}},1331(e,t,n){var r=n(2552),s=n(8879),i=n(346),o=Function.prototype,a=Object.prototype,c=o.toString,l=a.hasOwnProperty,u=c.call(Object);e.exports=function(e){if(!i(e)||"[object Object]"!=r(e))return!1;var t=s(e);if(null===t)return!0;var n=l.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==u}},8440(e,t,n){var r=n(6038),s=n(7301),i=n(6009),o=i&&i.isSet,a=o?s(o):r;e.exports=a},4394(e,t,n){var r=n(2552),s=n(346);e.exports=function(e){return"symbol"==typeof e||s(e)&&"[object Symbol]"==r(e)}},7167(e,t,n){var r=n(4901),s=n(7301),i=n(6009),o=i&&i.isTypedArray,a=o?s(o):r;e.exports=a},5950(e,t,n){var r=n(695),s=n(8984),i=n(4894);e.exports=function(e){return i(e)?r(e):s(e)}},7241(e,t,n){var r=n(695),s=n(2903),i=n(4894);e.exports=function(e){return i(e)?r(e,!0):s(e)}},1505(e,t,n){var r=n(9999),s=n(3663);e.exports=function(e){return s(r(e,1))}},104(e,t,n){var r=n(3661);function s(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,s=t?t.apply(this,r):r[0],i=n.cache;if(i.has(s))return i.get(s);var o=e.apply(this,r);return n.cache=i.set(s,o)||i,o};return n.cache=new(s.Cache||r),n}s.Cache=r,e.exports=s},4383(e,t,n){var r=n(6001),s=n(8816)(function(e,t){return null==e?{}:r(e,t)});e.exports=s},583(e,t,n){var r=n(7237),s=n(7255),i=n(8586),o=n(7797);e.exports=function(e){return i(e)?r(o(e)):s(e)}},3345(e){e.exports=function(){return[]}},9935(e){e.exports=function(){return!1}},7400(e,t,n){var r=n(9374),s=1/0;e.exports=function(e){return e?(e=r(e))===s||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}},1489(e,t,n){var r=n(7400);e.exports=function(e){var t=r(e),n=t%1;return t==t?n?t-n:t:0}},9374(e,t,n){var r=n(4128),s=n(3805),i=n(4394),o=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(i(e))return NaN;if(s(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=s(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=a.test(e);return n||c.test(e)?l(e.slice(2),n?2:8):o.test(e)?NaN:+e}},3222(e,t,n){var r=n(7556);e.exports=function(e){return null==e?"":r(e)}},2960(e,t,n){"use strict";n.d(t,{Tw:()=>u,Zz:()=>l,y$:()=>c});var r=n(9379);function s(e){return"Minified Redux error #"+e+"; visit https://redux.js.org/Errors?code="+e+" for the full message or use the non-minified dev environment for full errors. "}var i="function"==typeof Symbol&&Symbol.observable||"@@observable",o=function(){return Math.random().toString(36).substring(7).split("").join(".")},a={INIT:"@@redux/INIT"+o(),REPLACE:"@@redux/REPLACE"+o(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+o()}};function c(e,t,n){var r;if("function"==typeof t&&"function"==typeof n||"function"==typeof n&&"function"==typeof arguments[3])throw new Error(s(0));if("function"==typeof t&&void 0===n&&(n=t,t=void 0),void 0!==n){if("function"!=typeof n)throw new Error(s(1));return n(c)(e,t)}if("function"!=typeof e)throw new Error(s(2));var o=e,l=t,u=[],p=u,d=!1;function f(){p===u&&(p=u.slice())}function h(){if(d)throw new Error(s(3));return l}function v(e){if("function"!=typeof e)throw new Error(s(4));if(d)throw new Error(s(5));var t=!0;return f(),p.push(e),function(){if(t){if(d)throw new Error(s(6));t=!1,f();var n=p.indexOf(e);p.splice(n,1),u=null}}}function y(e){if(!function(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}(e))throw new Error(s(7));if(void 0===e.type)throw new Error(s(8));if(d)throw new Error(s(9));try{d=!0,l=o(l,e)}finally{d=!1}for(var t=u=p,n=0;n<t.length;n++)(0,t[n])();return e}return y({type:a.INIT}),(r={dispatch:y,subscribe:v,getState:h,replaceReducer:function(e){if("function"!=typeof e)throw new Error(s(10));o=e,y({type:a.REPLACE})}})[i]=function(){var e,t=v;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new Error(s(11));function n(){e.next&&e.next(h())}return n(),{unsubscribe:t(n)}}})[i]=function(){return this},e},r}function l(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}})}function u(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),i=function(){throw new Error(s(15))},o={getState:n.getState,dispatch:function(){return i.apply(void 0,arguments)}},a=t.map(function(e){return e(o)});return i=l.apply(void 0,a)(n.dispatch),(0,r.A)((0,r.A)({},n),{},{dispatch:i})}}}},6178(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.diffAny=t.diffObjects=t.diffArrays=t.intersection=t.subtract=t.isDestructive=void 0;var r=n(2417);function s(e,t){var n={};for(var s in e)r.hasOwnProperty.call(e,s)&&void 0!==e[s]&&(n[s]=1);for(var i in t)r.hasOwnProperty.call(t,i)&&void 0!==t[i]&&delete n[i];return Object.keys(n)}function i(e){for(var t=e.length,n={},s=0;s<t;s++){var i=e[s];for(var o in i)r.hasOwnProperty.call(i,o)&&void 0!==i[o]&&(n[o]=(n[o]||0)+1)}for(var o in n)n[o]<t&&delete n[o];return Object.keys(n)}function o(e,t){return{operations:e.operations.concat(t),cost:e.cost+1}}function a(e,t,n,r){void 0===r&&(r=l);var s={"0,0":{operations:[],cost:0}},i=isNaN(e.length)||e.length<=0?0:e.length,a=isNaN(t.length)||t.length<=0?0:t.length;return function i(a,c){var l="".concat(a,",").concat(c),u=s[l];if(void 0===u){if(a>0&&c>0&&!r(e[a-1],t[c-1],n.add(String(a-1))).length)u=i(a-1,c-1);else{var p=[];if(a>0){var d=i(a-1,c),f={op:"remove",index:a-1};p.push(o(d,f))}if(c>0){var h=i(a,c-1),v={op:"add",index:a-1,value:t[c-1]};p.push(o(h,v))}if(a>0&&c>0){var y=i(a-1,c-1),g={op:"replace",index:a-1,original:e[a-1],value:t[c-1]};p.push(o(y,g))}u=p.sort(function(e,t){return e.cost-t.cost})[0]}s[l]=u}return u}(i,a).operations.reduce(function(e,t){var s=e[0],o=e[1];if(function(e){return"add"===e.op}(t)){var a=t.index+1+o,c=a<i+o?String(a):"-",l={op:t.op,path:n.add(c).toString(),value:t.value};return[s.concat(l),o+1]}if(function(e){return"remove"===e.op}(t))return l={op:t.op,path:n.add(String(t.index+o)).toString()},[s.concat(l),o-1];var u=n.add(String(t.index+o)),p=r(t.original,t.value,u);return[s.concat.apply(s,p),o]},[[],0])[0]}function c(e,t,n,r){void 0===r&&(r=l);var o=[];return s(e,t).forEach(function(e){o.push({op:"remove",path:n.add(e).toString()})}),s(t,e).forEach(function(e){o.push({op:"add",path:n.add(e).toString(),value:t[e]})}),i([e,t]).forEach(function(s){o.push.apply(o,r(e[s],t[s],n.add(s)))}),o}function l(e,t,n,s){if(void 0===s&&(s=l),e===t)return[];var i=(0,r.objectType)(e),o=(0,r.objectType)(t);return"array"==i&&"array"==o?a(e,t,n,s):"object"==i&&"object"==o?c(e,t,n,s):[{op:"replace",path:n.toString(),value:t}]}t.isDestructive=function(e){var t=e.op;return"remove"===t||"replace"===t||"copy"===t||"move"===t},t.subtract=s,t.intersection=i,t.diffArrays=a,t.diffObjects=c,t.diffAny=l},1337(e,t,n){"use strict";t.B8=t.X6=void 0;var r=n(9704),s=n(7855),i=n(6178);t.X6=function(e,t){return t.map(function(t){return(0,s.apply)(e,t)})},t.B8=function(e,t,n){var s=new r.Pointer;return(n?function(e){return function t(n,r,s){var o=e(n,r,s);return Array.isArray(o)?o:(0,i.diffAny)(n,r,s,t)}}(n):i.diffAny)(e,t,s)}},7855(e,t,n){"use strict";var r,s=this&&this.__extends||(r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},r(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0}),t.apply=t.InvalidOperationError=t.test=t.copy=t.move=t.replace=t.remove=t.add=t.TestError=t.MissingError=void 0;var i=n(9704),o=n(2417),a=n(6178),c=function(e){function t(t){var n=e.call(this,"Value required at path: ".concat(t))||this;return n.path=t,n.name="MissingError",n}return s(t,e),t}(Error);t.MissingError=c;var l=function(e){function t(t,n){var r=e.call(this,"Test failed: ".concat(t," != ").concat(n))||this;return r.actual=t,r.expected=n,r.name="TestError",r}return s(t,e),t}(Error);function u(e,t,n){if(Array.isArray(e))if("-"==t)e.push(n);else{var r=parseInt(t,10);e.splice(r,0,n)}else e[t]=n}function p(e,t){if(Array.isArray(e)){var n=parseInt(t,10);e.splice(n,1)}else delete e[t]}function d(e,t){var n=i.Pointer.fromJSON(t.path).evaluate(e);return void 0===n.parent?new c(t.path):(u(n.parent,n.key,(0,o.clone)(t.value)),null)}function f(e,t){var n=i.Pointer.fromJSON(t.path).evaluate(e);return void 0===n.value?new c(t.path):(p(n.parent,n.key),null)}function h(e,t){var n=i.Pointer.fromJSON(t.path).evaluate(e);if(null===n.parent)return new c(t.path);if(Array.isArray(n.parent)){if(parseInt(n.key,10)>=n.parent.length)return new c(t.path)}else if(void 0===n.value)return new c(t.path);return n.parent[n.key]=(0,o.clone)(t.value),null}function v(e,t){var n=i.Pointer.fromJSON(t.from).evaluate(e);if(void 0===n.value)return new c(t.from);var r=i.Pointer.fromJSON(t.path).evaluate(e);return void 0===r.parent?new c(t.path):(p(n.parent,n.key),u(r.parent,r.key,n.value),null)}function y(e,t){var n=i.Pointer.fromJSON(t.from).evaluate(e);if(void 0===n.value)return new c(t.from);var r=i.Pointer.fromJSON(t.path).evaluate(e);return void 0===r.parent?new c(t.path):(u(r.parent,r.key,(0,o.clone)(n.value)),null)}function g(e,t){var n=i.Pointer.fromJSON(t.path).evaluate(e);return(0,a.diffAny)(n.value,t.value,new i.Pointer).length?new l(n.value,t.value):null}t.TestError=l,t.add=d,t.remove=f,t.replace=h,t.move=v,t.copy=y,t.test=g;var m=function(e){function t(t){var n=e.call(this,"Invalid operation: ".concat(t.op))||this;return n.operation=t,n.name="InvalidOperationError",n}return s(t,e),t}(Error);t.InvalidOperationError=m,t.apply=function(e,t){switch(t.op){case"add":return d(e,t);case"remove":return f(e,t);case"replace":return h(e,t);case"move":return v(e,t);case"copy":return y(e,t);case"test":return g(e,t)}return new m(t)}},9704(e,t){"use strict";function n(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function r(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}Object.defineProperty(t,"__esModule",{value:!0}),t.Pointer=t.escapeToken=t.unescapeToken=void 0,t.unescapeToken=n,t.escapeToken=r;var s=function(){function e(e){void 0===e&&(e=[""]),this.tokens=e}return e.fromJSON=function(t){var r=t.split("/").map(n);if(""!==r[0])throw new Error("Invalid JSON Pointer: ".concat(t));return new e(r)},e.prototype.toString=function(){return this.tokens.map(r).join("/")},e.prototype.evaluate=function(e){for(var t=null,n="",r=e,s=1,i=this.tokens.length;s<i;s++)t=r,"__proto__"!=(n=this.tokens[s])&&"constructor"!=n&&"prototype"!=n&&(r=(t||{})[n]);return{parent:t,key:n,value:r}},e.prototype.get=function(e){return this.evaluate(e).value},e.prototype.set=function(e,t){var n=this.evaluate(e);n.parent&&(n.parent[n.key]=t)},e.prototype.push=function(e){this.tokens.push(e)},e.prototype.add=function(t){return new e(this.tokens.concat(String(t)))},e}();t.Pointer=s},2417(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.clone=t.objectType=t.hasOwnProperty=void 0,t.hasOwnProperty=Object.prototype.hasOwnProperty,t.objectType=function(e){return void 0===e?"undefined":null===e?"null":Array.isArray(e)?"array":typeof e},t.clone=function e(n){if(null==(r=n)||"object"!=typeof r)return n;var r;if(n.constructor==Array){for(var s=n.length,i=new Array(s),o=0;o<s;o++)i[o]=e(n[o]);return i}if(n.constructor==Date)return new Date(+n);var a={};for(var c in n)t.hasOwnProperty.call(n,c)&&(a[c]=e(n[c]));return a}},2791(e,t,n){!function(e){"use strict";if(!e.setImmediate){var t,n,r,s,i,o=1,a={},c=!1,l=e.document,u=Object.getPrototypeOf&&Object.getPrototypeOf(e);u=u&&u.setTimeout?u:e,"[object process]"==={}.toString.call(e.process)?t=function(e){process.nextTick(function(){d(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?(s="setImmediate$"+Math.random()+"$",i=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&d(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",i,!1):e.attachEvent("onmessage",i),t=function(t){e.postMessage(s+t,"*")}):e.MessageChannel?((r=new MessageChannel).port1.onmessage=function(e){d(e.data)},t=function(e){r.port2.postMessage(e)}):l&&"onreadystatechange"in l.createElement("script")?(n=l.documentElement,t=function(e){var t=l.createElement("script");t.onreadystatechange=function(){d(e),t.onreadystatechange=null,n.removeChild(t),t=null},n.appendChild(t)}):t=function(e){setTimeout(d,0,e)},u.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var n=new Array(arguments.length-1),r=0;r<n.length;r++)n[r]=arguments[r+1];var s={callback:e,args:n};return a[o]=s,t(o),o++},u.clearImmediate=p}function p(e){delete a[e]}function d(e){if(c)setTimeout(d,0,e);else{var t=a[e];if(t){c=!0;try{!function(e){var t=e.callback,n=e.args;switch(n.length){case 0:t();break;case 1:t(n[0]);break;case 2:t(n[0],n[1]);break;case 3:t(n[0],n[1],n[2]);break;default:t.apply(void 0,n)}}(t)}finally{p(e),c=!1}}}}}("undefined"==typeof self?void 0===n.g?this:n.g:self)},7627(e,t,n){"use strict";function r(e,t){const{duplicates:n,circular:r}=i(e),s=[...n],o=new Map(s.map(e=>[e,null])),a=!1!==t?.deduplicateInstances;return JSON.stringify(e,(e,t)=>{if("object"==typeof t&&null!==t&&!Array.isArray(t)){const e=o.get(t),n=r.has(t);if("number"==typeof e&&n)return{_instanceReference:e};if(a&&"number"==typeof e)return{_instanceReference:e};const i={...t};if(null===e){const e=s.indexOf(t);o.set(t,e),i._instanceReferenceId=e}else a||"number"!=typeof e||(i._instanceReference=e);return t.constructor&&t.constructor!==Object&&t.constructor!==Array&&(i._constructorName=t.constructor.name),i}if(Number.isNaN(t))return"Wacksonan";if(Object.is(t,-0))return"Wacksonegativezero";switch(t){case 1/0:return"Wacksonfinity";case-1/0:return"Wacksonegativinfinity";case void 0:return"Wacksondefined";default:return t}},t?.space)}function s(e,t){const n=JSON.parse(e,(e,t)=>{switch(t){case"Wacksonfinity":return 1/0;case"Wacksonegativinfinity":return-1/0;case"Wacksondefined":return;case"Wacksonan":return NaN;case"Wacksonegativezero":return-0;default:return t}}),r=new Map;return i(n,e=>{if(null!=e._instanceReferenceId){const t=e._instanceReferenceId;delete e._instanceReferenceId,r.set(t,e)}if(t&&e._constructorName){const n=t[e._constructorName];if(!n)throw new Error(`Constructor ${e._constructorName} is not in registry`);Object.setPrototypeOf(e,n.prototype),delete e._constructorName}}),i(n,(e,t,n)=>{if(null!=e?._instanceReference){const s=r.get(e._instanceReference);if(!s)throw new Error(`Unknown _instanceReference: ${e._instanceReference}`);t[n]=s}}),n}function i(e,t,n=new WeakSet,r=null,s=null,o=new Set,a=new Set,c=new WeakSet){if("object"!=typeof e||null===e)return{duplicates:o,circular:a};if(n.has(e))return o.add(e),void(c.has(e)&&a.add(e));if(n.add(e),c.add(e),t?.(e,r,s),Array.isArray(e))for(let r=0;r<e.length;r++)i(e[r],t,n,e,r,o,a,c);else for(const r of Object.keys(e))i(e[r],t,n,e,r,o,a,c);return c.delete(e),{duplicates:o,circular:a}}n.r(t),n.d(t,{deserialize:()=>s,serialize:()=>r})},4467(e,t,n){"use strict";n.d(t,{A:()=>s});var r=n(9922);function s(e,t,n){return(t=(0,r.A)(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},9379(e,t,n){"use strict";n.d(t,{A:()=>i});var r=n(4467);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach(function(t){(0,r.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}},2327(e,t,n){"use strict";n.d(t,{A:()=>s});var r=n(2284);function s(e,t){if("object"!=(0,r.A)(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var s=n.call(e,t||"default");if("object"!=(0,r.A)(s))return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},9922(e,t,n){"use strict";n.d(t,{A:()=>i});var r=n(2284),s=n(2327);function i(e){var t=(0,s.A)(e,"string");return"symbol"==(0,r.A)(t)?t:t+""}},2284(e,t,n){"use strict";function r(e){return r="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},r(e)}n.d(t,{A:()=>r})},4454(e,t,n){"use strict";function r(e){if(e)return function(e){for(var t in r.prototype)e[t]=r.prototype[t];return e}(e)}n.d(t,{v:()=>r}),r.prototype.on=r.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},r.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var s=0;s<r.length;s++)if((n=r[s])===t||n.fn===t){r.splice(s,1);break}return 0===r.length&&delete this._callbacks["$"+e],this},r.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){r=0;for(var s=(n=n.slice(0)).length;r<s;++r)n[r].apply(this,t)}return this},r.prototype.emitReserved=r.prototype.emit,r.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},r.prototype.hasListeners=function(e){return!!this.listeners(e).length}},6951(e,t,n){"use strict";n.d(t,{_:()=>s});let r=!1;try{r="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(e){}const s=r},8026(e,t,n){"use strict";function r(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function s(e){let t={},n=e.split("&");for(let e=0,r=n.length;e<r;e++){let r=n[e].split("=");t[decodeURIComponent(r[0])]=decodeURIComponent(r[1])}return t}n.d(t,{D:()=>s,l:()=>r})},9450(e,t,n){"use strict";n.d(t,{q:()=>i});const r=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,s=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function i(e){if(e.length>8e3)throw"URI too long";const t=e,n=e.indexOf("["),i=e.indexOf("]");-1!=n&&-1!=i&&(e=e.substring(0,n)+e.substring(n,i).replace(/:/g,";")+e.substring(i,e.length));let o=r.exec(e||""),a={},c=14;for(;c--;)a[s[c]]=o[c]||"";return-1!=n&&-1!=i&&(a.source=t,a.host=a.host.substring(1,a.host.length-1).replace(/;/g,":"),a.authority=a.authority.replace("[","").replace("]","").replace(/;/g,":"),a.ipv6uri=!0),a.pathNames=function(e,t){const n=t.replace(/\/{2,9}/g,"/").split("/");return"/"!=t.slice(0,1)&&0!==t.length||n.splice(0,1),"/"==t.slice(-1)&&n.splice(n.length-1,1),n}(0,a.path),a.queryKey=function(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(e,t,r){t&&(n[t]=r)}),n}(0,a.query),a}},459(e,t,n){"use strict";n.d(t,{dY:()=>r,lj:()=>s,m2:()=>o,rs:()=>i});const r="function"==typeof Promise&&"function"==typeof Promise.resolve?e=>Promise.resolve().then(e):(e,t)=>t(e,0),s="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")(),i="arraybuffer";function o(){}},563(e,t,n){"use strict";n.d(t,{_7:()=>s._7,dY:()=>o.dY,qg:()=>i.q,yQ:()=>r.yQ});var r=n(6842),s=(n(1950),n(1198),n(4043)),i=n(9450),o=n(459);n(5536),n(9038),n(9529),n(8187),r.yQ.protocol},6842(e,t,n){"use strict";n.d(t,{yQ:()=>h});var r=n(1198),s=n(4043),i=n(8026),o=n(9450),a=n(4454),c=n(7723),l=n(459);const u="function"==typeof addEventListener&&"function"==typeof removeEventListener,p=[];u&&addEventListener("offline",()=>{p.forEach(e=>e())},!1);class d extends a.v{constructor(e,t){if(super(),this.binaryType=l.rs,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&"object"==typeof e&&(t=e,e=null),e){const n=(0,o.q)(e);t.hostname=n.host,t.secure="https"===n.protocol||"wss"===n.protocol,t.port=n.port,n.query&&(t.query=n.query)}else t.host&&(t.hostname=(0,o.q)(t.host).host);(0,s._7)(this,t),this.secure=null!=t.secure?t.secure:"undefined"!=typeof location&&"https:"===location.protocol,t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=t.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},t.transports.forEach(e=>{const t=e.prototype.name;this.transports.push(t),this._transportsByName[t]=e}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"==typeof this.opts.query&&(this.opts.query=(0,i.D)(this.opts.query)),u&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},p.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=(0,l.m2)()),this._open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=c.TB,t.transport=e,this.id&&(t.sid=this.id);const n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new this._transportsByName[e](n)}_open(){if(0===this.transports.length)return void this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);const e=this.opts.rememberUpgrade&&d.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket")?"websocket":this.transports[0];this.readyState="opening";const t=this.createTransport(e);t.open(),this.setTransport(t)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",e=>this._onClose("transport close",e))}onOpen(){this.readyState="open",d.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush()}_onPacket(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const t=new Error("server error");t.code=e.data,this._onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),"closed"!==this.readyState&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this._getWritablePackets();this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let t=0;t<this.writeBuffer.length;t++){const n=this.writeBuffer[t].data;if(n&&(e+=(0,s.dp)(n)),t>0&&e>this._maxPayload)return this.writeBuffer.slice(0,t);e+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const e=Date.now()>this._pingTimeoutTime;return e&&(this._pingTimeoutTime=0,(0,l.dY)(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),e}write(e,t,n){return this._sendPacket("message",e,t,n),this}send(e,t,n){return this._sendPacket("message",e,t,n),this}_sendPacket(e,t,n,r){if("function"==typeof t&&(r=t,t=void 0),"function"==typeof n&&(r=n,n=null),"closing"===this.readyState||"closed"===this.readyState)return;(n=n||{}).compress=!1!==n.compress;const s={type:e,data:t,options:n};this.emitReserved("packetCreate",s),this.writeBuffer.push(s),r&&this.once("flush",r),this.flush()}close(){const e=()=>{this._onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},n=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?n():e()}):this.upgrading?n():e()),this}_onError(e){if(d.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&"opening"===this.readyState)return this.transports.shift(),this._open();this.emitReserved("error",e),this._onClose("transport error",e)}_onClose(e,t){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),u&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const e=p.indexOf(this._offlineEventListener);-1!==e&&p.splice(e,1)}this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this._prevBufferLen=0}}}d.protocol=c.TB;class f extends d{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),"open"===this.readyState&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}_probe(e){let t=this.createTransport(e),n=!1;d.priorWebsocketSuccess=!1;const r=()=>{n||(t.send([{type:"ping",data:"probe"}]),t.once("packet",e=>{if(!n)if("pong"===e.type&&"probe"===e.data){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;d.priorWebsocketSuccess="websocket"===t.name,this.transport.pause(()=>{n||"closed"!==this.readyState&&(l(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{const e=new Error("probe error");e.transport=t.name,this.emitReserved("upgradeError",e)}}))};function s(){n||(n=!0,l(),t.close(),t=null)}const i=e=>{const n=new Error("probe error: "+e);n.transport=t.name,s(),this.emitReserved("upgradeError",n)};function o(){i("transport closed")}function a(){i("socket closed")}function c(e){t&&e.name!==t.name&&s()}const l=()=>{t.removeListener("open",r),t.removeListener("error",i),t.removeListener("close",o),this.off("close",a),this.off("upgrading",c)};t.once("open",r),t.once("error",i),t.once("close",o),this.once("close",a),this.once("upgrading",c),-1!==this._upgrades.indexOf("webtransport")&&"webtransport"!==e?this.setTimeoutFn(()=>{n||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){const t=[];for(let n=0;n<e.length;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}}class h extends f{constructor(e,t={}){const n="object"==typeof e?e:t;(!n.transports||n.transports&&"string"==typeof n.transports[0])&&(n.transports=(n.transports||["polling","websocket","webtransport"]).map(e=>r.T[e]).filter(e=>!!e)),super(e,n)}}},1950(e,t,n){"use strict";n.d(t,{o:()=>c});var r=n(7723),s=n(4454),i=n(4043),o=n(8026);class a extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type="TransportError"}}class c extends s.v{constructor(e){super(),this.writable=!1,(0,i._7)(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,n){return super.emitReserved("error",new a(e,t,n)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(e){"open"===this.readyState&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=(0,r.JD)(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){const e=this.opts.hostname;return-1===e.indexOf(":")?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&443!==Number(this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}_query(e){const t=(0,o.l)(e);return t.length?"?"+t:""}}},1198(e,t,n){"use strict";n.d(t,{T:()=>o});var r=n(9038),s=n(9529),i=n(8187);const o={websocket:s.WS,webtransport:i.WT,polling:r.xq}},5536(e,t,n){"use strict";n(661)},9038(e,t,n){"use strict";n.d(t,{xq:()=>f});var r=n(661),s=n(4454),i=n(4043),o=n(459),a=n(6951);function c(){}class l extends r.A{constructor(e){if(super(e),"undefined"!=typeof location){const t="https:"===location.protocol;let n=location.port;n||(n=t?"443":"80"),this.xd="undefined"!=typeof location&&e.hostname!==location.hostname||n!==e.port}}doWrite(e,t){const n=this.request({method:"POST",data:e});n.on("success",t),n.on("error",(e,t)=>{this.onError("xhr post error",e,t)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(e,t)=>{this.onError("xhr poll error",e,t)}),this.pollXhr=e}}class u extends s.v{constructor(e,t,n){super(),this.createRequest=e,(0,i._7)(this,n),this._opts=n,this._method=n.method||"GET",this._uri=t,this._data=void 0!==n.data?n.data:null,this._create()}_create(){var e;const t=(0,i.Up)(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this._opts.xd;const n=this._xhr=this.createRequest(t);try{n.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let e in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(e)&&n.setRequestHeader(e,this._opts.extraHeaders[e])}}catch(e){}if("POST"===this._method)try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{n.setRequestHeader("Accept","*/*")}catch(e){}null===(e=this._opts.cookieJar)||void 0===e||e.addCookies(n),"withCredentials"in n&&(n.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(n.timeout=this._opts.requestTimeout),n.onreadystatechange=()=>{var e;3===n.readyState&&(null===(e=this._opts.cookieJar)||void 0===e||e.parseCookies(n.getResponseHeader("set-cookie"))),4===n.readyState&&(200===n.status||1223===n.status?this._onLoad():this.setTimeoutFn(()=>{this._onError("number"==typeof n.status?n.status:0)},0))},n.send(this._data)}catch(e){return void this.setTimeoutFn(()=>{this._onError(e)},0)}"undefined"!=typeof document&&(this._index=u.requestsCount++,u.requests[this._index]=this)}_onError(e){this.emitReserved("error",e,this._xhr),this._cleanup(!0)}_cleanup(e){if(void 0!==this._xhr&&null!==this._xhr){if(this._xhr.onreadystatechange=c,e)try{this._xhr.abort()}catch(e){}"undefined"!=typeof document&&delete u.requests[this._index],this._xhr=null}}_onLoad(){const e=this._xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}if(u.requestsCount=0,u.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",p);else if("function"==typeof addEventListener){const e="onpagehide"in o.lj?"pagehide":"unload";addEventListener(e,p,!1)}function p(){for(let e in u.requests)u.requests.hasOwnProperty(e)&&u.requests[e].abort()}const d=function(){const e=h({xdomain:!1});return e&&null!==e.responseType}();class f extends l{constructor(e){super(e);const t=e&&e.forceBase64;this.supportsBinary=d&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new u(h,this.uri(),e)}}function h(e){const t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||a._))return new XMLHttpRequest}catch(e){}if(!t)try{return new(o.lj[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}},661(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1950),s=n(4043),i=n(7723);class o extends r.o{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";const t=()=>{this.readyState="paused",e()};if(this._polling||!this.writable){let e=0;this._polling&&(e++,this.once("pollComplete",function(){--e||t()})),this.writable||(e++,this.once("drain",function(){--e||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){(0,i.D)(e,this.socket.binaryType).forEach(e=>{if("opening"===this.readyState&&"open"===e.type&&this.onOpen(),"close"===e.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(e)}),"closed"!==this.readyState&&(this._polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this._poll())}doClose(){const e=()=>{this.write([{type:"close"}])};"open"===this.readyState?e():this.once("open",e)}write(e){this.writable=!1,(0,i.vy)(e,e=>{this.doWrite(e,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=(0,s.DU)()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}}},9529(e,t,n){"use strict";n.d(t,{WS:()=>u});var r=n(1950),s=n(4043),i=n(7723),o=n(459);const a="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();class c extends r.o{get name(){return"websocket"}doOpen(){const e=this.uri(),t=this.opts.protocols,n=a?{}:(0,s.Up)(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,n)}catch(e){return this.emitReserved("error",e)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const n=e[t],r=t===e.length-1;(0,i.Py)(n,this.supportsBinary,e=>{try{this.doWrite(n,e)}catch(e){}r&&(0,o.dY)(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){void 0!==this.ws&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=(0,s.DU)()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}}const l=o.lj.WebSocket||o.lj.MozWebSocket;class u extends c{createSocket(e,t,n){return a?new l(e,t,n):t?new l(e,t):new l(e)}doWrite(e,t){this.ws.send(t)}}},8187(e,t,n){"use strict";n.d(t,{WT:()=>o});var r=n(1950),s=n(459),i=n(7723);class o extends r.o{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{const t=(0,i.NJ)(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),r=(0,i.d1)();r.readable.pipeTo(e.writable),this._writer=r.writable.getWriter();const s=()=>{n.read().then(({done:e,value:t})=>{e||(this.onPacket(t),s())}).catch(e=>{})};s();const o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this._writer.write(o).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const n=e[t],r=t===e.length-1;this._writer.write(n).then(()=>{r&&(0,s.dY)(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;null===(e=this._transport)||void 0===e||e.close()}}},4043(e,t,n){"use strict";n.d(t,{DU:()=>l,Up:()=>s,_7:()=>a,dp:()=>c});var r=n(459);function s(e,...t){return t.reduce((t,n)=>(e.hasOwnProperty(n)&&(t[n]=e[n]),t),{})}const i=r.lj.setTimeout,o=r.lj.clearTimeout;function a(e,t){t.useNativeTimers?(e.setTimeoutFn=i.bind(r.lj),e.clearTimeoutFn=o.bind(r.lj)):(e.setTimeoutFn=r.lj.setTimeout.bind(r.lj),e.clearTimeoutFn=r.lj.clearTimeout.bind(r.lj))}function c(e){return"string"==typeof e?function(e){let t=0,n=0;for(let r=0,s=e.length;r<s;r++)t=e.charCodeAt(r),t<128?n+=1:t<2048?n+=2:t<55296||t>=57344?n+=3:(r++,n+=4);return n}(e):Math.ceil(1.33*(e.byteLength||e.size))}function l(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}},1905(e,t,n){"use strict";n.d(t,{X:()=>r,gq:()=>i,u3:()=>s});const r=Object.create(null);r.open="0",r.close="1",r.ping="2",r.pong="3",r.message="4",r.upgrade="5",r.noop="6";const s=Object.create(null);Object.keys(r).forEach(e=>{s[r[e]]=e});const i={type:"error",data:"parser error"}},188(e,t,n){"use strict";n.d(t,{D:()=>s});const r="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let e=0;e<64;e++)r["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(e)]=e;const s=e=>{let t,n,s,i,o,a=.75*e.length,c=e.length,l=0;"="===e[e.length-1]&&(a--,"="===e[e.length-2]&&a--);const u=new ArrayBuffer(a),p=new Uint8Array(u);for(t=0;t<c;t+=4)n=r[e.charCodeAt(t)],s=r[e.charCodeAt(t+1)],i=r[e.charCodeAt(t+2)],o=r[e.charCodeAt(t+3)],p[l++]=n<<2|s>>4,p[l++]=(15&s)<<4|i>>2,p[l++]=(3&i)<<6|63&o;return u}},1611(e,t,n){"use strict";n.d(t,{J:()=>o});var r=n(1905),s=n(188);const i="function"==typeof ArrayBuffer,o=(e,t)=>{if("string"!=typeof e)return{type:"message",data:c(e,t)};const n=e.charAt(0);return"b"===n?{type:"message",data:a(e.substring(1),t)}:r.u3[n]?e.length>1?{type:r.u3[n],data:e.substring(1)}:{type:r.u3[n]}:r.gq},a=(e,t)=>{if(i){const n=(0,s.D)(e);return c(n,t)}return{base64:!0,data:e}},c=(e,t)=>"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer},1459(e,t,n){"use strict";n.d(t,{P:()=>a,x:()=>p});var r=n(1905);const s="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),i="function"==typeof ArrayBuffer,o=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,a=({type:e,data:t},n,a)=>s&&t instanceof Blob?n?a(t):c(t,a):i&&(t instanceof ArrayBuffer||o(t))?n?a(t):c(new Blob([t]),a):a(r.X[e]+(t||"")),c=(e,t)=>{const n=new FileReader;return n.onload=function(){const e=n.result.split(",")[1];t("b"+(e||""))},n.readAsDataURL(e)};function l(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let u;function p(e,t){return s&&e.data instanceof Blob?e.data.arrayBuffer().then(l).then(t):i&&(e.data instanceof ArrayBuffer||o(e.data))?t(l(e.data)):void a(e,!1,e=>{u||(u=new TextEncoder),t(u.encode(e))})}},7723(e,t,n){"use strict";n.d(t,{D:()=>c,JD:()=>s.J,NJ:()=>f,Py:()=>r.P,TB:()=>h,d1:()=>l,vy:()=>a});var r=n(1459),s=n(1611),i=n(1905);const o=String.fromCharCode(30),a=(e,t)=>{const n=e.length,s=new Array(n);let i=0;e.forEach((e,a)=>{(0,r.P)(e,!1,e=>{s[a]=e,++i===n&&t(s.join(o))})})},c=(e,t)=>{const n=e.split(o),r=[];for(let e=0;e<n.length;e++){const i=(0,s.J)(n[e],t);if(r.push(i),"error"===i.type)break}return r};function l(){return new TransformStream({transform(e,t){(0,r.x)(e,n=>{const r=n.length;let s;if(r<126)s=new Uint8Array(1),new DataView(s.buffer).setUint8(0,r);else if(r<65536){s=new Uint8Array(3);const e=new DataView(s.buffer);e.setUint8(0,126),e.setUint16(1,r)}else{s=new Uint8Array(9);const e=new DataView(s.buffer);e.setUint8(0,127),e.setBigUint64(1,BigInt(r))}e.data&&"string"!=typeof e.data&&(s[0]|=128),t.enqueue(s),t.enqueue(n)})}})}let u;function p(e){return e.reduce((e,t)=>e+t.length,0)}function d(e,t){if(e[0].length===t)return e.shift();const n=new Uint8Array(t);let r=0;for(let s=0;s<t;s++)n[s]=e[0][r++],r===e[0].length&&(e.shift(),r=0);return e.length&&r<e[0].length&&(e[0]=e[0].slice(r)),n}function f(e,t){u||(u=new TextDecoder);const n=[];let r=0,o=-1,a=!1;return new TransformStream({transform(c,l){for(n.push(c);;){if(0===r){if(p(n)<1)break;const e=d(n,1);a=!(128&~e[0]),o=127&e[0],r=o<126?3:126===o?1:2}else if(1===r){if(p(n)<2)break;const e=d(n,2);o=new DataView(e.buffer,e.byteOffset,e.length).getUint16(0),r=3}else if(2===r){if(p(n)<8)break;const e=d(n,8),t=new DataView(e.buffer,e.byteOffset,e.length),s=t.getUint32(0);if(s>Math.pow(2,21)-1){l.enqueue(i.gq);break}o=s*Math.pow(2,32)+t.getUint32(4),r=3}else{if(p(n)<o)break;const e=d(n,o);l.enqueue((0,s.J)(a?e:u.decode(e),t)),r=0}if(0===o||o>e){l.enqueue(i.gq);break}}}})}const h=4},2016(e,t,n){"use strict";n.r(t),n.d(t,{Expression:()=>j,Parser:()=>Ue,default:()=>Fe});var r="INUMBER",s="IOP1",i="IOP2",o="IOP3",a="IVAR",c="IVARNAME",l="IFUNCALL",u="IFUNDEF",p="IEXPR",d="IEXPREVAL",f="IMEMBER",h="IENDSTATEMENT",v="IARRAY";function y(e,t){this.type=e,this.value=null!=t?t:0}function g(e){return new y(s,e)}function m(e){return new y(i,e)}function b(e){return new y(o,e)}function x(e,t,n,l,u){for(var d,h,g,m,b=[],_=[],w=0;w<e.length;w++){var P=e[w],O=P.type;if(O===r||O===c)Array.isArray(P.value)?b.push.apply(b,x(P.value.map(function(e){return new y(r,e)}).concat(new y(v,P.value.length)),t,n,l,u)):b.push(P);else if(O===a&&u.hasOwnProperty(P.value))P=new y(r,u[P.value]),b.push(P);else if(O===i&&b.length>1)h=b.pop(),d=b.pop(),m=n[P.value],P=new y(r,m(d.value,h.value)),b.push(P);else if(O===o&&b.length>2)g=b.pop(),h=b.pop(),d=b.pop(),"?"===P.value?b.push(d.value?h.value:g.value):(m=l[P.value],P=new y(r,m(d.value,h.value,g.value)),b.push(P));else if(O===s&&b.length>0)d=b.pop(),m=t[P.value],P=new y(r,m(d.value)),b.push(P);else if(O===p){for(;b.length>0;)_.push(b.shift());_.push(new y(p,x(P.value,t,n,l,u)))}else if(O===f&&b.length>0)d=b.pop(),b.push(new y(r,d.value[P.value]));else{for(;b.length>0;)_.push(b.shift());_.push(P)}}for(;b.length>0;)_.push(b.shift());return _}function _(e,t,n){for(var r=[],c=0;c<e.length;c++){var l=e[c],u=l.type;if(u===a&&l.value===t)for(var d=0;d<n.tokens.length;d++){var f,h=n.tokens[d];f=h.type===s?g(h.value):h.type===i?m(h.value):h.type===o?b(h.value):new y(h.type,h.value),r.push(f)}else u===p?r.push(new y(p,_(l.value,t,n))):r.push(l)}return r}function w(e,t,n){var y,g,m,b,x,_,$=[];if(O(e))return k(e,n);for(var A=e.length,E=0;E<A;E++){var M=e[E],j=M.type;if(j===r||j===c)$.push(M.value);else if(j===i)g=$.pop(),y=$.pop(),"and"===M.value?$.push(!!y&&!!w(g,t,n)):"or"===M.value?$.push(!!y||!!w(g,t,n)):"="===M.value?(b=t.binaryOps[M.value],$.push(b(y,w(g,t,n),n))):(b=t.binaryOps[M.value],$.push(b(k(y,n),k(g,n))));else if(j===o)m=$.pop(),g=$.pop(),y=$.pop(),"?"===M.value?$.push(w(y?g:m,t,n)):(b=t.ternaryOps[M.value],$.push(b(k(y,n),k(g,n),k(m,n))));else if(j===a)if(M.value in t.functions)$.push(t.functions[M.value]);else if(M.value in t.unaryOps&&t.parser.isOperatorEnabled(M.value))$.push(t.unaryOps[M.value]);else{var S=n[M.value];if(void 0===S)throw new Error("undefined variable: "+M.value);$.push(S)}else if(j===s)y=$.pop(),b=t.unaryOps[M.value],$.push(b(k(y,n)));else if(j===l){for(_=M.value,x=[];_-- >0;)x.unshift(k($.pop(),n));if(!(b=$.pop()).apply||!b.call)throw new Error(b+" is not a function");$.push(b.apply(void 0,x))}else if(j===u)$.push(function(){for(var e=$.pop(),r=[],s=M.value;s-- >0;)r.unshift($.pop());var i=$.pop(),o=function(){for(var s=Object.assign({},n),i=0,o=r.length;i<o;i++)s[r[i]]=arguments[i];return w(e,t,s)};return Object.defineProperty(o,"name",{value:i,writable:!1}),n[i]=o,o}());else if(j===p)$.push(P(M,t));else if(j===d)$.push(M);else if(j===f)y=$.pop(),$.push(y[M.value]);else if(j===h)$.pop();else{if(j!==v)throw new Error("invalid Expression");for(_=M.value,x=[];_-- >0;)x.unshift($.pop());$.push(x)}}if($.length>1)throw new Error("invalid Expression (parity)");return 0===$[0]?0:k($[0],n)}function P(e,t,n){return O(e)?e:{type:d,value:function(n){return w(e.value,t,n)}}}function O(e){return e&&e.type===d}function k(e,t){return O(e)?e.value(t):e}function $(e,t){for(var n,d,y,g,m,b,x=[],_=0;_<e.length;_++){var w=e[_],P=w.type;if(P===r)"number"==typeof w.value&&w.value<0?x.push("("+w.value+")"):Array.isArray(w.value)?x.push("["+w.value.map(A).join(", ")+"]"):x.push(A(w.value));else if(P===i)d=x.pop(),n=x.pop(),g=w.value,t?"^"===g?x.push("Math.pow("+n+", "+d+")"):"and"===g?x.push("(!!"+n+" && !!"+d+")"):"or"===g?x.push("(!!"+n+" || !!"+d+")"):"||"===g?x.push("(function(a,b){ return Array.isArray(a) && Array.isArray(b) ? a.concat(b) : String(a) + String(b); }(("+n+"),("+d+")))"):"=="===g?x.push("("+n+" === "+d+")"):"!="===g?x.push("("+n+" !== "+d+")"):"["===g?x.push(n+"[("+d+") | 0]"):x.push("("+n+" "+g+" "+d+")"):"["===g?x.push(n+"["+d+"]"):x.push("("+n+" "+g+" "+d+")");else if(P===o){if(y=x.pop(),d=x.pop(),n=x.pop(),"?"!==(g=w.value))throw new Error("invalid Expression");x.push("("+n+" ? "+d+" : "+y+")")}else if(P===a||P===c)x.push(w.value);else if(P===s)n=x.pop(),"-"===(g=w.value)||"+"===g?x.push("("+g+n+")"):t?"not"===g?x.push("(!"+n+")"):"!"===g?x.push("fac("+n+")"):x.push(g+"("+n+")"):"!"===g?x.push("("+n+"!)"):x.push("("+g+" "+n+")");else if(P===l){for(b=w.value,m=[];b-- >0;)m.unshift(x.pop());g=x.pop(),x.push(g+"("+m.join(", ")+")")}else if(P===u){for(d=x.pop(),b=w.value,m=[];b-- >0;)m.unshift(x.pop());n=x.pop(),t?x.push("("+n+" = function("+m.join(", ")+") { return "+d+" })"):x.push("("+n+"("+m.join(", ")+") = "+d+")")}else if(P===f)n=x.pop(),x.push(n+"."+w.value);else if(P===v){for(b=w.value,m=[];b-- >0;)m.unshift(x.pop());x.push("["+m.join(", ")+"]")}else if(P===p)x.push("("+$(w.value,t)+")");else if(P!==h)throw new Error("invalid Expression")}return x.length>1&&(x=t?[x.join(",")]:[x.join(";")]),String(x[0])}function A(e){return"string"==typeof e?JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"):e}function E(e,t){for(var n=0;n<e.length;n++)if(e[n]===t)return!0;return!1}function M(e,t,n){for(var r=!!(n=n||{}).withMembers,s=null,i=0;i<e.length;i++){var o=e[i];o.type===a||o.type===c?r||E(t,o.value)?null!==s?(E(t,s)||t.push(s),s=o.value):s=o.value:t.push(o.value):o.type===f&&r&&null!==s?s+="."+o.value:o.type===p?M(o.value,t,n):null!==s&&(E(t,s)||t.push(s),s=null)}null===s||E(t,s)||t.push(s)}function j(e,t){this.tokens=e,this.parser=t,this.unaryOps=t.unaryOps,this.binaryOps=t.binaryOps,this.ternaryOps=t.ternaryOps,this.functions=t.functions}y.prototype.toString=function(){switch(this.type){case r:case s:case i:case o:case a:case c:case h:return this.value;case l:return"CALL "+this.value;case u:return"DEF "+this.value;case v:return"ARRAY "+this.value;case f:return"."+this.value;default:return"Invalid Instruction"}},j.prototype.simplify=function(e){return e=e||{},new j(x(this.tokens,this.unaryOps,this.binaryOps,this.ternaryOps,e),this.parser)},j.prototype.substitute=function(e,t){return t instanceof j||(t=this.parser.parse(String(t))),new j(_(this.tokens,e,t),this.parser)},j.prototype.evaluate=function(e){return e=e||{},w(this.tokens,this,e)},j.prototype.toString=function(){return $(this.tokens,!1)},j.prototype.symbols=function(e){e=e||{};var t=[];return M(this.tokens,t,e),t},j.prototype.variables=function(e){e=e||{};var t=[];M(this.tokens,t,e);var n=this.functions;return t.filter(function(e){return!(e in n)})},j.prototype.toJSFunction=function(e,t){var n=this,r=new Function(e,"with(this.functions) with (this.ternaryOps) with (this.binaryOps) with (this.unaryOps) { return "+$(this.simplify(t).tokens,!0)+"; }");return function(){return r.apply(n,arguments)}};var S="TEOF",I="TOP",N="TNUMBER",T="TSTRING",D="TPAREN",C="TBRACKET",R="TCOMMA",B="TNAME",G="TSEMICOLON";function L(e,t,n){this.type=e,this.value=t,this.index=n}function U(e,t){this.pos=0,this.current=null,this.unaryOps=e.unaryOps,this.binaryOps=e.binaryOps,this.ternaryOps=e.ternaryOps,this.consts=e.consts,this.expression=t,this.savedPosition=0,this.savedCurrent=null,this.options=e.options,this.parser=e}L.prototype.toString=function(){return this.type+": "+this.value},U.prototype.newToken=function(e,t,n){return new L(e,t,null!=n?n:this.pos)},U.prototype.save=function(){this.savedPosition=this.pos,this.savedCurrent=this.current},U.prototype.restore=function(){this.pos=this.savedPosition,this.current=this.savedCurrent},U.prototype.next=function(){return this.pos>=this.expression.length?this.newToken(S,"EOF"):this.isWhitespace()||this.isComment()?this.next():this.isRadixInteger()||this.isNumber()||this.isOperator()||this.isString()||this.isParen()||this.isBracket()||this.isComma()||this.isSemicolon()||this.isNamedOp()||this.isConst()||this.isName()?this.current:void this.parseError('Unknown character "'+this.expression.charAt(this.pos)+'"')},U.prototype.isString=function(){var e=!1,t=this.pos,n=this.expression.charAt(t);if("'"===n||'"'===n)for(var r=this.expression.indexOf(n,t+1);r>=0&&this.pos<this.expression.length;){if(this.pos=r+1,"\\"!==this.expression.charAt(r-1)){var s=this.expression.substring(t+1,r);this.current=this.newToken(T,this.unescape(s),t),e=!0;break}r=this.expression.indexOf(n,r+1)}return e},U.prototype.isParen=function(){var e=this.expression.charAt(this.pos);return("("===e||")"===e)&&(this.current=this.newToken(D,e),this.pos++,!0)},U.prototype.isBracket=function(){var e=this.expression.charAt(this.pos);return!("["!==e&&"]"!==e||!this.isOperatorEnabled("[")||(this.current=this.newToken(C,e),this.pos++,0))},U.prototype.isComma=function(){return","===this.expression.charAt(this.pos)&&(this.current=this.newToken(R,","),this.pos++,!0)},U.prototype.isSemicolon=function(){return";"===this.expression.charAt(this.pos)&&(this.current=this.newToken(G,";"),this.pos++,!0)},U.prototype.isConst=function(){for(var e=this.pos,t=e;t<this.expression.length;t++){var n=this.expression.charAt(t);if(n.toUpperCase()===n.toLowerCase()&&(t===this.pos||"_"!==n&&"."!==n&&(n<"0"||n>"9")))break}if(t>e){var r=this.expression.substring(e,t);if(r in this.consts)return this.current=this.newToken(N,this.consts[r]),this.pos+=r.length,!0}return!1},U.prototype.isNamedOp=function(){for(var e=this.pos,t=e;t<this.expression.length;t++){var n=this.expression.charAt(t);if(n.toUpperCase()===n.toLowerCase()&&(t===this.pos||"_"!==n&&(n<"0"||n>"9")))break}if(t>e){var r=this.expression.substring(e,t);if(this.isOperatorEnabled(r)&&(r in this.binaryOps||r in this.unaryOps||r in this.ternaryOps))return this.current=this.newToken(I,r),this.pos+=r.length,!0}return!1},U.prototype.isName=function(){for(var e=this.pos,t=e,n=!1;t<this.expression.length;t++){var r=this.expression.charAt(t);if(r.toUpperCase()===r.toLowerCase()){if(t===this.pos&&("$"===r||"_"===r)){"_"===r&&(n=!0);continue}if(t===this.pos||!n||"_"!==r&&(r<"0"||r>"9"))break}else n=!0}if(n){var s=this.expression.substring(e,t);return this.current=this.newToken(B,s),this.pos+=s.length,!0}return!1},U.prototype.isWhitespace=function(){for(var e=!1,t=this.expression.charAt(this.pos);!(" "!==t&&"\t"!==t&&"\n"!==t&&"\r"!==t||(e=!0,this.pos++,this.pos>=this.expression.length));)t=this.expression.charAt(this.pos);return e};var z=/^[0-9a-f]{4}$/i;function q(e,t,n){this.parser=e,this.tokens=t,this.current=null,this.nextToken=null,this.next(),this.savedCurrent=null,this.savedNextToken=null,this.allowMemberAccess=!1!==n.allowMemberAccess}U.prototype.unescape=function(e){var t=e.indexOf("\\");if(t<0)return e;for(var n=e.substring(0,t);t>=0;){var r=e.charAt(++t);switch(r){case"'":n+="'";break;case'"':n+='"';break;case"\\":n+="\\";break;case"/":n+="/";break;case"b":n+="\b";break;case"f":n+="\f";break;case"n":n+="\n";break;case"r":n+="\r";break;case"t":n+="\t";break;case"u":var s=e.substring(t+1,t+5);z.test(s)||this.parseError("Illegal escape sequence: \\u"+s),n+=String.fromCharCode(parseInt(s,16)),t+=4;break;default:throw this.parseError('Illegal escape sequence: "\\'+r+'"')}++t;var i=e.indexOf("\\",t);n+=e.substring(t,i<0?e.length:i),t=i}return n},U.prototype.isComment=function(){return"/"===this.expression.charAt(this.pos)&&"*"===this.expression.charAt(this.pos+1)&&(this.pos=this.expression.indexOf("*/",this.pos)+2,1===this.pos&&(this.pos=this.expression.length),!0)},U.prototype.isRadixInteger=function(){var e,t,n=this.pos;if(n>=this.expression.length-2||"0"!==this.expression.charAt(n))return!1;if(++n,"x"===this.expression.charAt(n))e=16,t=/^[0-9a-f]$/i,++n;else{if("b"!==this.expression.charAt(n))return!1;e=2,t=/^[01]$/i,++n}for(var r=!1,s=n;n<this.expression.length;){var i=this.expression.charAt(n);if(!t.test(i))break;n++,r=!0}return r&&(this.current=this.newToken(N,parseInt(this.expression.substring(s,n),e)),this.pos=n),r},U.prototype.isNumber=function(){for(var e,t=!1,n=this.pos,r=n,s=n,i=!1,o=!1;n<this.expression.length&&((e=this.expression.charAt(n))>="0"&&e<="9"||!i&&"."===e);)"."===e?i=!0:o=!0,n++,t=o;if(t&&(s=n),"e"===e||"E"===e){n++;for(var a=!0,c=!1;n<this.expression.length;){if(e=this.expression.charAt(n),!a||"+"!==e&&"-"!==e){if(!(e>="0"&&e<="9"))break;c=!0,a=!1}else a=!1;n++}c||(n=s)}return t?(this.current=this.newToken(N,parseFloat(this.expression.substring(r,n))),this.pos=n):this.pos=s,t},U.prototype.isOperator=function(){var e=this.pos,t=this.expression.charAt(this.pos);if("+"===t||"-"===t||"*"===t||"/"===t||"%"===t||"^"===t||"?"===t||":"===t||"."===t)this.current=this.newToken(I,t);else if("∙"===t||"•"===t)this.current=this.newToken(I,"*");else if(">"===t)"="===this.expression.charAt(this.pos+1)?(this.current=this.newToken(I,">="),this.pos++):this.current=this.newToken(I,">");else if("<"===t)"="===this.expression.charAt(this.pos+1)?(this.current=this.newToken(I,"<="),this.pos++):this.current=this.newToken(I,"<");else if("|"===t){if("|"!==this.expression.charAt(this.pos+1))return!1;this.current=this.newToken(I,"||"),this.pos++}else if("="===t)"="===this.expression.charAt(this.pos+1)?(this.current=this.newToken(I,"=="),this.pos++):this.current=this.newToken(I,t);else{if("!"!==t)return!1;"="===this.expression.charAt(this.pos+1)?(this.current=this.newToken(I,"!="),this.pos++):this.current=this.newToken(I,t)}return this.pos++,!!this.isOperatorEnabled(this.current.value)||(this.pos=e,!1)},U.prototype.isOperatorEnabled=function(e){return this.parser.isOperatorEnabled(e)},U.prototype.getCoordinates=function(){var e,t=0,n=-1;do{t++,e=this.pos-n,n=this.expression.indexOf("\n",n+1)}while(n>=0&&n<this.pos);return{line:t,column:e}},U.prototype.parseError=function(e){var t=this.getCoordinates();throw new Error("parse error ["+t.line+":"+t.column+"]: "+e)},q.prototype.next=function(){return this.current=this.nextToken,this.nextToken=this.tokens.next()},q.prototype.tokenMatches=function(e,t){return void 0===t||(Array.isArray(t)?E(t,e.value):"function"==typeof t?t(e):e.value===t)},q.prototype.save=function(){this.savedCurrent=this.current,this.savedNextToken=this.nextToken,this.tokens.save()},q.prototype.restore=function(){this.tokens.restore(),this.current=this.savedCurrent,this.nextToken=this.savedNextToken},q.prototype.accept=function(e,t){return!(this.nextToken.type!==e||!this.tokenMatches(this.nextToken,t)||(this.next(),0))},q.prototype.expect=function(e,t){if(!this.accept(e,t)){var n=this.tokens.getCoordinates();throw new Error("parse error ["+n.line+":"+n.column+"]: Expected "+(t||e))}},q.prototype.parseAtom=function(e){var t=this.tokens.unaryOps;if(this.accept(B)||this.accept(I,function(e){return e.value in t}))e.push(new y(a,this.current.value));else if(this.accept(N))e.push(new y(r,this.current.value));else if(this.accept(T))e.push(new y(r,this.current.value));else if(this.accept(D,"("))this.parseExpression(e),this.expect(D,")");else{if(!this.accept(C,"["))throw new Error("unexpected "+this.nextToken);if(this.accept(C,"]"))e.push(new y(v,0));else{var n=this.parseArrayList(e);e.push(new y(v,n))}}},q.prototype.parseExpression=function(e){var t=[];this.parseUntilEndStatement(e,t)||(this.parseVariableAssignmentExpression(t),this.parseUntilEndStatement(e,t)||this.pushExpression(e,t))},q.prototype.pushExpression=function(e,t){for(var n=0,r=t.length;n<r;n++)e.push(t[n])},q.prototype.parseUntilEndStatement=function(e,t){return!!this.accept(G)&&(!this.nextToken||this.nextToken.type===S||this.nextToken.type===D&&")"===this.nextToken.value||t.push(new y(h)),this.nextToken.type!==S&&this.parseExpression(t),e.push(new y(p,t)),!0)},q.prototype.parseArrayList=function(e){for(var t=0;!this.accept(C,"]");)for(this.parseExpression(e),++t;this.accept(R);)this.parseExpression(e),++t;return t},q.prototype.parseVariableAssignmentExpression=function(e){for(this.parseConditionalExpression(e);this.accept(I,"=");){var t=e.pop(),n=[],r=e.length-1;if(t.type!==l){if(t.type!==a&&t.type!==f)throw new Error("expected variable for assignment");this.parseVariableAssignmentExpression(n),e.push(new y(c,t.value)),e.push(new y(p,n)),e.push(m("="))}else{if(!this.tokens.isOperatorEnabled("()="))throw new Error("function definition is not permitted");for(var s=0,i=t.value+1;s<i;s++){var o=r-s;e[o].type===a&&(e[o]=new y(c,e[o].value))}this.parseVariableAssignmentExpression(n),e.push(new y(p,n)),e.push(new y(u,t.value))}}},q.prototype.parseConditionalExpression=function(e){for(this.parseOrExpression(e);this.accept(I,"?");){var t=[],n=[];this.parseConditionalExpression(t),this.expect(I,":"),this.parseConditionalExpression(n),e.push(new y(p,t)),e.push(new y(p,n)),e.push(b("?"))}},q.prototype.parseOrExpression=function(e){for(this.parseAndExpression(e);this.accept(I,"or");){var t=[];this.parseAndExpression(t),e.push(new y(p,t)),e.push(m("or"))}},q.prototype.parseAndExpression=function(e){for(this.parseComparison(e);this.accept(I,"and");){var t=[];this.parseComparison(t),e.push(new y(p,t)),e.push(m("and"))}};var F=["==","!=","<","<=",">=",">","in"];q.prototype.parseComparison=function(e){for(this.parseAddSub(e);this.accept(I,F);){var t=this.current;this.parseAddSub(e),e.push(m(t.value))}};var V=["+","-","||"];q.prototype.parseAddSub=function(e){for(this.parseTerm(e);this.accept(I,V);){var t=this.current;this.parseTerm(e),e.push(m(t.value))}};var J=["*","/","%"];function W(e,t){return Number(e)+Number(t)}function H(e,t){return e-t}function K(e,t){return e*t}function Y(e,t){return e/t}function X(e,t){return e%t}function Q(e,t){return Array.isArray(e)&&Array.isArray(t)?e.concat(t):""+e+t}function Z(e,t){return e===t}function ee(e,t){return e!==t}function te(e,t){return e>t}function ne(e,t){return e<t}function re(e,t){return e>=t}function se(e,t){return e<=t}function ie(e,t){return Boolean(e&&t)}function oe(e,t){return Boolean(e||t)}function ae(e,t){return E(t,e)}function ce(e){return(Math.exp(e)-Math.exp(-e))/2}function le(e){return(Math.exp(e)+Math.exp(-e))/2}function ue(e){return e===1/0?1:e===-1/0?-1:(Math.exp(e)-Math.exp(-e))/(Math.exp(e)+Math.exp(-e))}function pe(e){return e===-1/0?e:Math.log(e+Math.sqrt(e*e+1))}function de(e){return Math.log(e+Math.sqrt(e*e-1))}function fe(e){return Math.log((1+e)/(1-e))/2}function he(e){return Math.log(e)*Math.LOG10E}function ve(e){return-e}function ye(e){return!e}function ge(e){return e<0?Math.ceil(e):Math.floor(e)}function me(e){return Math.random()*(e||1)}function be(e){return _e(e+1)}q.prototype.parseTerm=function(e){for(this.parseFactor(e);this.accept(I,J);){var t=this.current;this.parseFactor(e),e.push(m(t.value))}},q.prototype.parseFactor=function(e){var t=this.tokens.unaryOps;if(this.save(),this.accept(I,function(e){return e.value in t})){if("-"!==this.current.value&&"+"!==this.current.value){if(this.nextToken.type===D&&"("===this.nextToken.value)return this.restore(),void this.parseExponential(e);if(this.nextToken.type===G||this.nextToken.type===R||this.nextToken.type===S||this.nextToken.type===D&&")"===this.nextToken.value)return this.restore(),void this.parseAtom(e)}var n=this.current;this.parseFactor(e),e.push(g(n.value))}else this.parseExponential(e)},q.prototype.parseExponential=function(e){for(this.parsePostfixExpression(e);this.accept(I,"^");)this.parseFactor(e),e.push(m("^"))},q.prototype.parsePostfixExpression=function(e){for(this.parseFunctionCall(e);this.accept(I,"!");)e.push(g("!"))},q.prototype.parseFunctionCall=function(e){var t=this.tokens.unaryOps;if(this.accept(I,function(e){return e.value in t})){var n=this.current;this.parseAtom(e),e.push(g(n.value))}else for(this.parseMemberExpression(e);this.accept(D,"(");)if(this.accept(D,")"))e.push(new y(l,0));else{var r=this.parseArgumentList(e);e.push(new y(l,r))}},q.prototype.parseArgumentList=function(e){for(var t=0;!this.accept(D,")");)for(this.parseExpression(e),++t;this.accept(R);)this.parseExpression(e),++t;return t},q.prototype.parseMemberExpression=function(e){for(this.parseAtom(e);this.accept(I,".")||this.accept(C,"[");){var t=this.current;if("."===t.value){if(!this.allowMemberAccess)throw new Error('unexpected ".", member access is not permitted');this.expect(B),e.push(new y(f,this.current.value))}else{if("["!==t.value)throw new Error("unexpected symbol: "+t.value);if(!this.tokens.isOperatorEnabled("["))throw new Error('unexpected "[]", arrays are disabled');this.parseExpression(e),this.expect(C,"]"),e.push(m("["))}}};var xe=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function _e(e){var t,n;if(function(e){return isFinite(e)&&e===Math.round(e)}(e)){if(e<=0)return isFinite(e)?1/0:NaN;if(e>171)return 1/0;for(var r=e-2,s=e-1;r>1;)s*=r,r--;return 0===s&&(s=1),s}if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*_e(1-e));if(e>=171.35)return 1/0;if(e>85){var i=e*e,o=i*e,a=o*e,c=a*e;return Math.sqrt(2*Math.PI/e)*Math.pow(e/Math.E,e)*(1+1/(12*e)+1/(288*i)-139/(51840*o)-571/(2488320*a)+163879/(209018880*c)+5246819/(75246796800*c*e))}--e,n=xe[0];for(var l=1;l<xe.length;++l)n+=xe[l]/(e+l);return t=e+4.7421875+.5,Math.sqrt(2*Math.PI)*Math.pow(t,e+.5)*Math.exp(-t)*n}function we(e){return Array.isArray(e)?e.length:String(e).length}function Pe(){for(var e=0,t=0,n=0;n<arguments.length;n++){var r,s=Math.abs(arguments[n]);t<s?(e=e*(r=t/s)*r+1,t=s):e+=s>0?(r=s/t)*r:s}return t===1/0?1/0:t*Math.sqrt(e)}function Oe(e,t,n){return e?t:n}function ke(e,t){return void 0===t||0===+t?Math.round(e):(e=+e,t=-+t,isNaN(e)||"number"!=typeof t||t%1!=0?NaN:(e=e.toString().split("e"),+((e=(e=Math.round(+(e[0]+"e"+(e[1]?+e[1]-t:-t)))).toString().split("e"))[0]+"e"+(e[1]?+e[1]+t:t))))}function $e(e,t,n){return n&&(n[e]=t),t}function Ae(e,t){return e[0|t]}function Ee(e){return 1===arguments.length&&Array.isArray(e)?Math.max.apply(Math,e):Math.max.apply(Math,arguments)}function Me(e){return 1===arguments.length&&Array.isArray(e)?Math.min.apply(Math,e):Math.min.apply(Math,arguments)}function je(e,t){if("function"!=typeof e)throw new Error("First argument to map is not a function");if(!Array.isArray(t))throw new Error("Second argument to map is not an array");return t.map(function(t,n){return e(t,n)})}function Se(e,t,n){if("function"!=typeof e)throw new Error("First argument to fold is not a function");if(!Array.isArray(n))throw new Error("Second argument to fold is not an array");return n.reduce(function(t,n,r){return e(t,n,r)},t)}function Ie(e,t){if("function"!=typeof e)throw new Error("First argument to filter is not a function");if(!Array.isArray(t))throw new Error("Second argument to filter is not an array");return t.filter(function(t,n){return e(t,n)})}function Ne(e,t){if(!Array.isArray(t)&&"string"!=typeof t)throw new Error("Second argument to indexOf is not a string or array");return t.indexOf(e)}function Te(e,t){if(!Array.isArray(t))throw new Error("Second argument to join is not an array");return t.join(e)}function De(e){return(e>0)-(e<0)||+e}var Ce=1/3;function Re(e){return e<0?-Math.pow(-e,Ce):Math.pow(e,Ce)}function Be(e){return Math.exp(e)-1}function Ge(e){return Math.log(1+e)}function Le(e){return Math.log(e)/Math.LN2}function Ue(e){this.options=e||{},this.unaryOps={sin:Math.sin,cos:Math.cos,tan:Math.tan,asin:Math.asin,acos:Math.acos,atan:Math.atan,sinh:Math.sinh||ce,cosh:Math.cosh||le,tanh:Math.tanh||ue,asinh:Math.asinh||pe,acosh:Math.acosh||de,atanh:Math.atanh||fe,sqrt:Math.sqrt,cbrt:Math.cbrt||Re,log:Math.log,log2:Math.log2||Le,ln:Math.log,lg:Math.log10||he,log10:Math.log10||he,expm1:Math.expm1||Be,log1p:Math.log1p||Ge,abs:Math.abs,ceil:Math.ceil,floor:Math.floor,round:Math.round,trunc:Math.trunc||ge,"-":ve,"+":Number,exp:Math.exp,not:ye,length:we,"!":be,sign:Math.sign||De},this.binaryOps={"+":W,"-":H,"*":K,"/":Y,"%":X,"^":Math.pow,"||":Q,"==":Z,"!=":ee,">":te,"<":ne,">=":re,"<=":se,and:ie,or:oe,in:ae,"=":$e,"[":Ae},this.ternaryOps={"?":Oe},this.functions={random:me,fac:be,min:Me,max:Ee,hypot:Math.hypot||Pe,pyt:Math.hypot||Pe,pow:Math.pow,atan2:Math.atan2,if:Oe,gamma:_e,roundTo:ke,map:je,fold:Se,filter:Ie,indexOf:Ne,join:Te},this.consts={E:Math.E,PI:Math.PI,true:!0,false:!1}}Ue.prototype.parse=function(e){var t=[],n=new q(this,new U(this,e),{allowMemberAccess:this.options.allowMemberAccess});return n.parseExpression(t),n.expect(S,"EOF"),new j(t,this)},Ue.prototype.evaluate=function(e,t){return this.parse(e).evaluate(t)};var ze=new Ue;Ue.parse=function(e){return ze.parse(e)},Ue.evaluate=function(e,t){return ze.parse(e).evaluate(t)};var qe={"+":"add","-":"subtract","*":"multiply","/":"divide","%":"remainder","^":"power","!":"factorial","<":"comparison",">":"comparison","<=":"comparison",">=":"comparison","==":"comparison","!=":"comparison","||":"concatenate",and:"logical",or:"logical",not:"logical","?":"conditional",":":"conditional","=":"assignment","[":"array","()=":"fndef"};Ue.prototype.isOperatorEnabled=function(e){var t=function(e){return qe.hasOwnProperty(e)?qe[e]:e}(e),n=this.options.operators||{};return!(t in n)||!!n[t]};const Fe={Parser:Ue,Expression:j}},1284(e,t,n){"use strict";n.d(t,{As:()=>y,qg:()=>v});const{parse:r,stringify:s}=JSON,{keys:i}=Object,o=String,a="string",c={},l="object",u=(e,t)=>t,p=e=>e instanceof o?o(e):e,d=(e,t)=>typeof t===a?new o(t):t,f=(e,t,n,r)=>{const s=[];for(let a=i(n),{length:u}=a,p=0;p<u;p++){const i=a[p],u=n[i];if(u instanceof o){const o=e[u];typeof o!==l||t.has(o)?n[i]=r.call(n,i,o):(t.add(o),n[i]=c,s.push({k:i,a:[e,t,o,r]}))}else n[i]!==c&&(n[i]=r.call(n,i,u))}for(let{length:e}=s,t=0;t<e;t++){const{k:e,a:i}=s[t];n[e]=r.call(n,e,f.apply(null,i))}return n},h=(e,t,n)=>{const r=o(t.push(n)-1);return e.set(n,r),r},v=(e,t)=>{const n=r(e,d).map(p),s=n[0],i=t||u,o=typeof s===l&&s?f(n,new Set,s,i):s;return i.call({"":o},"",o)},y=(e,t,n)=>{const r=t&&typeof t===l?(e,n)=>""===e||-1<t.indexOf(e)?n:void 0:t||u,i=new Map,o=[],c=[];let p=+h(i,o,r.call({"":e},"",e)),d=!p;for(;p<o.length;)d=!0,c[p]=s(o[p++],f,n);return"["+c.join(",")+"]";function f(e,t){if(d)return d=!d,t;const n=r.call(this,e,t);switch(typeof n){case l:if(null===n)return n;case a:return i.get(n)||h(i,o,n)}return n}}},6535(e,t,n){"use strict";function r(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];throw Error("[Immer] minified error nr: "+e+(n.length?" "+n.map(function(e){return"'"+e+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function s(e){return!!e&&!!e[q]}function i(e){var t;return!!e&&(function(e){if(!e||"object"!=typeof e)return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;var n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return n===Object||"function"==typeof n&&Function.toString.call(n)===F}(e)||Array.isArray(e)||!!e[z]||!!(null===(t=e.constructor)||void 0===t?void 0:t[z])||u(e)||p(e))}function o(e,t,n){void 0===n&&(n=!1),0===a(e)?(n?Object.keys:V)(e).forEach(function(r){n&&"symbol"==typeof r||t(r,e[r],e)}):e.forEach(function(n,r){return t(r,n,e)})}function a(e){var t=e[q];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:u(e)?2:p(e)?3:0}function c(e,t){return 2===a(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function l(e,t,n){var r=a(e);2===r?e.set(t,n):3===r?e.add(n):e[t]=n}function u(e){return B&&e instanceof Map}function p(e){return G&&e instanceof Set}function d(e){return e.o||e.t}function f(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=J(e);delete t[q];for(var n=V(t),r=0;r<n.length;r++){var s=n[r],i=t[s];!1===i.writable&&(i.writable=!0,i.configurable=!0),(i.get||i.set)&&(t[s]={configurable:!0,writable:!0,enumerable:i.enumerable,value:e[s]})}return Object.create(Object.getPrototypeOf(e),t)}function h(e,t){return void 0===t&&(t=!1),y(e)||s(e)||!i(e)||(a(e)>1&&(e.set=e.add=e.clear=e.delete=v),Object.freeze(e),t&&o(e,function(e,t){return h(t,!0)},!0)),e}function v(){r(2)}function y(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function g(e){var t=W[e];return t||r(18,e),t}function m(){return C}function b(e,t){t&&(g("Patches"),e.u=[],e.s=[],e.v=t)}function x(e){_(e),e.p.forEach(P),e.p=null}function _(e){e===C&&(C=e.l)}function w(e){return C={p:[],l:C,h:e,m:!0,_:0}}function P(e){var t=e[q];0===t.i||1===t.i?t.j():t.g=!0}function O(e,t){t._=t.p.length;var n=t.p[0],s=void 0!==e&&e!==n;return t.h.O||g("ES5").S(t,e,s),s?(n[q].P&&(x(t),r(4)),i(e)&&(e=k(t,e),t.l||A(t,e)),t.u&&g("Patches").M(n[q].t,e,t.u,t.s)):e=k(t,n,[]),x(t),t.u&&t.v(t.u,t.s),e!==U?e:void 0}function k(e,t,n){if(y(t))return t;var r=t[q];if(!r)return o(t,function(s,i){return $(e,r,t,s,i,n)},!0),t;if(r.A!==e)return t;if(!r.P)return A(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var s=4===r.i||5===r.i?r.o=f(r.k):r.o,i=s,a=!1;3===r.i&&(i=new Set(s),s.clear(),a=!0),o(i,function(t,i){return $(e,r,s,t,i,n,a)}),A(e,s,!1),n&&e.u&&g("Patches").N(r,n,e.u,e.s)}return r.o}function $(e,t,n,r,o,a,u){if(s(o)){var p=k(e,o,a&&t&&3!==t.i&&!c(t.R,r)?a.concat(r):void 0);if(l(n,r,p),!s(p))return;e.m=!1}else u&&n.add(o);if(i(o)&&!y(o)){if(!e.h.D&&e._<1)return;k(e,o),t&&t.A.l||A(e,o)}}function A(e,t,n){void 0===n&&(n=!1),!e.l&&e.h.D&&e.m&&h(t,n)}function E(e,t){var n=e[q];return(n?d(n):e)[t]}function M(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function j(e){e.P||(e.P=!0,e.l&&j(e.l))}function S(e){e.o||(e.o=f(e.t))}function I(e,t,n){var r=u(t)?g("MapSet").F(t,n):p(t)?g("MapSet").T(t,n):e.O?function(e,t){var n=Array.isArray(e),r={i:n?1:0,A:t?t.A:m(),P:!1,I:!1,R:{},l:t,t:e,k:null,o:null,j:null,C:!1},s=r,i=H;n&&(s=[r],i=K);var o=Proxy.revocable(s,i),a=o.revoke,c=o.proxy;return r.k=c,r.j=a,c}(t,n):g("ES5").J(t,n);return(n?n.A:m()).p.push(r),r}function N(e){return s(e)||r(22,e),function e(t){if(!i(t))return t;var n,r=t[q],s=a(t);if(r){if(!r.P&&(r.i<4||!g("ES5").K(r)))return r.t;r.I=!0,n=T(t,s),r.I=!1}else n=T(t,s);return o(n,function(t,s){r&&function(e,t){return 2===a(e)?e.get(t):e[t]}(r.t,t)===s||l(n,t,e(s))}),3===s?new Set(n):n}(e)}function T(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return f(e)}n.d(t,{Ay:()=>Z});var D,C,R="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),B="undefined"!=typeof Map,G="undefined"!=typeof Set,L="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,U=R?Symbol.for("immer-nothing"):((D={})["immer-nothing"]=!0,D),z=R?Symbol.for("immer-draftable"):"__$immer_draftable",q=R?Symbol.for("immer-state"):"__$immer_state",F=("undefined"!=typeof Symbol&&Symbol.iterator,""+Object.prototype.constructor),V="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,J=Object.getOwnPropertyDescriptors||function(e){var t={};return V(e).forEach(function(n){t[n]=Object.getOwnPropertyDescriptor(e,n)}),t},W={},H={get:function(e,t){if(t===q)return e;var n=d(e);if(!c(n,t))return function(e,t,n){var r,s=M(t,n);return s?"value"in s?s.value:null===(r=s.get)||void 0===r?void 0:r.call(e.k):void 0}(e,n,t);var r=n[t];return e.I||!i(r)?r:r===E(e.t,t)?(S(e),e.o[t]=I(e.A.h,r,e)):r},has:function(e,t){return t in d(e)},ownKeys:function(e){return Reflect.ownKeys(d(e))},set:function(e,t,n){var r=M(d(e),t);if(null==r?void 0:r.set)return r.set.call(e.k,n),!0;if(!e.P){var s=E(d(e),t),i=null==s?void 0:s[q];if(i&&i.t===n)return e.o[t]=n,e.R[t]=!1,!0;if(function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}(n,s)&&(void 0!==n||c(e.t,t)))return!0;S(e),j(e)}return e.o[t]===n&&(void 0!==n||t in e.o)||Number.isNaN(n)&&Number.isNaN(e.o[t])||(e.o[t]=n,e.R[t]=!0),!0},deleteProperty:function(e,t){return void 0!==E(e.t,t)||t in e.t?(e.R[t]=!1,S(e),j(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var n=d(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.i||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},defineProperty:function(){r(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){r(12)}},K={};o(H,function(e,t){K[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),K.deleteProperty=function(e,t){return K.set.call(this,e,t,void 0)},K.set=function(e,t,n){return H.set.call(this,e[0],t,n,e[0])};var Y=function(){function e(e){var t=this;this.O=L,this.D=!0,this.produce=function(e,n,s){if("function"==typeof e&&"function"!=typeof n){var o=n;n=e;var a=t;return function(e){var t=this;void 0===e&&(e=o);for(var r=arguments.length,s=Array(r>1?r-1:0),i=1;i<r;i++)s[i-1]=arguments[i];return a.produce(e,function(e){var r;return(r=n).call.apply(r,[t,e].concat(s))})}}var c;if("function"!=typeof n&&r(6),void 0!==s&&"function"!=typeof s&&r(7),i(e)){var l=w(t),u=I(t,e,void 0),p=!0;try{c=n(u),p=!1}finally{p?x(l):_(l)}return"undefined"!=typeof Promise&&c instanceof Promise?c.then(function(e){return b(l,s),O(e,l)},function(e){throw x(l),e}):(b(l,s),O(c,l))}if(!e||"object"!=typeof e){if(void 0===(c=n(e))&&(c=e),c===U&&(c=void 0),t.D&&h(c,!0),s){var d=[],f=[];g("Patches").M(e,c,d,f),s(d,f)}return c}r(21,e)},this.produceWithPatches=function(e,n){if("function"==typeof e)return function(n){for(var r=arguments.length,s=Array(r>1?r-1:0),i=1;i<r;i++)s[i-1]=arguments[i];return t.produceWithPatches(n,function(t){return e.apply(void 0,[t].concat(s))})};var r,s,i=t.produce(e,n,function(e,t){r=e,s=t});return"undefined"!=typeof Promise&&i instanceof Promise?i.then(function(e){return[e,r,s]}):[i,r,s]},"boolean"==typeof(null==e?void 0:e.useProxies)&&this.setUseProxies(e.useProxies),"boolean"==typeof(null==e?void 0:e.autoFreeze)&&this.setAutoFreeze(e.autoFreeze)}var t=e.prototype;return t.createDraft=function(e){i(e)||r(8),s(e)&&(e=N(e));var t=w(this),n=I(this,e,void 0);return n[q].C=!0,_(t),n},t.finishDraft=function(e,t){var n=(e&&e[q]).A;return b(n,t),O(void 0,n)},t.setAutoFreeze=function(e){this.D=e},t.setUseProxies=function(e){e&&!L&&r(20),this.O=e},t.applyPatches=function(e,t){var n;for(n=t.length-1;n>=0;n--){var r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));var i=g("Patches").$;return s(e)?i(e,t):this.produce(e,function(e){return i(e,t)})},e}(),X=new Y,Q=X.produce;X.produceWithPatches.bind(X),X.setAutoFreeze.bind(X),X.setUseProxies.bind(X),X.applyPatches.bind(X),X.createDraft.bind(X),X.finishDraft.bind(X);const Z=Q},8423(e,t,n){"use strict";n.d(t,{A:()=>r});let r=(e=21)=>{let t="",n=0|e;for(;n--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t}},5142(e,t,n){"use strict";function r(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}n.d(t,{n:()=>r}),r.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=1&Math.floor(10*t)?e+n:e-n}return 0|Math.min(e,this.max)},r.prototype.reset=function(){this.attempts=0},r.prototype.setMin=function(e){this.ms=e},r.prototype.setMax=function(e){this.max=e},r.prototype.setJitter=function(e){this.jitter=e}},1128(e,t,n){"use strict";n.d(t,{Ay:()=>a});var r=n(8569),s=n(3331),i=n(8643);n(7328),n(563);const o={};function a(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};const n=(0,r.O)(e,t.path||"/socket.io"),i=n.source,a=n.id,c=n.path,l=o[a]&&c in o[a].nsps;let u;return t.forceNew||t["force new connection"]||!1===t.multiplex||l?u=new s.m(i,t):(o[a]||(o[a]=new s.m(i,t)),u=o[a]),n.query&&!t.query&&(t.query=n.queryKey),u.socket(n.path,t)}Object.assign(a,{Manager:s.m,Socket:i.y,io:a,connect:a})},3331(e,t,n){"use strict";n.d(t,{m:()=>l});var r=n(563),s=n(8643),i=n(7328),o=n(3655),a=n(5142),c=n(4454);class l extends c.v{constructor(e,t){var n;super(),this.nsps={},this.subs=[],e&&"object"==typeof e&&(t=e,e=void 0),(t=t||{}).path=t.path||"/socket.io",this.opts=t,(0,r._7)(this,t),this.reconnection(!1!==t.reconnection),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(n=t.randomizationFactor)&&void 0!==n?n:.5),this.backoff=new a.n({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==t.timeout?2e4:t.timeout),this._readyState="closed",this.uri=e;const s=t.parser||i;this.encoder=new s.Encoder,this.decoder=new s.Decoder,this._autoConnect=!1!==t.autoConnect,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}randomizationFactor(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new r.yQ(this.uri,this.opts);const t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const s=(0,o.on)(t,"open",function(){n.onopen(),e&&e()}),i=t=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",t),e?e(t):this.maybeReconnectOnOpen()},a=(0,o.on)(t,"error",i);if(!1!==this._timeout){const e=this._timeout,n=this.setTimeoutFn(()=>{s(),i(new Error("timeout")),t.close()},e);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}return this.subs.push(s),this.subs.push(a),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push((0,o.on)(e,"ping",this.onping.bind(this)),(0,o.on)(e,"data",this.ondata.bind(this)),(0,o.on)(e,"error",this.onerror.bind(this)),(0,o.on)(e,"close",this.onclose.bind(this)),(0,o.on)(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(e){this.onclose("parse error",e)}}ondecoded(e){(0,r.dY)(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new s.y(this,e,t),this.nsps[e]=n),n}_destroy(e){const t=Object.keys(this.nsps);for(const e of t)if(this.nsps[e].active)return;this._close()}_packet(e){const t=this.encoder.encode(e);for(let n=0;n<t.length;n++)this.engine.write(t[n],e.options)}cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var n;this.cleanup(),null===(n=this.engine)||void 0===n||n.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const n=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open(t=>{t?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",t)):e.onreconnect()}))},t);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}},3655(e,t,n){"use strict";function r(e,t,n){return e.on(t,n),function(){e.off(t,n)}}n.d(t,{on:()=>r})},8643(e,t,n){"use strict";n.d(t,{y:()=>a});var r=n(7328),s=n(3655),i=n(4454);const o=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class a extends i.v{constructor(e,t,n){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,n&&n.auth&&(this.auth=n.auth),this._opts=Object.assign({},n),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[(0,s.on)(e,"open",this.onopen.bind(this)),(0,s.on)(e,"packet",this.onpacket.bind(this)),(0,s.on)(e,"error",this.onerror.bind(this)),(0,s.on)(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){var n,s,i;if(o.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;const a={type:r.PacketType.EVENT,data:t,options:{}};if(a.options.compress=!1!==this.flags.compress,"function"==typeof t[t.length-1]){const e=this.ids++,n=t.pop();this._registerAckCallback(e,n),a.id=e}const c=null===(s=null===(n=this.io.engine)||void 0===n?void 0:n.transport)||void 0===s?void 0:s.writable,l=this.connected&&!(null===(i=this.io.engine)||void 0===i?void 0:i._hasPingExpired());return this.flags.volatile&&!c||(l?(this.notifyOutgoingListeners(a),this.packet(a)):this.sendBuffer.push(a)),this.flags={},this}_registerAckCallback(e,t){var n;const r=null!==(n=this.flags.timeout)&&void 0!==n?n:this._opts.ackTimeout;if(void 0===r)return void(this.acks[e]=t);const s=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let t=0;t<this.sendBuffer.length;t++)this.sendBuffer[t].id===e&&this.sendBuffer.splice(t,1);t.call(this,new Error("operation has timed out"))},r),i=(...e)=>{this.io.clearTimeoutFn(s),t.apply(this,e)};i.withError=!0,this.acks[e]=i}emitWithAck(e,...t){return new Promise((n,r)=>{const s=(e,t)=>e?r(e):n(t);s.withError=!0,t.push(s),this.emit(e,...t)})}_addToQueue(e){let t;"function"==typeof e[e.length-1]&&(t=e.pop());const n={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((e,...r)=>(this._queue[0],null!==e?n.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(e)):(this._queue.shift(),t&&t(null,...r)),n.pending=!1,this._drainQueue())),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||0===this._queue.length)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){"function"==typeof this.auth?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:r.PacketType.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(t=>String(t.id)===e)){const t=this.acks[e];delete this.acks[e],t.withError&&t.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case r.PacketType.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case r.PacketType.EVENT:case r.PacketType.BINARY_EVENT:this.onevent(e);break;case r.PacketType.ACK:case r.PacketType.BINARY_ACK:this.onack(e);break;case r.PacketType.DISCONNECT:this.ondisconnect();break;case r.PacketType.CONNECT_ERROR:this.destroy();const t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}onevent(e){const t=e.data||[];null!=e.id&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const n of t)n.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&"string"==typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let n=!1;return function(...s){n||(n=!0,t.packet({type:r.PacketType.ACK,id:e,data:s}))}}onack(e){const t=this.acks[e.id];"function"==typeof t&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:r.PacketType.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){const t=this._anyOutgoingListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const t=this._anyOutgoingListeners.slice();for(const n of t)n.apply(this,e.data)}}}},8569(e,t,n){"use strict";n.d(t,{O:()=>s});var r=n(563);function s(e,t="",n){let s=e;n=n||"undefined"!=typeof location&&location,null==e&&(e=n.protocol+"//"+n.host),"string"==typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?n.protocol+e:n.host+e),/^(https?|wss?):\/\//.test(e)||(e=void 0!==n?n.protocol+"//"+e:"https://"+e),s=(0,r.qg)(e)),s.port||(/^(http|ws)$/.test(s.protocol)?s.port="80":/^(http|ws)s$/.test(s.protocol)&&(s.port="443")),s.path=s.path||"/";const i=-1!==s.host.indexOf(":")?"["+s.host+"]":s.host;return s.id=s.protocol+"://"+i+":"+s.port+t,s.href=s.protocol+"://"+i+(n&&n.port===s.port?"":":"+s.port),s}},7739(e,t,n){"use strict";n.d(t,{D:()=>s,X:()=>o});var r=n(8278);function s(e){const t=[],n=e.data,r=e;return r.data=i(n,t),r.attachments=t.length,{packet:r,buffers:t}}function i(e,t){if(!e)return e;if((0,r.G)(e)){const n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){const n=new Array(e.length);for(let r=0;r<e.length;r++)n[r]=i(e[r],t);return n}if("object"==typeof e&&!(e instanceof Date)){const n={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=i(e[r],t));return n}return e}function o(e,t){return e.data=a(e.data,t),delete e.attachments,e}function a(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let n=0;n<e.length;n++)e[n]=a(e[n],t);else if("object"==typeof e)for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=a(e[n],t));return e}},7328(e,t,n){"use strict";n.r(t),n.d(t,{Decoder:()=>u,Encoder:()=>l,PacketType:()=>c,isPacketValid:()=>h,protocol:()=>a});var r=n(4454),s=n(7739),i=n(8278);const o=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],a=5;var c;!function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(c||(c={}));class l{constructor(e){this.replacer=e}encode(e){return e.type!==c.EVENT&&e.type!==c.ACK||!(0,i.o)(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===c.EVENT?c.BINARY_EVENT:c.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==c.BINARY_EVENT&&e.type!==c.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){const t=(0,s.D)(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}}class u extends r.v{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const n=t.type===c.BINARY_EVENT;n||t.type===c.BINARY_ACK?(t.type=n?c.EVENT:c.ACK,this.reconstructor=new p(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!(0,i.G)(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const n={type:Number(e.charAt(0))};if(void 0===c[n.type])throw new Error("unknown packet type "+n.type);if(n.type===c.BINARY_EVENT||n.type===c.BINARY_ACK){const r=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const s=e.substring(r,t);if(s!=Number(s)||"-"!==e.charAt(t))throw new Error("Illegal attachments");n.attachments=Number(s)}if("/"===e.charAt(t+1)){const r=t+1;for(;++t&&","!==e.charAt(t)&&t!==e.length;);n.nsp=e.substring(r,t)}else n.nsp="/";const r=e.charAt(t+1);if(""!==r&&Number(r)==r){const r=t+1;for(;++t;){const n=e.charAt(t);if(null==n||Number(n)!=n){--t;break}if(t===e.length)break}n.id=Number(e.substring(r,t+1))}if(e.charAt(++t)){const r=this.tryParse(e.substr(t));if(!u.isPayloadValid(n.type,r))throw new Error("invalid payload");n.data=r}return n}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case c.CONNECT:return f(t);case c.DISCONNECT:return void 0===t;case c.CONNECT_ERROR:return"string"==typeof t||f(t);case c.EVENT:case c.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===o.indexOf(t[0]));case c.ACK:case c.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class p{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=(0,s.X)(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const d=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e};function f(e){return"[object Object]"===Object.prototype.toString.call(e)}function h(e){return"string"==typeof e.nsp&&(void 0===(t=e.id)||d(t))&&function(e,t){switch(e){case c.CONNECT:return void 0===t||f(t);case c.DISCONNECT:return void 0===t;case c.EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===o.indexOf(t[0]));case c.ACK:return Array.isArray(t);case c.CONNECT_ERROR:return"string"==typeof t||f(t);default:return!1}}(e.type,e.data);var t}},8278(e,t,n){"use strict";n.d(t,{G:()=>a,o:()=>c});const r="function"==typeof ArrayBuffer,s=Object.prototype.toString,i="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===s.call(Blob),o="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===s.call(File);function a(e){return r&&(e instanceof ArrayBuffer||(e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer)(e))||i&&e instanceof Blob||o&&e instanceof File}function c(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){for(let t=0,n=e.length;t<n;t++)if(c(e[t]))return!0;return!1}if(a(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return c(e.toJSON(),!0);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&c(e[t]))return!0;return!1}}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var i=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var r={};return(()=>{"use strict";var e=r;Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"Client",{enumerable:!0,get:function(){return s.Client}}),Object.defineProperty(e,"gameFactory",{enumerable:!0,get:function(){return i.default}});var t,s=n(4245),i=(t=n(4913))&&t.__esModule?t:{default:t}})(),r})());