{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?b3ef","webpack:///./src/components/MainScreen.vue?99f1","webpack:///./src/game/GameLoop.js","webpack:///./src/game/LifeGameState.js","webpack:///./src/game/renderers/contracts/Renderer.js","webpack:///./src/game/renderers/CanvasRenderer.js","webpack:///./src/components/ui/AppInput.vue?91a3","webpack:///src/components/ui/AppInput.vue","webpack:///./src/components/ui/AppInput.vue?b4bd","webpack:///./src/components/ui/AppInput.vue","webpack:///src/components/MainScreen.vue","webpack:///./src/components/MainScreen.vue?f981","webpack:///./src/components/MainScreen.vue","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/registerServiceWorker.js","webpack:///./src/main.js","webpack:///./src/App.vue?c650","webpack:///./src/components/MainScreen.vue?df24"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_vm","this","_h","$createElement","_c","_self","attrs","staticRenderFns","staticClass","ref","canvasSize","on","handleClick","isStarted","start","_v","stop","reset","_s","gameLoop","step","_e","model","options","callback","$$v","$set","_n","expression","GameLoop","tickCallback","speed","console","log","setInterval","clearInterval","LIFE","DEAD","getRandomIntInclusive","min","max","mn","Math","ceil","mx","floor","random","generateField","size","field","Array","generateNextStep","previousState","nextState","JSON","parse","stringify","currentRow","cell","prevRowNum","nextRowNum","prevRow","nextRow","prevColNum","nextColNum","leftTop","midTop","rightTop","left","right","leftBottom","midBottom","rightBottom","aliveNeighbours","LifeGameState","nextField","Renderer","CanvasRenderer","$canvas","width","height","cellSize","ctx","getContext","multiplier","image","getImageData","row","rowLen","renderFancy","putImageData","state","color","renderSquare","bodyColor","borderColor","startPointX","startPointY","dataAddress","pixelColor","sizeIndex","shiftX","shiftY","x","y","randomId","label","_b","directives","rawName","domProps","isArray","valueInternal","_i","$event","$$a","$$el","target","$$c","checked","$$i","concat","$attrs","_q","type","composing","props","String","Number","computed","set","$emit","val","component","components","mounted","syncQueryStringWithOptions","init","gameState","fieldSize","renderer","methods","render","url","searchParams","forEach","syncOptionsWithQueryString","history","replaceState","event","watch","deep","handler","$nextTick","MainScreen","register","process","ready","registered","cached","updatefound","updated","offline","error","Vue","config","productionTip","h","App","$mount"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU6B,QAGnC,IAAIC,EAASF,EAAiB5B,GAAY,CACzCK,EAAGL,EACH+B,GAAG,EACHF,QAAS,IAUV,OANAf,EAAQd,GAAUW,KAAKmB,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG/DI,EAAOC,GAAI,EAGJD,EAAOD,QAKfH,EAAoBM,EAAIlB,EAGxBY,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,SAASL,EAASM,EAAMC,GAC3CV,EAAoBW,EAAER,EAASM,IAClC3B,OAAO8B,eAAeT,EAASM,EAAM,CAAEI,YAAY,EAAMC,IAAKJ,KAKhEV,EAAoBe,EAAI,SAASZ,GACX,qBAAXa,QAA0BA,OAAOC,aAC1CnC,OAAO8B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DpC,OAAO8B,eAAeT,EAAS,aAAc,CAAEe,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKxC,OAAOyC,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBxC,OAAO8B,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBQ,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,WAAwB,OAAOjB,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAJ,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASgB,EAAQC,GAAY,OAAO9C,OAAOC,UAAUC,eAAeC,KAAK0C,EAAQC,IAGzG5B,EAAoB6B,EAAI,sBAExB,IAAIC,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAW3C,KAAKsC,KAAKK,GAC5CA,EAAW3C,KAAOf,EAClB0D,EAAaA,EAAWG,QACxB,IAAI,IAAItD,EAAI,EAAGA,EAAImD,EAAWjD,OAAQF,IAAKP,EAAqB0D,EAAWnD,IAC3E,IAAIU,EAAsB2C,EAI1BzC,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,4ICvJL,EAAS,WAAa,IAAIyC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,GAAK,QAAQ,CAACF,EAAG,gBAAgB,IAC9IG,EAAkB,GCDlB,EAAS,WAAa,IAAIP,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACI,YAAY,eAAe,CAACJ,EAAG,MAAM,CAACI,YAAY,WAAW,CAACJ,EAAG,SAAS,CAACK,IAAI,QAAQD,YAAY,cAAcF,MAAM,CAAC,MAAQN,EAAIU,WAAW,OAASV,EAAIU,YAAYC,GAAG,CAAC,MAAQX,EAAIY,iBAAiBR,EAAG,MAAM,CAACI,YAAY,WAAW,CAACJ,EAAG,MAAM,CAACI,YAAY,YAAY,CAACJ,EAAG,SAAS,CAACE,MAAM,CAAC,SAAWN,EAAIa,WAAWF,GAAG,CAAC,MAAQX,EAAIc,QAAQ,CAACd,EAAIe,GAAG,aAAaX,EAAG,SAAS,CAACE,MAAM,CAAC,UAAYN,EAAIa,WAAWF,GAAG,CAAC,MAAQX,EAAIgB,OAAO,CAAChB,EAAIe,GAAG,YAAYX,EAAG,SAAS,CAACO,GAAG,CAAC,MAAQX,EAAIiB,QAAQ,CAACjB,EAAIe,GAAG,eAAgBf,EAAY,SAAEI,EAAG,MAAM,CAACI,YAAY,YAAY,CAACJ,EAAG,IAAI,CAACJ,EAAIe,GAAG,WAAWX,EAAG,MAAM,CAACJ,EAAIe,GAAG,WAAWf,EAAIkB,GAAGlB,EAAImB,SAASC,WAAWpB,EAAIqB,KAAKjB,EAAG,MAAM,CAACI,YAAY,YAAY,CAACJ,EAAG,IAAI,CAACJ,EAAIe,GAAG,aAAaX,EAAG,YAAY,CAACI,YAAY,cAAcF,MAAM,CAAC,KAAO,SAAS,IAAM,IAAI,IAAM,KAAK,MAAQ,iBAAiB,SAAWN,EAAIa,WAAWS,MAAM,CAACtC,MAAOgB,EAAIuB,QAAgB,SAAEC,SAAS,SAAUC,GAAMzB,EAAI0B,KAAK1B,EAAIuB,QAAS,WAAYvB,EAAI2B,GAAGF,KAAOG,WAAW,sBAAsBxB,EAAG,YAAY,CAACI,YAAY,cAAcF,MAAM,CAAC,KAAO,SAAS,IAAM,IAAI,MAAQ,qBAAqB,SAAWN,EAAIa,WAAWS,MAAM,CAACtC,MAAOgB,EAAIuB,QAAiB,UAAEC,SAAS,SAAUC,GAAMzB,EAAI0B,KAAK1B,EAAIuB,QAAS,YAAavB,EAAI2B,GAAGF,KAAOG,WAAW,uBAAuBxB,EAAG,YAAY,CAACI,YAAY,cAAcF,MAAM,CAAC,KAAO,SAAS,IAAM,IAAI,IAAM,KAAK,MAAQ,QAAQ,SAAWN,EAAIa,WAAWS,MAAM,CAACtC,MAAOgB,EAAIuB,QAAa,MAAEC,SAAS,SAAUC,GAAMzB,EAAI0B,KAAK1B,EAAIuB,QAAS,QAASvB,EAAI2B,GAAGF,KAAOG,WAAW,oBAAoB,QACpmD,EAAkB,G,gGCDDC,E,WACnB,WAAYC,EAAcC,GAAO,uBAC/B9B,KAAKmB,KAAO,EACZnB,KAAK8B,MAAQA,EACb9B,KAAKY,WAAY,EACjBZ,KAAK6B,aAAeA,E,4CAGtB,WAAQ,WACF7B,KAAKY,UACPmB,QAAQC,IAAI,oBAIdhC,KAAKY,WAAY,EACjBZ,KAAKkB,SAAWe,aAAY,WAC1B,EAAKJ,eACL,EAAKV,SACJnB,KAAK8B,U,kBAGV,WACE9B,KAAKY,WAAY,EACjBsB,cAAclC,KAAKkB,c,iBCrBViB,EAAO,EACPC,EAAO,EAKpB,SAASC,EAAsBC,EAAKC,GAClC,IAAMC,EAAKC,KAAKC,KAAKJ,GACfK,EAAKF,KAAKG,MAAML,GACtB,OAAOE,KAAKG,MAAMH,KAAKI,UAAYF,EAAKH,EAAK,IAAMA,EAIrD,IAAMM,EAAgB,SAACC,GAErB,IADA,IAAMC,EAAQ,IAAIC,MAAMF,GACfvG,EAAI,EAAGA,EAAIuG,EAAMvG,IAAK,CAC7BwG,EAAMxG,GAAK,IAAIyG,MAAMF,GACrB,IAAK,IAAIrF,EAAI,EAAGA,EAAIqF,EAAMrF,IACxBsF,EAAMxG,GAAGkB,GAAK2E,EAAsB,EAAG,GAAKA,EAAsB,EAAG,GACjEA,EAAsB,EAAG,GAAKA,EAAsB,EAAG,GAI/D,OAAOW,GAGHE,EAAmB,SAACC,GAGxB,IAFA,IAAMC,EAAYC,KAAKC,MAAMD,KAAKE,UAAUJ,IAEnC3G,EAAI,EAAGA,EAAI2G,EAAczG,OAAQF,IAExC,IADA,IAAMgH,EAAa,eAAIL,EAAc3G,IAC5BkB,EAAI,EAAGA,EAAI8F,EAAW9G,OAAQgB,IAAK,CAC1C,IAAM+F,EAAOD,EAAW9F,GAElBgG,EAAoB,IAANlH,EAAW2G,EAAczG,OAAS,EAAIF,EAAI,EACxDmH,EAAcnH,IAAM2G,EAAczG,OAAS,EAAK,EAAIF,EAAI,EACxDoH,EAAUT,EAAcO,GACxBG,EAAUV,EAAcQ,GACxBG,EAAoB,IAANpG,EAAWkG,EAAQlH,OAAS,EAAIgB,EAAI,EAClDqG,EAAcrG,IAAMkG,EAAQlH,OAAS,EAAK,EAAIgB,EAAI,EAGlDsG,EAAUJ,EAAQE,GAClBG,EAASL,EAAQlG,GACjBwG,EAAWN,EAAQG,GAGnBI,EAAOX,EAAWM,GAClBM,EAAQZ,EAAWO,GAGnBM,EAAaR,EAAQC,GACrBQ,EAAYT,EAAQnG,GACpB6G,EAAcV,EAAQE,GAEtBS,EAAkBR,EAAUC,EAASC,EACvCC,EAAOC,EACPC,EAAaC,EAAYC,EAEzBd,IAASrB,GAA4B,IAApBoC,IAEnBpB,EAAU5G,GAAGkB,GAAKyE,GAGhBsB,IAAStB,IACPqC,EAAkB,GAAKA,EAAkB,KAE3CpB,EAAU5G,GAAGkB,GAAK0E,GAM1B,OAAOgB,GAGYqB,E,WAEnB,WAAY1B,GAAM,uBAChB/C,KAAKgD,MAAQF,EAAcC,G,2CAI7B,WACE,IAAM2B,EAAYxB,EAAiBlD,KAAKgD,OACxChD,KAAKgD,MAAL,eAAiB0B,O,6BCvFAC,E,4FAMnB,SAAO3B,Q,KCHY4B,E,wDACnB,WAAYC,EAASC,EAAOC,EAAQC,GAAU,oCAC5C,eACA,EAAKC,IAAMJ,EAAQK,WAAW,MAC9B,EAAKC,WAAaH,EAClB,EAAKI,MAAQ,EAAKH,IAAII,aAAa,EAAG,EAAGP,EAAQ,EAAKK,WAAYJ,EAAS,EAAKI,YAJpC,E,6CAW9C,SAAOnC,GACL,IAAK,IAAIxG,EAAI,EAAGA,EAAIwG,EAAMtG,OAAQF,IAGhC,IAFA,IAAM8I,EAAMtC,EAAMxG,GACZ+I,EAASD,EAAI5I,OACVgB,EAAI,EAAGA,EAAI6H,EAAQ7H,IAAK,CAC/B,IAAM+F,EAAO6B,EAAI5H,GAEjBsC,KAAKwF,YAAYhJ,EAAGkB,EAAG6H,EAAQ9B,GAInCzD,KAAKiF,IAAIQ,aAAazF,KAAKoF,MAAO,EAAG,K,0BAGvC,SAAa5I,EAAGkB,EAAG6H,EAAQG,GACzB,IAAIC,EAAQ,CAAC,IAAK,IAAK,KACnBD,IAAUvD,IACZwD,EAAQ,CAAC,EAAG,EAAG,IAGjB3F,KAAK4F,aAAalI,EAAGlB,EAAGmJ,EAAOA,EAAOJ,K,yBAGxC,SAAY/I,EAAGkB,EAAG6H,EAAQG,GACxB,IAAIG,EAAY,CAAC,IAAK,IAAK,KACvBC,EAAc,CAAC,IAAK,IAAK,KACzBJ,IAAUvD,IACZ0D,EAAY,CAAC,IAAK,IAAK,KACvBC,EAAc,CAAC,IAAK,IAAK,MAG3B9F,KAAK4F,aAAalI,EAAGlB,EAAGqJ,EAAWC,EAAaP,K,0BAGlD,SAAaQ,EAAaC,EAAaH,EAAWC,EAAaP,GAS7D,IARA,IACIU,EAGAC,EAJE/E,EAAO,EAEP4B,EAAO/C,KAAKmF,WACZgB,EAAYpD,EAAO,EAGnBqD,EAASL,EAAchD,EACvBsD,EAASL,EAAcjD,EACpBvG,EAAI,EAAGA,EAAIuG,EAAMvG,IACxB,IAAK,IAAIkB,EAAI,EAAGA,EAAIqF,EAAMrF,IAAK,CAC7B,IAAM4I,EAAIF,EAAS1I,EACb6I,EAAIF,EAAS7J,EACnByJ,EAAcM,EAAIhB,EAASxC,EAAO5B,EAAOmF,EAAInF,EAG3C+E,EADQ,IAAN1J,GAAWA,IAAM2J,GAAmB,IAANzI,GAAWA,IAAMyI,EACpCL,EAEAD,EAGf7F,KAAKoF,MAAMlJ,KAAK+J,GAAeC,EAAW,GAC1ClG,KAAKoF,MAAMlJ,KAAK+J,EAAc,GAAKC,EAAW,GAC9ClG,KAAKoF,MAAMlJ,KAAK+J,EAAc,GAAKC,EAAW,GAC9ClG,KAAKoF,MAAMlJ,KAAK+J,EAAc,GAAK,S,GAtECtB,GCHxC,EAAS,WAAa,IAAI5E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,IAAMN,EAAIyG,WAAW,CAACzG,EAAIe,GAAGf,EAAIkB,GAAGlB,EAAI0G,UAAiC,aAApB1G,EAAU,OAAM,KAAgBI,EAAG,QAAQJ,EAAI2G,GAAG,CAACC,WAAW,CAAC,CAACrI,KAAK,QAAQsI,QAAQ,UAAU7H,MAAOgB,EAAiB,cAAE4B,WAAW,kBAAkBtB,MAAM,CAAC,GAAKN,EAAIyG,SAAS,KAAO,YAAYK,SAAS,CAAC,QAAU5D,MAAM6D,QAAQ/G,EAAIgH,eAAehH,EAAIiH,GAAGjH,EAAIgH,cAAc,OAAO,EAAGhH,EAAiB,eAAGW,GAAG,CAAC,OAAS,SAASuG,GAAQ,IAAIC,EAAInH,EAAIgH,cAAcI,EAAKF,EAAOG,OAAOC,IAAIF,EAAKG,QAAuB,GAAGrE,MAAM6D,QAAQI,GAAK,CAAC,IAAI1F,EAAI,KAAK+F,EAAIxH,EAAIiH,GAAGE,EAAI1F,GAAQ2F,EAAKG,QAASC,EAAI,IAAIxH,EAAIgH,cAAcG,EAAIM,OAAO,CAAChG,KAAY+F,GAAK,IAAIxH,EAAIgH,cAAcG,EAAIpH,MAAM,EAAEyH,GAAKC,OAAON,EAAIpH,MAAMyH,EAAI,UAAWxH,EAAIgH,cAAcM,KAAQ,QAAQtH,EAAI0H,QAAO,IAA+B,UAApB1H,EAAU,OAAM,KAAaI,EAAG,QAAQJ,EAAI2G,GAAG,CAACC,WAAW,CAAC,CAACrI,KAAK,QAAQsI,QAAQ,UAAU7H,MAAOgB,EAAiB,cAAE4B,WAAW,kBAAkBtB,MAAM,CAAC,GAAKN,EAAIyG,SAAS,KAAO,SAASK,SAAS,CAAC,QAAU9G,EAAI2H,GAAG3H,EAAIgH,cAAc,OAAOrG,GAAG,CAAC,OAAS,SAASuG,GAAQlH,EAAIgH,cAAc,QAAQ,QAAQhH,EAAI0H,QAAO,IAAQtH,EAAG,QAAQJ,EAAI2G,GAAG,CAACC,WAAW,CAAC,CAACrI,KAAK,QAAQsI,QAAQ,UAAU7H,MAAOgB,EAAiB,cAAE4B,WAAW,kBAAkBtB,MAAM,CAAC,GAAKN,EAAIyG,SAAS,KAAQzG,EAAU,OAAE4H,MAAMd,SAAS,CAAC,MAAS9G,EAAiB,eAAGW,GAAG,CAAC,MAAQ,SAASuG,GAAWA,EAAOG,OAAOQ,YAAqB7H,EAAIgH,cAAcE,EAAOG,OAAOrI,UAAS,QAAQgB,EAAI0H,QAAO,OACx9C,EAAkB,GCWtB,G,UAAA,CACEnJ,KAAM,WACNuJ,MAAO,CACLpB,MAAOqB,OAEP/I,MAAO,CAACgJ,OAAQD,SAGlB5L,KARF,WASI,MAAO,CACLsK,SAAU/D,KAAKI,WAInBmF,SAAU,CACRjB,cAAe,CACbpI,IADN,WAEQ,OAAOqB,KAAKjB,OAGdkJ,IALN,SAKA,GACQjI,KAAKkI,MAAM,QAASC,QCjCqU,I,YCO7VC,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,QCkEf,GACE9J,KAAM,aACN+J,WAAY,CAAd,YACEC,QAHF,WAIItI,KAAKuI,6BACLvI,KAAKwI,QAIPtM,KATF,WAUI,MAAO,CACLuM,UAAW,KACXvH,SAAU,KAEVI,QAAS,CACP0D,SAAU,EACV0D,UAAW,IACX5G,MAAO,IAGT6G,SAAU,OAIdX,SAAU,CACRpH,UADJ,WACA,MACM,OAAN,yDAGIH,WALJ,WAMM,OAAOT,KAAKsB,QAAQoH,UAAY1I,KAAKsB,QAAQ0D,WAIjD4D,QAAS,CACP/H,MADJ,WAEMb,KAAKkB,SAASL,SAGhBE,KALJ,WAMMf,KAAKkB,SAASH,QAGhBC,MATJ,WAUMhB,KAAKe,OACLf,KAAKkB,SAAW,KAChBlB,KAAKyI,UAAY,KACjBzI,KAAK2I,SAAW,KAEhB3I,KAAKwI,QAGPA,KAlBJ,WAkBA,WACMxI,KAAKyI,UAAY,IAAI,EAA3B,wBACMzI,KAAK2I,SAAW,IAAI,EAC1B,iBACA,uBACA,uBACA,uBAGM3I,KAAK6I,OAAO7I,KAAKyI,UAAUzF,OAE3B,IAAN,yBACMhD,KAAKkB,SAAW,IAAI,GAA1B,WACQ,EAAR,iBACQ,EAAR,4BACA,IAGI2H,OApCJ,SAoCA,GACM7I,KAAK2I,SAASE,OAAO7F,IAGvBuF,2BAxCJ,WAwCA,WACA,sCACMO,EAAIC,aAAaC,SAAQ,SAA/B,KACY,EAAZ,aACU,EAAV,kBAKIC,2BAjDJ,WAkDM,IAAN,oCACA,2BACMrJ,OAAOsJ,QAAQC,aAAa,KAAM,GAAI,GAA5C,qCAGIxI,YAvDJ,SAuDA,GACMoB,QAAQC,IAAIoH,KAIhBC,MAAO,CACL/H,QAAS,CACPgI,MAAM,EACNC,QAFN,WAEA,WACQvJ,KAAKwJ,WAAU,WACb,EAAV,QACU,EAAV,oCCxLoV,ICQhV,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,QCVf,GACElL,KAAM,MACN+J,WAAY,CACVoB,WAAJ,ICZ8T,ICQ1T,G,UAAY,eACd,EACA,EACAnJ,GACA,EACA,KACA,KACA,OAIa,I,oBCdboJ,eAAS,GAAD,OAAIC,sBAAJ,qBAA6C,CACnDC,MADmD,WAEjD7H,QAAQC,IACN,uGAIJ6H,WAPmD,WAQjD9H,QAAQC,IAAI,wCAEd8H,OAVmD,WAWjD/H,QAAQC,IAAI,6CAEd+H,YAbmD,WAcjDhI,QAAQC,IAAI,gCAEdgI,QAhBmD,WAiBjDjI,QAAQC,IAAI,8CAEdiI,QAnBmD,WAoBjDlI,QAAQC,IAAI,kEAEdkI,MAtBmD,SAsB7CA,GACJnI,QAAQmI,MAAM,4CAA6CA,MCxBjEC,OAAIC,OAAOC,eAAgB,EAE3B,IAAIF,OAAI,CACNtB,OAAQ,SAACyB,GAAD,OAAOA,EAAEC,MAChBC,OAAO,S,oCCRV,W,kCCAA,W","file":"js/app.3dffd3cc.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/misc/game-of-life/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('main-screen')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-screen\"},[_c('div',{staticClass:\"content\"},[_c('canvas',{ref:\"field\",staticClass:\"main-canvas\",attrs:{\"width\":_vm.canvasSize,\"height\":_vm.canvasSize},on:{\"click\":_vm.handleClick}})]),_c('div',{staticClass:\"sidebar\"},[_c('div',{staticClass:\"sb-block\"},[_c('button',{attrs:{\"disabled\":_vm.isStarted},on:{\"click\":_vm.start}},[_vm._v(\" Start \")]),_c('button',{attrs:{\"disabled\":!_vm.isStarted},on:{\"click\":_vm.stop}},[_vm._v(\" Stop \")]),_c('button',{on:{\"click\":_vm.reset}},[_vm._v(\" Reset \")])]),(_vm.gameLoop)?_c('div',{staticClass:\"sb-block\"},[_c('b',[_vm._v(\"State\")]),_c('div',[_vm._v(\"Step is \"+_vm._s(_vm.gameLoop.step))])]):_vm._e(),_c('div',{staticClass:\"sb-block\"},[_c('b',[_vm._v(\"Options\")]),_c('app-input',{staticClass:\"option-item\",attrs:{\"type\":\"number\",\"min\":\"1\",\"max\":\"10\",\"label\":\"Cell size (px)\",\"disabled\":_vm.isStarted},model:{value:(_vm.options.cellSize),callback:function ($$v) {_vm.$set(_vm.options, \"cellSize\", _vm._n($$v))},expression:\"options.cellSize\"}}),_c('app-input',{staticClass:\"option-item\",attrs:{\"type\":\"number\",\"min\":\"5\",\"label\":\"Field size (cells)\",\"disabled\":_vm.isStarted},model:{value:(_vm.options.fieldSize),callback:function ($$v) {_vm.$set(_vm.options, \"fieldSize\", _vm._n($$v))},expression:\"options.fieldSize\"}}),_c('app-input',{staticClass:\"option-item\",attrs:{\"type\":\"number\",\"min\":\"1\",\"max\":\"10\",\"label\":\"Speed\",\"disabled\":_vm.isStarted},model:{value:(_vm.options.speed),callback:function ($$v) {_vm.$set(_vm.options, \"speed\", _vm._n($$v))},expression:\"options.speed\"}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default class GameLoop {\n constructor(tickCallback, speed) {\n this.step = 0;\n this.speed = speed;\n this.isStarted = false;\n this.tickCallback = tickCallback;\n }\n\n start() {\n if (this.isStarted) {\n console.log('Already started');\n return;\n }\n\n this.isStarted = true;\n this.gameLoop = setInterval(() => {\n this.tickCallback();\n this.step++;\n }, this.speed);\n }\n\n stop() {\n this.isStarted = false;\n clearInterval(this.gameLoop);\n }\n}\n","import exampleSeed from '@/game/renderers/examples/example-seed';\n\nexport const LIFE = 1;\nexport const DEAD = 0;\n\n// eslint-disable-next-line no-unused-vars\nconst getExampleField = () => exampleSeed;\n\nfunction getRandomIntInclusive(min, max) {\n const mn = Math.ceil(min);\n const mx = Math.floor(max);\n return Math.floor(Math.random() * (mx - mn + 1)) + mn;\n}\n\n// eslint-disable-next-line no-unused-vars\nconst generateField = (size) => {\n const field = new Array(size);\n for (let i = 0; i < size; i++) {\n field[i] = new Array(size);\n for (let j = 0; j < size; j++) {\n field[i][j] = getRandomIntInclusive(0, 1) * getRandomIntInclusive(0, 1)\n * getRandomIntInclusive(0, 1) * getRandomIntInclusive(0, 1);\n }\n }\n\n return field;\n};\n\nconst generateNextStep = (previousState) => {\n const nextState = JSON.parse(JSON.stringify(previousState));\n\n for (let i = 0; i < previousState.length; i++) {\n const currentRow = [...previousState[i]];\n for (let j = 0; j < currentRow.length; j++) {\n const cell = currentRow[j];\n // Проверяем 8 соседей\n const prevRowNum = (i === 0) ? previousState.length - 1 : i - 1;\n const nextRowNum = (i === previousState.length - 1) ? 0 : i + 1;\n const prevRow = previousState[prevRowNum];\n const nextRow = previousState[nextRowNum];\n const prevColNum = (j === 0) ? prevRow.length - 1 : j - 1;\n const nextColNum = (j === prevRow.length - 1) ? 0 : j + 1;\n\n // Верхний ряд соседей\n const leftTop = prevRow[prevColNum];\n const midTop = prevRow[j];\n const rightTop = prevRow[nextColNum];\n\n // Соседи в этом ряду\n const left = currentRow[prevColNum];\n const right = currentRow[nextColNum];\n\n // Соседи в следующем ряду\n const leftBottom = nextRow[prevColNum];\n const midBottom = nextRow[j];\n const rightBottom = nextRow[nextColNum];\n\n const aliveNeighbours = leftTop + midTop + rightTop\n + left + right\n + leftBottom + midBottom + rightBottom;\n\n if (cell === DEAD && aliveNeighbours === 3) {\n // Зарождается жизнь\n nextState[i][j] = LIFE;\n }\n\n if (cell === LIFE) {\n if (aliveNeighbours < 2 || aliveNeighbours > 3) {\n // Умирает\n nextState[i][j] = DEAD;\n }\n }\n }\n }\n\n return nextState;\n};\n\nexport default class LifeGameState {\n // eslint-disable-next-line no-unused-vars\n constructor(size) {\n this.field = generateField(size); // TODO показывать сид\n // this.field = getExampleField();\n }\n\n tick() {\n const nextField = generateNextStep(this.field);\n this.field = [...nextField];\n }\n}\n","export default class Renderer {\n /**\n * Поле - двумерный массив\n * @param field\n */\n // eslint-disable-next-line class-methods-use-this,no-unused-vars\n render(field) {}\n}\n","import Renderer from '@/game/renderers/contracts/Renderer';\nimport { LIFE } from '@/game/LifeGameState';\n\nexport default class CanvasRenderer extends Renderer {\n constructor($canvas, width, height, cellSize) {\n super();\n this.ctx = $canvas.getContext('2d');\n this.multiplier = cellSize;\n this.image = this.ctx.getImageData(0, 0, width * this.multiplier, height * this.multiplier);\n }\n\n // TODO рендерить клетки покрупнее\n // TODO масштаб\n // TODO рисование\n // TODO производительность не очень, если размер клетки большой\n render(field) {\n for (let i = 0; i < field.length; i++) {\n const row = field[i];\n const rowLen = row.length;\n for (let j = 0; j < rowLen; j++) {\n const cell = row[j];\n // this.renderSimple(i, j, rowLen, cell);\n this.renderFancy(i, j, rowLen, cell);\n }\n }\n\n this.ctx.putImageData(this.image, 0, 0);\n }\n\n renderSimple(i, j, rowLen, state) {\n let color = [255, 255, 255];\n if (state === LIFE) {\n color = [0, 0, 0];\n }\n\n this.renderSquare(j, i, color, color, rowLen);\n }\n\n renderFancy(i, j, rowLen, state) {\n let bodyColor = [255, 255, 255];\n let borderColor = [255, 255, 255];\n if (state === LIFE) {\n bodyColor = [188, 222, 255]; // #BCDEFF\n borderColor = [126, 187, 255]; // #7EBBF9\n }\n\n this.renderSquare(j, i, bodyColor, borderColor, rowLen);\n }\n\n renderSquare(startPointX, startPointY, bodyColor, borderColor, rowLen) {\n const step = 4;\n let dataAddress;\n const size = this.multiplier;\n const sizeIndex = size - 1;\n let pixelColor;\n\n const shiftX = startPointX * size;\n const shiftY = startPointY * size;\n for (let i = 0; i < size; i++) {\n for (let j = 0; j < size; j++) {\n const x = shiftX + j;\n const y = shiftY + i;\n dataAddress = y * rowLen * size * step + x * step;\n\n if (i === 0 || i === sizeIndex || j === 0 || j === sizeIndex) {\n pixelColor = borderColor;\n } else {\n pixelColor = bodyColor;\n }\n\n this.image.data[dataAddress] = pixelColor[0];\n this.image.data[dataAddress + 1] = pixelColor[1];\n this.image.data[dataAddress + 2] = pixelColor[2];\n this.image.data[dataAddress + 3] = 255; // Alpha\n }\n }\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',{attrs:{\"for\":_vm.randomId}},[_vm._v(_vm._s(_vm.label))]),(((_vm.$attrs).type)==='checkbox')?_c('input',_vm._b({directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.valueInternal),expression:\"valueInternal\"}],attrs:{\"id\":_vm.randomId,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.valueInternal)?_vm._i(_vm.valueInternal,null)>-1:(_vm.valueInternal)},on:{\"change\":function($event){var $$a=_vm.valueInternal,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.valueInternal=$$a.concat([$$v]))}else{$$i>-1&&(_vm.valueInternal=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.valueInternal=$$c}}}},'input',_vm.$attrs,false)):(((_vm.$attrs).type)==='radio')?_c('input',_vm._b({directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.valueInternal),expression:\"valueInternal\"}],attrs:{\"id\":_vm.randomId,\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.valueInternal,null)},on:{\"change\":function($event){_vm.valueInternal=null}}},'input',_vm.$attrs,false)):_c('input',_vm._b({directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.valueInternal),expression:\"valueInternal\"}],attrs:{\"id\":_vm.randomId,\"type\":(_vm.$attrs).type},domProps:{\"value\":(_vm.valueInternal)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.valueInternal=$event.target.value}}},'input',_vm.$attrs,false))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppInput.vue?vue&type=template&id=035057fe&\"\nimport script from \"./AppInput.vue?vue&type=script&lang=js&\"\nexport * from \"./AppInput.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainScreen.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainScreen.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainScreen.vue?vue&type=template&id=15f7df39&scoped=true&\"\nimport script from \"./MainScreen.vue?vue&type=script&lang=js&\"\nexport * from \"./MainScreen.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MainScreen.vue?vue&type=style&index=0&id=15f7df39&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"15f7df39\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=04b1d0b2&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker';\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n'\n + 'For more details, visit https://goo.gl/AFskqB',\n );\n },\n registered() {\n console.log('Service worker has been registered.');\n },\n cached() {\n console.log('Content has been cached for offline use.');\n },\n updatefound() {\n console.log('New content is downloading.');\n },\n updated() {\n console.log('New content is available; please refresh.');\n },\n offline() {\n console.log('No internet connection found. App is running in offline mode.');\n },\n error(error) {\n console.error('Error during service worker registration:', error);\n },\n });\n}\n","import Vue from 'vue';\nimport App from './App.vue';\nimport './registerServiceWorker';\n\nVue.config.productionTip = false;\n\nnew Vue({\n render: (h) => h(App),\n}).$mount('#app');\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainScreen.vue?vue&type=style&index=0&id=15f7df39&scoped=true&lang=scss&\""],"sourceRoot":""}