@scrabble-solver/scrabble-solver 2.6.1 → 2.7.0

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 (474) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +9 -9
  3. package/.next/cache/next-babel-loader/content-v2/sha512/{be/b9/f5563f75e2792645d7a2ec5395497795a638d08bc87ae1b096bbfe37cffa6ad84ad91c5ef3c4b507923551953da088b19229af4adab63744b133b471310f → 2c/02/875288c301c0ef9c5c4c8d28a06248d3053b2d92f49f5ac9ab97980bc083106c2842c2e36ee8ff14c7c8b8f828ac09f266d44b2ef7e7c81e10e33efcd183} +1 -1
  4. package/.next/cache/next-babel-loader/content-v2/sha512/5e/8f/0643f3c54653802a0db1506032968345ff91ceeb3e97deb46dc005f59a0125720e37f97b2ef7fbde6340ba1b728b6ddbe926b81f3dd65f92f6ad24833a7a +1 -0
  5. package/.next/cache/next-babel-loader/content-v2/sha512/67/e6/daa65ad62094645f9793b807530082172183795298055f893852777871ea1c590f559236b63e1933e8e85bb53032832acbeded27922552045ea212fd2705 +1 -0
  6. package/.next/cache/next-babel-loader/content-v2/sha512/75/f9/22034b5b9bd90c1b32c0adcfbfcc7b103777ed224c1f502a5dc4319efee976cda96f5722409a2538d1734d23dd22210f5e7a3d52065ca5c9d43a06c45cc3 +1 -0
  7. package/.next/cache/next-babel-loader/content-v2/sha512/db/87/042bf752ad370cc4589980bee3b82c93c5f74f762de3956f6172a3c4578e873f0d530714b64ade91762bd9d68804f817b7b597419a6bbc5820fd729e6cf5 +1 -0
  8. package/.next/cache/next-babel-loader/index-v5/00/94/4d5db52a9f76737fe32f48071c838500c336d30dfba7ad73f93f4330c1ec +1 -1
  9. package/.next/cache/next-babel-loader/index-v5/01/49/9b3804def80f8a2a63a61cb2c7b69b32aab7967fcf4b494039268ff484f2 +1 -1
  10. package/.next/cache/next-babel-loader/index-v5/01/e2/05eebed421de35c6768e8af36e28912e54d866595844ff0133bb81369698 +1 -1
  11. package/.next/cache/next-babel-loader/index-v5/03/67/a5df64bbfb45106726d40355c1047301600543a21b53b22bdabecec45a14 +1 -1
  12. package/.next/cache/next-babel-loader/index-v5/06/50/ed5306f3dfc88283aeac431ed5efaff43b1b54f2e79d53e9f01dde397413 +1 -1
  13. package/.next/cache/next-babel-loader/index-v5/06/ab/29ad42cca1281514a4c90709cce849bdbb3e0bdaa96497d73eb200522ca8 +1 -1
  14. package/.next/cache/next-babel-loader/index-v5/0a/05/466082e340b1a9a6d3409333a8bf899d9b9936a7b04699cbd88b36bd582f +1 -1
  15. package/.next/cache/next-babel-loader/index-v5/0d/9b/6f54a03631c376ad57089280cefb59aac07ea7b0527d01f2f7d75038e643 +1 -1
  16. package/.next/cache/next-babel-loader/index-v5/0d/d4/b6893e5c7846b782004938d2a87355a2a49bce47f6825258504485915604 +1 -1
  17. package/.next/cache/next-babel-loader/index-v5/0e/4e/adc5f2033c75a34861747319f2b8d2dc9c905288e2a515cffc8220d461d0 +1 -1
  18. package/.next/cache/next-babel-loader/index-v5/0e/71/7d14c93c242a3e5d2a18105908d92afb004df30305a5c3e1b2f203d8fa70 +1 -1
  19. package/.next/cache/next-babel-loader/index-v5/0e/af/43e1b86d6ab5b887c008ff08f167c0fcecc49840ef622ff94979af8eb893 +2 -0
  20. package/.next/cache/next-babel-loader/index-v5/0f/00/e50d6da87e3bb3cff9faed9624c481ce07d07f1bd7ba292c24de68cba597 +1 -1
  21. package/.next/cache/next-babel-loader/index-v5/0f/2d/db7b698fe86c26fbf5279057e9978b7f16a4f18bb2e106ef667ea8318c2b +1 -1
  22. package/.next/cache/next-babel-loader/index-v5/10/03/d8b8ceace6a539787599be45cfe79b8ad33c12ed5548405cc44acef5ffc9 +1 -1
  23. package/.next/cache/next-babel-loader/index-v5/10/10/b154984b2fa06c1dc05ffc89624a5c1c1ba843b30cf6d64bb22ec701bbc8 +1 -1
  24. package/.next/cache/next-babel-loader/index-v5/10/3c/260ac6de3dade3335c8f982c89ebac4e4308306c3c1f29839b0b2d788983 +1 -1
  25. package/.next/cache/next-babel-loader/index-v5/11/23/7896e97e0ec2514fee8d81b14a43e28ddcc1d630847871155abdff88ea75 +1 -1
  26. package/.next/cache/next-babel-loader/index-v5/11/60/0279b915d43be35a1bdceeba64e3c842d373ca96026476b549ffb7d3f43f +1 -1
  27. package/.next/cache/next-babel-loader/index-v5/12/d1/afa2045635bdda48827d0ee1a952ad40857f8c69314e2c69389a9fb67706 +1 -1
  28. package/.next/cache/next-babel-loader/index-v5/13/8b/aab116211f078dc78f85ef2d41cf468352090505e3b14fbb1754b7795a42 +1 -1
  29. package/.next/cache/next-babel-loader/index-v5/13/ba/c5a6fd4a15bf61d2d3fd24ab2eac59884b5c96e2d4fdfc75b35841006dec +1 -1
  30. package/.next/cache/next-babel-loader/index-v5/13/e3/16a76db2ae3e8810c2bd4c49472d0197d36d977c109a106002fed8bf6e47 +1 -1
  31. package/.next/cache/next-babel-loader/index-v5/14/85/5f3549f235d9b7face938046f98e073e7bc2d5c36cc7bc5e1a6d30815ca7 +1 -1
  32. package/.next/cache/next-babel-loader/index-v5/15/5c/740d8642f1686b31b7c8647f2d500697ea784ac1bf80e3568f15c19c2430 +1 -1
  33. package/.next/cache/next-babel-loader/index-v5/15/89/9e8fc989982d195689e54707b854763a6197fb43531eb6be4dbe54786e86 +1 -1
  34. package/.next/cache/next-babel-loader/index-v5/15/ed/b5bd4dc3ba7140b2298b9c66818574232264cd01f3ed111bbccc88417a96 +1 -1
  35. package/.next/cache/next-babel-loader/index-v5/16/62/36a54635ca85f353efaa27eb2fefd1bcf53f78d1a8c6c1d13bfed0688aee +1 -1
  36. package/.next/cache/next-babel-loader/index-v5/16/f5/2e82055d37ac763b5e3b2b7b5275c356d217a3e7f020449a371c8af81d55 +1 -1
  37. package/.next/cache/next-babel-loader/index-v5/17/31/9fc0833a4cd58fb072d8c52edc9a716e4776ea32381b294e0b9b85a159f3 +1 -1
  38. package/.next/cache/next-babel-loader/index-v5/17/94/1005b6c3d458f270d35674573f843729d7d5d9895f0dddadfcfac459cc2d +1 -1
  39. package/.next/cache/next-babel-loader/index-v5/19/0f/7f9f46019a311473323b7f2ec82b8e2f65625d7f4154b53a38969ced45b4 +1 -1
  40. package/.next/cache/next-babel-loader/index-v5/19/4f/ca962707f9956951bf86900d1f887d445d30da7e66037688efd03bbba5a3 +1 -1
  41. package/.next/cache/next-babel-loader/index-v5/19/68/4aeb66fa4d97666b4a17f8063347b0abd6b4a2199ed10d6fdb568dda14d7 +1 -1
  42. package/.next/cache/next-babel-loader/index-v5/1b/05/580f8285cce7aadab82e6cbeb9d46bd2a42148491be4d4489f1ce5d054d8 +1 -1
  43. package/.next/cache/next-babel-loader/index-v5/1b/e1/72830b7805f950091a54a168ac06b604231f8a39c5876c886214e4ce3362 +1 -1
  44. package/.next/cache/next-babel-loader/index-v5/1b/fb/6764bd232b0eb0b5dddf9086ba8d65551713600c72aa9bd7f7cdd74d6a84 +1 -1
  45. package/.next/cache/next-babel-loader/index-v5/1c/66/976cf0b1a286c9dbe91c6cca55ab5732a92004126d7d5ba8be966de196cc +1 -1
  46. package/.next/cache/next-babel-loader/index-v5/1c/71/3050226c9e44afb3b145a8ff838d9a9efe68924c80c2a2b0b5c2a919c7c6 +1 -1
  47. package/.next/cache/next-babel-loader/index-v5/1c/7a/9b525663917c884edc95858e27e46899faca361f7be45d2d1ad3b3b1c6ec +1 -1
  48. package/.next/cache/next-babel-loader/index-v5/1c/be/705d8168be63dae991c86bf195500cf97ccfdde530861e758cbeeb45da00 +1 -1
  49. package/.next/cache/next-babel-loader/index-v5/1e/7f/ed2115d67579a9ab24de682604312ea59ee49963bd6c4a1a794b88665f3e +1 -1
  50. package/.next/cache/next-babel-loader/index-v5/1e/8d/e658578e60698e7093e46b062274d4d792faf732c4aa6b7b386fd592e710 +1 -1
  51. package/.next/cache/next-babel-loader/index-v5/1e/bf/b2df4a53e0817ee8a0b8cc38bc110c0e429ccdbb3e99740dcac4b5096d5a +1 -1
  52. package/.next/cache/next-babel-loader/index-v5/20/36/96c62b7cd2702b69a115c273291f1f3883847b1f21b22d71028aa329c999 +1 -1
  53. package/.next/cache/next-babel-loader/index-v5/21/32/40d29592f813e1329e42a4f25405c7a28f78af43fa1b4577423fa88cc735 +1 -1
  54. package/.next/cache/next-babel-loader/index-v5/24/28/713274b7a00e5d71b70a37f2d3593b41ae056aa8a82deb4d9520c020ee9e +1 -1
  55. package/.next/cache/next-babel-loader/index-v5/27/03/3b0f17670a8d2c132d657d5c7872caf13ca4ee6709291e4857b47df3b3b5 +1 -1
  56. package/.next/cache/next-babel-loader/index-v5/27/b6/84d82abc1a27a664f865e19c0b0352cb9c1f2bcab8dbca19cdebad353d33 +1 -1
  57. package/.next/cache/next-babel-loader/index-v5/27/fe/d3f27aa05f0a887c6acad756b37217228bc6b552cd051641696b47337221 +1 -1
  58. package/.next/cache/next-babel-loader/index-v5/28/de/b08352c5c0a66a9b68c19ab2e9037cc007edb4ff9bc89322d666541e5493 +1 -1
  59. package/.next/cache/next-babel-loader/index-v5/29/53/2ab5fcc7eeeb66f029f06376532d1d9e2b98737f52b862ee8da27b0c471b +1 -1
  60. package/.next/cache/next-babel-loader/index-v5/2a/0a/d2d75ca509b3fa60023011ae9feefa3f045d27a8a482e69d155c4fa800fe +1 -1
  61. package/.next/cache/next-babel-loader/index-v5/2b/25/8b58780fed89537e533b10ba41e334c0d3dad85f5d959a99723013edd381 +1 -1
  62. package/.next/cache/next-babel-loader/index-v5/2d/0c/03be4da1c1527a40afeaca3745133757e18a74fdd5d56869a9af2d489437 +1 -1
  63. package/.next/cache/next-babel-loader/index-v5/2d/68/fcc7926b609bb0a3745c637811de032086ace042b968ec452409792ef0a4 +2 -0
  64. package/.next/cache/next-babel-loader/index-v5/2d/92/7eb6c7605a7599157b61e3d67541ae716b36ae19ec5b9f11610370ebc743 +1 -1
  65. package/.next/cache/next-babel-loader/index-v5/2e/38/3ba270044d47c0b30e8f2c2bd820e8f3f7e03a726fd1bbb75c697f9a6f8b +1 -1
  66. package/.next/cache/next-babel-loader/index-v5/2e/42/7486ccfe6d15c630b6d181c4f2ffad8303d0dad471d77e4f37be41fd8c40 +1 -1
  67. package/.next/cache/next-babel-loader/index-v5/2e/c2/95af5ff69d04644ac440944b9a74d2e8f2edcc1c5c7c1c3b4e9161d0e820 +1 -1
  68. package/.next/cache/next-babel-loader/index-v5/2f/32/7427cb04325fdec0c74fa74967eb7503d34a8e7d909cd9bd4103c04b2e01 +1 -1
  69. package/.next/cache/next-babel-loader/index-v5/30/41/eb088bb5ca818ea9e1baabcc1c0ccc9dec4bb99b74575ecbb2645cac3531 +1 -1
  70. package/.next/cache/next-babel-loader/index-v5/31/f0/18947e9965f6285df649597d946bc6ae2f1720a113ae8ffc7495eecc2e29 +1 -1
  71. package/.next/cache/next-babel-loader/index-v5/32/41/6fe1fba2de42038289b187ea0f2e30d957823a6d7f4ee3ba0b37909d4436 +1 -1
  72. package/.next/cache/next-babel-loader/index-v5/33/e6/8dad7b80504cd3f0625a12405ac97baaa1e86060c7fc308ce93602f8e546 +1 -1
  73. package/.next/cache/next-babel-loader/index-v5/34/02/d60fe680a0f1da7f9d3f2963bf34d54c824df2527e0885aff15181eac3c5 +1 -1
  74. package/.next/cache/next-babel-loader/index-v5/34/4a/3c7f94e8fdcfe458dfcbb8c6f7819c2c39358467b4fdf8ff5c408fe33085 +1 -1
  75. package/.next/cache/next-babel-loader/index-v5/34/76/ada35908c858ec95b9b3098f40a45d41b43225898d3705577988b0401f7c +1 -1
  76. package/.next/cache/next-babel-loader/index-v5/34/b4/eed975f466c888560db90af0767536ab7f13014f05a5d6a36cf8ac337537 +1 -1
  77. package/.next/cache/next-babel-loader/index-v5/35/0c/e18a7cec1a8c9f77c387ef2d26bc6b01711df23b0040a3d898e585d76652 +1 -1
  78. package/.next/cache/next-babel-loader/index-v5/35/55/a473700e333748567405040751c0deffe5752d56adbcf496d2cd1c54a00c +1 -1
  79. package/.next/cache/next-babel-loader/index-v5/35/f8/895e09f5abc3581613ee187457cedde4ef660b1e028406cac06d911bb588 +1 -1
  80. package/.next/cache/next-babel-loader/index-v5/36/c9/0e25b9202933c3ee3d91bd9c08a21663b8eba7c7504c9278b93308ad53f0 +1 -1
  81. package/.next/cache/next-babel-loader/index-v5/37/f2/5bd3440bf7074b86b985a7eeb8acef8ea41716f0dad85b5b3b3fae3194dc +2 -0
  82. package/.next/cache/next-babel-loader/index-v5/38/6d/90e8306fcc2fc166e08f586518fe468548c45ca31bfa39c58f8db71e383b +1 -1
  83. package/.next/cache/next-babel-loader/index-v5/38/8e/261d3b9e2f7c1e7877598ddac3f10a7c2790873f8c7eeb00b90b8421dca9 +1 -1
  84. package/.next/cache/next-babel-loader/index-v5/38/d5/eee0dd4033051ba838187c19ba6682cdb38773331e5faa920ac01cab4e1d +1 -1
  85. package/.next/cache/next-babel-loader/index-v5/39/93/e044d3da0741ee97aadfbb63175823c48306fcdb859fc31225778db7e704 +1 -1
  86. package/.next/cache/next-babel-loader/index-v5/3a/07/8c1be17a15b2a58aa23c6dba724abda21daf8c94d0da48b790925b955395 +1 -1
  87. package/.next/cache/next-babel-loader/index-v5/3a/f1/95d4a0cfd966a6426b97486e64a51d339a7b89003f7d093496081a0862bc +1 -1
  88. package/.next/cache/next-babel-loader/index-v5/3c/9b/01a235909e84608b077aa28e774f70ddfb81a03bde21dbac0eb09806e790 +1 -1
  89. package/.next/cache/next-babel-loader/index-v5/3d/08/2613c2949cb9412b4f7e70519f8b8c504bfd7c46bc795af8276911a1749d +1 -1
  90. package/.next/cache/next-babel-loader/index-v5/3d/41/52136952e5ee4f00bedad6508bde8adfd6f1eee47bea426fad7290aefc9b +1 -1
  91. package/.next/cache/next-babel-loader/index-v5/3d/c7/672a0d0d27379bde1169c9fd82ca01268f353135232314720a0d1515471b +1 -1
  92. package/.next/cache/next-babel-loader/index-v5/3e/88/085b7103a1527b1e8bb9825fd694c84c59375898a4c0183d49621a1f954f +1 -1
  93. package/.next/cache/next-babel-loader/index-v5/3e/c1/6f035ea4b7f64a7e384bcdc2e5d810c312a2b28d235421151d7c7fe43cf3 +1 -1
  94. package/.next/cache/next-babel-loader/index-v5/3f/ef/cfe887a419d6f10b507e1da38ed613fb34686b6e1ad8b18ec70bf788b1e0 +1 -1
  95. package/.next/cache/next-babel-loader/index-v5/40/fa/163b1c4ba44c79d4c04af952d30bf0005f006e8f01a4e7259e00bae66591 +1 -1
  96. package/.next/cache/next-babel-loader/index-v5/41/07/81c45f8674b2f610db882823e122aed6a4535767483b76a4fec4ad95b574 +2 -0
  97. package/.next/cache/next-babel-loader/index-v5/41/1e/cdde57436ba9641c590ba844d002f45e9571195ca47cbb78779e6cb0b795 +1 -1
  98. package/.next/cache/next-babel-loader/index-v5/41/5f/6ebf77d0a62a28ffc42e6b0355c07a4dd475f635daf6789fb47b573ec5ca +1 -1
  99. package/.next/cache/next-babel-loader/index-v5/42/b2/da83733dbf10fe5d7e273fc9c61406e6d38860c6f1908f0351552f1d243c +1 -1
  100. package/.next/cache/next-babel-loader/index-v5/44/75/4c70641ed90c07374f143b8f8f7d18ef3f0e444a1fbb0d6e13178d61953b +1 -1
  101. package/.next/cache/next-babel-loader/index-v5/44/e8/126766a55a5adbe1b25eb9249d2a07af1c637bf0420f0556e0be5e1ab767 +1 -1
  102. package/.next/cache/next-babel-loader/index-v5/45/19/de416837ca82df6148d4a44d3ab8cb6cc0cff001c28f83a28247001e63f8 +1 -1
  103. package/.next/cache/next-babel-loader/index-v5/45/41/dfc4cc31400776ce4a97820facfef00023ab3e15b9c5efc9904bcfb007c5 +1 -1
  104. package/.next/cache/next-babel-loader/index-v5/45/4a/4f08bc119fa1c4278204d4cbae23ccf96cd1394f098f0f25b11f6501f9fb +1 -1
  105. package/.next/cache/next-babel-loader/index-v5/45/f8/d869fecec5f0352a491bb223f9498fb4ca25438f1de40d66416d67f6ecad +1 -1
  106. package/.next/cache/next-babel-loader/index-v5/46/29/d08f396fd0dd0603e68ede9578ba7e757ba55b6df5dc5cab1928c9f110b9 +1 -1
  107. package/.next/cache/next-babel-loader/index-v5/46/cc/59fa8d50e21ded1478e6810d57a3f4197d358d53e252092e5e3634114f12 +1 -1
  108. package/.next/cache/next-babel-loader/index-v5/4a/b8/ed716050830ca0112d790f866ba7a028ec64ab6a9cc8064e58e6ce2e4e66 +1 -1
  109. package/.next/cache/next-babel-loader/index-v5/4a/ee/317cecea6c6358fae9a18181b341aade394cee83425f1b6cb1b9f27fb828 +1 -1
  110. package/.next/cache/next-babel-loader/index-v5/4b/37/49b7a287224a51c2702772f6995e7f1c54475afda557e230e29bdadb8f1a +1 -1
  111. package/.next/cache/next-babel-loader/index-v5/4d/3f/0704de9c40f598810ea99efab4f70ba3d93f6918db1c31ccc2efb23ea9ae +1 -1
  112. package/.next/cache/next-babel-loader/index-v5/4d/de/363edd2c2c43a4e9b0e65edfe3b7d2fcdc58436710d0b898cacadca6f876 +1 -1
  113. package/.next/cache/next-babel-loader/index-v5/4e/56/59065f6bc6be314924e403ea449fc660096b80a0b0127f1f2b7ff002fc15 +1 -1
  114. package/.next/cache/next-babel-loader/index-v5/4e/a0/7cc23c295f1381660445a83b1c50a7cd923786e1b8f1e354058a80cbf08c +1 -1
  115. package/.next/cache/next-babel-loader/index-v5/4e/c4/a4b7c6dcc0a48a4784c9fbbea40f752fea08286954c180b1e88cbe08aa8d +1 -1
  116. package/.next/cache/next-babel-loader/index-v5/4f/69/3a47bf8a865767798bee7c5b12f59a4251b60fda27051bbf1a208307e56d +1 -1
  117. package/.next/cache/next-babel-loader/index-v5/50/7e/3223a845a9948dc37f5c08efaf9efcc2f431ce7a791979bd2bf8ebf1dd3d +1 -1
  118. package/.next/cache/next-babel-loader/index-v5/51/54/ca7eb824e0d04c3eed9fb84c2cb3a1a2eb75c5d5118266eae5751c9a701b +1 -1
  119. package/.next/cache/next-babel-loader/index-v5/52/06/bb1a2d4655d7fc2345eb7426b87430d2fb21ae5a63fcaa75b851dc7a25b9 +1 -1
  120. package/.next/cache/next-babel-loader/index-v5/53/5d/0c02053ccb2725f00d526e221b6ef6fddfbb07d72dc763c131986bc94452 +1 -1
  121. package/.next/cache/next-babel-loader/index-v5/53/7f/dcfb15776127fe04f0e6833012132f351d897f3c107564b69bf6dae0801a +1 -1
  122. package/.next/cache/next-babel-loader/index-v5/55/d8/a2ab66010fe28fc9f470c0e535c338bcb16777044e71f5ce4a620c9c929c +1 -1
  123. package/.next/cache/next-babel-loader/index-v5/56/22/4918b223244cf1c9d67ffb929ef2cf99ab5bfcfb271cfc2cddc5fadec265 +1 -1
  124. package/.next/cache/next-babel-loader/index-v5/56/8d/9b6c2ee06305bbaedaff84807d5f2bc5eca1e9bee9233e4ae27eade19612 +1 -1
  125. package/.next/cache/next-babel-loader/index-v5/58/c0/10ffd288e26d50014a87fe10896ec639009b21dabe6403afda5b90d13187 +1 -1
  126. package/.next/cache/next-babel-loader/index-v5/58/d7/d493f8e91cbf11a08a7b2618b7f228fe4a31956de26c3a24c3523ddc1edf +1 -1
  127. package/.next/cache/next-babel-loader/index-v5/59/87/c4f53c6152e5f788c5409128974f5f764b7893f27f1a76b54205152af51e +1 -1
  128. package/.next/cache/next-babel-loader/index-v5/5a/14/0310386a942b00d285bd413a0d2f57386f7d7bde84d98b86241583c71e3c +1 -1
  129. package/.next/cache/next-babel-loader/index-v5/5a/33/4ae5db0c9bef1b0da744cd7f389d8fb3a9a592e7862f1f9fff9ef6ca8428 +1 -1
  130. package/.next/cache/next-babel-loader/index-v5/5a/fd/4c35333d95fbb79792b4cac77ee2ec6817172db4e8039d7431c4429bfa48 +1 -1
  131. package/.next/cache/next-babel-loader/index-v5/5c/15/bbd258aafcab6f903d7c3f7bedc5d8eabf83222a51afc88a333c43a86973 +1 -1
  132. package/.next/cache/next-babel-loader/index-v5/5c/19/d47c9fea248e67c5bb1a612eb5d3ff19eae1279e03001a3630fc28afd7e6 +1 -1
  133. package/.next/cache/next-babel-loader/index-v5/5d/0a/1b842999294adefd7202afdf4b9e65c517b28be42e032be9034eeeb065f4 +1 -1
  134. package/.next/cache/next-babel-loader/index-v5/5d/32/1fa0a4d0aa36b7ecbc7864a306ef8ae1ed89d8b2f73295dc53654d6efce8 +1 -1
  135. package/.next/cache/next-babel-loader/index-v5/5d/65/58d3a07cba4adf7cbe4fd0178b3ed39fe772a8ee938b21f6d3090d1f206e +1 -1
  136. package/.next/cache/next-babel-loader/index-v5/5f/6d/a1ae534a0fa66a2a875e33ee07da174f26b3d89c88b0b8ca2c555becd3c9 +1 -1
  137. package/.next/cache/next-babel-loader/index-v5/60/7f/2df2b2645507d7acf348d52a263ba1f53dacbf3e9c2845fb25d646684753 +1 -1
  138. package/.next/cache/next-babel-loader/index-v5/60/dd/687bb2d41a2b769fbf016b07120e437a597b3f0e3e20ebdf2617d1f58e1d +1 -1
  139. package/.next/cache/next-babel-loader/index-v5/62/5b/dbd4b223b7e563ef1be3dc25335f1875a4854ecb255567b75e51255e5b11 +1 -1
  140. package/.next/cache/next-babel-loader/index-v5/62/a9/20bd5d1d4a6b190f54ca2c30bc4c831b58fbc05a181dcd0f0a34b3fd2bc3 +1 -1
  141. package/.next/cache/next-babel-loader/index-v5/62/d6/43389e468c6e0a9025e70b016dfc3f106e814b9a4053cd4cb39eec031359 +1 -1
  142. package/.next/cache/next-babel-loader/index-v5/62/f1/5cf8eba882c49b79d05a8534fd13d080dad22351e766f53b8d32f5302039 +1 -1
  143. package/.next/cache/next-babel-loader/index-v5/64/13/3f14af704a5cdfd82af3f5019ecb20b1fbca90d11ab2ee3b6fe75503746a +1 -1
  144. package/.next/cache/next-babel-loader/index-v5/64/c8/980ca1e6abec3cc6c00de707e7267e711e0337de20a8d42103d8b76b71a1 +1 -1
  145. package/.next/cache/next-babel-loader/index-v5/64/ee/2279d90fbffc200cbe071d2d57603ae37ce8c7850a31999b3ad37deedc74 +1 -1
  146. package/.next/cache/next-babel-loader/index-v5/65/3d/29328a5a8d42c85b60fabd78712068fec78dfa31b11d9e20a221c167cb27 +1 -1
  147. package/.next/cache/next-babel-loader/index-v5/66/b2/a19df6f96847ab89c279be6baad7e94b226ca5fe1d597502681a9b2e9382 +1 -1
  148. package/.next/cache/next-babel-loader/index-v5/67/48/91d96161684a6195ed3672e214ae1bd8219c8f7459fd6b8d5097c99b968f +1 -1
  149. package/.next/cache/next-babel-loader/index-v5/67/56/a2d965133f75d4c5c92cff50411b27de0f0ae58ee794fe2319bfeeda95a4 +1 -1
  150. package/.next/cache/next-babel-loader/index-v5/67/63/011b231ae4d26ea38d1ee3471c8a5020f0b0769cdfacaa4aedef766290be +1 -1
  151. package/.next/cache/next-babel-loader/index-v5/67/d6/63f56360090751069dffb01154b48c1ef423fde297437e0b8b1a66272818 +1 -1
  152. package/.next/cache/next-babel-loader/index-v5/67/da/adfb02e589b87789402df51a5b9361ce46e305670dbf2cf012745a655a19 +1 -1
  153. package/.next/cache/next-babel-loader/index-v5/68/18/e733dd79b5376eaf68713551396feb31346f5c3baba5b744a5b227f77eb6 +1 -1
  154. package/.next/cache/next-babel-loader/index-v5/69/32/887998e1d78cf502b7e5621158201ebecbd9dfe7a826fc2b5d35ec2d94f2 +1 -1
  155. package/.next/cache/next-babel-loader/index-v5/69/6d/659dcdb66b6d898db97a38ee70dad71532df3e27983101e192a208118a07 +1 -1
  156. package/.next/cache/next-babel-loader/index-v5/69/d8/f68117796366d01f4571ac04cbae214283ac08fa04099e4dd82fb8c9b9fb +1 -1
  157. package/.next/cache/next-babel-loader/index-v5/6a/48/6a9cdc9a132b0ef5e60f4b9edcd46772f5a26ef74e87fabc42c2b4475454 +1 -1
  158. package/.next/cache/next-babel-loader/index-v5/6a/51/23a1ba1d4ae3cc528182f37921d8c337df70f55bde1cd5a94c1d6959c795 +1 -1
  159. package/.next/cache/next-babel-loader/index-v5/6a/6b/648ca642176a00bca964dd16f21c20a9c67c15c254c88e649950395be831 +1 -1
  160. package/.next/cache/next-babel-loader/index-v5/6b/91/5599d498c791ed9f584a8ebd08fc34ebb6ba991683436d78fbdf08e9ec4f +1 -1
  161. package/.next/cache/next-babel-loader/index-v5/6c/20/43c9e1dfe1019a7c9e8481ee147e09874530507c54a0a568e89b4d0dd2f2 +1 -1
  162. package/.next/cache/next-babel-loader/index-v5/6c/57/887dd481390e27bd78e05f5230b990f86be3e7b6243e27c794afbacef0c5 +1 -1
  163. package/.next/cache/next-babel-loader/index-v5/6d/29/adde1ff2b67b37c70b9759efd6439f6fd2c7276716bc3a43666c1dfc5f5d +1 -1
  164. package/.next/cache/next-babel-loader/index-v5/6f/58/92d617e09e2cd9f58580fe454c84e21b3ad03553e4c969e9c10a0c7693c9 +1 -1
  165. package/.next/cache/next-babel-loader/index-v5/70/51/834e057543c9be70d866a337cc1258e8c0a3dc09436bc76fdbfaf0833a64 +1 -1
  166. package/.next/cache/next-babel-loader/index-v5/70/ee/9a035fe21f1c176d5ecc7c84f6d866060067fb113680b06f8a82340a0c3f +1 -1
  167. package/.next/cache/next-babel-loader/index-v5/71/82/0a1e7172ea51c9d3beb9057fa9a4a71159a019e04ac77a901b394eb7fdec +1 -1
  168. package/.next/cache/next-babel-loader/index-v5/71/82/50e9be1e490607a6dc229abb34aa78becffac8941125e064b00de3066439 +1 -1
  169. package/.next/cache/next-babel-loader/index-v5/71/ba/d41b3a1db26dc368a452a756e472872e38e57e38ace2c77550fc94269886 +1 -1
  170. package/.next/cache/next-babel-loader/index-v5/72/a9/752e35fe5a1f37be59c5d0ad25d5bfa536329ff932fe86fcf02bc4cf1fc3 +1 -1
  171. package/.next/cache/next-babel-loader/index-v5/73/39/328e3fc6c382eef07a8afd37dbad656c224481eb7692f739dfd4443fe484 +1 -1
  172. package/.next/cache/next-babel-loader/index-v5/73/80/3688ada981fd86666bb481124edc42d507fb592e8736b33fe6f0c1fd09c7 +1 -1
  173. package/.next/cache/next-babel-loader/index-v5/73/f6/829ae5cff5b256afa87ef687abadb55a643a3ebad68ab052e05f36542d85 +1 -1
  174. package/.next/cache/next-babel-loader/index-v5/74/62/56766ed1a11a8f5cc37e7bffbba52a0eea90fc05b61346011601d7bd2143 +1 -1
  175. package/.next/cache/next-babel-loader/index-v5/76/47/11da3dbb6e0197e53409ee38abee4657b3e54a163d9df58f8c6d26a47751 +1 -1
  176. package/.next/cache/next-babel-loader/index-v5/76/60/a950556302b779da33b72335b0497edff7d887d31eee38f2b37385eb06c0 +1 -1
  177. package/.next/cache/next-babel-loader/index-v5/76/bb/e57d049a7aac00919a17b3955a747000480b3a9696b414b3245123926739 +1 -1
  178. package/.next/cache/next-babel-loader/index-v5/77/6f/04aaa5ca553e2d97a219dcfa085bbb1c0aa16824e6e2b96537720f5fe4af +1 -1
  179. package/.next/cache/next-babel-loader/index-v5/78/18/effdf573e37a2e50ee8be012efaa6015e36e04b3b009fbd53be94734ffc6 +1 -1
  180. package/.next/cache/next-babel-loader/index-v5/78/a6/7ccab0599d5fca9de5d78ca910a327bb09f6c850bd8269944d88c30bd9ff +1 -1
  181. package/.next/cache/next-babel-loader/index-v5/79/29/2f4ee8380a20ffec794ac3b5bfbb25ab68cd538dc65743057fbfab07025d +1 -1
  182. package/.next/cache/next-babel-loader/index-v5/79/73/7e0d9a603139f1bec787ca04b632da07ec77a7d6cd74b64221c3a578daea +1 -1
  183. package/.next/cache/next-babel-loader/index-v5/79/b8/b452e324ca1765ceff1d74c06d04b28e8a30048d92c7ddeebd20c2935638 +1 -1
  184. package/.next/cache/next-babel-loader/index-v5/79/d6/c837fe28e1aa21a16f80c488d6cab2143b47e61803254b68d8f454a26838 +1 -1
  185. package/.next/cache/next-babel-loader/index-v5/7a/17/cdc3b1b75861df022cac152f11deeb659769011fcff7f7b74e2c18b449d2 +1 -1
  186. package/.next/cache/next-babel-loader/index-v5/7a/c8/0edf73d192b657a893e50480e850e2e8e8ee168d33bf8198194ce40cc87e +1 -1
  187. package/.next/cache/next-babel-loader/index-v5/7a/e1/d20da983c3f463d52e30b6e32724a27b1e7ece82996161cfee89315e23da +1 -1
  188. package/.next/cache/next-babel-loader/index-v5/7b/5e/8e029aa40262739f78281bdf25623be1318cfe18174e9968cdf39fa6a1e8 +1 -1
  189. package/.next/cache/next-babel-loader/index-v5/7b/f1/e847ae697b0b5e81888507500616509032d032a7e14b6c078964da7043cb +1 -1
  190. package/.next/cache/next-babel-loader/index-v5/7d/7a/43311354187883320ff234750668bd54d30905c2d7fa527dde0fbc47a66e +1 -1
  191. package/.next/cache/next-babel-loader/index-v5/7d/80/150df045c7c04743d9e12e543fadca886fb94d926110bd4d5fecdb8209c0 +1 -1
  192. package/.next/cache/next-babel-loader/index-v5/7e/5a/45c5c05bb6b09802267265c91ce9ad2525ff3e7bfe9b3a6dceb5b3bac77b +1 -1
  193. package/.next/cache/next-babel-loader/index-v5/7e/fa/e14514dabdcaff483840bcd7cc0c7246716d996d0587af87f6e5f5bf5add +1 -1
  194. package/.next/cache/next-babel-loader/index-v5/7f/1c/afbd5dc9a4e111381613b974d16fe06b6fccce20eaa1950309f9990e8b36 +1 -1
  195. package/.next/cache/next-babel-loader/index-v5/80/11/1ef583ffa6b8fa720edae24ce9036b1cfb980972de658e5fb6e827ac7c99 +1 -1
  196. package/.next/cache/next-babel-loader/index-v5/83/5e/7c91ed3d1f4fc52ae1775b4c1a7d41ea854220b230a39feeafdecd5a79c7 +1 -1
  197. package/.next/cache/next-babel-loader/index-v5/83/99/eba11c8a438de70476d6cdcd226f0e66951d5ebe3713677611f49ff6d92b +1 -1
  198. package/.next/cache/next-babel-loader/index-v5/83/fd/3e81b89044f0e9750020da5dc50c87b5d1acf0e87be368b48e87e381cf4d +1 -1
  199. package/.next/cache/next-babel-loader/index-v5/84/6b/0c3841ee84642673eab95b436b9eb7b1d51e247254b229e04efe9a49aecd +1 -1
  200. package/.next/cache/next-babel-loader/index-v5/84/a4/2186bcb4b2b09a09ed5844c16e13657baa63ff45fb67fd91235c5d8069f1 +1 -1
  201. package/.next/cache/next-babel-loader/index-v5/85/30/37c63782fab6ca0857c06a09cdb55937336285fbe62b2cce8e3835fdac6a +1 -1
  202. package/.next/cache/next-babel-loader/index-v5/85/8d/1fa79838630d81c95a043c07c75fd33485de79717cb0fa278e39a309d274 +1 -1
  203. package/.next/cache/next-babel-loader/index-v5/86/b1/0b4e1d0f15f354e0792870029eb18326c2730e81dd3a04c69fecbc1a0ea2 +1 -1
  204. package/.next/cache/next-babel-loader/index-v5/86/db/42420d5923ad213eab7dff03a4e5b0fbb51f85838bd76c20914a1d5ed3b3 +1 -1
  205. package/.next/cache/next-babel-loader/index-v5/87/57/de5e5f56c9ad67777d1921ec04d3e310d6ce3023226cefbcc8bb0dc887ee +1 -1
  206. package/.next/cache/next-babel-loader/index-v5/88/14/3a3e5eba3d2fdcb59aa00d578ebdb1e4956dfcab6f02feaa8b298bca11c5 +1 -1
  207. package/.next/cache/next-babel-loader/index-v5/88/68/6793b38b74b65bd164d1b8fc9317aa45324246421f93a8efb506c0b76785 +1 -1
  208. package/.next/cache/next-babel-loader/index-v5/89/1b/897633b232572688f81dfc15ff2a51ffb3cd938cd1c797682057f673fdee +1 -1
  209. package/.next/cache/next-babel-loader/index-v5/89/c0/dc5b2c0a17b47b581c61d0e3263b9a30eff7da462656a1e7a20f2113c041 +1 -1
  210. package/.next/cache/next-babel-loader/index-v5/89/d3/cb85860a712e42f39ee5d9ff50edbbc9bbcbee147b4c656562066decb770 +1 -1
  211. package/.next/cache/next-babel-loader/index-v5/8a/41/07a3a2b639bc92eaa39295745df4d4a93e60da42f75b5ea25bead9c8db15 +1 -1
  212. package/.next/cache/next-babel-loader/index-v5/8b/3c/b7e3288f48862b191247776aa06a2291eaca87aafda744e6bf67c956c2c0 +1 -1
  213. package/.next/cache/next-babel-loader/index-v5/8b/40/287e53bc45ef2bcfb31892f5be8298abc45e50318109a2536b32aceb4e64 +1 -1
  214. package/.next/cache/next-babel-loader/index-v5/8b/7e/826c8b64afb169b6a22db8f13e09dd2d8a8340087508c1cf49f0725d9ba4 +1 -1
  215. package/.next/cache/next-babel-loader/index-v5/8b/a5/a798796fd1c1c752d27171aa149cfd8de85e4d628d16c6b359df3beda072 +1 -1
  216. package/.next/cache/next-babel-loader/index-v5/8c/6e/624c49f904d2c5d1d64a865100bbc884a185e484d39eed3861339ac6ccfd +1 -1
  217. package/.next/cache/next-babel-loader/index-v5/8d/40/da3795199846021996eb58afac906b88edd2dea7dc98e7d27dd79939d69a +1 -1
  218. package/.next/cache/next-babel-loader/index-v5/8e/d0/c7a48ab7f5ebf74ba8b0913f7973244bc7d6ca33d511a00e72f2edb24893 +1 -1
  219. package/.next/cache/next-babel-loader/index-v5/91/61/6c897f904fec70c2e974a117368833e67824cacd9e654454067c568c46ea +1 -1
  220. package/.next/cache/next-babel-loader/index-v5/91/63/e817e58fbb82fc43b665084b8a0948fcd6c223a57473400003f353065b3c +1 -1
  221. package/.next/cache/next-babel-loader/index-v5/91/95/4fcaba3e80cc757643fa4a2d945881ded7dc41164efa64bd919ab3007690 +1 -1
  222. package/.next/cache/next-babel-loader/index-v5/92/1b/26fed5f1f86dd34f3f57ad6173be22337ccc87a3def150bb28dc246410aa +1 -1
  223. package/.next/cache/next-babel-loader/index-v5/93/82/5ae7f651790c03ab94668a4dc4596d566d5ca3821e1801edabd3cc6fed15 +1 -1
  224. package/.next/cache/next-babel-loader/index-v5/93/d2/6bbb554020f5486563e2369a1838ea99e68f2ce4319ce42907eac4018169 +1 -1
  225. package/.next/cache/next-babel-loader/index-v5/94/97/6d920786cbd3ee68942b30b36995ea8d026ef235cfd1f5fd4af270c67aaa +1 -1
  226. package/.next/cache/next-babel-loader/index-v5/94/e1/56c11f5f4c1f360a9f3e9ae0a84f05f5315fa97e94e217c0381885b2070f +1 -1
  227. package/.next/cache/next-babel-loader/index-v5/95/04/78f59cc5bda9e5d6df739876f3e2feabb75e20833399248afef19f29a533 +1 -1
  228. package/.next/cache/next-babel-loader/index-v5/95/10/9060e5f736f1ac2faa07b8d62bed7934c667098827caf73becdd99c35511 +1 -1
  229. package/.next/cache/next-babel-loader/index-v5/95/95/2eeefd5ef95028cc3109cf933864c5be88ebbdac918d76df878148091006 +1 -1
  230. package/.next/cache/next-babel-loader/index-v5/95/b8/eb33b56488a4a359ba8466fa73f93fc5afc4da643c0d829ff00143a2de31 +1 -1
  231. package/.next/cache/next-babel-loader/index-v5/96/bf/cef16f6f1d1dfb3fa1703dc56fe40938b298545f6ed1fb6cee51b858dbc4 +1 -1
  232. package/.next/cache/next-babel-loader/index-v5/96/c7/b5a96b1a414904d7d1f8a5259a60610a53c42ca3ce3b6507dcfa83d512b7 +1 -1
  233. package/.next/cache/next-babel-loader/index-v5/97/d6/58ace9efe0a848dd6afc46985c259aa6483d42d38dc74fced1a03d576230 +1 -1
  234. package/.next/cache/next-babel-loader/index-v5/98/71/42fb47d894d6df791318d9c0101d72d60a83d7ced39f59cb5c8c94c6ceaa +1 -1
  235. package/.next/cache/next-babel-loader/index-v5/98/cc/186b38759e71bbabac70e3ece6344c0cf4f0245edf2756ea91c161a88ed6 +1 -1
  236. package/.next/cache/next-babel-loader/index-v5/99/22/ba483a8876923ef057816bfcc58fa571e6f710699e1d93dfdc5ea206ed77 +1 -1
  237. package/.next/cache/next-babel-loader/index-v5/99/2b/0b6fae928f091c81fd7982f772d69e0837918e7d5ac379848582cba48b14 +1 -1
  238. package/.next/cache/next-babel-loader/index-v5/99/5a/2e6d74f2385547a28e298460c4eb44022b5eb5e0f08b731f109bb28ba7f1 +1 -1
  239. package/.next/cache/next-babel-loader/index-v5/99/ee/d44ec7e992235e57b41c868a9dc2ea01a99f9e0779eb6f69527e737254e0 +1 -1
  240. package/.next/cache/next-babel-loader/index-v5/99/ff/a1a00d34a108af16a63262ccbe95e625dc2d91567a8b6b47d0b2e3225b82 +1 -1
  241. package/.next/cache/next-babel-loader/index-v5/9a/b1/b47aaced70436879ca78ffd58bc67e710206f3b19019ae88b752c07ec82c +1 -1
  242. package/.next/cache/next-babel-loader/index-v5/9a/be/35d9dc026bb5e524d01e3f9a2f7b2d096b0b61840ad96b7e6523b8bc1a37 +1 -1
  243. package/.next/cache/next-babel-loader/index-v5/9b/7c/efdbd363999e24447af03d7338b02fdcc07fded8672ab09847a0e78a7033 +1 -1
  244. package/.next/cache/next-babel-loader/index-v5/9d/00/e3070a80a69ee96c293dca627f71d608de84fd1e55de1e41168cff85a0b3 +1 -1
  245. package/.next/cache/next-babel-loader/index-v5/9d/5c/cdc15a0b2c4111ad5822ac12a47a7bedf0b2e4b9c2183552b16e49d3959e +1 -1
  246. package/.next/cache/next-babel-loader/index-v5/9d/e1/534d74a96e6ee4772a0d870aad3f9f0a472c6d06ac8b2e70e5a504dee007 +1 -1
  247. package/.next/cache/next-babel-loader/index-v5/9e/c8/edd6363bfe15c0373b0f59f544bbb2d7ec6f32acc22013e2809c9caeb7a6 +1 -1
  248. package/.next/cache/next-babel-loader/index-v5/9e/d8/f4b305bb1348b790b7335d06d799d3c375a82a3e5cbab869f60a95cbebcc +1 -1
  249. package/.next/cache/next-babel-loader/index-v5/9e/e1/3ab16bbebdb4c8351d99b3da802f2c1a1d16d984b0cb0b3b2a2f907742fe +1 -1
  250. package/.next/cache/next-babel-loader/index-v5/9e/ed/8aea4e365a4ca34e3232dceec8e3be0fb67c457cf6224e07acb078b8f3fa +1 -1
  251. package/.next/cache/next-babel-loader/index-v5/9f/c0/dde66fec8a1457ee0e5b5243842952e1bbd0606550c6c14c5b80bf6e806c +1 -1
  252. package/.next/cache/next-babel-loader/index-v5/a0/43/80007fbd0492ec38e2fb54fca3e805a588e9ea9518e0925e080b5da5fdb1 +1 -1
  253. package/.next/cache/next-babel-loader/index-v5/a0/9b/cd95f72156d61c8137c968ec105ebe6aa09c2d38794528971b4a5f45e886 +1 -1
  254. package/.next/cache/next-babel-loader/index-v5/a1/0f/fb56bd2f56954ed98b1b5ab3706c199e8186a05d4c6c77dda3590a304463 +1 -1
  255. package/.next/cache/next-babel-loader/index-v5/a1/97/e88a691a43d0c676a1db7b8dafa765fc91278e40199843e483e965119d10 +1 -1
  256. package/.next/cache/next-babel-loader/index-v5/a1/cf/5cc355652b7fea2c8d5b47224783cf85b2759faeec2174942288633891af +1 -1
  257. package/.next/cache/next-babel-loader/index-v5/a1/d9/2d11156f6a2469b1c345745a60236ba9820e6ef6871e8c65bd6bb875cb72 +1 -1
  258. package/.next/cache/next-babel-loader/index-v5/a3/b2/2aa2a385857a6784818b0034e396d6c4a5fb0689d7018fe5fe8474d50468 +1 -1
  259. package/.next/cache/next-babel-loader/index-v5/a4/34/bb281e69244b369a3f28cd2f5b0d224af97fcf322a7f7547b309557ac06a +1 -1
  260. package/.next/cache/next-babel-loader/index-v5/a4/62/e05b4122f0779ea84ac0a64f3967e1bbae07a84d5e3d15c2db3dcd7f8bf4 +1 -1
  261. package/.next/cache/next-babel-loader/index-v5/a5/f9/58c6bb9c34861f0e71ee3fb3cd18ea38e34ada6b24442bc4aa642da5d123 +1 -1
  262. package/.next/cache/next-babel-loader/index-v5/a6/38/a317960b978afa407446303c0936ecc5be8396aabf711a12194a493ba231 +1 -1
  263. package/.next/cache/next-babel-loader/index-v5/a6/51/41d4ca1bc7b2f6e49b91d09553e9d85d43db926045becc3f6e576b45836c +1 -1
  264. package/.next/cache/next-babel-loader/index-v5/a7/3c/949479eb679662755cee417615840eec9d470015fcdab9750af7ec0d2e2b +1 -1
  265. package/.next/cache/next-babel-loader/index-v5/a7/e1/afd0a19b2c10b1dbd0d4180c97d96fa56c85441158445d1774335494eacf +1 -1
  266. package/.next/cache/next-babel-loader/index-v5/a8/02/b8a550541d0b592f39c69f90af2b39d5780f607beb38decd7dc649d8cb4f +1 -1
  267. package/.next/cache/next-babel-loader/index-v5/a8/25/9f4c1ecadcaf6ae7c8db9162ce63276403046949c3c81c359dbae95af944 +1 -1
  268. package/.next/cache/next-babel-loader/index-v5/a8/4b/e65c0308fc91cce41cf309006741be7e8ff567ff255ca53134e3cd8f288c +1 -1
  269. package/.next/cache/next-babel-loader/index-v5/a8/6c/b4e887078c83f33545ea5d17b7d52adfe8a12fdb160717c8c798060042c1 +1 -1
  270. package/.next/cache/next-babel-loader/index-v5/a8/70/ad7a247d766d2663710872f9664c508821b0b438c0f6ec764021267a9def +1 -1
  271. package/.next/cache/next-babel-loader/index-v5/aa/fd/5a3822eee57fce786622e2dbd5b39102f57305e8578f24c34d87bf8f17dc +1 -1
  272. package/.next/cache/next-babel-loader/index-v5/ab/17/3e78ac5505cdc90b1507116d724c4cb2cb18d34766e8b4d8b8409e291019 +1 -1
  273. package/.next/cache/next-babel-loader/index-v5/ab/9f/cc49742e5f6bf3752452f3701b7bcf74fc4d71835f744f8ba723a4fa1dd0 +1 -1
  274. package/.next/cache/next-babel-loader/index-v5/ab/bf/fda00c620f4f701aebe4090f4d81b7d74a5cec26fa1f25dd1fae6f69c2e4 +1 -1
  275. package/.next/cache/next-babel-loader/index-v5/ab/fe/4e1a32d6b370cbf1f8cf19f598513d13492ea5cc529830f1536aab654905 +1 -1
  276. package/.next/cache/next-babel-loader/index-v5/ac/66/dde5689a4b98eac4ca37e45f1b9cfa9a260e078252888050bfa85746e059 +1 -1
  277. package/.next/cache/next-babel-loader/index-v5/ac/7f/e8441e5d69baa1fca289455c5cf699b6c2383f6ff9efbb388c7c5f964777 +1 -1
  278. package/.next/cache/next-babel-loader/index-v5/ad/3f/53c57a78a9f43cdd19179b6d329bf418eb5879a9ac62319e5fcf86c35fc7 +1 -1
  279. package/.next/cache/next-babel-loader/index-v5/ae/1a/e68abc4e07b9627e13a33a51d13854d0425c103da241bb570aac2feb3549 +1 -1
  280. package/.next/cache/next-babel-loader/index-v5/af/45/f38f5aa147af1a50c1dfcc99265da09edf4b52c5215161467711dc375809 +1 -1
  281. package/.next/cache/next-babel-loader/index-v5/b0/a9/3aefabf578961e7ed6ad851f82014c91343eec8bcd5353a8c6057ae7f6eb +1 -1
  282. package/.next/cache/next-babel-loader/index-v5/b0/d9/571147dc8db24b00c793d1b7115e1287635b579cfb2bf4fbfd20d695d6db +1 -1
  283. package/.next/cache/next-babel-loader/index-v5/b1/83/547d6a4df05c9ac39520f699ff3ce0d5a8854ff8ff76b470a89e62e84ab6 +1 -1
  284. package/.next/cache/next-babel-loader/index-v5/b1/bc/762924ce1ad5e87396cb0f84796bdc3b72e006386db764ae4fe98a0da6e4 +1 -1
  285. package/.next/cache/next-babel-loader/index-v5/b2/3f/52a4cf8c19b21f3e799391b041dde04dc205ce18d34415505b01dedf6464 +1 -1
  286. package/.next/cache/next-babel-loader/index-v5/b3/ab/abe917958d4eedeebefb9ea7a511dd0b0b869f5ed8c2b1220ac5c2b0ccdc +1 -1
  287. package/.next/cache/next-babel-loader/index-v5/b3/b4/122b9305443e55a254170a7b3e3c2fbb59cd855d97ab215b8d3e75d5fbe6 +1 -1
  288. package/.next/cache/next-babel-loader/index-v5/b3/df/90de383dabc73494260aa6e43ccf7701d7a84e369ceba31f5128a5bb43ed +1 -1
  289. package/.next/cache/next-babel-loader/index-v5/b5/47/f244c35b3254be89ff79029dbf3127ab725b4dbc3f80a61b481066746ece +1 -1
  290. package/.next/cache/next-babel-loader/index-v5/b5/a8/6e2f1c60bc00926945ec73afa5947e2c7d24f221778ab61332c8842b8c14 +1 -1
  291. package/.next/cache/next-babel-loader/index-v5/b5/ec/6cf053296cc37210c9e1091a21e07e2a0c6c026112d8df9be9d643118620 +1 -1
  292. package/.next/cache/next-babel-loader/index-v5/b6/40/376a672bf272dbe3c5f5b020a2939137536505502a154d3612da872c2faf +1 -1
  293. package/.next/cache/next-babel-loader/index-v5/b6/e5/9e2be32815bcbf4a6273c63e2c6cfe5956e4b404fb9ac27900b6d115dd1b +1 -1
  294. package/.next/cache/next-babel-loader/index-v5/b7/26/151b3fd35df768c531c1144d531d19efb64260ce425048f47bd9aa38a0c7 +1 -1
  295. package/.next/cache/next-babel-loader/index-v5/b7/cb/8264cb2e7f9476a2e0fc44936512bdee7b9cbcf07f0d5e57fd17f7b8fc9f +1 -1
  296. package/.next/cache/next-babel-loader/index-v5/b7/f2/caef3a51df6f28768b82d4bfef45c958c106e9d5845c0c1519465dbd0156 +1 -1
  297. package/.next/cache/next-babel-loader/index-v5/b8/bb/c3902e2ff607c249d331c217ae5a46996ce24bccf990df256bdc7a7d96be +1 -1
  298. package/.next/cache/next-babel-loader/index-v5/b9/2f/0ea654e700472ed2fc7634e57c457bee1adb7bef3e3e4855f51a51f71d6c +2 -0
  299. package/.next/cache/next-babel-loader/index-v5/b9/58/af707350b0c2097cd968f920aeee5e6a64c85e484913c60158bef86377fa +1 -1
  300. package/.next/cache/next-babel-loader/index-v5/ba/14/244934761ecf2e2954a2eb3e9cdaf715cc6f8ae28c120f8be4916abd0ff8 +1 -1
  301. package/.next/cache/next-babel-loader/index-v5/ba/1b/ee4c5c6a8228f6299b6366225b83cfc226dc96cd3a9d9ff533fd05090cb5 +1 -1
  302. package/.next/cache/next-babel-loader/index-v5/ba/bf/6a6442351d7303ccd31a9590adc0dc0af1a7b790f7f922b2ea9fb0aa2d70 +1 -1
  303. package/.next/cache/next-babel-loader/index-v5/bb/47/1831644c32e0d7f066faa5c556a3eefb5b6b84d10057977ecb7f4f9adc5f +1 -1
  304. package/.next/cache/next-babel-loader/index-v5/bb/90/2f56d16bbab0eda1e1447de97633c11077e22d0ce80ac8eec1982a403d97 +1 -1
  305. package/.next/cache/next-babel-loader/index-v5/bd/f3/a990f78f2e3a155c60259f5269a1e6fdf82fbe419acb2941aa09647b3698 +1 -1
  306. package/.next/cache/next-babel-loader/index-v5/be/0c/a534c18acd388d6f7fd88b1f3240b5e83a3801a50b41be71dc6e92d30d52 +1 -1
  307. package/.next/cache/next-babel-loader/index-v5/be/d9/929948718335af74d98234e7bbbcad9c817bf3c2486a69a3aa786fa69bd6 +1 -1
  308. package/.next/cache/next-babel-loader/index-v5/bf/22/a3b995885d74589a633b7db67696565dc9671a09b0f5412b63c238c368c0 +1 -1
  309. package/.next/cache/next-babel-loader/index-v5/bf/53/4e7a61fd4278929ac813c786a2e9a2b28e46be8bd6beae5e80d4c262d641 +1 -1
  310. package/.next/cache/next-babel-loader/index-v5/bf/97/933fd5401621186ee78029a834f87b5d24531cf7396897b2da3ff4843a28 +1 -1
  311. package/.next/cache/next-babel-loader/index-v5/c0/2a/d660d4cc68f0eb04f74889b5b09ff0c423555f893e0a0f3acdfa13c5d032 +1 -1
  312. package/.next/cache/next-babel-loader/index-v5/c0/47/cabfdc222f86c9810be2888462eb62656a5f1ce5092434262a49c24a2a74 +1 -1
  313. package/.next/cache/next-babel-loader/index-v5/c0/89/1fcc2df3bd78215f9b9af7a6cbea271b486f1554d894e5f79283e231de3e +1 -1
  314. package/.next/cache/next-babel-loader/index-v5/c1/57/c6e82f9a1c9a1eff6af5406c764611d0030c6a442c50b31bad7dae8bbce6 +1 -1
  315. package/.next/cache/next-babel-loader/index-v5/c2/8a/9602673ec8103968e22c88ff666ac7f3125fda65033b70ca5c1919e9ed2b +1 -1
  316. package/.next/cache/next-babel-loader/index-v5/c2/ae/6dbb798132963d6cbdea74779c58738fbb76292ecf76dc250250a7fe9191 +1 -1
  317. package/.next/cache/next-babel-loader/index-v5/c2/d2/a5982245034ce5bf60e0e20234f761cfd9ab2266e03cfd17bb7e28c4629a +1 -1
  318. package/.next/cache/next-babel-loader/index-v5/c4/38/84ae45ef7ea11c24ec343fc568eb2b08482830d92dd9acae72da5ad208ed +1 -1
  319. package/.next/cache/next-babel-loader/index-v5/c4/79/14ff201fa6ce0c14eb02eb56e1a4fa39da8be3de10c547789596877f40a2 +1 -1
  320. package/.next/cache/next-babel-loader/index-v5/c6/16/307db6c11093360729f3aaa9682f457548e650fc22130560e0d100bac003 +1 -1
  321. package/.next/cache/next-babel-loader/index-v5/c6/ee/b41074d5b6133fb75f01c3d937d106c4b0425d97f62fcd3a075d7397a029 +1 -1
  322. package/.next/cache/next-babel-loader/index-v5/c8/a8/e79c26edc5e4f325d66460a3e972b40e900ac511f1443b676a2868f24d5a +1 -1
  323. package/.next/cache/next-babel-loader/index-v5/c8/d7/1c61fa3949074a3326da820fbe1a56b97d2828e448d299049cb77cc35ee2 +1 -1
  324. package/.next/cache/next-babel-loader/index-v5/c9/31/8b93e021b0d0296de3281307d46e0ed144bb07f40fd3a90d7da1f5427697 +1 -1
  325. package/.next/cache/next-babel-loader/index-v5/c9/78/f56f5f8035e9bfe505644acab5056d0a2c715a508092c5fbbccdb130b6a6 +1 -1
  326. package/.next/cache/next-babel-loader/index-v5/c9/e9/6b91978fe928190095d87f8c3820ebb81a5b3c5d069cd8a387c1be339b8a +1 -1
  327. package/.next/cache/next-babel-loader/index-v5/ca/0b/aab9288e15727fcf895af6cfc8a5465e238a1c4a3789d5c0a2db08e18a9d +1 -1
  328. package/.next/cache/next-babel-loader/index-v5/ca/11/bce6305b2119f80cff46ce7d9ebb978d188c55790930ff794707b84d87e1 +1 -1
  329. package/.next/cache/next-babel-loader/index-v5/cb/61/d25b411e6556fcf011cf0b9b937ddfa9779a004962b9f5a3a8f62e14b1c8 +1 -1
  330. package/.next/cache/next-babel-loader/index-v5/cb/b1/98a671eb9bf43205c880311202fa4b2cb33544a14e4487d02aa1b53f0236 +1 -1
  331. package/.next/cache/next-babel-loader/index-v5/cb/dd/e144492d854078b98b45a3f6d91d6256381abd6c6e2ad1332b7fc2b52b73 +1 -1
  332. package/.next/cache/next-babel-loader/index-v5/cc/fe/1ce64b86912936bc2c3db7a4616c86e8e8311a3a120cc29f605d967c9618 +1 -1
  333. package/.next/cache/next-babel-loader/index-v5/cd/52/bae438375a8a5ff4eb6beab8d3fe956acf28cd5bb7fd9a828c65713309be +1 -1
  334. package/.next/cache/next-babel-loader/index-v5/ce/2a/04816eafe983d2ab8b05a33433eee6198898a8e9475555bc2a61f21137ca +1 -1
  335. package/.next/cache/next-babel-loader/index-v5/ce/9b/52d653bf4db3dc124d6310e5798741b0c9802bc1d28f284da62dc8351564 +1 -1
  336. package/.next/cache/next-babel-loader/index-v5/ce/e2/85927cd5b2377347f82f9e48af22bbf552b99f1f11241a4696219e82e031 +1 -1
  337. package/.next/cache/next-babel-loader/index-v5/cf/37/a9d24eeafbb6d6e1e3655f2688d9e9e749356c986e69883a0b07d2220564 +1 -1
  338. package/.next/cache/next-babel-loader/index-v5/cf/69/5c6ed94c361b3bb917410ec6b17c89a48e4cab919f560eabfbb41658c5bb +1 -1
  339. package/.next/cache/next-babel-loader/index-v5/d0/f8/5b946ab7c83065ae2213f20de67aa9f993f8d19f7ec9e3a5f65ecf795371 +1 -1
  340. package/.next/cache/next-babel-loader/index-v5/d1/22/d870485777fab69eaa7f36d202f65c0d60b2da4e83303784c89fdd263f75 +1 -1
  341. package/.next/cache/next-babel-loader/index-v5/d1/cb/692f9aa48ea673cbe8cec13bebec360531b8072ea2b558fdc37c5b1ded45 +1 -1
  342. package/.next/cache/next-babel-loader/index-v5/d1/fa/443534db86414f4263fdcdf2a4be6eb8b6f131b6030beb38427aa1cecd94 +1 -1
  343. package/.next/cache/next-babel-loader/index-v5/d4/36/f03dce208edbd61de8533f03b15857745ab8a079469a35089c414e06d4d7 +1 -1
  344. package/.next/cache/next-babel-loader/index-v5/d4/fa/8c77bf40c4a32eb242d6232af1a9609888b7005f701e1d31b5b19f43982e +1 -1
  345. package/.next/cache/next-babel-loader/index-v5/d5/26/eba5f9f861a79a36d2241acc44733a6166169939e15e880852b74a7d4170 +1 -1
  346. package/.next/cache/next-babel-loader/index-v5/d5/59/b7edf00de3def29c539fd16a30ce3fa2d235e23b0b1ccf547be255242358 +1 -1
  347. package/.next/cache/next-babel-loader/index-v5/d5/5c/8ee569a8f571b008cb7f8266e72629d6f840b007bbb31e552539772b1d56 +1 -1
  348. package/.next/cache/next-babel-loader/index-v5/d5/a4/f04e5e18d63f17cf5a47a1c7149eac7cb4dd93921898562b08d3ea5360a1 +1 -1
  349. package/.next/cache/next-babel-loader/index-v5/d6/9c/e8056e7750446ea239fe7f9ed0db5590944a2b1e71d60d97b8c5ea080561 +1 -1
  350. package/.next/cache/next-babel-loader/index-v5/d7/d6/5cd7e4d4a9764475e49d2b697f6ef2bc4bc495584aed6189b7f8f4e289a0 +1 -1
  351. package/.next/cache/next-babel-loader/index-v5/d7/e5/e388c871a63f34a8c0e2d960dd6d1bfa8307212f12f9e5746ab4bb8a5b49 +1 -1
  352. package/.next/cache/next-babel-loader/index-v5/d8/7c/2f83dba592a60beaac58630da02c9ef693c6a5d03a585ee94ac936adea5d +1 -1
  353. package/.next/cache/next-babel-loader/index-v5/d9/09/11081cfa482876e66ca88c58f39a1f343925b0744d0d0f3268e5329c8cd3 +1 -1
  354. package/.next/cache/next-babel-loader/index-v5/d9/48/0ca6f9e792c4f352537b27ba92b983962a9dd3e5090a0a66e67801096702 +1 -1
  355. package/.next/cache/next-babel-loader/index-v5/d9/57/b21143144c7d2592539c6ab2c2892c24af7a359cd7ad8b529251a4928d31 +1 -1
  356. package/.next/cache/next-babel-loader/index-v5/d9/b6/fefa612e2c50ae95e9e3470b915fc9e6505482e558841b7f795f5a21dcbc +1 -1
  357. package/.next/cache/next-babel-loader/index-v5/d9/d1/f9936da0e37321b52db16609ffe41fa81886de62faf9084b10453fe74137 +1 -1
  358. package/.next/cache/next-babel-loader/index-v5/da/0b/da5e3309c3237063682f21dd4c9c0e5106b17f3a67216aebbc4444ee2fc7 +1 -1
  359. package/.next/cache/next-babel-loader/index-v5/da/93/9e6760444e8c717f3410139c6ff4911965203dafa50a653c2b4d6b694190 +1 -1
  360. package/.next/cache/next-babel-loader/index-v5/da/f2/f921d8aaa507aad953161cd16234c2b6a8fe896330f8e7fb155c698200a5 +1 -1
  361. package/.next/cache/next-babel-loader/index-v5/dc/2d/c874ec17bd932c6fb0e84296f7c8132e029f265d3fb60c7be934aa21590e +1 -1
  362. package/.next/cache/next-babel-loader/index-v5/dc/d6/cf8a6e67171ba5d079b05242c0cbae95290c78233e09383b4fe1a95067b9 +1 -1
  363. package/.next/cache/next-babel-loader/index-v5/dd/5d/6b66f651c28d16d6498dd282c24a7b5a66ada29f53bbd9f33f52985963ee +1 -1
  364. package/.next/cache/next-babel-loader/index-v5/dd/91/fc45ab00b22ea7d2ef37837f4a874c26be0a3093e453ad3bd8837e46ac73 +1 -1
  365. package/.next/cache/next-babel-loader/index-v5/de/43/61b45e92b6610901cb9a00b43807fcd5e7580a3c68508d0417a62e6d08fa +1 -1
  366. package/.next/cache/next-babel-loader/index-v5/df/c5/f52bb6bd30948c2aa956695a0b8c5698d2321b392ed21cce1a9dc13dfd72 +1 -1
  367. package/.next/cache/next-babel-loader/index-v5/e0/2e/6cb0c1c26a409b4833f40ed50fcb5663b568de90b662ef81ea7bfcad6dc5 +1 -1
  368. package/.next/cache/next-babel-loader/index-v5/e0/3c/2df169cfeeef6b2a1e56cdcb63df95528ad8e03604c887540e2f4cad023b +1 -1
  369. package/.next/cache/next-babel-loader/index-v5/e0/cc/60f6264c212f48146f0030656402ad96813741afcc5071b37da08db4bb65 +1 -1
  370. package/.next/cache/next-babel-loader/index-v5/e3/12/06a383404f96d98af57cee590286a9ab9cd8329a8153a21aca1eaee9784e +1 -1
  371. package/.next/cache/next-babel-loader/index-v5/e3/34/d044874e6f6e796348bc6e7f025668403f6bc358287150a3eda8ce480866 +1 -1
  372. package/.next/cache/next-babel-loader/index-v5/e5/55/7d50f26e423b468e87ff6b4c963dde2708504f475945ba15212ba23ca091 +1 -1
  373. package/.next/cache/next-babel-loader/index-v5/e5/f3/ea7cde3d342757bf3a862930821b5cae095d933b88d12a2918a6c44e6448 +1 -1
  374. package/.next/cache/next-babel-loader/index-v5/e6/0e/517380b0b652ab140e06e969f4bc9a034ca2ea94fe515c90326dbf0d0284 +1 -1
  375. package/.next/cache/next-babel-loader/index-v5/e7/2f/310e9879bd68a0ff6c036e589d7f7f5ea37e98c6029392c22747657301b8 +1 -1
  376. package/.next/cache/next-babel-loader/index-v5/e7/3b/0c70670e96f37d8a76c949fa9d4428b9ce80f1e8cd1c43826c0559731bcb +1 -1
  377. package/.next/cache/next-babel-loader/index-v5/e8/cf/1b6c6c2159fded75b7b754850454da8408676482a0f853a6bbd39aa13d59 +1 -1
  378. package/.next/cache/next-babel-loader/index-v5/e9/c5/c95a745aab17dcb55fb8e872458e5c13265f6884d2f99aacef119383b10e +1 -1
  379. package/.next/cache/next-babel-loader/index-v5/ea/17/ad823f90697a7499231796a8a181e7cc29da8bf0aa277c3421740e9fd16e +1 -1
  380. package/.next/cache/next-babel-loader/index-v5/ea/6e/232612dae36ca4ed3e832f812962fbf1be66592bad72280ee61a56b5a6df +1 -1
  381. package/.next/cache/next-babel-loader/index-v5/ea/ee/cfbde17dc8f4095d91db23ff75a536be6a5b3a79ef05fe162cf90cf1991b +1 -1
  382. package/.next/cache/next-babel-loader/index-v5/eb/16/75d3fc0562e756a861e4f95aa18f5df4a415177e6c38cf7bc738f6e40eff +1 -1
  383. package/.next/cache/next-babel-loader/index-v5/eb/45/4094bc61c3c532e80b8e3c37a6d8533cc2e8e1977afbfd50737b24959197 +1 -1
  384. package/.next/cache/next-babel-loader/index-v5/eb/f3/f069bb5d03b747954a9a531dc55ea1f23511445a2c7dedd52cf8ad059c17 +1 -1
  385. package/.next/cache/next-babel-loader/index-v5/eb/fe/89891102097458f0c65fb13014c8ff557d0224500e9c2812002caa9fcaf7 +1 -1
  386. package/.next/cache/next-babel-loader/index-v5/ec/d5/cf960ab003ecc859e6131d2b4c5893f3c24cab569163cf1d65b6eb3248c7 +1 -1
  387. package/.next/cache/next-babel-loader/index-v5/ed/48/c4b94861e52c655aee39939f86b64c6778e9a349d5d861a3d0a96b7f740c +1 -1
  388. package/.next/cache/next-babel-loader/index-v5/ee/9a/75c58542144e441fd3b9e556fd709c741f222d5c56af004f0d95a9bc9a88 +1 -1
  389. package/.next/cache/next-babel-loader/index-v5/ee/a2/8370d6b1bc098a7b0aaee605d982a91d23ebd80b17873d5db9447b4caed4 +1 -1
  390. package/.next/cache/next-babel-loader/index-v5/ee/bb/96772bcc40c3b54b8188dd032baa06b3a73b54e574f100a0fdc2fa5899cd +1 -1
  391. package/.next/cache/next-babel-loader/index-v5/f0/3e/03bd52f942c93b0da3ea1ac1630b8a3c1beed82495259c4d5f0d3fe8dadd +2 -0
  392. package/.next/cache/next-babel-loader/index-v5/f0/61/a87606ba275ee2cc9b926d9e29290b09d03a37a91ea2af7e5baf2a39b402 +1 -1
  393. package/.next/cache/next-babel-loader/index-v5/f0/89/59adc63d4882a653c899a17ca102404198b424b6d378c8ce7191b947e7d5 +1 -1
  394. package/.next/cache/next-babel-loader/index-v5/f1/8f/38316215d0701c175563d0212fbfef71d8a3d321e9e09e8a34b0ca65b635 +1 -1
  395. package/.next/cache/next-babel-loader/index-v5/f3/0b/edd7107f19e7dd8a05e104b5cb4383ed50a51b0c2ccc41913671027125c5 +1 -1
  396. package/.next/cache/next-babel-loader/index-v5/f3/b2/87c6d978e889308075141db91155cfe48db23376a39df0bda271246fc6df +1 -1
  397. package/.next/cache/next-babel-loader/index-v5/f4/13/bddbe42f66ba4420ec05692712256ac2eeab7ac1f9c8d67a78a1dece4a0a +1 -1
  398. package/.next/cache/next-babel-loader/index-v5/f4/48/b81a103882eb20c08b8339c55cb71da25a2c017d42c40b78a51145e28da9 +1 -1
  399. package/.next/cache/next-babel-loader/index-v5/f5/74/a938f3b00e9dab57a659bd31094607cca5169b32a7692105e34bd63d74ce +1 -1
  400. package/.next/cache/next-babel-loader/index-v5/f5/8f/e4328e1ab1c7614a657ac2ed7972aa8d1a8a99cfa52aaab6d8231cdab8d4 +1 -1
  401. package/.next/cache/next-babel-loader/index-v5/f5/f0/ad761754570de5aabfe6d8e01ff80b2925e08e39a7e6ce59da8ff994ce35 +1 -1
  402. package/.next/cache/next-babel-loader/index-v5/f6/59/729fd94f2ceb3fdb8f5c12f6ab80b4fb0f2cdd83dbaef839359271283fb5 +1 -1
  403. package/.next/cache/next-babel-loader/index-v5/f6/9e/93ca597d6237876ebdc8e02916b0946067ddee077e8e78eae135d89ee49c +1 -1
  404. package/.next/cache/next-babel-loader/index-v5/f6/b2/dd10784f87e1c841bbfc71baeaa5aabaf254c605fc82c145627a718ef805 +1 -1
  405. package/.next/cache/next-babel-loader/index-v5/f6/d4/49cb58288e2119cc1f1947fe9fad7e6f61141c4e0f343156ef8fb626bd73 +1 -1
  406. package/.next/cache/next-babel-loader/index-v5/f7/3c/00f63331086baeef2c1b7ceff69252d0eee1a8009387a9be7a368ca82d0b +1 -1
  407. package/.next/cache/next-babel-loader/index-v5/f7/66/2bd294f733a3b90272872f929f4999ebef6b89f356dcffb1e9a4a37849e1 +1 -1
  408. package/.next/cache/next-babel-loader/index-v5/f7/68/f7d5743454c8019b38d85c5d099ad62cc35a44328aa2b504196ff2ac113b +1 -1
  409. package/.next/cache/next-babel-loader/index-v5/f7/7b/00ab5eb5f012c63a78582f5df760b33b006f8d3ef055424bfef21292421f +1 -1
  410. package/.next/cache/next-babel-loader/index-v5/f7/fe/b89e1bc71482bbd976a2ac2d05000aecade244e526c8ab444acb72350615 +1 -1
  411. package/.next/cache/next-babel-loader/index-v5/fa/d1/0db9d9e49174b7fed15c72417fbf02602c44795c484ffcb6685725e95d7a +1 -1
  412. package/.next/cache/next-babel-loader/index-v5/fb/65/b950a8c5a13eefcadd22fc800c41943a5e0688e83b2649230cb465e75043 +1 -1
  413. package/.next/cache/next-babel-loader/index-v5/fb/6a/0cc2d2593b2f744013fe1107e4c66a24322f22dee4cb841a63e6d8e8fbd8 +1 -1
  414. package/.next/cache/next-babel-loader/index-v5/fb/b1/919ec916fdc235ddcf1bec1471694f314656a3f446f7d22b685c1587a832 +1 -1
  415. package/.next/cache/next-babel-loader/index-v5/fc/67/f96baa49fa8a53177bc1f5a176fcbe895ca33453125d29a739d1e1d4b4d0 +1 -1
  416. package/.next/cache/next-babel-loader/index-v5/fd/87/214f05df0163e0f376fbc9f0f004db7a388e782268c84d37e7d9338ec1dd +1 -1
  417. package/.next/cache/next-babel-loader/index-v5/fd/89/d41f7ca04a2f1fdbfe38013c4d3ee7e5dbf6c98bb0b640839ff727ab0b98 +1 -1
  418. package/.next/cache/next-babel-loader/index-v5/fe/24/410c861bc7b03d634a02e8ed8c897109ec35610e4b38dcd84a0515245458 +1 -1
  419. package/.next/cache/next-babel-loader/index-v5/ff/7b/f6a1bed78d01f4123891fd8da71efe7f1e03084dedf3d0a15498a4fe9fa0 +1 -1
  420. package/.next/cache/next-babel-loader/index-v5/ff/87/e785c7e8138074842ffb705addc7e7e0660eaf5730bfd9acfb929311b2f7 +1 -1
  421. package/.next/cache/next-babel-loader/index-v5/ff/a8/e1371dcacd882f523194d516606819252d40deaf5cba5e36a5fff58aaef4 +1 -1
  422. package/.next/cache/next-minifier/content-v2/sha512/07/aa/7583cc913544ab4ac82be67054600fc87603ae64390da4addd488d27664605372cbff8eb84ac5eee07d1937dddbd4880a3d738518486aea096f2d04060b1 +1 -0
  423. package/.next/cache/next-minifier/content-v2/sha512/09/d9/3c743da751cfd09447046eb31c0e7a9f3d8e8e3005525e381914c57f1c7cbdc7531223347f50687208eb41a498ce2e12563977597a15ff3295dd6b40bdfb +1 -0
  424. package/.next/cache/next-minifier/content-v2/sha512/{17/3b/02c1e38de8533dc2639e6722d8abc23236f273e22b4c612d1110433378777ec3370fbc4db3aec80563aafba46144d66a0d9795830ea5d575c4ab6623d24f → cc/e4/1818919ae3576067c8d138a274c96ceee1eb5a5f6bf0326cec0b4ee43f77e51e0b92ddb80c8e87b3823ea19b66d4c14eabf573b8f15ccd8dc307c0f64f24} +1 -1
  425. package/.next/cache/next-minifier/index-v5/01/65/3fd4d53ac6bf3be1ce060354d4d6799fa1451269e201272a3e777f4151bd +1 -1
  426. package/.next/cache/next-minifier/index-v5/30/46/3bb994f67e4f1439ddb483d00fa762011785b465807e8082e07e57a8d818 +1 -1
  427. package/.next/cache/next-minifier/index-v5/37/4d/616defc6dc0a87885935627f4b00f77d1b818564f4aea7e2626325592654 +1 -1
  428. package/.next/cache/next-minifier/index-v5/37/dd/771686f18c78942997a8503bd00ab66948d3af5ad4909d88251f28841e18 +1 -1
  429. package/.next/cache/next-minifier/index-v5/3f/b5/076a4a10e17d103711e65d32b25af501f088ed7e60fdb5077a6e8c694628 +2 -0
  430. package/.next/cache/next-minifier/index-v5/45/ab/40afeee76b0a0d29c24c74992de6771140d3f242489a7758d266ff6e3740 +1 -1
  431. package/.next/cache/next-minifier/index-v5/75/ff/d39de98ecfeac118b8d8d1b7d677442bfed0aecce0dec59d7aa2699e1b76 +1 -1
  432. package/.next/cache/next-minifier/index-v5/9b/a8/71cc88696ce83447c4ba0d33054aa0c028b68a11330401685612045561ed +1 -1
  433. package/.next/cache/next-minifier/index-v5/9c/b7/134fef6709fc1917d780038abbfcf876bf98b2ef4eca395b61e099e88519 +1 -1
  434. package/.next/cache/next-minifier/index-v5/bf/90/1367e5c548a348041c3f7cccee5538bd29bd2de4616fd8e8a920e73c7e2e +2 -0
  435. package/.next/cache/next-minifier/index-v5/c5/dc/eb2bbd87e191535f81403d4e9a647a0699f39e253dececa55de9474c95a4 +1 -1
  436. package/.next/cache/next-minifier/index-v5/f7/d0/fe7fd9cb9dd8a2309dd26449f1a35c94ed4db0812fb43f1ffbce35678859 +2 -0
  437. package/.next/prerender-manifest.json +1 -1
  438. package/.next/routes-manifest.json +1 -1
  439. package/.next/server/pages/404.html +1 -1
  440. package/.next/server/pages/_app.js +12 -0
  441. package/.next/server/pages/index.html +1 -1
  442. package/.next/server/pages/index.js +31 -1
  443. package/.next/server/pages/index.json +1 -1
  444. package/.next/static/chunks/9173c43c67b8e6b6863c872190b4ad904108d7de.9484726f886e6d0bfe38.js +1 -0
  445. package/.next/static/chunks/9ce9955a8bcc07a8fd1a36edfefd3f331a5795a5.4360b6ac25781f339d0d.js +1 -0
  446. package/.next/static/css/{293bc29ad19eac9b9540.css → c6c0e4ce9c9eb2e61c9b.css} +1 -1
  447. package/.next/static/{MUoHnQlwB6l1ktydowjC0 → seVI_dns7HisXxX0LmytR}/_buildManifest.js +1 -1
  448. package/.next/static/{MUoHnQlwB6l1ktydowjC0 → seVI_dns7HisXxX0LmytR}/_ssgManifest.js +0 -0
  449. package/README.md +1 -1
  450. package/package.json +9 -9
  451. package/public/sitemap.xml +1 -1
  452. package/src/components/Settings/components/LocaleSetting/LocaleSetting.module.scss +6 -0
  453. package/src/components/Settings/components/LocaleSetting/options.ts +7 -1
  454. package/src/i18n/de.json +52 -0
  455. package/src/i18n/index.ts +2 -0
  456. package/src/icons/flagDe.svg +5 -0
  457. package/src/icons/index.ts +1 -0
  458. package/.next/cache/next-babel-loader/content-v2/sha512/5f/41/b8c815af58d3ccfc44d609df90a69e2292843ba2a2d53c9cb59178634c487d7ff15d81ed70e385f68df566835d2a16fca1bcea9f8c99ef8981abe1c57fad +0 -1
  459. package/.next/cache/next-babel-loader/content-v2/sha512/74/5a/4114a3738730a347da71facfa720dbc1a30164922ec0c2d76199e4c50934141f06a4efbb19b868f260330afd918266db292a2df232eb5f3a275a5571118d +0 -1
  460. package/.next/cache/next-babel-loader/content-v2/sha512/d9/4a/eb25dacbb2a59f6101c9b9b6f3f14b5286ace794867b6ac4d6570317dff91eecc65cc696096ccb205e53991b91dd6768e0f642250a1d7082d6dc38e84fd4 +0 -1
  461. package/.next/cache/next-babel-loader/content-v2/sha512/ec/89/1fc35b89dc810cc7d0382a3d7484b48b269505a3ed9614c039a935552baae1cf3e68c0abea9eb447358bf69de186113cf70f1cfa088c2197cf68ccc56efa +0 -1
  462. package/.next/cache/next-babel-loader/index-v5/42/2f/560323e0b0c8b1230d816b33820ac26e75f338afef41dbf93df0e940480e +0 -2
  463. package/.next/cache/next-babel-loader/index-v5/8b/f7/3023ee80319317a6228a6ac3896bc040568f4c8be2f9ad502367e4e0c6b9 +0 -2
  464. package/.next/cache/next-babel-loader/index-v5/9b/dd/a4cbee3778cca3bad65a4e28fbc9e75bf8c9a3886e4a398a9c5f469de2a3 +0 -2
  465. package/.next/cache/next-babel-loader/index-v5/a3/a8/ee9f67ed82169a6d278c508a7ddcff1b53a3e84e387404b80f3722c25fa0 +0 -2
  466. package/.next/cache/next-babel-loader/index-v5/e6/8c/ec1e67e7047acd9d3e0b746b09b5d0708708c5575b22c228feb7c21626c6 +0 -2
  467. package/.next/cache/next-babel-loader/index-v5/ef/e2/939c9932442ec7b742547ddd550aa1219b0aa87baf6ee79eb9751f503fdb +0 -2
  468. package/.next/cache/next-minifier/content-v2/sha512/3d/8f/cf26bffafba4ff889c560ae0845d3520e42ad5ff9f0ae9a46757d0562767acc6ad857d5698ee39ccd11828bd634771f044b9964566a6b22c4087b5ec54d9 +0 -1
  469. package/.next/cache/next-minifier/content-v2/sha512/80/0f/9b8ec1ee8cfc839943be86412e5b261885b7c025fd51fabcd4faa76e5df3026f248ee4afd9e8168f550c160689e422513c1c04410c87240ec43ed25f18b3 +0 -1
  470. package/.next/cache/next-minifier/index-v5/4c/a9/5dd61377d19eafb92c717eddd6d2692b118b6bf9547895977dafa12dc6d9 +0 -2
  471. package/.next/cache/next-minifier/index-v5/69/dc/444798caeddc69244cb7dfed89e78e5ae58b973bf8e4090b14079d95175f +0 -2
  472. package/.next/cache/next-minifier/index-v5/a1/21/b0385c0ae65bf7b3b877c898b99e120cfdec6d91462251f0d4b238ca9e91 +0 -2
  473. package/.next/static/chunks/9173c43c67b8e6b6863c872190b4ad904108d7de.c476320cee08804013dd.js +0 -1
  474. package/.next/static/chunks/9ce9955a8bcc07a8fd1a36edfefd3f331a5795a5.5b240f4b2fcb503ce998.js +0 -1
@@ -1 +0,0 @@
1
- {"code":"(window.webpackJsonp_N_E=window.webpackJsonp_N_E||[]).push([[4],{\"1zWx\":function(e,t,n){e.exports={button:\"Button_button__NTtqi\",content:\"Button_content__1ng3a\",icon:\"Button_icon__3NvAw\",label:\"Button_label__2kVgE\"}},\"2W6z\":function(e,t,n){\"use strict\";var o=function(){};e.exports=o},\"2rMq\":function(e,t,n){var o;!function(){\"use strict\";var r=!(\"undefined\"===typeof window||!window.document||!window.document.createElement),a={canUseDOM:r,canUseWorkers:\"undefined\"!==typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen};void 0===(o=function(){return a}.call(t,n,t,e))||(e.exports=o)}()},\"2zs7\":function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.canUseDOM=void 0;var o,r=n(\"2rMq\");var a=((o=r)&&o.__esModule?o:{default:o}).default,i=a.canUseDOM?window.HTMLElement:{};t.canUseDOM=a.canUseDOM;t.default=i},\"41Wr\":function(e,t,n){e.exports={option:\"LocaleSetting_option__2xt_o\",flag:\"LocaleSetting_flag__1pprE\",checked:\"LocaleSetting_checked__3XJSh\",label:\"LocaleSetting_label__2rj6n\",es:\"LocaleSetting_es__3avX3\",fr:\"LocaleSetting_fr__25G9k\",gb:\"LocaleSetting_gb__qVZSX\",pl:\"LocaleSetting_pl__YUmDs\",us:\"LocaleSetting_us__30qoJ\"}},\"4BeY\":function(e,t,n){(function(t){var n;n=function(){\"use strict\";var e=function(e){var t=e.id,n=e.viewBox,o=e.content;this.id=t,this.viewBox=n,this.content=o};function n(e,t){return e(t={exports:{}},t.exports),t.exports}e.prototype.stringify=function(){return this.content},e.prototype.toString=function(){return this.stringify()},e.prototype.destroy=function(){var e=this;[\"id\",\"viewBox\",\"content\"].forEach((function(t){return delete e[t]}))},\"undefined\"!==typeof window?window:\"undefined\"!==typeof t||\"undefined\"!==typeof self&&self;var o=n((function(e,t){e.exports=function(){function e(e){return e&&\"object\"===typeof e&&\"[object RegExp]\"!==Object.prototype.toString.call(e)&&\"[object Date]\"!==Object.prototype.toString.call(e)}function t(e){return Array.isArray(e)?[]:{}}function n(n,o){return o&&!0===o.clone&&e(n)?a(t(n),n,o):n}function o(t,o,r){var i=t.slice();return o.forEach((function(o,s){\"undefined\"===typeof i[s]?i[s]=n(o,r):e(o)?i[s]=a(t[s],o,r):-1===t.indexOf(o)&&i.push(n(o,r))})),i}function r(t,o,r){var i={};return e(t)&&Object.keys(t).forEach((function(e){i[e]=n(t[e],r)})),Object.keys(o).forEach((function(s){e(o[s])&&t[s]?i[s]=a(t[s],o[s],r):i[s]=n(o[s],r)})),i}function a(e,t,a){var i=Array.isArray(t),s=(a||{arrayMerge:o}).arrayMerge||o;return i?Array.isArray(e)?s(e,t,a):n(t,a):r(e,t,a)}return a.all=function(e,t){if(!Array.isArray(e)||e.length<2)throw new Error(\"first argument should be an array with at least two elements\");return e.reduce((function(e,n){return a(e,n,t)}))},a}()})),r=n((function(e,t){t.default={svg:{name:\"xmlns\",uri:\"http://www.w3.org/2000/svg\"},xlink:{name:\"xmlns:xlink\",uri:\"http://www.w3.org/1999/xlink\"}},e.exports=t.default})),a=r.svg,i=r.xlink,s={};s[a.name]=a.uri,s[i.name]=i.uri;var c=function(e,t){return void 0===e&&(e=\"\"),\"<svg \"+function(e){return Object.keys(e).map((function(t){return t+'=\"'+e[t].toString().replace(/\"/g,\"&quot;\")+'\"'})).join(\" \")}(o(s,t||{}))+\">\"+e+\"</svg>\"};return function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={isMounted:{}};return n.isMounted.get=function(){return!!this.node},t.createFromExistingNode=function(e){return new t({id:e.getAttribute(\"id\"),viewBox:e.getAttribute(\"viewBox\"),content:e.outerHTML})},t.prototype.destroy=function(){this.isMounted&&this.unmount(),e.prototype.destroy.call(this)},t.prototype.mount=function(e){if(this.isMounted)return this.node;var t=\"string\"===typeof e?document.querySelector(e):e,n=this.render();return this.node=n,t.appendChild(n),n},t.prototype.render=function(){var e=this.stringify();return function(e){var t=!!document.importNode,n=(new DOMParser).parseFromString(e,\"image/svg+xml\").documentElement;return t?document.importNode(n,!0):n}(c(e)).childNodes[0]},t.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},Object.defineProperties(t.prototype,n),t}(e)},e.exports=n()}).call(this,n(\"yLpj\"))},\"5d2k\":function(e,t,n){e.exports={squareButton:\"SquareButton_squareButton__3XZzH\",content:\"SquareButton_content__2e8pD\",icon:\"SquareButton_icon__2HxOh\"}},\"99so\":function(e,t,n){e.exports={key:\"Key_key__2Quc4\"}},\"9rZX\":function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var o,r=n(\"qFS3\"),a=(o=r)&&o.__esModule?o:{default:o};t.default=a.default,e.exports=t.default},\"A/bs\":function(e,t,n){e.exports={option:\"ConfigSetting_option__2T-wW\",label:\"ConfigSetting_label__3tZD6\"}},BdcD:function(e,t,n){e.exports={radio:\"Radio_radio__32uSc\",icon:\"Radio_icon__dTLfl\",checked:\"Radio_checked__1ad9P\",input:\"Radio_input__2cGaT\",content:\"Radio_content__3psCG\"}},CjmZ:function(e,t,n){e.exports={cell:\"Cell_cell__3wKgm\",bonusCharacter1:\"Cell_bonusCharacter1__34xQ_\",bonusCharacter2:\"Cell_bonusCharacter2__1xH4M\",bonusCharacter3:\"Cell_bonusCharacter3__3xUsl\",bonusCharacter5:\"Cell_bonusCharacter5__2nWfH\",bonusCharacterMultiplier2:\"Cell_bonusCharacterMultiplier2__1wTiA\",bonusCharacterMultiplier3:\"Cell_bonusCharacterMultiplier3__1shAb\",bonusWord2:\"Cell_bonusWord2__qdCLX\",bonusWord3:\"Cell_bonusWord3__sSJti\",characterPoints1:\"Cell_characterPoints1__3rhFH\",characterPoints2:\"Cell_characterPoints2__2sud4\",characterPoints3:\"Cell_characterPoints3__1v_ZX\",characterPoints5:\"Cell_characterPoints5__Hen_b\",candidate:\"Cell_candidate__13l8_\",actions:\"Cell_actions__3JTry\",action:\"Cell_action__3RPdm\",toggleDirection:\"Cell_toggleDirection__5rp_g\",right:\"Cell_right__3g3qY\",blank:\"Cell_blank__3l4Pq\",active:\"Cell_active__2O7iE\"}},EIE9:function(e,t,n){e.exports={dictionaryInput:\"DictionaryInput_dictionaryInput__U7DaM\",input:\"DictionaryInput_input__2r5WW\"}},IH9G:function(e,t,n){e.exports={mapping:\"Mapping_mapping__1ZcKV\",description:\"Mapping_description__Mbn8w\",keys:\"Mapping_keys__3Vf5K\",group:\"Mapping_group__2WX5v\",plus:\"Mapping_plus__1j3oP\"}},IQtc:function(e,t,n){e.exports={results:\"Results_results__x8VdK\",emptyState:\"Results_emptyState__2-LxF\",list:\"Results_list__1B8VD\",outdated:\"Results_outdated__3nWlA\",header:\"Results_header__noJ3I\",headerButton:\"Results_headerButton__1N5Kw\",headerButtonLabel:\"Results_headerButtonLabel__2QiqD\",result:\"Results_result__1y1Jv\",resultContent:\"Results_resultContent__2StBW\",word:\"Results_word__1zvOl\",cell:\"Results_cell__1cXgg\",stat:\"Results_stat__3xHhu\",points:\"Results_points__wnPy8\",outdatedButton:\"Results_outdatedButton__2uCmc\",sortIcon:\"Results_sortIcon__2BYB5\",input:\"Results_input__2lOjT\"}},IaFt:function(e,t,n){(function(t){var n;n=function(){\"use strict\";function e(e,t){return e(t={exports:{}},t.exports),t.exports}\"undefined\"!==typeof window?window:\"undefined\"!==typeof t||\"undefined\"!==typeof self&&self;var n=e((function(e,t){e.exports=function(){function e(e){return e&&\"object\"===typeof e&&\"[object RegExp]\"!==Object.prototype.toString.call(e)&&\"[object Date]\"!==Object.prototype.toString.call(e)}function t(e){return Array.isArray(e)?[]:{}}function n(n,o){return o&&!0===o.clone&&e(n)?a(t(n),n,o):n}function o(t,o,r){var i=t.slice();return o.forEach((function(o,s){\"undefined\"===typeof i[s]?i[s]=n(o,r):e(o)?i[s]=a(t[s],o,r):-1===t.indexOf(o)&&i.push(n(o,r))})),i}function r(t,o,r){var i={};return e(t)&&Object.keys(t).forEach((function(e){i[e]=n(t[e],r)})),Object.keys(o).forEach((function(s){e(o[s])&&t[s]?i[s]=a(t[s],o[s],r):i[s]=n(o[s],r)})),i}function a(e,t,a){var i=Array.isArray(t),s=(a||{arrayMerge:o}).arrayMerge||o;return i?Array.isArray(e)?s(e,t,a):n(t,a):r(e,t,a)}return a.all=function(e,t){if(!Array.isArray(e)||e.length<2)throw new Error(\"first argument should be an array with at least two elements\");return e.reduce((function(e,n){return a(e,n,t)}))},a}()})),o=e((function(e,t){t.default={svg:{name:\"xmlns\",uri:\"http://www.w3.org/2000/svg\"},xlink:{name:\"xmlns:xlink\",uri:\"http://www.w3.org/1999/xlink\"}},e.exports=t.default})),r=o.svg,a=o.xlink,i={};i[r.name]=r.uri,i[a.name]=a.uri;var s,c=function(e,t){return void 0===e&&(e=\"\"),\"<svg \"+function(e){return Object.keys(e).map((function(t){return t+'=\"'+e[t].toString().replace(/\"/g,\"&quot;\")+'\"'})).join(\" \")}(n(i,t||{}))+\">\"+e+\"</svg>\"},l=o.svg,u=o.xlink,f={attrs:(s={style:[\"position: absolute\",\"width: 0\",\"height: 0\"].join(\"; \"),\"aria-hidden\":\"true\"},s[l.name]=l.uri,s[u.name]=u.uri,s)},d=function(e){this.config=n(f,e||{}),this.symbols=[]};d.prototype.add=function(e){var t=this.symbols,n=this.find(e.id);return n?(t[t.indexOf(n)]=e,!1):(t.push(e),!0)},d.prototype.remove=function(e){var t=this.symbols,n=this.find(e);return!!n&&(t.splice(t.indexOf(n),1),n.destroy(),!0)},d.prototype.find=function(e){return this.symbols.filter((function(t){return t.id===e}))[0]||null},d.prototype.has=function(e){return null!==this.find(e)},d.prototype.stringify=function(){var e=this.config.attrs,t=this.symbols.map((function(e){return e.stringify()})).join(\"\");return c(t,e)},d.prototype.toString=function(){return this.stringify()},d.prototype.destroy=function(){this.symbols.forEach((function(e){return e.destroy()}))};var p=function(e){var t=e.id,n=e.viewBox,o=e.content;this.id=t,this.viewBox=n,this.content=o};p.prototype.stringify=function(){return this.content},p.prototype.toString=function(){return this.stringify()},p.prototype.destroy=function(){var e=this;[\"id\",\"viewBox\",\"content\"].forEach((function(t){return delete e[t]}))};var h=function(e){var t=!!document.importNode,n=(new DOMParser).parseFromString(e,\"image/svg+xml\").documentElement;return t?document.importNode(n,!0):n},m=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={isMounted:{}};return n.isMounted.get=function(){return!!this.node},t.createFromExistingNode=function(e){return new t({id:e.getAttribute(\"id\"),viewBox:e.getAttribute(\"viewBox\"),content:e.outerHTML})},t.prototype.destroy=function(){this.isMounted&&this.unmount(),e.prototype.destroy.call(this)},t.prototype.mount=function(e){if(this.isMounted)return this.node;var t=\"string\"===typeof e?document.querySelector(e):e,n=this.render();return this.node=n,t.appendChild(n),n},t.prototype.render=function(){var e=this.stringify();return h(c(e)).childNodes[0]},t.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},Object.defineProperties(t.prototype,n),t}(p),b={autoConfigure:!0,mountTo:\"body\",syncUrlsWithBaseTag:!1,listenLocationChangeEvent:!0,locationChangeEvent:\"locationChange\",locationChangeAngularEmitter:!1,usagesToUpdate:\"use[*|href]\",moveGradientsOutsideSymbol:!1},v=function(e){return Array.prototype.slice.call(e,0)},y=function(){return/firefox/i.test(navigator.userAgent)},g=function(){return/msie/i.test(navigator.userAgent)||/trident/i.test(navigator.userAgent)},O=function(){return/edge/i.test(navigator.userAgent)},j=function(e){return(e||window.location.href).split(\"#\")[0]},w=function(e){angular.module(\"ng\").run([\"$rootScope\",function(t){t.$on(\"$locationChangeSuccess\",(function(t,n,o){!function(e,t){var n=document.createEvent(\"CustomEvent\");n.initCustomEvent(e,!1,!1,t),window.dispatchEvent(n)}(e,{oldUrl:o,newUrl:n})}))}])},_=function(e,t){return void 0===t&&(t=\"linearGradient, radialGradient, pattern, mask, clipPath\"),v(e.querySelectorAll(\"symbol\")).forEach((function(e){v(e.querySelectorAll(t)).forEach((function(t){e.parentNode.insertBefore(t,e)}))})),e},x=o.xlink.uri,A=\"xlink:href\",C=/[{}|\\\\\\^\\[\\]`\"<>]/g;function S(e){return e.replace(C,(function(e){return\"%\"+e[0].charCodeAt(0).toString(16).toUpperCase()}))}var E,M=[\"clipPath\",\"colorProfile\",\"src\",\"cursor\",\"fill\",\"filter\",\"marker\",\"markerStart\",\"markerMid\",\"markerEnd\",\"mask\",\"stroke\",\"style\"],N=M.map((function(e){return\"[\"+e+\"]\"})).join(\",\"),k=function(e,t,n,o){var r=S(n),a=S(o);(function(e,t){return v(e).reduce((function(e,n){if(!n.attributes)return e;var o=v(n.attributes),r=t?o.filter(t):o;return e.concat(r)}),[])})(e.querySelectorAll(N),(function(e){var t=e.localName,n=e.value;return-1!==M.indexOf(t)&&-1!==n.indexOf(\"url(\"+r)})).forEach((function(e){return e.value=e.value.replace(new RegExp(r.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\"),\"g\"),a)})),function(e,t,n){v(e).forEach((function(e){var o=e.getAttribute(A);if(o&&0===o.indexOf(t)){var r=o.replace(t,n);e.setAttributeNS(x,A,r)}}))}(t,r,a)},D=\"mount\",R=\"symbol_mount\",P=function(e){function t(t){var o=this;void 0===t&&(t={}),e.call(this,n(b,t));var r,a=(r=r||Object.create(null),{on:function(e,t){(r[e]||(r[e]=[])).push(t)},off:function(e,t){r[e]&&r[e].splice(r[e].indexOf(t)>>>0,1)},emit:function(e,t){(r[e]||[]).map((function(e){e(t)})),(r[\"*\"]||[]).map((function(n){n(e,t)}))}});this._emitter=a,this.node=null;var i=this.config;if(i.autoConfigure&&this._autoConfigure(t),i.syncUrlsWithBaseTag){var s=document.getElementsByTagName(\"base\")[0].getAttribute(\"href\");a.on(D,(function(){return o.updateUrls(\"#\",s)}))}var c=this._handleLocationChange.bind(this);this._handleLocationChange=c,i.listenLocationChangeEvent&&window.addEventListener(i.locationChangeEvent,c),i.locationChangeAngularEmitter&&w(i.locationChangeEvent),a.on(D,(function(e){i.moveGradientsOutsideSymbol&&_(e)})),a.on(R,(function(e){i.moveGradientsOutsideSymbol&&_(e.parentNode),(g()||O())&&function(e){var t=[];v(e.querySelectorAll(\"style\")).forEach((function(e){e.textContent+=\"\",t.push(e)}))}(e)}))}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var o={isMounted:{}};return o.isMounted.get=function(){return!!this.node},t.prototype._autoConfigure=function(e){var t=this.config;\"undefined\"===typeof e.syncUrlsWithBaseTag&&(t.syncUrlsWithBaseTag=\"undefined\"!==typeof document.getElementsByTagName(\"base\")[0]),\"undefined\"===typeof e.locationChangeAngularEmitter&&(t.locationChangeAngularEmitter=\"undefined\"!==typeof window.angular),\"undefined\"===typeof e.moveGradientsOutsideSymbol&&(t.moveGradientsOutsideSymbol=y())},t.prototype._handleLocationChange=function(e){var t=e.detail,n=t.oldUrl,o=t.newUrl;this.updateUrls(n,o)},t.prototype.add=function(t){var n=e.prototype.add.call(this,t);return this.isMounted&&n&&(t.mount(this.node),this._emitter.emit(R,t.node)),n},t.prototype.attach=function(e){var t=this,n=this;if(n.isMounted)return n.node;var o=\"string\"===typeof e?document.querySelector(e):e;return n.node=o,this.symbols.forEach((function(e){e.mount(n.node),t._emitter.emit(R,e.node)})),v(o.querySelectorAll(\"symbol\")).forEach((function(e){var t=m.createFromExistingNode(e);t.node=e,n.add(t)})),this._emitter.emit(D,o),o},t.prototype.destroy=function(){var e=this,t=e.config,n=e.symbols,o=e._emitter;n.forEach((function(e){return e.destroy()})),o.off(\"*\"),window.removeEventListener(t.locationChangeEvent,this._handleLocationChange),this.isMounted&&this.unmount()},t.prototype.mount=function(e,t){void 0===e&&(e=this.config.mountTo),void 0===t&&(t=!1);var n=this;if(n.isMounted)return n.node;var o=\"string\"===typeof e?document.querySelector(e):e,r=n.render();return this.node=r,t&&o.childNodes[0]?o.insertBefore(r,o.childNodes[0]):o.appendChild(r),this._emitter.emit(D,r),r},t.prototype.render=function(){return h(this.stringify())},t.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},t.prototype.updateUrls=function(e,t){if(!this.isMounted)return!1;var n=document.querySelectorAll(this.config.usagesToUpdate);return k(this.node,n,j(e)+\"#\",j(t)+\"#\"),!0},Object.defineProperties(t.prototype,o),t}(d),B=e((function(e){e.exports=function(){var e,t=[],n=document,o=n.documentElement.doScroll,r=\"DOMContentLoaded\",a=(o?/^loaded|^c/:/^loaded|^i|^c/).test(n.readyState);return a||n.addEventListener(r,e=function(){for(n.removeEventListener(r,e),a=1;e=t.shift();)e()}),function(e){a?setTimeout(e,0):t.push(e)}}()})),I=\"__SVG_SPRITE_NODE__\";window.__SVG_SPRITE__?E=window.__SVG_SPRITE__:(E=new P({attrs:{id:I,\"aria-hidden\":\"true\"}}),window.__SVG_SPRITE__=E);var T=function(){var e=document.getElementById(I);e?E.attach(e):E.mount(document.body,!0)};return document.body?T():B(T),E},e.exports=n()}).call(this,n(\"yLpj\"))},Jsr2:function(e,t,n){e.exports={emptyState:\"EmptyState_emptyState__3XIlm\",tiles:\"EmptyState_tiles__2hoJY\"}},JxyW:function(e,t,n){e.exports={character:\"Character_character__qmkor\",finished:\"Character_finished__11v6G\",overused:\"Character_overused__2l2ul\",tile:\"Character_tile__1C3Oq\",count:\"Character_count__2pNlL\"}},Nhdc:function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return dn})),n.d(t,\"b\",(function(){return zn})),n.d(t,\"c\",(function(){return qn})),n.d(t,\"d\",(function(){return xo})),n.d(t,\"e\",(function(){return Co})),n.d(t,\"f\",(function(){return Mo})),n.d(t,\"g\",(function(){return Bo})),n.d(t,\"h\",(function(){return Go})),n.d(t,\"i\",(function(){return Jo})),n.d(t,\"j\",(function(){return xr})),n.d(t,\"k\",(function(){return zr})),n.d(t,\"l\",(function(){return qr})),n.d(t,\"m\",(function(){return Kr}));var o=n(\"nKUr\"),r=n(\"ODXe\"),a=n(\"q1tI\"),i=n(\"8+rz\"),s=n(\"TSYQ\"),c=n.n(s),l=n(\"UE3f\"),u=n.n(l),f=n(\"U5qN\"),d=n(\"/MKj\"),p=n(\"psLn\"),h=n(\"rePB\"),m=n(\"4BeY\"),b=n.n(m),v=n(\"IaFt\"),y=n.n(v),g=new b.a({id:\"arrowDown\",use:\"arrowDown-usage\",viewBox:\"0 0 16 16\",content:'<symbol viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" id=\"arrowDown\">\\n <path d=\"M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z\" fill=\"currentColor\" fill-rule=\"evenodd\" />\\n</symbol>'}),O=(y.a.add(g),g),j=new b.a({id:\"arrowLeft\",use:\"arrowLeft-usage\",viewBox:\"0 0 16 16\",content:'<symbol viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" id=\"arrowLeft\">\\n <path d=\"M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z\" fill=\"currentColor\" fill-rule=\"evenodd\" />\\n</symbol>'}),w=(y.a.add(j),j),_=new b.a({id:\"arrowRight\",use:\"arrowRight-usage\",viewBox:\"0 0 16 16\",content:'<symbol viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" id=\"arrowRight\">\\n <path d=\"M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z\" fill=\"currentColor\" fill-rule=\"evenodd\" />\\n</symbol>'}),x=(y.a.add(_),_),A=new b.a({id:\"arrowUp\",use:\"arrowUp-usage\",viewBox:\"0 0 16 16\",content:'<symbol viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" id=\"arrowUp\">\\n <path d=\"M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z\" fill=\"currentColor\" fill-rule=\"evenodd\" />\\n</symbol>'}),C=(y.a.add(A),A),S=new b.a({id:\"checkboxChecked\",use:\"checkboxChecked-usage\",viewBox:\"0 0 16 16\",content:'<symbol viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" id=\"checkboxChecked\">\\n <path d=\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm10.03 4.97a.75.75 0 0 1 .011 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.75.75 0 0 1 1.08-.022z\" fill=\"currentColor\" />\\n</symbol>'}),E=(y.a.add(S),new b.a({id:\"checkboxEmpty\",use:\"checkboxEmpty-usage\",viewBox:\"0 0 16 16\",content:'<symbol viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" id=\"checkboxEmpty\">\\n <path d=\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\" fill=\"currentColor\" />\\n</symbol>'})),M=(y.a.add(E),new b.a({id:\"cog\",use:\"cog-usage\",viewBox:\"0 0 16 16\",content:'<symbol viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" id=\"cog\">\\n <path d=\"M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.858z\" fill=\"currentColor\" />\\n</symbol>'})),N=(y.a.add(M),M),k=new b.a({id:\"cross\",use:\"cross-usage\",viewBox:\"0 0 16 16\",content:'<symbol viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" id=\"cross\">\\n <path d=\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm3.354 4.646L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708z\" fill=\"currentColor\" />\\n</symbol>'}),D=(y.a.add(k),k),R=new b.a({id:\"dashCircleFill\",use:\"dashCircleFill-usage\",viewBox:\"0 0 16 16\",content:'<symbol viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" id=\"dashCircleFill\">\\n <path d=\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z\" fill=\"currentColor\" />\\n</symbol>'}),P=(y.a.add(R),R),B=new b.a({id:\"eraser\",use:\"eraser-usage\",viewBox:\"0 0 16 16\",content:'<symbol viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" id=\"eraser\">\\n <path d=\"M8.086 2.207a2 2 0 0 1 2.828 0l3.879 3.879a2 2 0 0 1 0 2.828l-5.5 5.5A2 2 0 0 1 7.879 15H5.12a2 2 0 0 1-1.414-.586l-2.5-2.5a2 2 0 0 1 0-2.828l6.879-6.879zm.66 11.34L3.453 8.254 1.914 9.793a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 .707.293H7.88a1 1 0 0 0 .707-.293l.16-.16z\" fill=\"currentColor\" />\\n</symbol>'}),I=(y.a.add(B),B),T=new b.a({id:\"flagEs\",use:\"flagEs-usage\",viewBox:\"0 0 1280 853\",content:'<symbol xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1280 853\" id=\"flagEs\"> <image id=\"flagEs_image0\" width=\"1280\" height=\"853\" x=\"0\" y=\"0\" xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAANVAgMAAABaGbsaAAAABGdBTUEAALGPC/xhBQAAACBjSFJN\\nAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEXGCx74rwP/xAD///8H\\ncjGDAAAAAWJLR0QDEQxM8gAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB+UCFwAsE4DcNqcA\\nAAPBSURBVHja7dAxAQAwEAOhmHyTVVkRt4IENgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALYj2SMRGAmMBEYCI4GRwEhgJDAS\\nGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhg\\nJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GR\\nwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYC\\nI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmM\\nBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDAS\\nGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhg\\nJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GR\\nwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYC\\nI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmM\\nBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDAS\\nGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhg\\nJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GR\\nwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYC\\nI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDDakQwAAAAAAAAAAAAAAAAAAAAA\\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDtAwXRsbDe\\nnzaLAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTIzVDAwOjQ0OjE5KzAzOjAwYEEZrQAAACV0\\nRVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0yM1QwMDo0NDoxOSswMzowMBEcoREAAAAASUVORK5CYII=\"></image>\\n</symbol>'}),L=(y.a.add(T),T),G=new b.a({id:\"flagFr\",use:\"flagFr-usage\",viewBox:\"0 0 24 15\",content:'<symbol viewBox=\"0 0 24 15\" xmlns=\"http://www.w3.org/2000/svg\" id=\"flagFr\">\\n <rect width=\"8\" height=\"15\" fill=\"#002395\" x=\"0 \" />\\n <rect width=\"8\" height=\"15\" fill=\"#FFFFFF\" x=\"8 \" />\\n <rect width=\"8\" height=\"15\" fill=\"#ED2939\" x=\"16 \" />\\n</symbol>'}),F=(y.a.add(G),G),z=new b.a({id:\"flagGb\",use:\"flagGb-usage\",viewBox:\"0 0 60 30\",content:'<symbol viewBox=\"0 0 60 30\" xmlns=\"http://www.w3.org/2000/svg\" id=\"flagGb\">\\n <clipPath id=\"flagGb_t\">\\n <path d=\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\" />\\n </clipPath>\\n <path d=\"M0,0 v30 h60 v-30 z\" fill=\"#00247d\" />\\n <path d=\"M0,0 L60,30 M60,0 L0,30\" stroke=\"#fff\" stroke-width=\"6\" />\\n <path d=\"M0,0 L60,30 M60,0 L0,30\" clipPath=\"url(#flagGb_t)\" stroke=\"#cf142b\" stroke-width=\"4\" />\\n <path d=\"M30,0 v30 M0,15 h60\" stroke=\"#fff\" stroke-width=\"10\" />\\n <path d=\"M30,0 v30 M0,15 h60\" stroke=\"#cf142b\" stroke-width=\"6\" />\\n</symbol>'}),U=(y.a.add(z),z),W=new b.a({id:\"flagPl\",use:\"flagPl-usage\",viewBox:\"0 0 16 10\",content:'<symbol viewBox=\"0 0 16 10\" xmlns=\"http://www.w3.org/2000/svg\" id=\"flagPl\">\\n <rect width=\"16\" height=\"10\" fill=\"#fff\" />\\n <rect width=\"16\" height=\"5\" fill=\"#dc143c\" y=\"5\" />\\n</symbol>'}),q=(y.a.add(W),W),V=new b.a({id:\"flagUs\",use:\"flagUs-usage\",viewBox:\"0 0 7410 3900\",content:'<symbol viewBox=\"0 0 7410 3900\" xmlns=\"http://www.w3.org/2000/svg\" id=\"flagUs\">\\n <rect width=\"7410\" height=\"3900\" fill=\"#b22234\" />\\n <path d=\"M0,450H7410m0,600H0m0,600H7410m0,600H0m0,600H7410m0,600H0\" stroke=\"#fff\" stroke-width=\"300\" />\\n <rect width=\"2964\" height=\"2100\" fill=\"#3c3b6e\" />\\n <g fill=\"#fff\">\\n <g id=\"flagUs_s18\">\\n <g id=\"flagUs_s9\">\\n <g id=\"flagUs_s5\">\\n <g id=\"flagUs_s4\">\\n <path id=\"flagUs_s\" d=\"M247,90 317.534230,307.082039 132.873218,172.917961H361.126782L176.465770,307.082039z\" />\\n <use xlink:href=\"#flagUs_s\" y=\"420\" />\\n <use xlink:href=\"#flagUs_s\" y=\"840\" />\\n <use xlink:href=\"#flagUs_s\" y=\"1260\" />\\n </g>\\n <use xlink:href=\"#flagUs_s\" y=\"1680\" />\\n </g>\\n <use xlink:href=\"#flagUs_s4\" x=\"247\" y=\"210\" />\\n </g>\\n <use xlink:href=\"#flagUs_s9\" x=\"494\" />\\n </g>\\n <use xlink:href=\"#flagUs_s18\" x=\"988\" />\\n <use xlink:href=\"#flagUs_s9\" x=\"1976\" />\\n <use xlink:href=\"#flagUs_s5\" x=\"2470\" />\\n </g>\\n <clipPath id=\"flagUs_t\">\\n <path d=\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\" />\\n </clipPath>\\n <path d=\"M0,0 v30 h60 v-30 z\" fill=\"#00247d\" />\\n <path d=\"M0,0 L60,30 M60,0 L0,30\" stroke=\"#fff\" stroke-width=\"6\" />\\n <path d=\"M0,0 L60,30 M60,0 L0,30\" clipPath=\"url(#flagUs_t)\" stroke=\"#cf142b\" stroke-width=\"4\" />\\n <path d=\"M30,0 v30 M0,15 h60\" stroke=\"#fff\" stroke-width=\"10\" />\\n <path d=\"M30,0 v30 M0,15 h60\" stroke=\"#cf142b\" stroke-width=\"6\" />\\n</symbol>'}),Y=(y.a.add(V),V),H=new b.a({id:\"github\",use:\"github-usage\",viewBox:\"0 0 16 16\",content:'<symbol viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" id=\"github\">\\n <path d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z\" fill=\"currentColor\" />\\n</symbol>'}),J=(y.a.add(H),H),K=new b.a({id:\"keyboard\",use:\"keyboard-usage\",viewBox:\"0 0 16 16\",content:'<symbol viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" id=\"keyboard\">\\n <path d=\"M0 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm13 .25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM2.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 8.75v-.5A.25.25 0 0 0 2.75 8h-.5zM4 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 8.75v-.5A.25.25 0 0 0 4.75 8h-.5a.25.25 0 0 0-.25.25zM6.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 7 8.75v-.5A.25.25 0 0 0 6.75 8h-.5zM8 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 9 8.75v-.5A.25.25 0 0 0 8.75 8h-.5a.25.25 0 0 0-.25.25zM13.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm0 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm-3-2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-1.5zm.75 2.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM11.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zM9 6.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 6h-.5a.25.25 0 0 0-.25.25zM7.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 6.75v-.5A.25.25 0 0 0 7.75 6h-.5zM5 6.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 6.75v-.5A.25.25 0 0 0 5.75 6h-.5a.25.25 0 0 0-.25.25zM2.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 4 6.75v-.5A.25.25 0 0 0 3.75 6h-1.5zM2 10.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM4.25 10a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h5.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-5.5z\" fill=\"currentColor\" />\\n</symbol>'}),Q=(y.a.add(K),K),Z=new b.a({id:\"play\",use:\"play-usage\",viewBox:\"0 0 16 16\",content:'<symbol viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" id=\"play\">\\n <path d=\"M11.596 8.697l-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z\" fill=\"currentColor\" />\\n</symbol>'}),X=(y.a.add(Z),Z),$=new b.a({id:\"sack\",use:\"sack-usage\",viewBox:\"0 0 24 24\",content:'<symbol viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" id=\"sack\">\\n <path d=\"M16,9C20,11 21,18 21,18C21,18 22,22 16,22C10,22 8,22 8,22C2,22 3,18 3,18C3,18 4,11 8,9M14,4L12,2L10,4L6,2L8,7H16L18,2L14,4Z\" fill=\"currentColor\" />\\n</symbol>'}),ee=(y.a.add($),$),te=new b.a({id:\"sortDown\",use:\"sortDown-usage\",viewBox:\"0 0 16 16\",content:'<symbol viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" id=\"sortDown\">\\n <path d=\"M3.5 2.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 11.293V2.5zm3.5 1a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\" fill=\"currentColor\" />\\n</symbol>'}),ne=(y.a.add(te),te),oe=new b.a({id:\"sortUp\",use:\"sortUp-usage\",viewBox:\"0 0 16 16\",content:'<symbol viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" id=\"sortUp\">\\n <path d=\"M3.5 12.5a.5.5 0 0 1-1 0V3.707L1.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 3.707V12.5zm3.5-9a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\" fill=\"currentColor\" />\\n</symbol>'}),re=(y.a.add(oe),oe),ae=n(\"zLVn\");function ie(e,t){if(null==e)return{};var n,o,r=Object(ae.a)(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function se(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function ce(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?se(Object(n),!0).forEach((function(t){Object(h.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):se(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var le=function(e){var t=e.icon,n=ie(e,[\"icon\"]);return Object(o.jsx)(\"svg\",ce(ce({},n),{},{children:Object(o.jsx)(\"use\",{xlinkHref:\"#\".concat(t.id)})}))},ue=n(\"r/Hp\"),fe=n.n(ue),de=function(e){return e.preventDefault()},pe=function(e){var t,n=e.autoFocus,r=e.canShowPoints,a=e.character,i=e.className,s=e.disabled,l=e.highlighted,u=e.inputRef,f=e.inputStyle,d=e.isBlank,p=e.placeholder,m=e.points,b=e.pointsStyle,v=e.raised,y=e.style,g=e.tabIndex,O=e.onFocus,j=e.onKeyDown;return Object(o.jsxs)(\"div\",{className:c()(fe.a.tile,i,(t={},Object(h.a)(t,fe.a.highlighted,l),Object(h.a)(t,fe.a.blank,d),Object(h.a)(t,fe.a.raised,v),Object(h.a)(t,fe.a.points1,1===m),Object(h.a)(t,fe.a.points2,2===m),Object(h.a)(t,fe.a.points3,3===m),Object(h.a)(t,fe.a.points4,4===m),Object(h.a)(t,fe.a.points5,\"number\"===typeof m&&m>=5),t)),style:y,children:[Object(o.jsx)(\"input\",{autoCapitalize:\"off\",autoComplete:\"off\",autoCorrect:\"off\",autoFocus:n,className:fe.a.character,disabled:s,maxLength:1,placeholder:p,ref:u,spellCheck:!1,style:f,tabIndex:g,value:a||\"\",onChange:de,onFocus:O,onKeyDown:j}),r&&Object(o.jsx)(\"span\",{className:fe.a.points,style:b,children:m})]})},he=Object(a.memo)(pe),me=function(e){var t=e.autoFocus,n=e.className,r=e.character,i=void 0===r?\"\":r,s=e.disabled,c=e.highlighted,l=e.inputRef,u=e.isBlank,d=e.placeholder,h=e.points,m=e.raised,b=e.size,v=e.tabIndex,y=e.onFocus,g=e.onKeyDown,O=Object(p.k)(b),j=O.pointsFontSize,w=O.tileFontSize,_=O.tileSize,x=Object(a.useMemo)((function(){return{height:_,width:_}}),[_]),A=Object(a.useMemo)((function(){return{fontSize:w}}),[w]),C=Object(a.useMemo)((function(){return{fontSize:j}}),[j]),S=Object(a.useMemo)((function(){return l||Object(a.createRef)()}),[l]),E=!i||i===f.EMPTY_CELL,M=(u||!E)&&\"undefined\"!==typeof h;return Object(a.useEffect)((function(){t&&S.current&&S.current.focus()}),[t,S]),Object(o.jsx)(he,{autoFocus:t,canShowPoints:M,character:i,className:n,disabled:s,highlighted:c,inputRef:S,inputStyle:A,isBlank:u,placeholder:d,points:h,pointsStyle:C,raised:m,style:x,tabIndex:v,onFocus:y,onKeyDown:g})},be=n(\"KQm4\");function ve(e){var t=e.getBoundingClientRect();return{width:t.width,height:t.height,top:t.top,right:t.right,bottom:t.bottom,left:t.left,x:t.left,y:t.top}}function ye(e){if(null==e)return window;if(\"[object Window]\"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function ge(e){var t=ye(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Oe(e){return e instanceof ye(e).Element||e instanceof Element}function je(e){return e instanceof ye(e).HTMLElement||e instanceof HTMLElement}function we(e){return\"undefined\"!==typeof ShadowRoot&&(e instanceof ye(e).ShadowRoot||e instanceof ShadowRoot)}function _e(e){return e?(e.nodeName||\"\").toLowerCase():null}function xe(e){return((Oe(e)?e.ownerDocument:e.document)||window.document).documentElement}function Ae(e){return ve(xe(e)).left+ge(e).scrollLeft}function Ce(e){return ye(e).getComputedStyle(e)}function Se(e){var t=Ce(e),n=t.overflow,o=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+r+o)}function Ee(e,t,n){void 0===n&&(n=!1);var o=xe(t),r=ve(e),a=je(t),i={scrollLeft:0,scrollTop:0},s={x:0,y:0};return(a||!a&&!n)&&((\"body\"!==_e(t)||Se(o))&&(i=function(e){return e!==ye(e)&&je(e)?{scrollLeft:(t=e).scrollLeft,scrollTop:t.scrollTop}:ge(e);var t}(t)),je(t)?((s=ve(t)).x+=t.clientLeft,s.y+=t.clientTop):o&&(s.x=Ae(o))),{x:r.left+i.scrollLeft-s.x,y:r.top+i.scrollTop-s.y,width:r.width,height:r.height}}function Me(e){var t=ve(e),n=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:o}}function Ne(e){return\"html\"===_e(e)?e:e.assignedSlot||e.parentNode||(we(e)?e.host:null)||xe(e)}function ke(e){return[\"html\",\"body\",\"#document\"].indexOf(_e(e))>=0?e.ownerDocument.body:je(e)&&Se(e)?e:ke(Ne(e))}function De(e,t){var n;void 0===t&&(t=[]);var o=ke(e),r=o===(null==(n=e.ownerDocument)?void 0:n.body),a=ye(o),i=r?[a].concat(a.visualViewport||[],Se(o)?o:[]):o,s=t.concat(i);return r?s:s.concat(De(Ne(i)))}function Re(e){return[\"table\",\"td\",\"th\"].indexOf(_e(e))>=0}function Pe(e){return je(e)&&\"fixed\"!==Ce(e).position?e.offsetParent:null}function Be(e){for(var t=ye(e),n=Pe(e);n&&Re(n)&&\"static\"===Ce(n).position;)n=Pe(n);return n&&(\"html\"===_e(n)||\"body\"===_e(n)&&\"static\"===Ce(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf(\"firefox\");if(-1!==navigator.userAgent.indexOf(\"Trident\")&&je(e)&&\"fixed\"===Ce(e).position)return null;for(var n=Ne(e);je(n)&&[\"html\",\"body\"].indexOf(_e(n))<0;){var o=Ce(n);if(\"none\"!==o.transform||\"none\"!==o.perspective||\"paint\"===o.contain||-1!==[\"transform\",\"perspective\"].indexOf(o.willChange)||t&&\"filter\"===o.willChange||t&&o.filter&&\"none\"!==o.filter)return n;n=n.parentNode}return null}(e)||t}var Ie=\"top\",Te=\"bottom\",Le=\"right\",Ge=\"left\",Fe=\"auto\",ze=[Ie,Te,Le,Ge],Ue=\"start\",We=\"end\",qe=\"viewport\",Ve=\"popper\",Ye=ze.reduce((function(e,t){return e.concat([t+\"-\"+Ue,t+\"-\"+We])}),[]),He=[].concat(ze,[Fe]).reduce((function(e,t){return e.concat([t,t+\"-\"+Ue,t+\"-\"+We])}),[]),Je=[\"beforeRead\",\"read\",\"afterRead\",\"beforeMain\",\"main\",\"afterMain\",\"beforeWrite\",\"write\",\"afterWrite\"];function Ke(e){var t=new Map,n=new Set,o=[];function r(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var o=t.get(e);o&&r(o)}})),o.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||r(e)})),o}function Qe(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}var Ze={placement:\"bottom\",modifiers:[],strategy:\"absolute\"};function Xe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some((function(e){return!(e&&\"function\"===typeof e.getBoundingClientRect)}))}function $e(e){void 0===e&&(e={});var t=e,n=t.defaultModifiers,o=void 0===n?[]:n,r=t.defaultOptions,a=void 0===r?Ze:r;return function(e,t,n){void 0===n&&(n=a);var r={placement:\"bottom\",orderedModifiers:[],options:Object.assign({},Ze,a),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},i=[],s=!1,c={state:r,setOptions:function(n){l(),r.options=Object.assign({},a,r.options,n),r.scrollParents={reference:Oe(e)?De(e):e.contextElement?De(e.contextElement):[],popper:De(t)};var s=function(e){var t=Ke(e);return Je.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])}(function(e){var t=e.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}([].concat(o,r.options.modifiers)));return r.orderedModifiers=s.filter((function(e){return e.enabled})),r.orderedModifiers.forEach((function(e){var t=e.name,n=e.options,o=void 0===n?{}:n,a=e.effect;if(\"function\"===typeof a){var s=a({state:r,name:t,instance:c,options:o}),l=function(){};i.push(s||l)}})),c.update()},forceUpdate:function(){if(!s){var e=r.elements,t=e.reference,n=e.popper;if(Xe(t,n)){r.rects={reference:Ee(t,Be(n),\"fixed\"===r.options.strategy),popper:Me(n)},r.reset=!1,r.placement=r.options.placement,r.orderedModifiers.forEach((function(e){return r.modifiersData[e.name]=Object.assign({},e.data)}));for(var o=0;o<r.orderedModifiers.length;o++)if(!0!==r.reset){var a=r.orderedModifiers[o],i=a.fn,l=a.options,u=void 0===l?{}:l,f=a.name;\"function\"===typeof i&&(r=i({state:r,options:u,name:f,instance:c})||r)}else r.reset=!1,o=-1}}},update:Qe((function(){return new Promise((function(e){c.forceUpdate(),e(r)}))})),destroy:function(){l(),s=!0}};if(!Xe(e,t))return c;function l(){i.forEach((function(e){return e()})),i=[]}return c.setOptions(n).then((function(e){!s&&n.onFirstUpdate&&n.onFirstUpdate(e)})),c}}var et={passive:!0};var tt={name:\"eventListeners\",enabled:!0,phase:\"write\",fn:function(){},effect:function(e){var t=e.state,n=e.instance,o=e.options,r=o.scroll,a=void 0===r||r,i=o.resize,s=void 0===i||i,c=ye(t.elements.popper),l=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&l.forEach((function(e){e.addEventListener(\"scroll\",n.update,et)})),s&&c.addEventListener(\"resize\",n.update,et),function(){a&&l.forEach((function(e){e.removeEventListener(\"scroll\",n.update,et)})),s&&c.removeEventListener(\"resize\",n.update,et)}},data:{}};function nt(e){return e.split(\"-\")[0]}function ot(e){return e.split(\"-\")[1]}function rt(e){return[\"top\",\"bottom\"].indexOf(e)>=0?\"x\":\"y\"}function at(e){var t,n=e.reference,o=e.element,r=e.placement,a=r?nt(r):null,i=r?ot(r):null,s=n.x+n.width/2-o.width/2,c=n.y+n.height/2-o.height/2;switch(a){case Ie:t={x:s,y:n.y-o.height};break;case Te:t={x:s,y:n.y+n.height};break;case Le:t={x:n.x+n.width,y:c};break;case Ge:t={x:n.x-o.width,y:c};break;default:t={x:n.x,y:n.y}}var l=a?rt(a):null;if(null!=l){var u=\"y\"===l?\"height\":\"width\";switch(i){case Ue:t[l]=t[l]-(n[u]/2-o[u]/2);break;case We:t[l]=t[l]+(n[u]/2-o[u]/2)}}return t}var it={name:\"popperOffsets\",enabled:!0,phase:\"read\",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=at({reference:t.rects.reference,element:t.rects.popper,strategy:\"absolute\",placement:t.placement})},data:{}},st=Math.max,ct=Math.min,lt=Math.round,ut={top:\"auto\",right:\"auto\",bottom:\"auto\",left:\"auto\"};function ft(e){var t,n=e.popper,o=e.popperRect,r=e.placement,a=e.offsets,i=e.position,s=e.gpuAcceleration,c=e.adaptive,l=e.roundOffsets,u=!0===l?function(e){var t=e.x,n=e.y,o=window.devicePixelRatio||1;return{x:lt(lt(t*o)/o)||0,y:lt(lt(n*o)/o)||0}}(a):\"function\"===typeof l?l(a):a,f=u.x,d=void 0===f?0:f,p=u.y,h=void 0===p?0:p,m=a.hasOwnProperty(\"x\"),b=a.hasOwnProperty(\"y\"),v=Ge,y=Ie,g=window;if(c){var O=Be(n),j=\"clientHeight\",w=\"clientWidth\";O===ye(n)&&\"static\"!==Ce(O=xe(n)).position&&(j=\"scrollHeight\",w=\"scrollWidth\"),O=O,r===Ie&&(y=Te,h-=O[j]-o.height,h*=s?1:-1),r===Ge&&(v=Le,d-=O[w]-o.width,d*=s?1:-1)}var _,x=Object.assign({position:i},c&&ut);return s?Object.assign({},x,((_={})[y]=b?\"0\":\"\",_[v]=m?\"0\":\"\",_.transform=(g.devicePixelRatio||1)<2?\"translate(\"+d+\"px, \"+h+\"px)\":\"translate3d(\"+d+\"px, \"+h+\"px, 0)\",_)):Object.assign({},x,((t={})[y]=b?h+\"px\":\"\",t[v]=m?d+\"px\":\"\",t.transform=\"\",t))}var dt={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function pt(e){return e.replace(/left|right|bottom|top/g,(function(e){return dt[e]}))}var ht={start:\"end\",end:\"start\"};function mt(e){return e.replace(/start|end/g,(function(e){return ht[e]}))}function bt(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&we(n)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function vt(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function yt(e,t){return t===qe?vt(function(e){var t=ye(e),n=xe(e),o=t.visualViewport,r=n.clientWidth,a=n.clientHeight,i=0,s=0;return o&&(r=o.width,a=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(i=o.offsetLeft,s=o.offsetTop)),{width:r,height:a,x:i+Ae(e),y:s}}(e)):je(t)?function(e){var t=ve(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):vt(function(e){var t,n=xe(e),o=ge(e),r=null==(t=e.ownerDocument)?void 0:t.body,a=st(n.scrollWidth,n.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),i=st(n.scrollHeight,n.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),s=-o.scrollLeft+Ae(e),c=-o.scrollTop;return\"rtl\"===Ce(r||n).direction&&(s+=st(n.clientWidth,r?r.clientWidth:0)-a),{width:a,height:i,x:s,y:c}}(xe(e)))}function gt(e,t,n){var o=\"clippingParents\"===t?function(e){var t=De(Ne(e)),n=[\"absolute\",\"fixed\"].indexOf(Ce(e).position)>=0&&je(e)?Be(e):e;return Oe(n)?t.filter((function(e){return Oe(e)&&bt(e,n)&&\"body\"!==_e(e)})):[]}(e):[].concat(t),r=[].concat(o,[n]),a=r[0],i=r.reduce((function(t,n){var o=yt(e,n);return t.top=st(o.top,t.top),t.right=ct(o.right,t.right),t.bottom=ct(o.bottom,t.bottom),t.left=st(o.left,t.left),t}),yt(e,a));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function Ot(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function jt(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function wt(e,t){void 0===t&&(t={});var n=t,o=n.placement,r=void 0===o?e.placement:o,a=n.boundary,i=void 0===a?\"clippingParents\":a,s=n.rootBoundary,c=void 0===s?qe:s,l=n.elementContext,u=void 0===l?Ve:l,f=n.altBoundary,d=void 0!==f&&f,p=n.padding,h=void 0===p?0:p,m=Ot(\"number\"!==typeof h?h:jt(h,ze)),b=u===Ve?\"reference\":Ve,v=e.elements.reference,y=e.rects.popper,g=e.elements[d?b:u],O=gt(Oe(g)?g:g.contextElement||xe(e.elements.popper),i,c),j=ve(v),w=at({reference:j,element:y,strategy:\"absolute\",placement:r}),_=vt(Object.assign({},y,w)),x=u===Ve?_:j,A={top:O.top-x.top+m.top,bottom:x.bottom-O.bottom+m.bottom,left:O.left-x.left+m.left,right:x.right-O.right+m.right},C=e.modifiersData.offset;if(u===Ve&&C){var S=C[r];Object.keys(A).forEach((function(e){var t=[Le,Te].indexOf(e)>=0?1:-1,n=[Ie,Te].indexOf(e)>=0?\"y\":\"x\";A[e]+=S[n]*t}))}return A}function _t(e,t,n){return st(e,ct(t,n))}function xt(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function At(e){return[Ie,Le,Te,Ge].some((function(t){return e[t]>=0}))}var Ct=$e({defaultModifiers:[tt,it,{name:\"computeStyles\",enabled:!0,phase:\"beforeWrite\",fn:function(e){var t=e.state,n=e.options,o=n.gpuAcceleration,r=void 0===o||o,a=n.adaptive,i=void 0===a||a,s=n.roundOffsets,c=void 0===s||s,l={placement:nt(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,ft(Object.assign({},l,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:i,roundOffsets:c})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,ft(Object.assign({},l,{offsets:t.modifiersData.arrow,position:\"absolute\",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{\"data-popper-placement\":t.placement})},data:{}},{name:\"applyStyles\",enabled:!0,phase:\"write\",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},o=t.attributes[e]||{},r=t.elements[e];je(r)&&_e(r)&&(Object.assign(r.style,n),Object.keys(o).forEach((function(e){var t=o[e];!1===t?r.removeAttribute(e):r.setAttribute(e,!0===t?\"\":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:\"0\",top:\"0\",margin:\"0\"},arrow:{position:\"absolute\"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var o=t.elements[e],r=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]=\"\",e}),{});je(o)&&_e(o)&&(Object.assign(o.style,a),Object.keys(r).forEach((function(e){o.removeAttribute(e)})))}))}},requires:[\"computeStyles\"]},{name:\"offset\",enabled:!0,phase:\"main\",requires:[\"popperOffsets\"],fn:function(e){var t=e.state,n=e.options,o=e.name,r=n.offset,a=void 0===r?[0,0]:r,i=He.reduce((function(e,n){return e[n]=function(e,t,n){var o=nt(e),r=[Ge,Ie].indexOf(o)>=0?-1:1,a=\"function\"===typeof n?n(Object.assign({},t,{placement:e})):n,i=a[0],s=a[1];return i=i||0,s=(s||0)*r,[Ge,Le].indexOf(o)>=0?{x:s,y:i}:{x:i,y:s}}(n,t.rects,a),e}),{}),s=i[t.placement],c=s.x,l=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=l),t.modifiersData[o]=i}},{name:\"flip\",enabled:!0,phase:\"main\",fn:function(e){var t=e.state,n=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var r=n.mainAxis,a=void 0===r||r,i=n.altAxis,s=void 0===i||i,c=n.fallbackPlacements,l=n.padding,u=n.boundary,f=n.rootBoundary,d=n.altBoundary,p=n.flipVariations,h=void 0===p||p,m=n.allowedAutoPlacements,b=t.options.placement,v=nt(b),y=c||(v===b||!h?[pt(b)]:function(e){if(nt(e)===Fe)return[];var t=pt(e);return[mt(e),t,mt(t)]}(b)),g=[b].concat(y).reduce((function(e,n){return e.concat(nt(n)===Fe?function(e,t){void 0===t&&(t={});var n=t,o=n.placement,r=n.boundary,a=n.rootBoundary,i=n.padding,s=n.flipVariations,c=n.allowedAutoPlacements,l=void 0===c?He:c,u=ot(o),f=u?s?Ye:Ye.filter((function(e){return ot(e)===u})):ze,d=f.filter((function(e){return l.indexOf(e)>=0}));0===d.length&&(d=f);var p=d.reduce((function(t,n){return t[n]=wt(e,{placement:n,boundary:r,rootBoundary:a,padding:i})[nt(n)],t}),{});return Object.keys(p).sort((function(e,t){return p[e]-p[t]}))}(t,{placement:n,boundary:u,rootBoundary:f,padding:l,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),O=t.rects.reference,j=t.rects.popper,w=new Map,_=!0,x=g[0],A=0;A<g.length;A++){var C=g[A],S=nt(C),E=ot(C)===Ue,M=[Ie,Te].indexOf(S)>=0,N=M?\"width\":\"height\",k=wt(t,{placement:C,boundary:u,rootBoundary:f,altBoundary:d,padding:l}),D=M?E?Le:Ge:E?Te:Ie;O[N]>j[N]&&(D=pt(D));var R=pt(D),P=[];if(a&&P.push(k[S]<=0),s&&P.push(k[D]<=0,k[R]<=0),P.every((function(e){return e}))){x=C,_=!1;break}w.set(C,P)}if(_)for(var B=function(e){var t=g.find((function(t){var n=w.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return x=t,\"break\"},I=h?3:1;I>0;I--){if(\"break\"===B(I))break}t.placement!==x&&(t.modifiersData[o]._skip=!0,t.placement=x,t.reset=!0)}},requiresIfExists:[\"offset\"],data:{_skip:!1}},{name:\"preventOverflow\",enabled:!0,phase:\"main\",fn:function(e){var t=e.state,n=e.options,o=e.name,r=n.mainAxis,a=void 0===r||r,i=n.altAxis,s=void 0!==i&&i,c=n.boundary,l=n.rootBoundary,u=n.altBoundary,f=n.padding,d=n.tether,p=void 0===d||d,h=n.tetherOffset,m=void 0===h?0:h,b=wt(t,{boundary:c,rootBoundary:l,padding:f,altBoundary:u}),v=nt(t.placement),y=ot(t.placement),g=!y,O=rt(v),j=\"x\"===O?\"y\":\"x\",w=t.modifiersData.popperOffsets,_=t.rects.reference,x=t.rects.popper,A=\"function\"===typeof m?m(Object.assign({},t.rects,{placement:t.placement})):m,C={x:0,y:0};if(w){if(a||s){var S=\"y\"===O?Ie:Ge,E=\"y\"===O?Te:Le,M=\"y\"===O?\"height\":\"width\",N=w[O],k=w[O]+b[S],D=w[O]-b[E],R=p?-x[M]/2:0,P=y===Ue?_[M]:x[M],B=y===Ue?-x[M]:-_[M],I=t.elements.arrow,T=p&&I?Me(I):{width:0,height:0},L=t.modifiersData[\"arrow#persistent\"]?t.modifiersData[\"arrow#persistent\"].padding:{top:0,right:0,bottom:0,left:0},G=L[S],F=L[E],z=_t(0,_[M],T[M]),U=g?_[M]/2-R-z-G-A:P-z-G-A,W=g?-_[M]/2+R+z+F+A:B+z+F+A,q=t.elements.arrow&&Be(t.elements.arrow),V=q?\"y\"===O?q.clientTop||0:q.clientLeft||0:0,Y=t.modifiersData.offset?t.modifiersData.offset[t.placement][O]:0,H=w[O]+U-Y-V,J=w[O]+W-Y;if(a){var K=_t(p?ct(k,H):k,N,p?st(D,J):D);w[O]=K,C[O]=K-N}if(s){var Q=\"x\"===O?Ie:Ge,Z=\"x\"===O?Te:Le,X=w[j],$=X+b[Q],ee=X-b[Z],te=_t(p?ct($,H):$,X,p?st(ee,J):ee);w[j]=te,C[j]=te-X}}t.modifiersData[o]=C}},requiresIfExists:[\"offset\"]},{name:\"arrow\",enabled:!0,phase:\"main\",fn:function(e){var t,n=e.state,o=e.name,r=e.options,a=n.elements.arrow,i=n.modifiersData.popperOffsets,s=nt(n.placement),c=rt(s),l=[Ge,Le].indexOf(s)>=0?\"height\":\"width\";if(a&&i){var u=function(e,t){return Ot(\"number\"!==typeof(e=\"function\"===typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:jt(e,ze))}(r.padding,n),f=Me(a),d=\"y\"===c?Ie:Ge,p=\"y\"===c?Te:Le,h=n.rects.reference[l]+n.rects.reference[c]-i[c]-n.rects.popper[l],m=i[c]-n.rects.reference[c],b=Be(a),v=b?\"y\"===c?b.clientHeight||0:b.clientWidth||0:0,y=h/2-m/2,g=u[d],O=v-f[l]-u[p],j=v/2-f[l]/2+y,w=_t(g,j,O),_=c;n.modifiersData[o]=((t={})[_]=w,t.centerOffset=w-j,t)}},effect:function(e){var t=e.state,n=e.options.element,o=void 0===n?\"[data-popper-arrow]\":n;null!=o&&(\"string\"!==typeof o||(o=t.elements.popper.querySelector(o)))&&bt(t.elements.popper,o)&&(t.elements.arrow=o)},requires:[\"popperOffsets\"],requiresIfExists:[\"preventOverflow\"]},{name:\"hide\",enabled:!0,phase:\"main\",requiresIfExists:[\"preventOverflow\"],fn:function(e){var t=e.state,n=e.name,o=t.rects.reference,r=t.rects.popper,a=t.modifiersData.preventOverflow,i=wt(t,{elementContext:\"reference\"}),s=wt(t,{altBoundary:!0}),c=xt(i,o),l=xt(s,r,a),u=At(c),f=At(l);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:l,isReferenceHidden:u,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{\"data-popper-reference-hidden\":u,\"data-popper-escaped\":f})}}]}),St=n(\"bmMU\"),Et=n.n(St),Mt=function(e){return e.reduce((function(e,t){var n=t[0],o=t[1];return e[n]=o,e}),{})},Nt=\"undefined\"!==typeof window&&window.document&&window.document.createElement?a.useLayoutEffect:a.useEffect,kt=[],Dt=function(e,t,n){void 0===n&&(n={});var o=a.useRef(null),r={onFirstUpdate:n.onFirstUpdate,placement:n.placement||\"bottom\",strategy:n.strategy||\"absolute\",modifiers:n.modifiers||kt},i=a.useState({styles:{popper:{position:r.strategy,left:\"0\",top:\"0\"},arrow:{position:\"absolute\"}},attributes:{}}),s=i[0],c=i[1],l=a.useMemo((function(){return{name:\"updateState\",enabled:!0,phase:\"write\",fn:function(e){var t=e.state,n=Object.keys(t.elements);c({styles:Mt(n.map((function(e){return[e,t.styles[e]||{}]}))),attributes:Mt(n.map((function(e){return[e,t.attributes[e]]})))})},requires:[\"computeStyles\"]}}),[]),u=a.useMemo((function(){var e={onFirstUpdate:r.onFirstUpdate,placement:r.placement,strategy:r.strategy,modifiers:[].concat(r.modifiers,[l,{name:\"applyStyles\",enabled:!1}])};return Et()(o.current,e)?o.current||e:(o.current=e,e)}),[r.onFirstUpdate,r.placement,r.strategy,r.modifiers,l]),f=a.useRef();return Nt((function(){f.current&&f.current.setOptions(u)}),[u]),Nt((function(){if(null!=e&&null!=t){var o=(n.createPopper||Ct)(e,t,u);return f.current=o,function(){o.destroy(),f.current=null}}}),[e,t,n.createPopper]),{state:f.current?f.current.state:null,styles:s.styles,attributes:s.attributes,update:f.current?f.current.update:null,forceUpdate:f.current?f.current.forceUpdate:null}};function Rt(){var e=Object(a.useRef)(!1),t=Object(a.useCallback)((function(){return e.current}),[]);return Object(a.useEffect)((function(){return e.current=!0,function(){e.current=!1}})),t}function Pt(e,t){void 0===t&&(t=!0);var n=Object(a.useRef)(null),o=Object(a.useRef)(!1),r=Object(a.useRef)(e);r.current=e;var i=Object(a.useCallback)((function(e){o.current&&(r.current(e),n.current=requestAnimationFrame(i))}),[]),s=Object(a.useMemo)((function(){return[function(){o.current&&(o.current=!1,n.current&&cancelAnimationFrame(n.current))},function(){o.current||(o.current=!0,n.current=requestAnimationFrame(i))},function(){return o.current}]}),[]);return Object(a.useEffect)((function(){return t&&s[1](),s[0]}),[]),s}var Bt=n(\"eZYV\"),It=n(\"bQD4\"),Tt=n.n(It),Lt=parseInt(Tt.a.ARROW_SIZE,10),Gt=parseInt(Tt.a.OFFSET,10),Ft=[{name:\"preventOverflow\",options:{padding:parseInt(Tt.a.PREVENT_OVERFLOW,10),rootBoundary:\"document\"}},{name:\"flip\",options:{padding:Lt,rootBoundary:\"document\"}},{name:\"offset\",options:{offset:[0,Gt+Lt]}}];function zt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Ut(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?zt(Object(n),!0).forEach((function(t){Object(h.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Wt=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.className,i=n.placement,s=void 0===i?\"top\":i,l=n.onBlur,u=void 0===l?p.p:l,f=n.onFocus,d=void 0===f?p.p:f,m=n.onMouseOut,b=void 0===m?p.p:m,v=n.onMouseOver,y=void 0===v?p.p:v,g=Object(Bt.d)(),O=Boolean(e)||0===e,j=Rt(),w=Object(a.useState)(!1),_=w[0],x=w[1],A=Object(a.useState)(null),C=A[0],S=A[1],E=Object(a.useState)(null),M=E[0],N=E[1],k=Object(a.useState)(null),D=k[0],R=k[1],P=Dt(C,M,{modifiers:[{name:\"arrow\",options:{element:D}}].concat(Object(be.a)(Ft)),placement:s}),B=P.attributes,I=P.styles,T=P.update,L=B.popper?B.popper[\"data-popper-placement\"]:s,G=Object(a.useMemo)((function(){return _?{\"aria-describedby\":g}:{}}),[g,_]),F=Object(a.useCallback)((function(e){u(e),x(!1)}),[u]),z=Object(a.useCallback)((function(e){d(e),x(!0)}),[d]),U=Object(a.useCallback)((function(e){b(e),x(!1)}),[b]),W=Object(a.useCallback)((function(e){y(e),x(!0)}),[y]),q=Object(a.useMemo)((function(){return Ut(Ut({},G),{},{ref:S,onBlur:F,onFocus:z,onMouseOut:U,onMouseOver:W})}),[G,F,z,U,W]);return Pt((function(){j()&&T&&T()})),Object(Bt.c)(Object(o.jsxs)(\"div\",Ut(Ut({className:c()(Tt.a.tooltip,r,(t={},Object(h.a)(t,Tt.a.top,\"top\"===L),Object(h.a)(t,Tt.a.right,\"right\"===L),Object(h.a)(t,Tt.a.bottom,\"bottom\"===L),Object(h.a)(t,Tt.a.left,\"left\"===L),t)),ref:N,style:I.popper},B.popper),{},{children:[Object(o.jsx)(\"div\",{children:e}),Object(o.jsx)(\"div\",{className:Tt.a.arrow,ref:R,style:I.arrow})]})),{disabled:!O||!_}),q},qt=n(\"CjmZ\"),Vt=n.n(qt);function Yt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Ht(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Yt(Object(n),!0).forEach((function(t){Object(h.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Yt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Jt=function(e){var t=e.children,n=e.className,r=e.tooltip,a=ie(e,[\"children\",\"className\",\"tooltip\"]),i=Wt(r,a);return Object(o.jsx)(\"button\",Ht(Ht(Ht({className:c()(Vt.a.action,n),tabIndex:-1,type:\"button\"},a),i),{},{children:t}))},Kt={1:Vt.a.bonusCharacter1,2:Vt.a.bonusCharacter2,3:Vt.a.bonusCharacter3,5:Vt.a.bonusCharacter5},Qt={2:Vt.a.bonusWord2,3:Vt.a.bonusWord3},Zt={2:Vt.a.bonusCharacterMultiplier2,3:Vt.a.bonusCharacterMultiplier3},Xt=function(e,t){if(t&&e.isEmpty){var n=t.type;if(n===f.BONUS_WORD)return $t(t);if(n===f.BONUS_CHARACTER)return en(t);throw new Error(\"Unknown bonus type: \".concat(n,\" \").concat(t.x,\" \").concat(t.y,\" \").concat(t.multiplier,\" \").concat(t.score))}},$t=function(e){return Qt[e.multiplier]},en=function(e){return e.score?Kt[e.score]:Zt[e.multiplier]},tn=function(e){var t=e.bonus,n=e.cell,r=e.className,a=e.direction,i=e.inputRef,s=e.isEmpty,l=e.points,u=e.size,f=e.style,d=e.tile,p=e.translate,m=e.onDirectionToggleClick,b=e.onFocus,v=e.onToggleBlankClick;return Object(o.jsxs)(\"div\",{className:c()(Vt.a.cell,Xt(n,t),r,Object(h.a)({},Vt.a.candidate,n.isCandidate())),style:f,children:[Object(o.jsx)(me,{className:Vt.a.tile,character:s?void 0:d.character,highlighted:n.isCandidate(),inputRef:i,isBlank:d.isBlank,points:l,raised:!s,size:u,tabIndex:0===n.x&&0===n.y?void 0:-1,onFocus:b}),Object(o.jsxs)(\"div\",{className:Vt.a.actions,children:[Object(o.jsx)(Jt,{tooltip:p(\"cell.toggle-direction\"),onClick:m,children:Object(o.jsx)(le,{className:c()(Vt.a.toggleDirection,Object(h.a)({},Vt.a.right,\"horizontal\"===a)),icon:O})}),!s&&Object(o.jsx)(Jt,{className:c()(Vt.a.blank,Object(h.a)({},Vt.a.active,d.isBlank)),tooltip:d.isBlank?p(\"cell.set-not-blank\"):p(\"cell.set-blank\"),onClick:v,children:\"B\"})]})]})},nn=Object(a.memo)(tn),on=function(e){var t=e.cell,n=e.className,r=e.direction,s=e.inputRef,c=e.size,l=e.onDirectionToggle,u=e.onFocus,h=t.tile,m=t.x,b=t.y,v=Object(d.b)(),y=Object(i.F)(),g=Object(i.G)((function(e){return Object(i.l)(e,t)})),O=Object(i.G)((function(e){return Object(i.C)(e,t.tile)})),j=Object(p.k)(c).tileFontSize,w=h.character===f.EMPTY_CELL,_=Object(a.useMemo)((function(){return{fontSize:j}}),[j]),x=Object(a.useCallback)((function(){return u(m,b)}),[m,b,u]),A=Object(a.useCallback)((function(){s.current&&s.current.focus(),v(i.a.actions.toggleCellIsBlank({x:m,y:b}))}),[v,m,b]),C=Object(a.useCallback)((function(){s.current&&s.current.focus(),l()}),[l]);return Object(o.jsx)(nn,{bonus:g,cell:t,className:n,direction:r,inputRef:s,isEmpty:w,points:O,size:c,style:_,tile:h,translate:y,onDirectionToggleClick:C,onFocus:x,onToggleBlankClick:A})},rn=function(e){var t=e.className,n=e.innerRef,r=e.lastDirection,a=e.refs,i=e.rows,s=e.cellSize,l=e.onDirectionToggle,f=e.onFocus,d=e.onKeyDown;return Object(o.jsx)(\"div\",{className:c()(u.a.board,t),ref:n,onKeyDown:d,children:i.map((function(e,t){return Object(o.jsx)(\"div\",{className:u.a.row,children:e.map((function(e,n){return Object(o.jsx)(on,{className:u.a.cell,cell:e,direction:r,inputRef:a[t][n],size:s,onDirectionToggle:l,onFocus:f},n)}))},t)}))})},an=Object(a.memo)(rn),sn=function(e){var t=Object(a.useRef)(e);return t.current=e,t},cn=function(e,t){for(var n=0;n<e.length;++n)for(var o=0;o<e[0].length;++o)if(t(e[n][o]))return{x:o,y:n}};function ln(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function un(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ln(Object(n),!0).forEach((function(t){Object(h.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ln(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var fn=function(e){var t=e.length,n=e[0].length,o=Object(d.b)(),r=Object(i.G)(i.n),s=Object(a.useMemo)((function(){return Object(p.c)(n,t,(function(){return Object(a.createRef)()}))}),[n,t]),c=Object(a.useRef)({x:0,y:0}),l=Object(a.useState)(\"horizontal\"),u=l[0],h=l[1],m=sn(u),b=Object(a.useCallback)((function(e,o){var r,a=Math.min(Math.max(c.current.x+e,0),n-1),i=Math.min(Math.max(c.current.y+o,0),t-1);c.current={x:a,y:i},null===(r=s[i][a].current)||void 0===r||r.focus()}),[c,s]),v=Object(a.useCallback)((function(e){return cn(s,(function(t){return t.current===e}))}),[s]),y=Object(a.useCallback)((function(){h((function(e){return\"vertical\"===e?\"horizontal\":\"vertical\"}))}),[]),g=Object(a.useCallback)((function(e,t){c.current={x:e,y:t}}),[]),O=Object(a.useCallback)((function(e){var t=\"forward\"===e?1:-1;\"horizontal\"===m.current?b(t,0):b(0,t)}),[b,m]),j=Object(a.useMemo)((function(){return Object(p.d)({onArrowDown:function(e){Object(p.m)(e)?y():b(0,1)},onArrowLeft:function(e){Object(p.m)(e)?y():b(-1,0)},onArrowRight:function(e){Object(p.m)(e)?y():b(1,0)},onArrowUp:function(e){Object(p.m)(e)?y():b(0,-1)},onBackspace:function(e){var t=v(e.target);t&&(o(i.a.actions.changeCellValue(un(un({},t),{},{value:f.EMPTY_CELL}))),O(\"backward\"))},onDelete:function(e){var t=v(e.target);t&&(o(i.a.actions.changeCellValue(un(un({},t),{},{value:f.EMPTY_CELL}))),O(\"forward\"))},onKeyDown:function(a){var s=v(a.target);if(s){var c=s.x,l=s.y,u=a.key.toLowerCase(),d=Object(p.m)(a)&&\"b\"===u,h=r.getTwoCharacterTileByPrefix(u);if(d)o(i.a.actions.toggleCellIsBlank(s));else{if(Object(p.m)(a)&&h)return a.preventDefault(),o(i.a.actions.changeCellValue({x:c,y:l,value:h})),void O(\"forward\");if(r.hasCharacter(u)){var m=c>0,b=c+1<n,y=l+1<t;if(l-1>0){var g=e[l-1][c].tile.character+u;if(r.twoCharacterTiles.includes(g))return void o(i.a.actions.changeCellValue(un(un({},s),{},{y:l-1,value:g})))}if(y){var j=u+e[l+1][c].tile.character;if(r.twoCharacterTiles.includes(j))return o(i.a.actions.changeCellValue(un(un({},s),{},{value:u}))),o(i.a.actions.changeCellValue(un(un({},s),{},{y:l+1,value:f.EMPTY_CELL}))),void O(\"forward\")}if(m){var w=e[l][c-1].tile.character+u;if(r.twoCharacterTiles.includes(w))return void o(i.a.actions.changeCellValue(un(un({},s),{},{x:c-1,value:w})))}if(b){var _=u+e[l][c+1].tile.character;if(r.twoCharacterTiles.includes(_))return o(i.a.actions.changeCellValue(un(un({},s),{},{value:u}))),o(i.a.actions.changeCellValue(un(un({},s),{},{x:c+1,value:f.EMPTY_CELL}))),void O(\"forward\")}if(!y||!b){var x=e[l][c].tile.character+u;if(r.twoCharacterTiles.includes(x))return void o(i.a.actions.changeCellValue(un(un({},s),{},{value:x})))}o(i.a.actions.changeCellValue(un(un({},s),{},{value:u}))),O(\"forward\")}}}}})}),[b,r,o,m,y,e]);return[{lastDirection:u,refs:s},{onDirectionToggle:y,onFocus:g,onKeyDown:j}]},dn=function(e){var t=e.cellSize,n=e.className,a=e.innerRef,s=Object(i.G)(i.z),c=fn(s),l=Object(r.a)(c,2),u=l[0],f=u.lastDirection,d=u.refs,p=l[1],h=p.onDirectionToggle,m=p.onFocus,b=p.onKeyDown;return Object(o.jsx)(an,{className:n,cellSize:t,innerRef:a,lastDirection:f,refs:d,rows:s,onDirectionToggle:h,onFocus:m,onKeyDown:b})},pn=n(\"1zWx\"),hn=n.n(pn);function mn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function bn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?mn(Object(n),!0).forEach((function(t){Object(h.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var vn=function(e){var t=e.children,n=e.className,r=e.icon,a=e.tooltip,i=ie(e,[\"children\",\"className\",\"icon\",\"tooltip\"]),s=Wt(a,i);return Object(o.jsx)(\"button\",bn(bn(bn({className:c()(hn.a.button,n),type:\"button\"},i),s),{},{children:Object(o.jsxs)(\"span\",{className:hn.a.content,children:[Object(o.jsx)(\"span\",{className:hn.a.label,children:t}),Object(o.jsx)(le,{className:hn.a.icon,icon:r})]})}))},yn=(n(\"hj7B\"),n(\"dm5A\")),gn=n(\"4VI5\"),On=n(\"v/x1\"),jn=function(e){return yn.o+e*(yn.u+yn.r)},wn=function(e){return yn.p+e*(yn.u+yn.r)},_n=function(e,t){return e+2*t*(.5-Math.random())},xn=function(e){var t=e.cellIndex,n=e.character,o=e.color,r=e.rowIndex,a=e.showPoints,i=gn.literaki[On.Locale.EN_US].getCharacterPoints(n.toLowerCase()),s=a?i:void 0,c=\"number\"===typeof i?yn.q[i]:yn.n,l=jn(t)+yn.u/2,u=wn(0)+yn.u/2;return{character:n,color:o||c,points:s,size:yn.u,transform:\"rotate(\".concat(_n(0,yn.s),\", \").concat(l,\", \").concat(u,\")\"),x:_n(jn(t),yn.t),y:_n(wn(r),yn.t)}},An=function(e){var t=e.color,n=e.content,o=e.showPoints;return n.map((function(e,n){return e.map((function(r,a){var i=e.slice(0,a).reduce((function(e,t){return e+t.length+\" \".length}),0);return r.split(\"\").map((function(e,r){return xn({cellIndex:i+r,character:e,color:t,rowIndex:n,showPoints:o})}))}))})).flat(2)},Cn=function(e){var t=e.reduce((function(e,t){var n=t.reduce((function(e,t){return e+t.length}),0)+Math.max(t.length-1,0);return Math.max(e,n)}),0),n=t*(yn.u+yn.r)-(0===t?0:yn.r),o=e.length*(yn.u+yn.r)-(0===e.length?0:yn.r);return\"0 0 \".concat(n,\" \").concat(o)},Sn=n(\"WX7Y\"),En=n.n(Sn),Mn=function(e){var t=e.character,n=e.className,r=e.color,a=e.points,i=e.size,s=e.transform,c=e.x,l=e.y;return Object(o.jsxs)(\"g\",{className:n,transform:s,children:[Object(o.jsx)(\"rect\",{fill:r,height:i,width:i,x:c,y:l}),Object(o.jsx)(\"text\",{dominantBaseline:\"central\",fontFamily:\"Open Sans\",fontSize:.6*i,fontWeight:\"bold\",textAnchor:\"middle\",x:c+i/2,y:l+i/2,children:t}),\"number\"===typeof a&&Object(o.jsx)(\"text\",{dominantBaseline:\"text-after-edge\",fontFamily:\"Open Sans\",fontSize:.25*i,fontWeight:\"bold\",textAnchor:\"end\",x:c+.9*i,y:l+.95*i,children:a})]})},Nn=function(e){var t,n=e.className,r=e.color,i=e.content,s=e.dropShadow,l=e.showPoints,u=e.style,f=e.wave,d=Object(a.useMemo)((function(){return An({color:r,content:i,showPoints:l})}),[r,i,l]);return Object(o.jsx)(\"svg\",{className:c()(n,(t={},Object(h.a)(t,En.a.dropShadow,s),Object(h.a)(t,En.a.wave,f),t)),style:u,viewBox:Cn(i),xmlns:\"http://www.w3.org/2000/svg\",children:d.map((function(e,t){return Object(o.jsx)(Mn,{character:e.character,className:En.a.tile,color:e.color,points:e.points,size:e.size,transform:e.transform,x:e.x,y:e.y},t)}))})},kn=n(\"Jsr2\"),Dn=n.n(kn),Rn={error:\"empty-state.error\",info:\"empty-state.info\",success:\"empty-state.success\",warning:\"empty-state.warning\"},Pn={error:yn.h,info:yn.f,success:yn.g,warning:yn.i},Bn=function(e){var t=e.className,n=e.children,r=e.type,s=Object(i.F)(),l=Object(a.useMemo)((function(){return s(Rn[r])}),[s]),u=Object(a.useMemo)((function(){return[[l.toUpperCase()]]}),[l]);return Object(o.jsxs)(\"div\",{className:c()(Dn.a.emptyState,t),children:[Object(o.jsx)(Nn,{className:Dn.a.tiles,color:Pn[r],content:u}),Object(o.jsx)(\"div\",{className:Dn.a.content,children:n})]})},In=n(\"sEFA\"),Tn=n.n(In),Ln=function(e){var t=e.className,n=e.wave,r=void 0===n||n,s=Object(i.F)(),l=Object(a.useMemo)((function(){return[[s(\"common.loading\").toUpperCase()]]}),[s]);return Object(o.jsxs)(\"div\",{className:c()(Tn.a.loading,t),children:[Object(o.jsx)(\"div\",{className:Tn.a.dim}),Object(o.jsx)(\"div\",{className:Tn.a.logo,children:Object(o.jsx)(Nn,{className:c()(Tn.a.tiles),content:l,dropShadow:!0,wave:r})})]})},Gn=n(\"mk9T\"),Fn=n.n(Gn),zn=function(e){var t,n=e.className,r=Object(i.F)(),a=Object(i.G)(i.p),s=a.definitions,l=a.isAllowed,u=a.isLoading,f=a.word;return Object(o.jsxs)(\"div\",{className:c()(Fn.a.dictionary,n,(t={},Object(h.a)(t,Fn.a.isAllowed,!0===l),Object(h.a)(t,Fn.a.isNotAllowed,!1===l),t)),children:[\"undefined\"===typeof f&&Object(o.jsx)(Bn,{type:\"info\",children:r(\"dictionary.empty-state.uninitialized\")}),\"undefined\"!==typeof f&&Object(o.jsxs)(\"div\",{className:Fn.a.content,children:[f&&Object(o.jsx)(\"h2\",{className:Fn.a.word,children:f}),!1===l&&Object(o.jsx)(\"div\",{children:r(\"dictionary.empty-state.not-allowed\")}),!0===l&&Object(o.jsxs)(o.Fragment,{children:[0===s.length&&Object(o.jsx)(\"div\",{children:r(\"dictionary.empty-state.no-definitions\")}),s.length>0&&Object(o.jsx)(\"ul\",{className:Fn.a.definitions,children:s.map((function(e,t){return Object(o.jsx)(\"li\",{className:Fn.a.definition,children:e},t)}))})]}),!u&&null===l&&Object(o.jsx)(\"div\",{children:r(\"dictionary.empty-state.no-results\")})]}),u&&Object(o.jsx)(Ln,{})]})},Un=n(\"EIE9\"),Wn=n.n(Un),qn=function(e){var t=e.className,n=Object(d.b)(),r=Object(i.F)(),a=Object(i.G)(i.p).input;return Object(o.jsx)(\"form\",{className:c()(Wn.a.dictionaryInput,t),onSubmit:function(e){e.preventDefault(),n(i.c.actions.submit())},children:Object(o.jsx)(\"input\",{className:Wn.a.input,placeholder:r(\"dictionary.input.placeholder\"),required:!0,type:\"text\",value:a,onChange:function(e){n(i.c.actions.changeInput(e.target.value))}})})},Vn=n(\"99so\"),Yn=n.n(Vn),Hn=function(e){var t=e.children,n=e.className;return Object(o.jsx)(\"kbd\",{className:c()(Yn.a.key,n),children:t})},Jn=n(\"9rZX\"),Kn=n.n(Jn),Qn=n(\"5d2k\"),Zn=n.n(Qn);function Xn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function $n(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Xn(Object(n),!0).forEach((function(t){Object(h.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var eo=function(e){var t=e.className,n=e.icon,r=e.tooltip,a=ie(e,[\"className\",\"icon\",\"tooltip\"]),i=Wt(r,a);return Object(o.jsx)(\"a\",$n($n($n({className:c()(Zn.a.squareButton,t),type:\"button\"},a),i),{},{children:Object(o.jsx)(\"span\",{className:Zn.a.content,children:Object(o.jsx)(le,{className:Zn.a.icon,icon:n})})}))};function to(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function no(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?to(Object(n),!0).forEach((function(t){Object(h.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):to(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var oo=Object.assign((function(e){var t=e.className,n=e.icon,r=e.tooltip,a=ie(e,[\"className\",\"icon\",\"tooltip\"]),i=Wt(r,a);return Object(o.jsx)(\"button\",no(no(no({className:c()(Zn.a.squareButton,t),type:\"button\"},a),i),{},{children:Object(o.jsx)(\"span\",{className:Zn.a.content,children:Object(o.jsx)(le,{className:Zn.a.icon,icon:n})})}))}),{Link:eo}),ro=n(\"z9kn\"),ao=n.n(ro),io=function(e){var t=e.children,n=e.className,r=e.title;return Object(o.jsxs)(\"section\",{className:c()(ao.a.section,n),children:[Object(o.jsx)(\"h2\",{className:ao.a.heading,children:r}),Object(o.jsx)(\"div\",{children:t})]})},so=n(\"SySy\"),co=n.n(so),lo=Object.assign((function(e){var t=e.children,n=e.className,r=e.isOpen,a=e.title,s=e.onClose,l=Object(i.F)();return Object(o.jsx)(Kn.a,{className:{afterOpen:co.a.afterOpen,base:co.a.modal,beforeClose:co.a.beforeClose},closeTimeoutMS:yn.A,contentLabel:a,isOpen:r,overlayClassName:co.a.overlay,onRequestClose:s,children:Object(o.jsxs)(\"div\",{className:c()(co.a.sidebar,n),children:[Object(o.jsxs)(\"div\",{className:co.a.header,children:[Object(o.jsx)(\"h1\",{className:co.a.title,children:a}),Object(o.jsx)(oo,{className:co.a.closeButton,icon:D,tooltip:l(\"common.close\"),onClick:s})]}),Object(o.jsx)(\"div\",{className:co.a.content,children:t})]})})}),{Section:io}),uo=n(\"IH9G\"),fo=n.n(uo),po=function(e){var t=e.className,n=e.description,r=e.mapping;return Object(o.jsxs)(\"div\",{className:c()(fo.a.mapping,t),children:[Object(o.jsx)(\"h3\",{className:fo.a.description,children:n}),Object(o.jsx)(\"div\",{className:fo.a.keys,children:r.map((function(e,t){return Object(o.jsx)(\"div\",{className:fo.a.group,children:Array.isArray(e)?Object(o.jsxs)(o.Fragment,{children:[e[0],Object(o.jsx)(\"span\",{className:fo.a.plus,children:\"+\"}),e[1]]}):e},t)}))})]})},ho=Object(o.jsx)(Hn,{children:Object(o.jsx)(le,{icon:w})}),mo=Object(o.jsx)(Hn,{children:Object(o.jsx)(le,{icon:C})}),bo=Object(o.jsx)(Hn,{children:Object(o.jsx)(le,{icon:x})}),vo=Object(o.jsx)(Hn,{children:Object(o.jsx)(le,{icon:O})}),yo=Object(o.jsx)(Hn,{children:\"\\u2190 Backspace\"}),go=Object(o.jsx)(Hn,{children:Object(p.n)()?\"\\u2318\":\"Ctrl\"}),Oo=Object(o.jsx)(Hn,{children:\"Del\"}),jo=Object(o.jsx)(Hn,{children:\"Enter \\u23ce\"}),wo=Object(o.jsxs)(o.Fragment,{children:[ho,mo,bo,vo]}),_o=Object(o.jsx)(Hn,{children:\"\\u2423\"}),xo=function(e){var t=e.className,n=e.isOpen,a=e.onClose,s=Object(i.F)(),c=Object(i.G)(i.n);return Object(o.jsxs)(lo,{className:t,isOpen:n,title:s(\"keyMap\"),onClose:a,children:[Object(o.jsxs)(lo.Section,{title:s(\"keyMap.board-and-rack\"),children:[Object(o.jsx)(po,{description:s(\"keyMap.board-and-rack.navigate\"),mapping:[wo]}),Object(o.jsx)(po,{description:s(\"keyMap.board-and-rack.remove-tile\"),mapping:[Oo,yo]}),Object(o.jsx)(po,{description:s(\"keyMap.board-and-rack.submit\"),mapping:[jo]}),c.twoCharacterTiles.length>0&&Object(o.jsx)(po,{description:s(\"keyMap.board-and-rack.insert-two-letter-tile\"),mapping:[[go,Object(o.jsx)(o.Fragment,{children:c.twoCharacterTiles.map((function(e){var t=Object(r.a)(e,1)[0];return Object(o.jsx)(Hn,{children:t.toUpperCase()},t)}))})]]})]}),Object(o.jsxs)(lo.Section,{title:s(\"keyMap.board\"),children:[Object(o.jsx)(po,{description:s(\"keyMap.board.toggle-blank\"),mapping:[[go,Object(o.jsx)(Hn,{children:\"B\"},\"b\")]]}),Object(o.jsx)(po,{description:s(\"keyMap.board.toggle-direction\"),mapping:[[go,wo]]})]}),Object(o.jsx)(lo.Section,{title:s(\"keyMap.rack\"),children:Object(o.jsx)(po,{description:s(\"keyMap.rack.insert-blank\"),mapping:[_o]})})]})},Ao=[[\"SCRABBLE\"],[\"SOLVER\",\"2\"]],Co=function(e){var t=e.className,n=e.style;return Object(o.jsx)(Nn,{className:t,content:Ao,style:n})},So=n(\"jVvz\"),Eo=n.n(So),Mo=function(e){var t=e.onClear,n=e.onShowKeyMap,r=e.onShowRemainingTiles,a=e.onShowSettings,s=Object(i.F)(),l=Object(i.G)(i.q);return Object(o.jsxs)(\"div\",{className:Eo.a.navButtons,children:[Object(o.jsx)(oo.Link,{className:Eo.a.button,href:yn.m,icon:J,rel:\"noopener noreferrer\",target:\"_blank\",tooltip:s(\"github\")}),Object(o.jsx)(\"div\",{className:Eo.a.separator}),Object(o.jsx)(oo,{className:Eo.a.button,icon:Q,tooltip:s(\"keyMap\"),onClick:n}),Object(o.jsx)(oo,{className:c()(Eo.a.button,Object(h.a)({},Eo.a.error,l)),icon:ee,tooltip:s(\"remaining-tiles\"),onClick:r}),Object(o.jsx)(\"div\",{className:Eo.a.separator}),Object(o.jsx)(oo,{className:Eo.a.button,icon:I,tooltip:s(\"common.clear\"),onClick:t}),Object(o.jsx)(oo,{className:Eo.a.button,icon:N,tooltip:s(\"settings\"),onClick:a})]})},No=n(\"YFqc\"),ko=n.n(No),Do=n(\"lFTW\"),Ro=n.n(Do),Po=[[\"HTTP\",\"404\"]],Bo=function(){return Object(o.jsx)(\"div\",{className:Ro.a.notFound,children:Object(o.jsx)(ko.a,{href:\"/\",children:Object(o.jsxs)(\"a\",{className:Ro.a.link,children:[Object(o.jsx)(le,{className:Ro.a.icon,icon:P}),Object(o.jsx)(Nn,{className:Ro.a.tiles,content:Po})]})})})},Io=n(\"RuLr\"),To=n.n(Io),Lo=function(e){var t=e.activeIndexRef,n=e.character,r=e.index,s=e.inputRef,c=e.tile,l=e.onKeyDown,u=Object(d.b)(),h=Object(i.F)(),m=Object(i.G)(i.n),b=Object(i.G)((function(e){return Object(i.m)(e,n)})),v=Object(a.useCallback)((function(){t.current=r}),[r]),y=Object(a.useCallback)((function(e){u(i.f.actions.changeCharacter({character:e,index:r}))}),[r]),g=Object(a.useMemo)((function(){return Object(p.d)({onBackspace:function(){return y(null)},onDelete:function(){return y(null)},onKeyDown:function(e){var t=e.key.toLowerCase(),n=m.getTwoCharacterTileByPrefix(t);Object(p.m)(e)&&n?(e.preventDefault(),y(n)):(m.hasCharacter(t)||t===f.BLANK)&&y(t),l(e)}})}),[m,y,l]);return Object(o.jsx)(me,{autoFocus:0===r,className:To.a.tile,character:null===n?void 0:n,highlighted:null!==c,inputRef:s,isBlank:n===f.BLANK,placeholder:h(\"rack.placeholder\")[r],points:b,raised:!0,size:yn.z,tabIndex:0===r?void 0:-1,onFocus:v,onKeyDown:g},r)},Go=function(e){var t=e.className,n=Object(i.G)(i.n),r=Object(i.G)(i.t),s=Object(i.G)(i.v),l=Object(a.useMemo)((function(){return Object(p.s)(r,s)}),[r,s]),u=l.length,d=Object(a.useMemo)((function(){return Object(p.b)(u).map((function(){return Object(a.createRef)()}))}),[u]),h=Object(a.useRef)(),m=Object(a.useCallback)((function(e){var t=Math.min(Math.max((h.current||0)+e,0),u-1),n=d[t].current;n&&n.focus(),h.current=t}),[h,u,d]),b=Object(a.useMemo)((function(){return Object(p.d)({onArrowLeft:function(e){e.preventDefault(),m(-1)},onArrowRight:function(e){e.preventDefault(),m(1)},onBackspace:function(){m(-1)},onKeyDown:function(e){var t=e.key.toLowerCase();(n.hasCharacter(t)||t===f.BLANK)&&m(1)}})}),[m,n]);return Object(o.jsx)(\"div\",{className:c()(To.a.rack,t),children:l.map((function(e,t){var n=e.character,r=e.tile;return Object(o.jsx)(Lo,{activeIndexRef:h,character:n,index:t,inputRef:d[t],tile:r,onKeyDown:b},t)}))})},Fo=n(\"BdcD\"),zo=n.n(Fo),Uo=function(e){var t=e.checked,n=e.children,r=e.className,a=e.disabled,i=e.id,s=e.name,l=e.value,u=e.onChange;return Object(o.jsxs)(\"label\",{className:c()(zo.a.radio,r,Object(h.a)({},zo.a.checked,t)),htmlFor:i,children:[Object(o.jsx)(\"input\",{checked:t,className:zo.a.input,disabled:a,id:i,name:s,type:\"radio\",value:l,onChange:u}),Object(o.jsx)(\"div\",{className:zo.a.icon}),Object(o.jsx)(\"div\",{className:zo.a.content,children:n})]})},Wo=n(\"JxyW\"),qo=n.n(Wo),Vo=function(e){var t,n=e.tile,r=n.character,a=n.count,s=a-n.usedCount,l=Object(i.G)((function(e){return Object(i.m)(e,r)}));return Object(o.jsxs)(\"div\",{className:c()(qo.a.character,(t={},Object(h.a)(t,qo.a.finished,s<=0),Object(h.a)(t,qo.a.overused,s<0),t)),children:[Object(o.jsx)(me,{character:r,className:qo.a.tile,disabled:!0,isBlank:r===f.BLANK,points:l,raised:!0,size:yn.v}),Object(o.jsxs)(\"div\",{className:qo.a.count,children:[s,\" / \",a]})]},r)},Yo=n(\"bHoz\"),Ho=n.n(Yo),Jo=function(e){var t=e.className,n=e.isOpen,r=e.onClose,a=Object(i.F)(),s=Object(i.G)(i.u);return Object(o.jsx)(lo,{className:t,isOpen:n,title:a(\"remaining-tiles\"),onClose:r,children:s.map((function(e){var t=e.remainingCount,n=e.tiles,r=e.translationKey,i=e.totalCount;return Object(o.jsxs)(\"div\",{className:Ho.a.group,children:[Object(o.jsx)(\"h2\",{className:Ho.a.title,children:\"\".concat(a(r),\" (\").concat(t,\" / \").concat(i,\")\")}),Object(o.jsx)(\"div\",{className:Ho.a.content,children:n.map((function(e){return Object(o.jsx)(Vo,{tile:e},e.character)}))})]},r)}))})},Ko=n(\"wx14\");function Qo(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function Zo(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function Xo(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var $o=function(e,t){var n;void 0===t&&(t=Xo);var o,r=[],a=!1;return function(){for(var i=[],s=0;s<arguments.length;s++)i[s]=arguments[s];return a&&n===this&&t(i,r)||(o=e.apply(this,i),a=!0,n=this,r=i),o}},er=\"object\"===typeof performance&&\"function\"===typeof performance.now?function(){return performance.now()}:function(){return Date.now()};function tr(e){cancelAnimationFrame(e.id)}function nr(e,t){var n=er();var o={id:requestAnimationFrame((function r(){er()-n>=t?e.call(null):o.id=requestAnimationFrame(r)}))};return o}var or=null;function rr(e){if(void 0===e&&(e=!1),null===or||e){var t=document.createElement(\"div\"),n=t.style;n.width=\"50px\",n.height=\"50px\",n.overflow=\"scroll\",n.direction=\"rtl\";var o=document.createElement(\"div\"),r=o.style;return r.width=\"100px\",r.height=\"100px\",t.appendChild(o),document.body.appendChild(t),t.scrollLeft>0?or=\"positive-descending\":(t.scrollLeft=1,or=0===t.scrollLeft?\"negative\":\"positive-ascending\"),document.body.removeChild(t),or}return or}var ar=function(e,t){return e};function ir(e){var t,n,o=e.getItemOffset,r=e.getEstimatedTotalSize,i=e.getItemSize,s=e.getOffsetForIndexAndAlignment,c=e.getStartIndexForOffset,l=e.getStopIndexForStartIndex,u=e.initInstanceProps,f=e.shouldResetStyleCacheOnItemSizeChange,d=e.validateProps;return n=t=function(e){function t(t){var n;return(n=e.call(this,t)||this)._instanceProps=u(n.props,Zo(Zo(n))),n._outerRef=void 0,n._resetIsScrollingTimeoutId=null,n.state={instance:Zo(Zo(n)),isScrolling:!1,scrollDirection:\"forward\",scrollOffset:\"number\"===typeof n.props.initialScrollOffset?n.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},n._callOnItemsRendered=void 0,n._callOnItemsRendered=$o((function(e,t,o,r){return n.props.onItemsRendered({overscanStartIndex:e,overscanStopIndex:t,visibleStartIndex:o,visibleStopIndex:r})})),n._callOnScroll=void 0,n._callOnScroll=$o((function(e,t,o){return n.props.onScroll({scrollDirection:e,scrollOffset:t,scrollUpdateWasRequested:o})})),n._getItemStyle=void 0,n._getItemStyle=function(e){var t,r=n.props,a=r.direction,s=r.itemSize,c=r.layout,l=n._getItemStyleCache(f&&s,f&&c,f&&a);if(l.hasOwnProperty(e))t=l[e];else{var u=o(n.props,e,n._instanceProps),d=i(n.props,e,n._instanceProps),p=\"horizontal\"===a||\"horizontal\"===c,h=\"rtl\"===a,m=p?u:0;l[e]=t={position:\"absolute\",left:h?void 0:m,right:h?m:void 0,top:p?0:u,height:p?\"100%\":d,width:p?d:\"100%\"}}return t},n._getItemStyleCache=void 0,n._getItemStyleCache=$o((function(e,t,n){return{}})),n._onScrollHorizontal=function(e){var t=e.currentTarget,o=t.clientWidth,r=t.scrollLeft,a=t.scrollWidth;n.setState((function(e){if(e.scrollOffset===r)return null;var t=n.props.direction,i=r;if(\"rtl\"===t)switch(rr()){case\"negative\":i=-r;break;case\"positive-descending\":i=a-o-r}return i=Math.max(0,Math.min(i,a-o)),{isScrolling:!0,scrollDirection:e.scrollOffset<r?\"forward\":\"backward\",scrollOffset:i,scrollUpdateWasRequested:!1}}),n._resetIsScrollingDebounced)},n._onScrollVertical=function(e){var t=e.currentTarget,o=t.clientHeight,r=t.scrollHeight,a=t.scrollTop;n.setState((function(e){if(e.scrollOffset===a)return null;var t=Math.max(0,Math.min(a,r-o));return{isScrolling:!0,scrollDirection:e.scrollOffset<t?\"forward\":\"backward\",scrollOffset:t,scrollUpdateWasRequested:!1}}),n._resetIsScrollingDebounced)},n._outerRefSetter=function(e){var t=n.props.outerRef;n._outerRef=e,\"function\"===typeof t?t(e):null!=t&&\"object\"===typeof t&&t.hasOwnProperty(\"current\")&&(t.current=e)},n._resetIsScrollingDebounced=function(){null!==n._resetIsScrollingTimeoutId&&tr(n._resetIsScrollingTimeoutId),n._resetIsScrollingTimeoutId=nr(n._resetIsScrolling,150)},n._resetIsScrolling=function(){n._resetIsScrollingTimeoutId=null,n.setState({isScrolling:!1},(function(){n._getItemStyleCache(-1,null)}))},n}Qo(t,e),t.getDerivedStateFromProps=function(e,t){return sr(e,t),d(e),null};var n=t.prototype;return n.scrollTo=function(e){e=Math.max(0,e),this.setState((function(t){return t.scrollOffset===e?null:{scrollDirection:t.scrollOffset<e?\"forward\":\"backward\",scrollOffset:e,scrollUpdateWasRequested:!0}}),this._resetIsScrollingDebounced)},n.scrollToItem=function(e,t){void 0===t&&(t=\"auto\");var n=this.props.itemCount,o=this.state.scrollOffset;e=Math.max(0,Math.min(e,n-1)),this.scrollTo(s(this.props,e,t,o,this._instanceProps))},n.componentDidMount=function(){var e=this.props,t=e.direction,n=e.initialScrollOffset,o=e.layout;if(\"number\"===typeof n&&null!=this._outerRef){var r=this._outerRef;\"horizontal\"===t||\"horizontal\"===o?r.scrollLeft=n:r.scrollTop=n}this._callPropsCallbacks()},n.componentDidUpdate=function(){var e=this.props,t=e.direction,n=e.layout,o=this.state,r=o.scrollOffset;if(o.scrollUpdateWasRequested&&null!=this._outerRef){var a=this._outerRef;if(\"horizontal\"===t||\"horizontal\"===n)if(\"rtl\"===t)switch(rr()){case\"negative\":a.scrollLeft=-r;break;case\"positive-ascending\":a.scrollLeft=r;break;default:var i=a.clientWidth,s=a.scrollWidth;a.scrollLeft=s-i-r}else a.scrollLeft=r;else a.scrollTop=r}this._callPropsCallbacks()},n.componentWillUnmount=function(){null!==this._resetIsScrollingTimeoutId&&tr(this._resetIsScrollingTimeoutId)},n.render=function(){var e=this.props,t=e.children,n=e.className,o=e.direction,i=e.height,s=e.innerRef,c=e.innerElementType,l=e.innerTagName,u=e.itemCount,f=e.itemData,d=e.itemKey,p=void 0===d?ar:d,h=e.layout,m=e.outerElementType,b=e.outerTagName,v=e.style,y=e.useIsScrolling,g=e.width,O=this.state.isScrolling,j=\"horizontal\"===o||\"horizontal\"===h,w=j?this._onScrollHorizontal:this._onScrollVertical,_=this._getRangeToRender(),x=_[0],A=_[1],C=[];if(u>0)for(var S=x;S<=A;S++)C.push(Object(a.createElement)(t,{data:f,key:p(S,f),index:S,isScrolling:y?O:void 0,style:this._getItemStyle(S)}));var E=r(this.props,this._instanceProps);return Object(a.createElement)(m||b||\"div\",{className:n,onScroll:w,ref:this._outerRefSetter,style:Object(Ko.a)({position:\"relative\",height:i,width:g,overflow:\"auto\",WebkitOverflowScrolling:\"touch\",willChange:\"transform\",direction:o},v)},Object(a.createElement)(c||l||\"div\",{children:C,ref:s,style:{height:j?\"100%\":E,pointerEvents:O?\"none\":void 0,width:j?E:\"100%\"}}))},n._callPropsCallbacks=function(){if(\"function\"===typeof this.props.onItemsRendered&&this.props.itemCount>0){var e=this._getRangeToRender(),t=e[0],n=e[1],o=e[2],r=e[3];this._callOnItemsRendered(t,n,o,r)}if(\"function\"===typeof this.props.onScroll){var a=this.state,i=a.scrollDirection,s=a.scrollOffset,c=a.scrollUpdateWasRequested;this._callOnScroll(i,s,c)}},n._getRangeToRender=function(){var e=this.props,t=e.itemCount,n=e.overscanCount,o=this.state,r=o.isScrolling,a=o.scrollDirection,i=o.scrollOffset;if(0===t)return[0,0,0,0];var s=c(this.props,i,this._instanceProps),u=l(this.props,s,i,this._instanceProps),f=r&&\"backward\"!==a?1:Math.max(1,n),d=r&&\"forward\"!==a?1:Math.max(1,n);return[Math.max(0,s-f),Math.max(0,Math.min(t-1,u+d)),s,u]},t}(a.PureComponent),t.defaultProps={direction:\"ltr\",itemData:void 0,layout:\"vertical\",overscanCount:2,useIsScrolling:!1},n}var sr=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},cr=ir({getItemOffset:function(e,t){return t*e.itemSize},getItemSize:function(e,t){return e.itemSize},getEstimatedTotalSize:function(e){var t=e.itemCount;return e.itemSize*t},getOffsetForIndexAndAlignment:function(e,t,n,o){var r=e.direction,a=e.height,i=e.itemCount,s=e.itemSize,c=e.layout,l=e.width,u=\"horizontal\"===r||\"horizontal\"===c?l:a,f=Math.max(0,i*s-u),d=Math.min(f,t*s),p=Math.max(0,t*s-u+s);switch(\"smart\"===n&&(n=o>=p-u&&o<=d+u?\"auto\":\"center\"),n){case\"start\":return d;case\"end\":return p;case\"center\":var h=Math.round(p+(d-p)/2);return h<Math.ceil(u/2)?0:h>f+Math.floor(u/2)?f:h;case\"auto\":default:return o>=p&&o<=d?o:o<p?p:d}},getStartIndexForOffset:function(e,t){var n=e.itemCount,o=e.itemSize;return Math.max(0,Math.min(n-1,Math.floor(t/o)))},getStopIndexForStartIndex:function(e,t,n){var o=e.direction,r=e.height,a=e.itemCount,i=e.itemSize,s=e.layout,c=e.width,l=t*i,u=\"horizontal\"===o||\"horizontal\"===s?c:r,f=Math.ceil((u+n-l)/i);return Math.max(0,Math.min(a-1,t+f-1))},initInstanceProps:function(e){},shouldResetStyleCacheOnItemSizeChange:!0,validateProps:function(e){e.itemSize}});var lr=n(\"UFVg\"),ur=n.n(lr),fr=function(e){var t=e.className,n=Object(d.b)(),r=Object(i.F)(),a=Object(i.G)(i.w);return Object(o.jsx)(\"form\",{className:c()(ur.a.resultsInput,t),children:Object(o.jsx)(\"input\",{className:ur.a.input,placeholder:r(\"results.input.placeholder\"),type:\"text\",value:a,onChange:function(e){n(i.h.actions.changeQuery(e.target.value))}})})},dr=n(\"6+LV\"),pr=n(\"IQtc\"),hr=n.n(pr),mr=[{className:hr.a.word,id:dr.a.Word,translationKey:\"common.word\"},{className:hr.a.stat,id:dr.a.TilesCount,translationKey:\"common.tiles\"},{className:hr.a.stat,id:dr.a.ConsonantsCount,translationKey:\"common.consonants\"},{className:hr.a.stat,id:dr.a.VowelsCount,translationKey:\"common.vowels\"},{className:hr.a.stat,id:dr.a.BlanksCount,translationKey:\"common.blanks\"},{className:hr.a.stat,id:dr.a.WordsCount,translationKey:\"common.words\"},{className:hr.a.points,id:dr.a.Points,translationKey:\"common.points\"}];function br(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function vr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?br(Object(n),!0).forEach((function(t){Object(h.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):br(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var yr=function(e){var t=e.column,n=Object(d.b)(),r=Object(i.F)(),a=Object(i.G)(i.x),s=Object(i.G)(i.y),l=Wt(r(t.translationKey));return Object(o.jsx)(\"button\",vr(vr({className:c()(hr.a.headerButton,t.className),type:\"button\",onClick:function(){return e=t.id,void n(i.h.actions.sort(e));var e}},l),{},{children:Object(o.jsxs)(\"span\",{className:hr.a.cell,children:[Object(o.jsx)(\"span\",{className:hr.a.headerButtonLabel,children:r(t.translationKey)}),a===t.id&&Object(o.jsx)(le,{className:hr.a.sortIcon,icon:s===dr.b.Ascending?re:ne})]})}),t.id)};function gr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Or(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?gr(Object(n),!0).forEach((function(t){Object(h.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var jr=function(e){var t=e.className,n=e.translationKey,r=e.value,a=Object(i.F)(),s=Wt(\"\".concat(a(n),\": \").concat(r));return Object(o.jsx)(\"span\",Or(Or({className:c()(hr.a.cell,t)},s),{},{children:r}))},wr=function(e){var t=e.index,n=e.style,r=Object(d.b)(),a=Object(i.G)(i.A)[t];return Object(o.jsx)(\"button\",{className:hr.a.result,style:n,type:\"button\",onBlur:function(){r(i.h.actions.changeResultCandidate(null))},onClick:function(){r(i.h.actions.applyResult(a))},onFocus:function(){r(i.h.actions.changeResultCandidate(a))},onMouseEnter:function(){r(i.h.actions.changeResultCandidate(a))},onMouseLeave:function(){r(i.h.actions.changeResultCandidate(null))},children:Object(o.jsxs)(\"span\",{className:hr.a.resultContent,children:[Object(o.jsx)(jr,{className:hr.a.word,translationKey:\"common.word\",value:a.word}),Object(o.jsx)(jr,{className:hr.a.stat,translationKey:\"common.tiles\",value:a.numberOfTiles}),Object(o.jsx)(jr,{className:hr.a.stat,translationKey:\"common.consonants\",value:a.numberOfConsonants}),Object(o.jsx)(jr,{className:hr.a.stat,translationKey:\"common.vowels\",value:a.numberOfVowels}),Object(o.jsx)(jr,{className:hr.a.stat,translationKey:\"common.blanks\",value:a.numberOfBlanks}),Object(o.jsx)(jr,{className:hr.a.stat,translationKey:\"common.words\",value:a.numberOfWords}),Object(o.jsx)(jr,{className:hr.a.points,translationKey:\"common.points\",value:a.points})]})})},_r=function(){var e=Object(d.b)(),t=Object(i.F)(),n=Object(i.G)(i.r),r=Object(i.G)(i.t),a=Object(i.G)(i.i),s=r.some((function(e){return null!==e}));return Object(o.jsx)(vn,{className:hr.a.outdatedButton,disabled:n||!a||!s,icon:X,type:\"submit\",onClick:function(){e(i.E.actions.submit())},children:t(\"results.solve\")})},xr=function(e){var t=e.height,n=e.width,r=Object(i.F)(),a=Object(i.G)(i.B),s=Object(i.G)(i.A),l=Object(i.G)(i.r),u=Object(i.G)(i.i);return Object(o.jsxs)(\"div\",{className:hr.a.results,children:[Object(o.jsx)(\"div\",{className:hr.a.header,children:mr.map((function(e){return Object(o.jsx)(yr,{column:e},e.id)}))}),\"undefined\"===typeof s&&Object(o.jsxs)(Bn,{className:hr.a.emptyState,type:\"info\",children:[r(\"results.empty-state.uninitialized\"),Object(o.jsx)(_r,{})]}),\"undefined\"!==typeof s&&\"undefined\"!==typeof a&&Object(o.jsxs)(o.Fragment,{children:[u&&Object(o.jsxs)(Bn,{className:hr.a.emptyState,type:\"info\",children:[r(\"results.empty-state.outdated\"),Object(o.jsx)(_r,{})]}),!u&&Object(o.jsxs)(o.Fragment,{children:[0===a.length&&Object(o.jsx)(Bn,{className:hr.a.emptyState,type:\"warning\",children:r(\"results.empty-state.no-results\")}),a.length>0&&0===s.length&&Object(o.jsx)(Bn,{className:hr.a.emptyState,type:\"info\",children:r(\"results.empty-state.no-filtered-results\")}),a.length>0&&s.length>0&&Object(o.jsx)(cr,{className:c()(hr.a.list,Object(h.a)({},hr.a.outdated,u)),height:t-yn.w-yn.x,itemCount:s.length,itemSize:yn.y,width:n,children:wr}),a.length>0&&Object(o.jsx)(fr,{className:hr.a.input})]})]}),l&&Object(o.jsx)(Ln,{})]})},Ar=n(\"SQnd\"),Cr=n.n(Ar),Sr=function(e){var t=e.children,n=e.className,r=e.contentClassName,a=e.onAnimationEnd;return Object(o.jsx)(\"div\",{className:c()(Cr.a.screen,n),onAnimationEnd:a,children:Object(o.jsx)(\"div\",{className:c()(Cr.a.content,r),children:t})})},Er=n(\"NpR5\"),Mr=n.n(Er),Nr=\"null\",kr=function(e){if(\"left\"===e||\"right\"===e)return e;if(e===Nr)return null;throw new Error('\"'.concat(e,'\" is not valid. Should be \"left\", \"right\", or \"').concat(Nr,'\"'))},Dr=function(e){var t=e.className,n=e.disabled,r=Object(d.b)(),a=Object(i.F)(),s=Object(i.G)(i.j),c=[{label:a(\"settings.autoGroupTiles.left\"),value:\"left\"},{label:a(\"settings.autoGroupTiles.right\"),value:\"right\"},{label:a(\"settings.autoGroupTiles.null\"),value:Nr}],l=function(e){var t=kr(e.target.value);r(i.D.actions.changeAutoGroupTiles(t))};return Object(o.jsx)(\"div\",{className:t,children:c.map((function(e){return Object(o.jsx)(Uo,{checked:s===kr(e.value),className:Mr.a.option,disabled:n,id:\"autoGroupTiles\",name:\"autoGroupTiles\",value:e.value,onChange:l,children:Object(o.jsx)(\"div\",{className:Mr.a.label,children:e.label})},e.value)}))})},Rr=n(\"A/bs\"),Pr=n.n(Rr),Br=[{label:gn.scrabble.name,value:gn.scrabble.id},{label:gn.literaki.name,value:gn.literaki.id}],Ir=function(e){var t=e.className,n=e.disabled,r=Object(d.b)(),a=Object(i.G)(i.o),s=function(e){r(i.D.actions.changeConfigId(e.target.value))};return Object(o.jsx)(\"div\",{className:t,children:Br.map((function(e){return Object(o.jsx)(Uo,{checked:a===e.value,className:Pr.a.option,disabled:n,id:\"configId\",name:\"configId\",value:e.value,onChange:s,children:Object(o.jsx)(\"div\",{className:Pr.a.label,children:e.label})},e.value)}))})},Tr=n(\"41Wr\"),Lr=n.n(Tr),Gr=[{className:Lr.a.gb,icon:U,label:\"English (GB)\",value:On.Locale.EN_GB},{className:Lr.a.us,icon:Y,label:\"English (US)\",value:On.Locale.EN_US},{className:Lr.a.fr,icon:F,label:\"Fran\\xe7ais\",value:On.Locale.FR_FR},{className:Lr.a.pl,icon:q,label:\"Polski\",value:On.Locale.PL_PL},{className:Lr.a.es,icon:L,label:\"Espa\\xf1ol\",value:On.Locale.ES_ES}],Fr=function(e){var t=e.className,n=e.disabled,r=Object(d.b)(),a=Object(i.G)(i.s),s=function(e){var t=e.target.value;r(i.D.actions.changeLocale(t))};return Object(o.jsx)(\"div\",{className:t,children:Gr.map((function(e){return Object(o.jsx)(Uo,{checked:a===e.value,className:c()(Lr.a.option,t,Object(h.a)({},Lr.a.checked,a===e.value)),disabled:n,id:\"locale\",name:\"locale\",value:e.value,onChange:s,children:Object(o.jsxs)(\"span\",{className:Lr.a.label,children:[Object(o.jsx)(le,{className:c()(Lr.a.flag,e.className),icon:e.icon}),Object(o.jsx)(\"span\",{children:e.label})]})},e.value)}))})},zr=function(e){var t=e.className,n=e.isOpen,r=e.onClose,a=Object(i.F)();return Object(o.jsxs)(lo,{className:t,isOpen:n,title:a(\"settings\"),onClose:r,children:[Object(o.jsx)(lo.Section,{title:a(\"settings.game\"),children:Object(o.jsx)(Ir,{disabled:!n})}),Object(o.jsx)(lo.Section,{title:a(\"settings.language\"),children:Object(o.jsx)(Fr,{disabled:!n})}),Object(o.jsx)(lo.Section,{title:a(\"settings.autoGroupTiles\"),children:Object(o.jsx)(Dr,{disabled:!n})})]})},Ur=n(\"pdKp\"),Wr=n.n(Ur),qr=function(e){var t=e.className,n=e.forceShow,r=e.onAnimationEnd;return Object(o.jsxs)(Sr,{className:c()(Wr.a.splash,t,Object(h.a)({},Wr.a.animated,!n)),onAnimationEnd:r,children:[Object(o.jsxs)(\"div\",{className:Wr.a.logos,children:[Object(o.jsx)(Co,{className:Wr.a.logoGrayscale}),Object(o.jsx)(Co,{className:Wr.a.logoColor})]}),Object(o.jsx)(\"h1\",{className:Wr.a.author,children:\"by Kamil Mielnik\"})]})},Vr=n(\"X4yr\"),Yr=n.n(Vr);function Hr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Jr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Hr(Object(n),!0).forEach((function(t){Object(h.a)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Kr=Object(a.forwardRef)((function(e,t){var n=e.children,r=e.className,a=ie(e,[\"children\",\"className\"]);return Object(o.jsx)(\"div\",Jr(Jr({className:c()(Yr.a.well,r),ref:t},a),{},{children:n}))}))},NpR5:function(e,t,n){e.exports={option:\"AutoGroupTilesSetting_option__iqYF_\",label:\"AutoGroupTilesSetting_label__6_UJu\"}},ODXe:function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return r}));var o=n(\"BsWD\");function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(\"undefined\"!==typeof Symbol&&Symbol.iterator in Object(e)){var n=[],o=!0,r=!1,a=void 0;try{for(var i,s=e[Symbol.iterator]();!(o=(i=s.next()).done)&&(n.push(i.value),!t||n.length!==t);o=!0);}catch(c){r=!0,a=c}finally{try{o||null==s.return||s.return()}finally{if(r)throw a}}return n}}(e,t)||Object(o.a)(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}},QEso:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},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},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),i=n(\"q1tI\"),s=m(n(\"17x9\")),c=h(n(\"VKEO\")),l=m(n(\"S1to\")),u=h(n(\"Ye7m\")),f=h(n(\"fbhf\")),d=m(n(\"2zs7\")),p=m(n(\"UIKY\"));function h(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function m(e){return e&&e.__esModule?e:{default:e}}n(\"WkvU\");var b={overlay:\"ReactModal__Overlay\",content:\"ReactModal__Content\"},v=0,y=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.setOverlayRef=function(e){n.overlay=e,n.props.overlayRef&&n.props.overlayRef(e)},n.setContentRef=function(e){n.content=e,n.props.contentRef&&n.props.contentRef(e)},n.afterClose=function(){var e=n.props,t=e.appElement,o=e.ariaHideApp,r=e.htmlOpenClassName,a=e.bodyOpenClassName;a&&f.remove(document.body,a),r&&f.remove(document.getElementsByTagName(\"html\")[0],r),o&&v>0&&0===(v-=1)&&u.show(t),n.props.shouldFocusAfterRender&&(n.props.shouldReturnFocusAfterClose?(c.returnFocus(n.props.preventScroll),c.teardownScopedFocus()):c.popWithoutFocus()),n.props.onAfterClose&&n.props.onAfterClose(),p.default.deregister(n)},n.open=function(){n.beforeOpen(),n.state.afterOpen&&n.state.beforeClose?(clearTimeout(n.closeTimer),n.setState({beforeClose:!1})):(n.props.shouldFocusAfterRender&&(c.setupScopedFocus(n.node),c.markForFocusLater()),n.setState({isOpen:!0},(function(){n.setState({afterOpen:!0}),n.props.isOpen&&n.props.onAfterOpen&&n.props.onAfterOpen({overlayEl:n.overlay,contentEl:n.content})})))},n.close=function(){n.props.closeTimeoutMS>0?n.closeWithTimeout():n.closeWithoutTimeout()},n.focusContent=function(){return n.content&&!n.contentHasFocus()&&n.content.focus({preventScroll:!0})},n.closeWithTimeout=function(){var e=Date.now()+n.props.closeTimeoutMS;n.setState({beforeClose:!0,closesAt:e},(function(){n.closeTimer=setTimeout(n.closeWithoutTimeout,n.state.closesAt-Date.now())}))},n.closeWithoutTimeout=function(){n.setState({beforeClose:!1,isOpen:!1,afterOpen:!1,closesAt:null},n.afterClose)},n.handleKeyDown=function(e){9===e.keyCode&&(0,l.default)(n.content,e),n.props.shouldCloseOnEsc&&27===e.keyCode&&(e.stopPropagation(),n.requestClose(e))},n.handleOverlayOnClick=function(e){null===n.shouldClose&&(n.shouldClose=!0),n.shouldClose&&n.props.shouldCloseOnOverlayClick&&(n.ownerHandlesClose()?n.requestClose(e):n.focusContent()),n.shouldClose=null},n.handleContentOnMouseUp=function(){n.shouldClose=!1},n.handleOverlayOnMouseDown=function(e){n.props.shouldCloseOnOverlayClick||e.target!=n.overlay||e.preventDefault()},n.handleContentOnClick=function(){n.shouldClose=!1},n.handleContentOnMouseDown=function(){n.shouldClose=!1},n.requestClose=function(e){return n.ownerHandlesClose()&&n.props.onRequestClose(e)},n.ownerHandlesClose=function(){return n.props.onRequestClose},n.shouldBeClosed=function(){return!n.state.isOpen&&!n.state.beforeClose},n.contentHasFocus=function(){return document.activeElement===n.content||n.content.contains(document.activeElement)},n.buildClassName=function(e,t){var o=\"object\"===(\"undefined\"===typeof t?\"undefined\":r(t))?t:{base:b[e],afterOpen:b[e]+\"--after-open\",beforeClose:b[e]+\"--before-close\"},a=o.base;return n.state.afterOpen&&(a=a+\" \"+o.afterOpen),n.state.beforeClose&&(a=a+\" \"+o.beforeClose),\"string\"===typeof t&&t?a+\" \"+t:a},n.attributesFromObject=function(e,t){return Object.keys(t).reduce((function(n,o){return n[e+\"-\"+o]=t[o],n}),{})},n.state={afterOpen:!1,beforeClose:!1},n.shouldClose=null,n.moveFromContentToOverlay=null,n}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:\"componentDidMount\",value:function(){this.props.isOpen&&this.open()}},{key:\"componentDidUpdate\",value:function(e,t){this.props.isOpen&&!e.isOpen?this.open():!this.props.isOpen&&e.isOpen&&this.close(),this.props.shouldFocusAfterRender&&this.state.isOpen&&!t.isOpen&&this.focusContent()}},{key:\"componentWillUnmount\",value:function(){this.state.isOpen&&this.afterClose(),clearTimeout(this.closeTimer)}},{key:\"beforeOpen\",value:function(){var e=this.props,t=e.appElement,n=e.ariaHideApp,o=e.htmlOpenClassName,r=e.bodyOpenClassName;r&&f.add(document.body,r),o&&f.add(document.getElementsByTagName(\"html\")[0],o),n&&(v+=1,u.hide(t)),p.default.register(this)}},{key:\"render\",value:function(){var e=this.props,t=e.id,n=e.className,r=e.overlayClassName,a=e.defaultStyles,i=e.children,s=n?{}:a.content,c=r?{}:a.overlay;if(this.shouldBeClosed())return null;var l={ref:this.setOverlayRef,className:this.buildClassName(\"overlay\",r),style:o({},c,this.props.style.overlay),onClick:this.handleOverlayOnClick,onMouseDown:this.handleOverlayOnMouseDown},u=o({id:t,ref:this.setContentRef,style:o({},s,this.props.style.content),className:this.buildClassName(\"content\",n),tabIndex:\"-1\",onKeyDown:this.handleKeyDown,onMouseDown:this.handleContentOnMouseDown,onMouseUp:this.handleContentOnMouseUp,onClick:this.handleContentOnClick,role:this.props.role,\"aria-label\":this.props.contentLabel},this.attributesFromObject(\"aria\",o({modal:!0},this.props.aria)),this.attributesFromObject(\"data\",this.props.data||{}),{\"data-testid\":this.props.testId}),f=this.props.contentElement(u,i);return this.props.overlayElement(l,f)}}]),t}(i.Component);y.defaultProps={style:{overlay:{},content:{}},defaultStyles:{}},y.propTypes={isOpen:s.default.bool.isRequired,defaultStyles:s.default.shape({content:s.default.object,overlay:s.default.object}),style:s.default.shape({content:s.default.object,overlay:s.default.object}),className:s.default.oneOfType([s.default.string,s.default.object]),overlayClassName:s.default.oneOfType([s.default.string,s.default.object]),bodyOpenClassName:s.default.string,htmlOpenClassName:s.default.string,ariaHideApp:s.default.bool,appElement:s.default.instanceOf(d.default),onAfterOpen:s.default.func,onAfterClose:s.default.func,onRequestClose:s.default.func,closeTimeoutMS:s.default.number,shouldFocusAfterRender:s.default.bool,shouldCloseOnOverlayClick:s.default.bool,shouldReturnFocusAfterClose:s.default.bool,preventScroll:s.default.bool,role:s.default.string,contentLabel:s.default.string,aria:s.default.object,data:s.default.object,children:s.default.node,shouldCloseOnEsc:s.default.bool,overlayRef:s.default.func,contentRef:s.default.func,id:s.default.string,overlayElement:s.default.func,contentElement:s.default.func,testId:s.default.string},t.default=y,e.exports=t.default},RuLr:function(e,t,n){e.exports={rack:\"Rack_rack__19pRD\",tile:\"Rack_tile__3eMqz\"}},S1to:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){var n=(0,a.default)(e);if(!n.length)return void t.preventDefault();var o=void 0,r=t.shiftKey,i=n[0],s=n[n.length-1];if(e===document.activeElement){if(!r)return;o=s}s!==document.activeElement||r||(o=i);i===document.activeElement&&r&&(o=s);if(o)return t.preventDefault(),void o.focus();var c=/(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);if(null==c||\"Chrome\"==c[1]||null!=/\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent))return;var l=n.indexOf(document.activeElement);l>-1&&(l+=r?-1:1);if(\"undefined\"===typeof(o=n[l]))return t.preventDefault(),void(o=r?s:i).focus();t.preventDefault(),o.focus()};var o,r=n(\"ZDLa\"),a=(o=r)&&o.__esModule?o:{default:o};e.exports=t.default},SQnd:function(e,t,n){e.exports={screen:\"Screen_screen__1JVwd\",closeButton:\"Screen_closeButton__2eAGy\",content:\"Screen_content__3Bn9G\"}},SySy:function(e,t,n){e.exports={modal:\"Sidebar_modal__AVVNt\",afterOpen:\"Sidebar_afterOpen__3qtCP\",sidebar:\"Sidebar_sidebar__1BmXf\",beforeClose:\"Sidebar_beforeClose__vU4tB\",overlay:\"Sidebar_overlay__1Ccrb\",header:\"Sidebar_header__VjKGT\",title:\"Sidebar_title__2nqWj\",closeButton:\"Sidebar_closeButton__2Yro_\",content:\"Sidebar_content__1ezIJ\"}},TSYQ:function(e,t,n){var o;!function(){\"use strict\";var n={}.hasOwnProperty;function r(){for(var e=[],t=0;t<arguments.length;t++){var o=arguments[t];if(o){var a=typeof o;if(\"string\"===a||\"number\"===a)e.push(o);else if(Array.isArray(o)&&o.length){var i=r.apply(null,o);i&&e.push(i)}else if(\"object\"===a)for(var s in o)n.call(o,s)&&o[s]&&e.push(s)}}return e.join(\" \")}e.exports?(r.default=r,e.exports=r):void 0===(o=function(){return r}.apply(t,[]))||(e.exports=o)}()},UE3f:function(e,t,n){e.exports={board:\"Board_board__ASOu2\",row:\"Board_row__WXJ7Q\"}},UFVg:function(e,t,n){e.exports={resultsInput:\"ResultsInput_resultsInput__1xGkX\",input:\"ResultsInput_input__soybt\"}},UIKY:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var o=new function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.register=function(e){-1===t.openInstances.indexOf(e)&&(t.openInstances.push(e),t.emit(\"register\"))},this.deregister=function(e){var n=t.openInstances.indexOf(e);-1!==n&&(t.openInstances.splice(n,1),t.emit(\"deregister\"))},this.subscribe=function(e){t.subscribers.push(e)},this.emit=function(e){t.subscribers.forEach((function(n){return n(e,t.openInstances.slice())}))},this.openInstances=[],this.subscribers=[]};t.default=o,e.exports=t.default},VCL8:function(e,t,n){\"use strict\";function o(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!==e&&void 0!==e&&this.setState(e)}function r(e){this.setState(function(t){var n=this.constructor.getDerivedStateFromProps(e,t);return null!==n&&void 0!==n?n:null}.bind(this))}function a(e,t){try{var n=this.props,o=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,o)}finally{this.props=n,this.state=o}}function i(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error(\"Can only polyfill class components\");if(\"function\"!==typeof e.getDerivedStateFromProps&&\"function\"!==typeof t.getSnapshotBeforeUpdate)return e;var n=null,i=null,s=null;if(\"function\"===typeof t.componentWillMount?n=\"componentWillMount\":\"function\"===typeof t.UNSAFE_componentWillMount&&(n=\"UNSAFE_componentWillMount\"),\"function\"===typeof t.componentWillReceiveProps?i=\"componentWillReceiveProps\":\"function\"===typeof t.UNSAFE_componentWillReceiveProps&&(i=\"UNSAFE_componentWillReceiveProps\"),\"function\"===typeof t.componentWillUpdate?s=\"componentWillUpdate\":\"function\"===typeof t.UNSAFE_componentWillUpdate&&(s=\"UNSAFE_componentWillUpdate\"),null!==n||null!==i||null!==s){var c=e.displayName||e.name,l=\"function\"===typeof e.getDerivedStateFromProps?\"getDerivedStateFromProps()\":\"getSnapshotBeforeUpdate()\";throw Error(\"Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n\"+c+\" uses \"+l+\" but also contains the following legacy lifecycles:\"+(null!==n?\"\\n \"+n:\"\")+(null!==i?\"\\n \"+i:\"\")+(null!==s?\"\\n \"+s:\"\")+\"\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\nhttps://fb.me/react-async-component-lifecycle-hooks\")}if(\"function\"===typeof e.getDerivedStateFromProps&&(t.componentWillMount=o,t.componentWillReceiveProps=r),\"function\"===typeof t.getSnapshotBeforeUpdate){if(\"function\"!==typeof t.componentDidUpdate)throw new Error(\"Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype\");t.componentWillUpdate=a;var u=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var o=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;u.call(this,e,t,o)}}return e}n.r(t),n.d(t,\"polyfill\",(function(){return i})),o.__suppressDeprecationWarning=!0,r.__suppressDeprecationWarning=!0,a.__suppressDeprecationWarning=!0},VKEO:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.handleBlur=l,t.handleFocus=u,t.markForFocusLater=function(){i.push(document.activeElement)},t.returnFocus=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=null;try{return void(0!==i.length&&(t=i.pop()).focus({preventScroll:e}))}catch(n){console.warn([\"You tried to return focus to\",t,\"but it is not in the DOM anymore\"].join(\" \"))}},t.popWithoutFocus=function(){i.length>0&&i.pop()},t.setupScopedFocus=function(e){s=e,window.addEventListener?(window.addEventListener(\"blur\",l,!1),document.addEventListener(\"focus\",u,!0)):(window.attachEvent(\"onBlur\",l),document.attachEvent(\"onFocus\",u))},t.teardownScopedFocus=function(){s=null,window.addEventListener?(window.removeEventListener(\"blur\",l),document.removeEventListener(\"focus\",u)):(window.detachEvent(\"onBlur\",l),document.detachEvent(\"onFocus\",u))};var o,r=n(\"ZDLa\"),a=(o=r)&&o.__esModule?o:{default:o};var i=[],s=null,c=!1;function l(){c=!0}function u(){if(c){if(c=!1,!s)return;setTimeout((function(){s.contains(document.activeElement)||((0,a.default)(s)[0]||s).focus()}),0)}}},WX7Y:function(e,t,n){e.exports={wave:\"PlainTiles_wave__RkrSN\",tile:\"PlainTiles_tile__3-ZhZ\",dropShadow:\"PlainTiles_dropShadow__3ARSR\",hide:\"PlainTiles_hide__17cvO\",progress:\"PlainTiles_progress__3cL21\",pulse:\"PlainTiles_pulse__3r1EF\"}},WkvU:function(e,t,n){\"use strict\";var o,r=n(\"UIKY\"),a=(o=r)&&o.__esModule?o:{default:o};var i=void 0,s=void 0,c=[];function l(){0!==c.length&&c[c.length-1].focusContent()}a.default.subscribe((function(e,t){i&&s||((i=document.createElement(\"div\")).setAttribute(\"data-react-modal-body-trap\",\"\"),i.style.position=\"absolute\",i.style.opacity=\"0\",i.setAttribute(\"tabindex\",\"0\"),i.addEventListener(\"focus\",l),(s=i.cloneNode()).addEventListener(\"focus\",l)),(c=t).length>0?(document.body.firstChild!==i&&document.body.insertBefore(i,document.body.firstChild),document.body.lastChild!==s&&document.body.appendChild(s)):(i.parentElement&&i.parentElement.removeChild(i),s.parentElement&&s.parentElement.removeChild(s))}))},X4yr:function(e,t,n){e.exports={well:\"Well_well__2rvZn\"}},YFqc:function(e,t,n){e.exports=n(\"cTJO\")},Ye7m:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.assertNodeList=c,t.setElement=function(e){var t=e;if(\"string\"===typeof t&&i.canUseDOM){var n=document.querySelectorAll(t);c(n,t),t=\"length\"in n?n[0]:n}return s=t||s},t.validateElement=l,t.hide=function(e){l(e)&&(e||s).setAttribute(\"aria-hidden\",\"true\")},t.show=function(e){l(e)&&(e||s).removeAttribute(\"aria-hidden\")},t.documentNotReadyOrSSRTesting=function(){s=null},t.resetForTesting=function(){s=null};var o,r=n(\"2W6z\"),a=(o=r)&&o.__esModule?o:{default:o},i=n(\"2zs7\");var s=null;function c(e,t){if(!e||!e.length)throw new Error(\"react-modal: No elements were found for selector \"+t+\".\")}function l(e){return!(!e&&!s)||((0,a.default)(!1,[\"react-modal: App element is not defined.\",\"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\",\"This is needed so screen readers don't see main content\",\"when modal is opened. It is not recommended, but you can opt-out\",\"by setting `ariaHideApp={false}`.\"].join(\" \")),!1)}},Z29Q:function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return r}));var o=n(\"nkPT\"),r=\"object\"===typeof window;n.n(o).a},ZDLa:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return[].slice.call(e.querySelectorAll(\"*\"),0).filter(i)};var o=/input|select|textarea|button|object/;function r(e){var t=e.offsetWidth<=0&&e.offsetHeight<=0;if(t&&!e.innerHTML)return!0;var n=window.getComputedStyle(e);return t?\"visible\"!==n.getPropertyValue(\"overflow\")||e.scrollWidth<=0&&e.scrollHeight<=0:\"none\"==n.getPropertyValue(\"display\")}function a(e,t){var n=e.nodeName.toLowerCase();return(o.test(n)&&!e.disabled||\"a\"===n&&e.href||t)&&function(e){for(var t=e;t&&t!==document.body;){if(r(t))return!1;t=t.parentNode}return!0}(e)}function i(e){var t=e.getAttribute(\"tabindex\");null===t&&(t=void 0);var n=isNaN(t);return(n||t>=0)&&a(e,!n)}e.exports=t.default},Zcyb:function(e,t,n){\"use strict\";var o=n(\"q1tI\");t.a=function(e){Object(o.useEffect)(e,[])}},bHoz:function(e,t,n){e.exports={group:\"RemainingTiles_group__2AWTh\",title:\"RemainingTiles_title__1zi0v\",content:\"RemainingTiles_content__3xzgX\"}},bQD4:function(e,t,n){e.exports={ARROW_SIZE:\"4px\",PREVENT_OVERFLOW:\"10px\",OFFSET:\"2px\",tooltip:\"Tooltip_tooltip__1uxCc\",top:\"Tooltip_top__KFC44\",arrow:\"Tooltip_arrow__AL6zf\",right:\"Tooltip_right__swlOS\",bottom:\"Tooltip_bottom__12rbo\",left:\"Tooltip_left__2deQT\"}},bmMU:function(e,t){var n=\"undefined\"!==typeof Element,o=\"function\"===typeof Map,r=\"function\"===typeof Set,a=\"function\"===typeof ArrayBuffer&&!!ArrayBuffer.isView;function i(e,t){if(e===t)return!0;if(e&&t&&\"object\"==typeof e&&\"object\"==typeof t){if(e.constructor!==t.constructor)return!1;var s,c,l,u;if(Array.isArray(e)){if((s=e.length)!=t.length)return!1;for(c=s;0!==c--;)if(!i(e[c],t[c]))return!1;return!0}if(o&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(u=e.entries();!(c=u.next()).done;)if(!t.has(c.value[0]))return!1;for(u=e.entries();!(c=u.next()).done;)if(!i(c.value[1],t.get(c.value[0])))return!1;return!0}if(r&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(u=e.entries();!(c=u.next()).done;)if(!t.has(c.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if((s=e.length)!=t.length)return!1;for(c=s;0!==c--;)if(e[c]!==t[c])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if((s=(l=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(c=s;0!==c--;)if(!Object.prototype.hasOwnProperty.call(t,l[c]))return!1;if(n&&e instanceof Element)return!1;for(c=s;0!==c--;)if((\"_owner\"!==l[c]&&\"__v\"!==l[c]&&\"__o\"!==l[c]||!e.$$typeof)&&!i(e[l[c]],t[l[c]]))return!1;return!0}return e!==e&&t!==t}e.exports=function(e,t){try{return i(e,t)}catch(n){if((n.message||\"\").match(/stack|recursion/i))return console.warn(\"react-fast-compare cannot handle circular refs\"),!1;throw n}}},cTJO:function(e,t,n){\"use strict\";var o=n(\"J4zp\"),r=n(\"284h\");t.__esModule=!0,t.default=void 0;var a=r(n(\"q1tI\")),i=n(\"elyg\"),s=n(\"nOHt\"),c=n(\"vNVm\"),l={};function u(e,t,n,o){if(e&&(0,i.isLocalURL)(t)){e.prefetch(t,n,o).catch((function(e){0}));var r=o&&\"undefined\"!==typeof o.locale?o.locale:e&&e.locale;l[t+\"%\"+n+(r?\"%\"+r:\"\")]=!0}}var f=function(e){var t=!1!==e.prefetch,n=(0,s.useRouter)(),r=n&&n.pathname||\"/\",f=a.default.useMemo((function(){var t=(0,i.resolveHref)(r,e.href,!0),n=o(t,2),a=n[0],s=n[1];return{href:a,as:e.as?(0,i.resolveHref)(r,e.as):s||a}}),[r,e.href,e.as]),d=f.href,p=f.as,h=e.children,m=e.replace,b=e.shallow,v=e.scroll,y=e.locale;\"string\"===typeof h&&(h=a.default.createElement(\"a\",null,h));var g=a.Children.only(h),O=g&&\"object\"===typeof g&&g.ref,j=(0,c.useIntersection)({rootMargin:\"200px\"}),w=o(j,2),_=w[0],x=w[1],A=a.default.useCallback((function(e){_(e),O&&(\"function\"===typeof O?O(e):\"object\"===typeof O&&(O.current=e))}),[O,_]);(0,a.useEffect)((function(){var e=x&&t&&(0,i.isLocalURL)(d),o=\"undefined\"!==typeof y?y:n&&n.locale,r=l[d+\"%\"+p+(o?\"%\"+o:\"\")];e&&!r&&u(n,d,p,{locale:o})}),[p,d,x,y,t,n]);var C={ref:A,onClick:function(e){g.props&&\"function\"===typeof g.props.onClick&&g.props.onClick(e),e.defaultPrevented||function(e,t,n,o,r,a,s,c){(\"A\"!==e.currentTarget.nodeName||!function(e){var t=e.currentTarget.target;return t&&\"_self\"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)&&(0,i.isLocalURL)(n))&&(e.preventDefault(),null==s&&(s=o.indexOf(\"#\")<0),t[r?\"replace\":\"push\"](n,o,{shallow:a,locale:c,scroll:s}).then((function(e){e&&s&&document.body.focus()})))}(e,n,d,p,m,b,v,y)},onMouseEnter:function(e){(0,i.isLocalURL)(d)&&(g.props&&\"function\"===typeof g.props.onMouseEnter&&g.props.onMouseEnter(e),u(n,d,p,{priority:!0}))}};if(e.passHref||\"a\"===g.type&&!(\"href\"in g.props)){var S=\"undefined\"!==typeof y?y:n&&n.locale,E=(0,i.getDomainLocale)(p,S,n&&n.locales,n&&n.domainLocales);C.href=E||(0,i.addBasePath)((0,i.addLocale)(p,S,n&&n.defaultLocale))}return a.default.cloneElement(g,C)};t.default=f},eZYV:function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return s})),n.d(t,\"b\",(function(){return b})),n.d(t,\"c\",(function(){return B})),n.d(t,\"d\",(function(){return q}));var o=n(\"q1tI\"),r=n.n(o),a=n(\"Z29Q\"),i=function(e,t){void 0===t&&(t=!1);var n=Object(o.useState)(a.a?function(){return window.matchMedia(e).matches}:t),r=n[0],i=n[1];return Object(o.useEffect)((function(){var t=!0,n=window.matchMedia(e),o=function(){t&&i(!!n.matches)};return n.addListener(o),i(n.matches),function(){t=!1,n.removeListener(o)}}),[e]),r},s=function(){var e=i(\"(max-height: 800px)\"),t=i(\"(max-width: 1024px)\");return e||t},c=n(\"/MKj\"),l=n(\"Zcyb\"),u=n(\"8+rz\"),f=function(){var e=Object(c.b)(),t=Object(u.G)(u.k);Object(l.a)((function(){var t=u.e.getBoard();t&&e(u.a.actions.init(t))})),Object(o.useEffect)((function(){t&&u.e.setBoard(t)}),[t])},d=function(){var e=Object(c.b)(),t=Object(u.G)(u.o);Object(l.a)((function(){var t=u.e.getConfigId();t&&e(u.D.actions.init({configId:t}))})),Object(o.useEffect)((function(){t&&u.e.setConfigId(t)}),[t])},p=n(\"psLn\"),h=function(){var e=Object(c.b)(),t=Object(u.G)(u.s);Object(l.a)((function(){var t=u.e.getLocale();e(t?u.D.actions.init({locale:t}):u.D.actions.init({locale:Object(p.f)()}))})),Object(o.useEffect)((function(){t&&u.e.setLocale(t)}),[t])},m=function(){var e=Object(c.b)(),t=Object(u.G)(u.t);Object(l.a)((function(){var t=u.e.getRack();t&&e(u.f.actions.init(t))})),Object(o.useEffect)((function(){t&&u.e.setRack(t)}),[t])},b=function(){m(),f(),d(),h()},v=n(\"nKUr\"),y=n(\"i8i4\"),g=n.n(y),O=n(\"17x9\"),j=n.n(O),w=!(\"undefined\"===typeof window||!window.document||!window.document.createElement),_=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}();function x(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function A(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var C=function(e){function t(){return x(this,t),A(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),_(t,[{key:\"componentWillUnmount\",value:function(){this.defaultNode&&document.body.removeChild(this.defaultNode),this.defaultNode=null}},{key:\"render\",value:function(){return w?(this.props.node||this.defaultNode||(this.defaultNode=document.createElement(\"div\"),document.body.appendChild(this.defaultNode)),g.a.createPortal(this.props.children,this.props.node||this.defaultNode)):null}}]),t}(r.a.Component);C.propTypes={children:j.a.node.isRequired,node:j.a.any};var S=C,E=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}();function M(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function N(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var k=function(e){function t(){return M(this,t),N(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),E(t,[{key:\"componentDidMount\",value:function(){this.renderPortal()}},{key:\"componentDidUpdate\",value:function(e){this.renderPortal()}},{key:\"componentWillUnmount\",value:function(){g.a.unmountComponentAtNode(this.defaultNode||this.props.node),this.defaultNode&&document.body.removeChild(this.defaultNode),this.defaultNode=null,this.portal=null}},{key:\"renderPortal\",value:function(e){this.props.node||this.defaultNode||(this.defaultNode=document.createElement(\"div\"),document.body.appendChild(this.defaultNode));var t=this.props.children;\"function\"===typeof this.props.children.type&&(t=r.a.cloneElement(this.props.children)),this.portal=g.a.unstable_renderSubtreeIntoContainer(this,t,this.props.node||this.defaultNode)}},{key:\"render\",value:function(){return null}}]),t}(r.a.Component),D=k;k.propTypes={children:j.a.node.isRequired,node:j.a.any};var R,P=g.a.createPortal?S:D,B=p.a?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.disabled,r=void 0!==n&&n,a=t.tagName,i=void 0===a?\"div\":a,s=Object(o.useMemo)((function(){return document.createElement(i)}),[i]);Object(o.useLayoutEffect)((function(){return r?p.p:(document.body.appendChild(s),function(){Object(y.unmountComponentAtNode)(s),document.body.removeChild(s)})}),[r,s]),Object(o.useLayoutEffect)((function(){r||Object(y.render)(Object(v.jsx)(P,{children:e}),s)}),[e,r,s])}:p.p,I=new Uint8Array(16);function T(){if(!R&&!(R=\"undefined\"!==typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||\"undefined\"!==typeof msCrypto&&\"function\"===typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");return R(I)}var L=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var G=function(e){return\"string\"===typeof e&&L.test(e)},F=[],z=0;z<256;++z)F.push((z+256).toString(16).substr(1));var U=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(F[e[t+0]]+F[e[t+1]]+F[e[t+2]]+F[e[t+3]]+\"-\"+F[e[t+4]]+F[e[t+5]]+\"-\"+F[e[t+6]]+F[e[t+7]]+\"-\"+F[e[t+8]]+F[e[t+9]]+\"-\"+F[e[t+10]]+F[e[t+11]]+F[e[t+12]]+F[e[t+13]]+F[e[t+14]]+F[e[t+15]]).toLowerCase();if(!G(n))throw TypeError(\"Stringified UUID is invalid\");return n};var W=function(e,t,n){var o=(e=e||{}).random||(e.rng||T)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t){n=n||0;for(var r=0;r<16;++r)t[n+r]=o[r];return t}return U(o)},q=function(){return Object(o.useRef)(W()).current}},fbhf:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.dumpClassLists=function(){0};var o={},r={};t.add=function(e,t){return n=e.classList,a=\"html\"==e.nodeName.toLowerCase()?o:r,void t.split(\" \").forEach((function(e){!function(e,t){e[t]||(e[t]=0),e[t]+=1}(a,e),n.add(e)}));var n,a},t.remove=function(e,t){return n=e.classList,a=\"html\"==e.nodeName.toLowerCase()?o:r,void t.split(\" \").forEach((function(e){!function(e,t){e[t]&&(e[t]-=1)}(a,e),0===a[e]&&n.remove(e)}));var n,a}},hj7B:function(e,t,n){e.exports={checkbox:\"Checkbox_checkbox__TMzB8\",icon:\"Checkbox_icon__1x7ag\",checked:\"Checkbox_checked__2Le1z\",input:\"Checkbox_input__3o21M\",content:\"Checkbox_content__1VcXS\"}},jVvz:function(e,t,n){e.exports={navButtons:\"NavButtons_navButtons__1og2w\",button:\"NavButtons_button__2YUcq\",separator:\"NavButtons_separator__3dZKW\",error:\"NavButtons_error___bS0g\"}},lFTW:function(e,t,n){e.exports={notFound:\"NotFound_notFound__3lall\",link:\"NotFound_link__23_eH\",icon:\"NotFound_icon__2qUrU\",tiles:\"NotFound_tiles__1Qnr3\"}},mk9T:function(e,t,n){e.exports={dictionary:\"Dictionary_dictionary__2LVIo\",content:\"Dictionary_content__35SFT\",word:\"Dictionary_word__yTxK-\",isAllowed:\"Dictionary_isAllowed__1pY0l\",isNotAllowed:\"Dictionary_isNotAllowed__sGDpa\",definitions:\"Dictionary_definitions__1B_VQ\",definition:\"Dictionary_definition__1tU6g\"}},nkPT:function(e,t,n){\"use strict\";e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&\"object\"==typeof t&&\"object\"==typeof n){if(t.constructor!==n.constructor)return!1;var o,r,a;if(Array.isArray(t)){if((o=t.length)!=n.length)return!1;for(r=o;0!==r--;)if(!e(t[r],n[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((o=(a=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(r=o;0!==r--;)if(!Object.prototype.hasOwnProperty.call(n,a[r]))return!1;for(r=o;0!==r--;){var i=a[r];if((\"_owner\"!==i||!t.$$typeof)&&!e(t[i],n[i]))return!1}return!0}return t!==t&&n!==n}},pdKp:function(e,t,n){e.exports={splash:\"Splash_splash__1fgIO\",animated:\"Splash_animated__3KuaO\",hide:\"Splash_hide__xGaFV\",logos:\"Splash_logos__XgKlA\",pulse:\"Splash_pulse__2k_vY\",logoColor:\"Splash_logoColor__1R-9s\",progress:\"Splash_progress__1OiT4\",logoGrayscale:\"Splash_logoGrayscale__1Q8n_\",author:\"Splash_author__10OKS\",wave:\"Splash_wave__1o-S9\"}},qFS3:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.bodyOpenClassName=t.portalClassName=void 0;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},r=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),a=n(\"q1tI\"),i=h(a),s=h(n(\"i8i4\")),c=h(n(\"17x9\")),l=h(n(\"QEso\")),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(\"Ye7m\")),f=n(\"2zs7\"),d=h(f),p=n(\"VCL8\");function h(e){return e&&e.__esModule?e:{default:e}}function m(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function b(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==typeof t&&\"function\"!==typeof t?e:t}var v=t.portalClassName=\"ReactModalPortal\",y=t.bodyOpenClassName=\"ReactModal__Body--open\",g=f.canUseDOM&&void 0!==s.default.createPortal,O=function(){return g?s.default.createPortal:s.default.unstable_renderSubtreeIntoContainer};function j(e){return e()}var w=function(e){function t(){var e,n,r;m(this,t);for(var a=arguments.length,c=Array(a),u=0;u<a;u++)c[u]=arguments[u];return n=r=b(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(c))),r.removePortal=function(){!g&&s.default.unmountComponentAtNode(r.node);var e=j(r.props.parentSelector);e&&e.contains(r.node)?e.removeChild(r.node):console.warn('React-Modal: \"parentSelector\" prop did not returned any DOM element. Make sure that the parent element is unmounted to avoid any memory leaks.')},r.portalRef=function(e){r.portal=e},r.renderPortal=function(e){var n=O()(r,i.default.createElement(l.default,o({defaultStyles:t.defaultStyles},e)),r.node);r.portalRef(n)},b(r,n)}return function(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:\"componentDidMount\",value:function(){f.canUseDOM&&(g||(this.node=document.createElement(\"div\")),this.node.className=this.props.portalClassName,j(this.props.parentSelector).appendChild(this.node),!g&&this.renderPortal(this.props))}},{key:\"getSnapshotBeforeUpdate\",value:function(e){return{prevParent:j(e.parentSelector),nextParent:j(this.props.parentSelector)}}},{key:\"componentDidUpdate\",value:function(e,t,n){if(f.canUseDOM){var o=this.props,r=o.isOpen,a=o.portalClassName;e.portalClassName!==a&&(this.node.className=a);var i=n.prevParent,s=n.nextParent;s!==i&&(i.removeChild(this.node),s.appendChild(this.node)),(e.isOpen||r)&&!g&&this.renderPortal(this.props)}}},{key:\"componentWillUnmount\",value:function(){if(f.canUseDOM&&this.node&&this.portal){var e=this.portal.state,t=Date.now(),n=e.isOpen&&this.props.closeTimeoutMS&&(e.closesAt||t+this.props.closeTimeoutMS);n?(e.beforeClose||this.portal.closeWithTimeout(),setTimeout(this.removePortal,n-t)):this.removePortal()}}},{key:\"render\",value:function(){return f.canUseDOM&&g?(!this.node&&g&&(this.node=document.createElement(\"div\")),O()(i.default.createElement(l.default,o({ref:this.portalRef,defaultStyles:t.defaultStyles},this.props)),this.node)):null}}],[{key:\"setAppElement\",value:function(e){u.setElement(e)}}]),t}(a.Component);w.propTypes={isOpen:c.default.bool.isRequired,style:c.default.shape({content:c.default.object,overlay:c.default.object}),portalClassName:c.default.string,bodyOpenClassName:c.default.string,htmlOpenClassName:c.default.string,className:c.default.oneOfType([c.default.string,c.default.shape({base:c.default.string.isRequired,afterOpen:c.default.string.isRequired,beforeClose:c.default.string.isRequired})]),overlayClassName:c.default.oneOfType([c.default.string,c.default.shape({base:c.default.string.isRequired,afterOpen:c.default.string.isRequired,beforeClose:c.default.string.isRequired})]),appElement:c.default.instanceOf(d.default),onAfterOpen:c.default.func,onRequestClose:c.default.func,closeTimeoutMS:c.default.number,ariaHideApp:c.default.bool,shouldFocusAfterRender:c.default.bool,shouldCloseOnOverlayClick:c.default.bool,shouldReturnFocusAfterClose:c.default.bool,preventScroll:c.default.bool,parentSelector:c.default.func,aria:c.default.object,data:c.default.object,role:c.default.string,contentLabel:c.default.string,shouldCloseOnEsc:c.default.bool,overlayRef:c.default.func,contentRef:c.default.func,id:c.default.string,overlayElement:c.default.func,contentElement:c.default.func},w.defaultProps={isOpen:!1,portalClassName:v,bodyOpenClassName:y,role:\"dialog\",ariaHideApp:!0,closeTimeoutMS:0,shouldFocusAfterRender:!0,shouldCloseOnEsc:!0,shouldCloseOnOverlayClick:!0,shouldReturnFocusAfterClose:!0,preventScroll:!1,parentSelector:function(){return document.body},overlayElement:function(e,t){return i.default.createElement(\"div\",e,t)},contentElement:function(e,t){return i.default.createElement(\"div\",e,t)}},w.defaultStyles={overlay:{position:\"fixed\",top:0,left:0,right:0,bottom:0,backgroundColor:\"rgba(255, 255, 255, 0.75)\"},content:{position:\"absolute\",top:\"40px\",left:\"40px\",right:\"40px\",bottom:\"40px\",border:\"1px solid #ccc\",background:\"#fff\",overflow:\"auto\",WebkitOverflowScrolling:\"touch\",borderRadius:\"4px\",outline:\"none\",padding:\"20px\"}},(0,p.polyfill)(w),t.default=w},\"r/Hp\":function(e,t,n){e.exports={tile:\"Tile_tile__2zdlK\",raised:\"Tile_raised__3bruO\",points1:\"Tile_points1__3kQ_0\",points2:\"Tile_points2__1TZdg\",points3:\"Tile_points3__28-Zh\",points4:\"Tile_points4__1HVw7\",points5:\"Tile_points5___-zw4\",blank:\"Tile_blank__MbmGr\",character:\"Tile_character__3dEBi\",highlighted:\"Tile_highlighted__1L53H\",points:\"Tile_points__-wyIb\"}},sEFA:function(e,t,n){e.exports={loading:\"Loading_loading__1dXNE\",dim:\"Loading_dim__2ewDS\",logo:\"Loading_logo__2nlr3\",tiles:\"Loading_tiles__gEhWd\"}},vNVm:function(e,t,n){\"use strict\";var o=n(\"J4zp\"),r=n(\"TqRt\");t.__esModule=!0,t.useIntersection=function(e){var t=e.rootMargin,n=e.disabled||!s,r=(0,a.useRef)(),l=(0,a.useState)(!1),u=o(l,2),f=u[0],d=u[1],p=(0,a.useCallback)((function(e){r.current&&(r.current(),r.current=void 0),n||f||e&&e.tagName&&(r.current=function(e,t,n){var o=function(e){var t=e.rootMargin||\"\",n=c.get(t);if(n)return n;var o=new Map,r=new IntersectionObserver((function(e){e.forEach((function(e){var t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)}))}),e);return c.set(t,n={id:t,observer:r,elements:o}),n}(n),r=o.id,a=o.observer,i=o.elements;return i.set(e,t),a.observe(e),function(){i.delete(e),a.unobserve(e),0===i.size&&(a.disconnect(),c.delete(r))}}(e,(function(e){return e&&d(e)}),{rootMargin:t}))}),[n,t,f]);return(0,a.useEffect)((function(){s||f||(0,i.default)((function(){return d(!0)}))}),[f]),[p,f]};var a=n(\"q1tI\"),i=r(n(\"0G5g\")),s=\"undefined\"!==typeof IntersectionObserver;var c=new Map},z9kn:function(e,t,n){e.exports={section:\"Section_section__o4HeJ\",heading:\"Section_heading__2mcEO\"}}}]);","map":{"version":3,"sources":["static/chunks/9173c43c67b8e6b6863c872190b4ad904108d7de.c476320cee08804013dd.js"],"names":["window","push","1zWx","module","exports","__webpack_require__","button","content","icon","label","2W6z","warning","2rMq","__WEBPACK_AMD_DEFINE_RESULT__","canUseDOM","document","createElement","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","undefined","call","2zs7","Object","defineProperty","value","obj","_exenv","EE","__esModule","default","SafeHTMLElement","HTMLElement","41Wr","option","flag","checked","es","fr","gb","pl","us","4BeY","global","factory","SpriteSymbol","ref","id","viewBox","this","createCommonjsModule","fn","prototype","stringify","toString","destroy","this$1","forEach","prop","self","deepmerge","isMergeableObject","val","emptyTarget","Array","isArray","cloneIfNecessary","optionsArgument","clone","defaultArrayMerge","target","source","destination","slice","e","i","indexOf","mergeObject","keys","key","array","arrayMerge","all","length","Error","reduce","prev","next","namespaces_1","svg","name","uri","xlink","defaultAttrs","wrapInSvgString","attributes","attrs","map","attr","replace","join","objectToAttrsString","SpriteSymbol$$1","BrowserSpriteSymbol","apply","arguments","__proto__","create","constructor","prototypeAccessors","isMounted","get","node","createFromExistingNode","getAttribute","outerHTML","unmount","mount","mountTarget","querySelector","render","appendChild","hasImportNode","importNode","doc","DOMParser","parseFromString","documentElement","parse","childNodes","parentNode","removeChild","defineProperties","5d2k","squareButton","99so","9rZX","_Modal","_Modal2","A/bs","BdcD","radio","input","CjmZ","cell","bonusCharacter1","bonusCharacter2","bonusCharacter3","bonusCharacter5","bonusCharacterMultiplier2","bonusCharacterMultiplier3","bonusWord2","bonusWord3","characterPoints1","characterPoints2","characterPoints3","characterPoints5","candidate","actions","action","toggleDirection","right","blank","active","EIE9","dictionaryInput","IH9G","mapping","description","group","plus","IQtc","results","emptyState","list","outdated","header","headerButton","headerButtonLabel","result","resultContent","word","stat","points","outdatedButton","sortIcon","IaFt","svg$1","xlink$1","defaultConfig","style","aria-hidden","Sprite","config","symbols","add","symbol","existing","find","remove","splice","filter","s","has","stringifiedSymbols","defaultConfig$1","autoConfigure","mountTo","syncUrlsWithBaseTag","listenLocationChangeEvent","locationChangeEvent","locationChangeAngularEmitter","usagesToUpdate","moveGradientsOutsideSymbol","arrayFrom","arrayLike","browser","test","navigator","userAgent","getUrlWithoutFragment","url","location","href","split","eventName","angular","run","$rootScope","$on","newUrl","oldUrl","data","event","createEvent","initCustomEvent","dispatchEvent","selector","querySelectorAll","insertBefore","xLinkNS","xLinkAttrName","specialUrlCharsPattern","encoder","match","charCodeAt","toUpperCase","sprite","attList","attSelector","updateUrls","references","startsWith","replaceWith","startsWithEncoded","replaceWithEncoded","nodes","matcher","acc","arrayfied","matched","concat","selectAttributes","localName","RegExp","setAttributeNS","updateReferences","Events","BrowserSprite","Sprite$$1","cfg","emitter","on","type","handler","off","emit","evt","_emitter","_autoConfigure","baseUrl","getElementsByTagName","handleLocationChange","_handleLocationChange","bind","spriteNode","symbolNode","updatedNodes","textContent","evalStylesIEWorkaround","detail","isNewSymbol","attach","removeEventListener","prepend","mountNode","usages","ready$1","listener","fns","hack","doScroll","domContentLoaded","loaded","readyState","shift","setTimeout","definition","spriteNodeId","loadSprite","getElementById","body","Jsr2","tiles","JxyW","character","finished","overused","tile","count","Nhdc","__webpack_exports__","d","components_Board_Board","components_Dictionary_Dictionary","components_DictionaryInput_DictionaryInput","components_KeyMap_KeyMap","components_Logo_Logo","components_NavButtons_NavButtons","components_NotFound_NotFound","components_Rack_Rack","components_RemainingTiles_RemainingTiles","components_Results_Results","components_Settings_Settings","components_Splash_Splash","Well_Well","jsx_runtime","slicedToArray","react","src_state","classnames","classnames_default","n","Board_module","Board_module_default","build","lib","browser_symbol","browser_symbol_default","browser_sprite_build","browser_sprite_build_default","a","use","arrowDown","arrowLeft_symbol","arrowLeft","arrowRight_symbol","arrowRight","arrowUp_symbol","arrowUp","checkboxChecked_symbol","checkboxEmpty_symbol","cog_symbol","cog","cross_symbol","cross","dashCircleFill_symbol","dashCircleFill","eraser_symbol","eraser","flagEs_symbol","flagEs","flagFr_symbol","flagFr","flagGb_symbol","flagGb","flagPl_symbol","flagPl","flagUs_symbol","flagUs","github_symbol","github","keyboard_symbol","keyboard","play_symbol","play","sack_symbol","sack","sortDown_symbol","sortDown","sortUp_symbol","sortUp","objectWithoutPropertiesLoose","_objectWithoutProperties","excluded","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","ownKeys","object","enumerableOnly","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","getOwnPropertyDescriptors","components_SvgIcon_SvgIcon","_ref","props","children","xlinkHref","Tile_module","Tile_module_default","TilePure_handleChange","preventDefault","TilePure_TilePure","_classNames","autoFocus","canShowPoints","className","disabled","highlighted","inputRef","inputStyle","isBlank","placeholder","pointsStyle","raised","tabIndex","onFocus","onKeyDown","points1","points2","points3","points4","points5","autoCapitalize","autoComplete","autoCorrect","maxLength","spellCheck","onChange","Tile_TilePure","components_Tile_Tile","_ref$character","size","_getTileSizes","pointsFontSize","tileFontSize","tileSize","height","width","fontSize","isEmpty","current","focus","toConsumableArray","getBoundingClientRect","element","rect","top","bottom","left","x","y","getWindow","ownerDocument","defaultView","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","isElement","Element","isHTMLElement","isShadowRoot","ShadowRoot","getNodeName","nodeName","toLowerCase","getDocumentElement","getWindowScrollBarX","getComputedStyle","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","isOffsetParentAnElement","scroll","offsets","getNodeScroll","clientLeft","clientTop","getLayoutRect","clientRect","offsetWidth","offsetHeight","Math","abs","offsetLeft","offsetTop","getParentNode","assignedSlot","host","getScrollParent","listScrollParents","_element$ownerDocumen","scrollParent","isBody","visualViewport","updatedList","isTableElement","getTrueOffsetParent","position","getOffsetParent","isFirefox","currentNode","css","transform","perspective","contain","willChange","getContainingBlock","enums_top","auto","basePlacements","start","end","viewport","enums_popper","variationPlacements","placement","enums_placements","modifierPhases","order","modifiers","Map","visited","Set","sort","modifier","requires","requiresIfExists","dep","depModifier","set","debounce","pending","Promise","resolve","then","DEFAULT_OPTIONS","strategy","areValidElements","_len","args","_key","some","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","reference","popper","options","state","orderedModifiers","assign","modifiersData","elements","styles","effectCleanupFns","isDestroyed","instance","setOptions","cleanupModifierEffects","scrollParents","contextElement","phase","orderModifiers","merged","mergeByName","m","enabled","_ref3","_ref3$options","effect","cleanupFn","noopFn","update","forceUpdate","_state$elements","rects","reset","index","_state$orderedModifie","_state$orderedModifie2","_options","onFirstUpdate","passive","eventListeners","_options$scroll","_options$resize","resize","getBasePlacement","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","modifiers_popperOffsets","math_max","max","math_min","min","round","unsetSides","mapToStyles","_ref2","_Object$assign2","popperRect","gpuAcceleration","adaptive","roundOffsets","dpr","devicePixelRatio","roundOffsetsByDPR","_ref3$x","_ref3$y","hasX","hasOwnProperty","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","hash","getOppositePlacement","getOppositeVariationPlacement_hash","getOppositeVariationPlacement","contains","parent","child","rootNode","getRootNode","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","html","clientWidth","clientHeight","getViewportRect","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","direction","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","_options$placement","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","padding","altContext","referenceElement","clippingClientRect","referenceClientRect","popperOffsets","popperClientRect","elementClientRect","overflowOffsets","offsetData","offset","multiply","axis","within","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","popper_createPopper","_ref4","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","arrow","data-popper-placement","removeAttribute","setAttribute","initialStyles","margin","property","attribute","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","placements","_options$allowedAutoP","allowedPlacements","overflows","b","computeAutoPlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","mainSide","altSide","additive","minLen","maxLen","arrowElement","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_mainSide","_altSide","_offset","_min","_max","_preventedOffset","_state$modifiersData$","arrow_toPaddingObject","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","center","axisProp","centerOffset","_options$element","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","data-popper-reference-hidden","data-popper-escaped","react_fast_compare","react_fast_compare_default","fromEntries","entries","useIsomorphicLayoutEffect","EMPTY_MODIFIERS","usePopper_usePopper","popperElement","prevOptions","optionsWithDefaults","_React$useState","setState","updateStateModifier","popperOptions","newOptions","popperInstanceRef","popperInstance","createPopper","useMountedState","mountedRef","useRafLoop","callback","initiallyActive","raf","rafActivity","rafCallback","step","time","requestAnimationFrame","cancelAnimationFrame","hooks","Tooltip_module","Tooltip_module_default","ARROW_SIZE","parseInt","OFFSET","MODIFIERS","PREVENT_OVERFLOW","useTooltip_ownKeys","useTooltip_objectSpread","Tooltip_useTooltip","tooltip","_ref$placement","_ref$onBlur","onBlur","_ref$onFocus","_ref$onMouseOut","onMouseOut","_ref$onMouseOver","onMouseOver","isEnabled","Boolean","_useState","isShown","setIsShown","_useState2","setReferenceElement","_useState3","setPopperElement","_useState4","setArrowElement","_usePopper","popperStyles","computedPlacement","ariaAttributes","aria-describedby","handleBlur","handleFocus","handleMouseOut","handleMouseOver","triggerProps","Cell_module","Cell_module_default","Button_ownKeys","Button_objectSpread","Cell_Button","CHARACTER_CLASSNAMES","1","2","3","5","WORD_CLASSNAMES","CHARACTER_MULTIPLIER_CLASSNAMES","lib_getBonusClassname","bonus","getWordBonusClassname","getCharacterBonusClassname","multiplier","score","CellPure_CellPure","translate","onDirectionToggleClick","onToggleBlankClick","isCandidate","onClick","Cell_CellPure","components_Cell_Cell","onDirectionToggle","dispatch","handleToggleBlankClick","toggleCellIsBlank","handleDirectionToggleClick","BoardPure_BoardPure","innerRef","lastDirection","refs","rows","cellSize","board","cells","row","Board_BoardPure","esm_useLatest","lib_getPositionInGrid","grid","constraint","useGrid_ownKeys","useGrid_objectSpread","hooks_useGrid","activeIndexRef","setLastDirection","lastDirectionRef","changeActiveIndex","offsetX","offsetY","_refs$y$x$current","getInputRefPosition","onMoveFocus","onArrowDown","onArrowLeft","onArrowRight","onArrowUp","onBackspace","changeCellValue","onDelete","isTogglingBlank","twoCharacterTile","getTwoCharacterTileByPrefix","hasCharacter","canCheckLeft","canCheckRight","canCheckDown","twoCharacterCandidate","twoCharacterTiles","includes","_twoCharacterCandidate","_twoCharacterCandidate2","_twoCharacterCandidate3","_twoCharacterCandidate4","_useGrid","_useGrid2","_useGrid2$","_useGrid2$2","Button_module","Button_module_default","Button_Button_ownKeys","Button_Button_objectSpread","components_Button_Button","parameters","configs_build","types_build","lib_getX","lib_getY","lib_randomize","maxChange","random","lib_createPlainTile","cellIndex","color","rowIndex","showPoints","configPoints","EN_US","getCharacterPoints","defaultColor","lib_createPlainTiles","words","wordIndex","cellOffset","flat","lib_getViewbox","longestRowLength","rowLength","sum","PlainTiles_module","PlainTiles_module_default","PlainTiles_Tile","fill","dominantBaseline","fontFamily","fontWeight","textAnchor","components_PlainTiles_PlainTiles","dropShadow","wave","xmlns","EmptyState_module","EmptyState_module_default","TITLE_KEY_PER_TYPE","error","info","success","COLORS_PER_TYPE","components_EmptyState_EmptyState","title","Loading_module","Loading_module_default","components_Loading_Loading","_ref$wave","loading","dim","logo","Dictionary_module","Dictionary_module_default","_useTypedSelector","definitions","isAllowed","isLoading","dictionary","isNotAllowed","DictionaryInput_module","DictionaryInput_module_default","onSubmit","submit","required","changeInput","Key_module","Key_module_default","components_Key_Key","react_modal_lib","lib_default","SquareButton_module","SquareButton_module_default","Link_ownKeys","Link_objectSpread","SquareButton_Link","SquareButton_ownKeys","SquareButton_objectSpread","components_SquareButton_SquareButton","Link","Section_module","Section_module_default","components_Section_Section","section","heading","Sidebar_module","Sidebar_module_default","components_Sidebar_Sidebar","isOpen","onClose","afterOpen","base","modal","beforeClose","closeTimeoutMS","contentLabel","overlayClassName","overlay","onRequestClose","sidebar","closeButton","Section","Mapping_module","Mapping_module_default","components_Mapping_Mapping","ARROW_DOWN","ARROW_LEFT","ARROW_RIGHT","ARROW_UP","BACKSPACE","CTRL","DEL","ENTER","ARROWS","SPACE","firstLetter","CONTENT","NavButtons_module","NavButtons_module_default","onClear","onShowKeyMap","onShowRemainingTiles","onShowSettings","hasOverusedTiles","navButtons","rel","separator","next_link","link_default","NotFound_module","NotFound_module_default","NotFound_CONTENT","notFound","link","Rack_module","Rack_module_default","Rack_RackTile","_onKeyDown","handleCharacterChange","changeCharacter","handleKeyDown","newCharacter","rack","resultCandidateTiles","tilesCount","tilesRefs","nextActiveIndex","tileRef","Radio_module","Radio_module_default","components_Radio_Radio","htmlFor","Character_module","Character_module_default","RemainingTiles_Character","remainingCount","usedCount","RemainingTiles_module","RemainingTiles_module_default","groups","translationKey","totalCount","esm_extends","_inheritsLoose","subClass","superClass","_assertThisInitialized","ReferenceError","areInputsEqual","newInputs","lastInputs","memoize_one_esm","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","now","performance","Date","cancelTimeout","timeoutID","requestTimeout","delay","tick","cachedRTLResult","getRTLOffsetType","recalculate","outerDiv","outerStyle","innerDiv","innerStyle","defaultItemKey$1","createListComponent","_class","_temp","getItemOffset","getEstimatedTotalSize","getItemSize","getOffsetForIndexAndAlignment","getStartIndexForOffset","getStopIndexForStartIndex","initInstanceProps","shouldResetStyleCacheOnItemSizeChange","validateProps","_PureComponent","List","_this","_instanceProps","_outerRef","_resetIsScrollingTimeoutId","isScrolling","scrollDirection","scrollOffset","initialScrollOffset","scrollUpdateWasRequested","_callOnItemsRendered","overscanStartIndex","overscanStopIndex","visibleStartIndex","visibleStopIndex","onItemsRendered","_callOnScroll","onScroll","_getItemStyle","_this$props","itemSize","layout","itemStyleCache","_getItemStyleCache","isHorizontal","isRtl","offsetHorizontal","_","__","___","_onScrollHorizontal","_event$currentTarget","currentTarget","prevState","_resetIsScrollingDebounced","_onScrollVertical","_event$currentTarget2","_outerRefSetter","outerRef","_resetIsScrolling","getDerivedStateFromProps","nextProps","validateSharedProps$1","_proto","scrollTo","scrollToItem","align","itemCount","componentDidMount","_this$props2","_callPropsCallbacks","componentDidUpdate","_this$props3","_this$state","componentWillUnmount","_this$props4","innerElementType","innerTagName","itemData","_this$props4$itemKey","itemKey","outerElementType","outerTagName","useIsScrolling","_this$_getRangeToRend","_getRangeToRender","startIndex","stopIndex","items","_index","estimatedTotalSize","WebkitOverflowScrolling","pointerEvents","_this$_getRangeToRend2","_overscanStartIndex","_overscanStopIndex","_visibleStartIndex","_visibleStopIndex","_this$state2","_scrollDirection","_scrollOffset","_scrollUpdateWasRequested","_this$props5","overscanCount","_this$state3","overscanBackward","overscanForward","defaultProps","FixedSizeList","lastItemOffset","middleOffset","ceil","floor","_ref5","_ref6","numVisibleItems","_ref7","ResultsInput_module","ResultsInput_module_default","components_ResultsInput_ResultsInput","resultsInput","changeQuery","types","Results_module","Results_module_default","COLUMNS","Word","TilesCount","ConsonantsCount","VowelsCount","BlanksCount","WordsCount","Points","HeaderButton_ownKeys","HeaderButton_objectSpread","Results_HeaderButton","column","sortColumn","sortDirection","columnId","Ascending","Cell_ownKeys","Cell_objectSpread","Results_Cell","Results_Result","changeResultCandidate","applyResult","onMouseEnter","onMouseLeave","numberOfTiles","numberOfConsonants","numberOfVowels","numberOfBlanks","numberOfWords","Results_SolveButton","isOutdated","hasTiles","allResults","Screen_module","Screen_module_default","components_Screen_Screen","contentClassName","onAnimationEnd","AutoGroupTilesSetting_module","AutoGroupTilesSetting_module_default","NULL_VALUE","lib_parseValue","components_AutoGroupTilesSetting_AutoGroupTilesSetting","configId","handleChange","autoGroupTiles","changeAutoGroupTiles","ConfigSetting_module","ConfigSetting_module_default","ConfigSetting_options","components_ConfigSetting_ConfigSetting","changeConfigId","LocaleSetting_module","LocaleSetting_module_default","LocaleSetting_options","EN_GB","FR_FR","PL_PL","ES_ES","components_LocaleSetting_LocaleSetting","locale","newLocale","changeLocale","Splash_module","Splash_module_default","forceShow","splash","animated","logos","logoGrayscale","logoColor","author","Well_module","Well_module_default","Well_ownKeys","Well_objectSpread","well","NpR5","ODXe","_slicedToArray","unsupportedIterableToArray","arr","_arrayWithHoles","Symbol","iterator","_arr","_n","_d","_e","_s","done","err","_iterableToArrayLimit","TypeError","_nonIterableRest","QEso","_extends","_typeof","_createClass","descriptor","configurable","writable","Constructor","protoProps","staticProps","_react","_propTypes2","_interopRequireDefault","focusManager","_interopRequireWildcard","_scopeTab2","ariaAppHider","classList","_safeHTMLElement2","_portalOpenInstances2","newObj","CLASS_NAMES","ariaHiddenInstances","ModalPortal","_Component","_classCallCheck","_possibleConstructorReturn","getPrototypeOf","setOverlayRef","overlayRef","setContentRef","contentRef","afterClose","appElement","ariaHideApp","htmlOpenClassName","bodyOpenClassName","show","shouldFocusAfterRender","shouldReturnFocusAfterClose","returnFocus","preventScroll","teardownScopedFocus","popWithoutFocus","onAfterClose","deregister","open","beforeOpen","clearTimeout","closeTimer","setupScopedFocus","markForFocusLater","onAfterOpen","overlayEl","contentEl","close","closeWithTimeout","closeWithoutTimeout","focusContent","contentHasFocus","closesAt","keyCode","shouldCloseOnEsc","stopPropagation","requestClose","handleOverlayOnClick","shouldClose","shouldCloseOnOverlayClick","ownerHandlesClose","handleContentOnMouseUp","handleOverlayOnMouseDown","handleContentOnClick","handleContentOnMouseDown","shouldBeClosed","activeElement","buildClassName","which","additional","classNames","attributesFromObject","prefix","moveFromContentToOverlay","setPrototypeOf","_inherits","prevProps","_props","hide","register","_props2","defaultStyles","contentStyles","overlayStyles","overlayProps","onMouseDown","contentProps","onMouseUp","role","aria-label","aria","data-testid","testId","contentElement","overlayElement","Component","propTypes","bool","isRequired","shape","oneOfType","string","instanceOf","func","number","RuLr","S1to","tabbable","_tabbable2","shiftKey","head","tail","checkSafari","exec","_tabbable","SQnd","SySy","TSYQ","hasOwn","classes","arg","argType","inner","UE3f","UFVg","UIKY","portalOpenInstances","PortalOpenInstances","openInstance","openInstances","subscribe","subscribers","eventType","subscriber","VCL8","componentWillMount","componentWillReceiveProps","componentWillUpdate","nextState","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","polyfill","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","displayName","newApiName","maybeSnapshot","snapshot","r","__suppressDeprecationWarning","VKEO","focusLaterElements","toFocus","pop","console","warn","modalElement","detachEvent","needToFocus","WX7Y","progress","pulse","WkvU","_portalOpenInstances","before","after","instances","opacity","cloneNode","firstChild","lastChild","parentElement","X4yr","YFqc","Ye7m","assertNodeList","setElement","useElement","_safeHTMLElement","el","globalElement","validateElement","documentNotReadyOrSSRTesting","resetForTesting","_warning","_warning2","nodeList","Z29Q","isClient","fast_deep_equal_react__WEBPACK_IMPORTED_MODULE_0__","ZDLa","tabbableNode","hidesContents","zeroSize","innerHTML","getPropertyValue","focusable","isTabIndexNotNaN","visible","isTabIndexNaN","isNaN","Zcyb","react__WEBPACK_IMPORTED_MODULE_0__","bHoz","bQD4","bmMU","hasElementType","hasMap","hasSet","hasArrayBuffer","ArrayBuffer","isView","equal","it","flags","valueOf","$$typeof","message","cTJO","_router","_router2","_useIntersection","prefetched","prefetch","router","as","isLocalURL","curLocale","_default","p","useRouter","pathname","_react$default$useMem","useMemo","resolveHref","resolvedHref","resolvedAs","shallow","Children","only","childRef","useIntersection","rootMargin","setIntersectionRef","isVisible","setRef","useCallback","useEffect","shouldPrefetch","isPrefetched","childProps","defaultPrevented","metaKey","ctrlKey","altKey","nativeEvent","isModifiedEvent","linkClicked","priority","passHref","localeDomain","getDomainLocale","locales","domainLocales","addBasePath","addLocale","defaultLocale","cloneElement","eZYV","hooks_useIsTablet","hooks_useLocalStorage_useLocalStorage","hooks_usePortal","hooks_useUniqueId","react_default","util","esm_useMedia","query","defaultState","_a","matchMedia","matches","mounted","mql","addListener","removeListener","isTabletHeight","isTabletWidth","useEffectOnce","useLocalStorage_useLocalStorageBoard","persistedBoard","getBoard","init","setBoard","useLocalStorage_useLocalStorageConfigId","persistedConfigId","getConfigId","setConfigId","useLocalStorage_useLocalStorageLocale","persistedLocale","getLocale","setLocale","useLocalStorage_useLocalStorageRack","persistedRack","getRack","setRack","react_dom","react_dom_default","prop_types","prop_types_default","Portal_Portal","_React$Component","Portal","defaultNode","createPortal","any","es_Portal","LegacyPortal_createClass","LegacyPortal_classCallCheck","LegacyPortal_possibleConstructorReturn","LegacyPortal_Portal","LegacyPortal_inherits","renderPortal","unmountComponentAtNode","portal","unstable_renderSubtreeIntoContainer","LegacyPortal","getRandomValues","PortalCompat","_ref$disabled","_ref$tagName","tagName","rnds8","Uint8Array","rng","crypto","msCrypto","regex","esm_browser_validate","uuid","byteToHex","stringify_i","substr","esm_browser_stringify","esm_browser_v4","buf","rnds","fbhf","dumpClassLists","htmlClassList","docBodyClassList","classString","classListRef","poll","incrementReference","decrementReference","hj7B","checkbox","jVvz","lFTW","mk9T","nkPT","pdKp","qFS3","portalClassName","_react2","_reactDom2","_ModalPortal2","_reactLifecyclesCompat","isReact16","getCreatePortal","getParentElement","parentSelector","Modal","removePortal","portalRef","prevParent","nextParent","backgroundColor","border","background","borderRadius","outline","r/Hp","sEFA","vNVm","isDisabled","hasIntersectionObserver","unobserve","useRef","useState","setVisible","_createObserver","observers","observer","IntersectionObserver","entry","isIntersecting","intersectionRatio","createObserver","observe","disconnect","_requestIdleCallback","z9kn"],"mappings":"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"},"name":"static/chunks/9173c43c67b8e6b6863c872190b4ad904108d7de.c476320cee08804013dd.js","input":"(window[\"webpackJsonp_N_E\"] = window[\"webpackJsonp_N_E\"] || []).push([[4],{\n\n/***/ \"1zWx\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"Button_button__NTtqi\",\"content\":\"Button_content__1ng3a\",\"icon\":\"Button_icon__3NvAw\",\"label\":\"Button_label__2kVgE\"};\n\n/***/ }),\n\n/***/ \"2W6z\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = \"production\" !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n\n\n/***/ }),\n\n/***/ \"2rMq\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_RESULT__;/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (true) {\n\t\t!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {}\n\n}());\n\n\n/***/ }),\n\n/***/ \"2zs7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = undefined;\n\nvar _exenv = __webpack_require__(\"2rMq\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;\n\n/***/ }),\n\n/***/ \"41Wr\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"LocaleSetting_option__2xt_o\",\"flag\":\"LocaleSetting_flag__1pprE\",\"checked\":\"LocaleSetting_checked__3XJSh\",\"label\":\"LocaleSetting_label__2rj6n\",\"es\":\"LocaleSetting_es__3avX3\",\"fr\":\"LocaleSetting_fr__25G9k\",\"gb\":\"LocaleSetting_gb__qVZSX\",\"pl\":\"LocaleSetting_pl__YUmDs\",\"us\":\"LocaleSetting_us__30qoJ\"};\n\n/***/ }),\n\n/***/ \"4BeY\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {(function (global, factory) {\n\t true ? module.exports = factory() :\n\tundefined;\n}(this, (function () { 'use strict';\n\nvar SpriteSymbol = function SpriteSymbol(ref) {\n var id = ref.id;\n var viewBox = ref.viewBox;\n var content = ref.content;\n\n this.id = id;\n this.viewBox = viewBox;\n this.content = content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.stringify = function stringify () {\n return this.content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSpriteSymbol.prototype.destroy = function destroy () {\n var this$1 = this;\n\n ['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });\n};\n\n/**\n * @param {string} content\n * @return {Element}\n */\nvar parse = function (content) {\n var hasImportNode = !!document.importNode;\n var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;\n\n /**\n * Fix for browser which are throwing WrongDocumentError\n * if you insert an element which is not part of the document\n * @see http://stackoverflow.com/a/7986519/4624403\n */\n if (hasImportNode) {\n return document.importNode(doc, true);\n }\n\n return doc;\n};\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar deepmerge = createCommonjsModule(function (module, exports) {\n(function (root, factory) {\n if (false) {} else {\n module.exports = factory();\n }\n}(commonjsGlobal, function () {\n\nfunction isMergeableObject(val) {\n var nonNullObject = val && typeof val === 'object';\n\n return nonNullObject\n && Object.prototype.toString.call(val) !== '[object RegExp]'\n && Object.prototype.toString.call(val) !== '[object Date]'\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function (key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function (key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var array = Array.isArray(source);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n if (array) {\n return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nreturn deepmerge\n\n}));\n});\n\nvar namespaces_1 = createCommonjsModule(function (module, exports) {\nvar namespaces = {\n svg: {\n name: 'xmlns',\n uri: 'http://www.w3.org/2000/svg'\n },\n xlink: {\n name: 'xmlns:xlink',\n uri: 'http://www.w3.org/1999/xlink'\n }\n};\n\nexports.default = namespaces;\nmodule.exports = exports.default;\n});\n\n/**\n * @param {Object} attrs\n * @return {string}\n */\nvar objectToAttrsString = function (attrs) {\n return Object.keys(attrs).map(function (attr) {\n var value = attrs[attr].toString().replace(/\"/g, '&quot;');\n return (attr + \"=\\\"\" + value + \"\\\"\");\n }).join(' ');\n};\n\nvar svg = namespaces_1.svg;\nvar xlink = namespaces_1.xlink;\n\nvar defaultAttrs = {};\ndefaultAttrs[svg.name] = svg.uri;\ndefaultAttrs[xlink.name] = xlink.uri;\n\n/**\n * @param {string} [content]\n * @param {Object} [attributes]\n * @return {string}\n */\nvar wrapInSvgString = function (content, attributes) {\n if ( content === void 0 ) content = '';\n\n var attrs = deepmerge(defaultAttrs, attributes || {});\n var attrsRendered = objectToAttrsString(attrs);\n return (\"<svg \" + attrsRendered + \">\" + content + \"</svg>\");\n};\n\nvar BrowserSpriteSymbol = (function (SpriteSymbol$$1) {\n function BrowserSpriteSymbol () {\n SpriteSymbol$$1.apply(this, arguments);\n }\n\n if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;\n BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );\n BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;\n\n var prototypeAccessors = { isMounted: {} };\n\n prototypeAccessors.isMounted.get = function () {\n return !!this.node;\n };\n\n /**\n * @param {Element} node\n * @return {BrowserSpriteSymbol}\n */\n BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {\n return new BrowserSpriteSymbol({\n id: node.getAttribute('id'),\n viewBox: node.getAttribute('viewBox'),\n content: node.outerHTML\n });\n };\n\n BrowserSpriteSymbol.prototype.destroy = function destroy () {\n if (this.isMounted) {\n this.unmount();\n }\n SpriteSymbol$$1.prototype.destroy.call(this);\n };\n\n /**\n * @param {Element|string} target\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.mount = function mount (target) {\n if (this.isMounted) {\n return this.node;\n }\n\n var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;\n var node = this.render();\n this.node = node;\n\n mountTarget.appendChild(node);\n\n return node;\n };\n\n /**\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.render = function render () {\n var content = this.stringify();\n return parse(wrapInSvgString(content)).childNodes[0];\n };\n\n BrowserSpriteSymbol.prototype.unmount = function unmount () {\n this.node.parentNode.removeChild(this.node);\n };\n\n Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );\n\n return BrowserSpriteSymbol;\n}(SpriteSymbol));\n\nreturn BrowserSpriteSymbol;\n\n})));\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"yLpj\")))\n\n/***/ }),\n\n/***/ \"5d2k\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"squareButton\":\"SquareButton_squareButton__3XZzH\",\"content\":\"SquareButton_content__2e8pD\",\"icon\":\"SquareButton_icon__2HxOh\"};\n\n/***/ }),\n\n/***/ \"99so\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"key\":\"Key_key__2Quc4\"};\n\n/***/ }),\n\n/***/ \"9rZX\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = __webpack_require__(\"qFS3\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n\n/***/ \"A/bs\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"ConfigSetting_option__2T-wW\",\"label\":\"ConfigSetting_label__3tZD6\"};\n\n/***/ }),\n\n/***/ \"BdcD\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"radio\":\"Radio_radio__32uSc\",\"icon\":\"Radio_icon__dTLfl\",\"checked\":\"Radio_checked__1ad9P\",\"input\":\"Radio_input__2cGaT\",\"content\":\"Radio_content__3psCG\"};\n\n/***/ }),\n\n/***/ \"CjmZ\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"cell\":\"Cell_cell__3wKgm\",\"bonusCharacter1\":\"Cell_bonusCharacter1__34xQ_\",\"bonusCharacter2\":\"Cell_bonusCharacter2__1xH4M\",\"bonusCharacter3\":\"Cell_bonusCharacter3__3xUsl\",\"bonusCharacter5\":\"Cell_bonusCharacter5__2nWfH\",\"bonusCharacterMultiplier2\":\"Cell_bonusCharacterMultiplier2__1wTiA\",\"bonusCharacterMultiplier3\":\"Cell_bonusCharacterMultiplier3__1shAb\",\"bonusWord2\":\"Cell_bonusWord2__qdCLX\",\"bonusWord3\":\"Cell_bonusWord3__sSJti\",\"characterPoints1\":\"Cell_characterPoints1__3rhFH\",\"characterPoints2\":\"Cell_characterPoints2__2sud4\",\"characterPoints3\":\"Cell_characterPoints3__1v_ZX\",\"characterPoints5\":\"Cell_characterPoints5__Hen_b\",\"candidate\":\"Cell_candidate__13l8_\",\"actions\":\"Cell_actions__3JTry\",\"action\":\"Cell_action__3RPdm\",\"toggleDirection\":\"Cell_toggleDirection__5rp_g\",\"right\":\"Cell_right__3g3qY\",\"blank\":\"Cell_blank__3l4Pq\",\"active\":\"Cell_active__2O7iE\"};\n\n/***/ }),\n\n/***/ \"EIE9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"dictionaryInput\":\"DictionaryInput_dictionaryInput__U7DaM\",\"input\":\"DictionaryInput_input__2r5WW\"};\n\n/***/ }),\n\n/***/ \"IH9G\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"mapping\":\"Mapping_mapping__1ZcKV\",\"description\":\"Mapping_description__Mbn8w\",\"keys\":\"Mapping_keys__3Vf5K\",\"group\":\"Mapping_group__2WX5v\",\"plus\":\"Mapping_plus__1j3oP\"};\n\n/***/ }),\n\n/***/ \"IQtc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"results\":\"Results_results__x8VdK\",\"emptyState\":\"Results_emptyState__2-LxF\",\"list\":\"Results_list__1B8VD\",\"outdated\":\"Results_outdated__3nWlA\",\"header\":\"Results_header__noJ3I\",\"headerButton\":\"Results_headerButton__1N5Kw\",\"headerButtonLabel\":\"Results_headerButtonLabel__2QiqD\",\"result\":\"Results_result__1y1Jv\",\"resultContent\":\"Results_resultContent__2StBW\",\"word\":\"Results_word__1zvOl\",\"cell\":\"Results_cell__1cXgg\",\"stat\":\"Results_stat__3xHhu\",\"points\":\"Results_points__wnPy8\",\"outdatedButton\":\"Results_outdatedButton__2uCmc\",\"sortIcon\":\"Results_sortIcon__2BYB5\",\"input\":\"Results_input__2lOjT\"};\n\n/***/ }),\n\n/***/ \"IaFt\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {(function (global, factory) {\n\t true ? module.exports = factory() :\n\tundefined;\n}(this, (function () { 'use strict';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar deepmerge = createCommonjsModule(function (module, exports) {\n(function (root, factory) {\n if (false) {} else {\n module.exports = factory();\n }\n}(commonjsGlobal, function () {\n\nfunction isMergeableObject(val) {\n var nonNullObject = val && typeof val === 'object';\n\n return nonNullObject\n && Object.prototype.toString.call(val) !== '[object RegExp]'\n && Object.prototype.toString.call(val) !== '[object Date]'\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function (key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function (key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var array = Array.isArray(source);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n if (array) {\n return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nreturn deepmerge\n\n}));\n});\n\n// \n// An event handler can take an optional event argument\n// and should not return a value\n \n// An array of all currently registered event handlers for a type\n \n// A map of event types and their corresponding event handlers.\n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberof mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nvar namespaces_1 = createCommonjsModule(function (module, exports) {\nvar namespaces = {\n svg: {\n name: 'xmlns',\n uri: 'http://www.w3.org/2000/svg'\n },\n xlink: {\n name: 'xmlns:xlink',\n uri: 'http://www.w3.org/1999/xlink'\n }\n};\n\nexports.default = namespaces;\nmodule.exports = exports.default;\n});\n\n/**\n * @param {Object} attrs\n * @return {string}\n */\nvar objectToAttrsString = function (attrs) {\n return Object.keys(attrs).map(function (attr) {\n var value = attrs[attr].toString().replace(/\"/g, '&quot;');\n return (attr + \"=\\\"\" + value + \"\\\"\");\n }).join(' ');\n};\n\nvar svg = namespaces_1.svg;\nvar xlink = namespaces_1.xlink;\n\nvar defaultAttrs = {};\ndefaultAttrs[svg.name] = svg.uri;\ndefaultAttrs[xlink.name] = xlink.uri;\n\n/**\n * @param {string} [content]\n * @param {Object} [attributes]\n * @return {string}\n */\nvar wrapInSvgString = function (content, attributes) {\n if ( content === void 0 ) content = '';\n\n var attrs = deepmerge(defaultAttrs, attributes || {});\n var attrsRendered = objectToAttrsString(attrs);\n return (\"<svg \" + attrsRendered + \">\" + content + \"</svg>\");\n};\n\nvar svg$1 = namespaces_1.svg;\nvar xlink$1 = namespaces_1.xlink;\n\nvar defaultConfig = {\n attrs: ( obj = {\n style: ['position: absolute', 'width: 0', 'height: 0'].join('; '),\n 'aria-hidden': 'true'\n }, obj[svg$1.name] = svg$1.uri, obj[xlink$1.name] = xlink$1.uri, obj )\n};\nvar obj;\n\nvar Sprite = function Sprite(config) {\n this.config = deepmerge(defaultConfig, config || {});\n this.symbols = [];\n};\n\n/**\n * Add new symbol. If symbol with the same id exists it will be replaced.\n * @param {SpriteSymbol} symbol\n * @return {boolean} `true` - symbol was added, `false` - replaced\n */\nSprite.prototype.add = function add (symbol) {\n var ref = this;\n var symbols = ref.symbols;\n var existing = this.find(symbol.id);\n\n if (existing) {\n symbols[symbols.indexOf(existing)] = symbol;\n return false;\n }\n\n symbols.push(symbol);\n return true;\n};\n\n/**\n * Remove symbol & destroy it\n * @param {string} id\n * @return {boolean} `true` - symbol was found & successfully destroyed, `false` - otherwise\n */\nSprite.prototype.remove = function remove (id) {\n var ref = this;\n var symbols = ref.symbols;\n var symbol = this.find(id);\n\n if (symbol) {\n symbols.splice(symbols.indexOf(symbol), 1);\n symbol.destroy();\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {string} id\n * @return {SpriteSymbol|null}\n */\nSprite.prototype.find = function find (id) {\n return this.symbols.filter(function (s) { return s.id === id; })[0] || null;\n};\n\n/**\n * @param {string} id\n * @return {boolean}\n */\nSprite.prototype.has = function has (id) {\n return this.find(id) !== null;\n};\n\n/**\n * @return {string}\n */\nSprite.prototype.stringify = function stringify () {\n var ref = this.config;\n var attrs = ref.attrs;\n var stringifiedSymbols = this.symbols.map(function (s) { return s.stringify(); }).join('');\n return wrapInSvgString(stringifiedSymbols, attrs);\n};\n\n/**\n * @return {string}\n */\nSprite.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSprite.prototype.destroy = function destroy () {\n this.symbols.forEach(function (s) { return s.destroy(); });\n};\n\nvar SpriteSymbol = function SpriteSymbol(ref) {\n var id = ref.id;\n var viewBox = ref.viewBox;\n var content = ref.content;\n\n this.id = id;\n this.viewBox = viewBox;\n this.content = content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.stringify = function stringify () {\n return this.content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSpriteSymbol.prototype.destroy = function destroy () {\n var this$1 = this;\n\n ['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });\n};\n\n/**\n * @param {string} content\n * @return {Element}\n */\nvar parse = function (content) {\n var hasImportNode = !!document.importNode;\n var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;\n\n /**\n * Fix for browser which are throwing WrongDocumentError\n * if you insert an element which is not part of the document\n * @see http://stackoverflow.com/a/7986519/4624403\n */\n if (hasImportNode) {\n return document.importNode(doc, true);\n }\n\n return doc;\n};\n\nvar BrowserSpriteSymbol = (function (SpriteSymbol$$1) {\n function BrowserSpriteSymbol () {\n SpriteSymbol$$1.apply(this, arguments);\n }\n\n if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;\n BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );\n BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;\n\n var prototypeAccessors = { isMounted: {} };\n\n prototypeAccessors.isMounted.get = function () {\n return !!this.node;\n };\n\n /**\n * @param {Element} node\n * @return {BrowserSpriteSymbol}\n */\n BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {\n return new BrowserSpriteSymbol({\n id: node.getAttribute('id'),\n viewBox: node.getAttribute('viewBox'),\n content: node.outerHTML\n });\n };\n\n BrowserSpriteSymbol.prototype.destroy = function destroy () {\n if (this.isMounted) {\n this.unmount();\n }\n SpriteSymbol$$1.prototype.destroy.call(this);\n };\n\n /**\n * @param {Element|string} target\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.mount = function mount (target) {\n if (this.isMounted) {\n return this.node;\n }\n\n var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;\n var node = this.render();\n this.node = node;\n\n mountTarget.appendChild(node);\n\n return node;\n };\n\n /**\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.render = function render () {\n var content = this.stringify();\n return parse(wrapInSvgString(content)).childNodes[0];\n };\n\n BrowserSpriteSymbol.prototype.unmount = function unmount () {\n this.node.parentNode.removeChild(this.node);\n };\n\n Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );\n\n return BrowserSpriteSymbol;\n}(SpriteSymbol));\n\nvar defaultConfig$1 = {\n /**\n * Should following options be automatically configured:\n * - `syncUrlsWithBaseTag`\n * - `locationChangeAngularEmitter`\n * - `moveGradientsOutsideSymbol`\n * @type {boolean}\n */\n autoConfigure: true,\n\n /**\n * Default mounting selector\n * @type {string}\n */\n mountTo: 'body',\n\n /**\n * Fix disappearing SVG elements when <base href> exists.\n * Executes when sprite mounted.\n * @see http://stackoverflow.com/a/18265336/796152\n * @see https://github.com/everdimension/angular-svg-base-fix\n * @see https://github.com/angular/angular.js/issues/8934#issuecomment-56568466\n * @type {boolean}\n */\n syncUrlsWithBaseTag: false,\n\n /**\n * Should sprite listen custom location change event\n * @type {boolean}\n */\n listenLocationChangeEvent: true,\n\n /**\n * Custom window event name which should be emitted to update sprite urls\n * @type {string}\n */\n locationChangeEvent: 'locationChange',\n\n /**\n * Emit location change event in Angular automatically\n * @type {boolean}\n */\n locationChangeAngularEmitter: false,\n\n /**\n * Selector to find symbols usages when updating sprite urls\n * @type {string}\n */\n usagesToUpdate: 'use[*|href]',\n\n /**\n * Fix Firefox bug when gradients and patterns don't work if they are within a symbol.\n * Executes when sprite is rendered, but not mounted.\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=306674\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=353575\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=1235364\n * @type {boolean}\n */\n moveGradientsOutsideSymbol: false\n};\n\n/**\n * @param {*} arrayLike\n * @return {Array}\n */\nvar arrayFrom = function (arrayLike) {\n return Array.prototype.slice.call(arrayLike, 0);\n};\n\nvar browser = {\n isChrome: function () { return /chrome/i.test(navigator.userAgent); },\n isFirefox: function () { return /firefox/i.test(navigator.userAgent); },\n\n // https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx\n isIE: function () { return /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent); },\n isEdge: function () { return /edge/i.test(navigator.userAgent); }\n};\n\n/**\n * @param {string} name\n * @param {*} data\n */\nvar dispatchEvent = function (name, data) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent(name, false, false, data);\n window.dispatchEvent(event);\n};\n\n/**\n * IE doesn't evaluate <style> tags in SVGs that are dynamically added to the page.\n * This trick will trigger IE to read and use any existing SVG <style> tags.\n * @see https://github.com/iconic/SVGInjector/issues/23\n * @see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10898469/\n *\n * @param {Element} node DOM Element to search <style> tags in\n * @return {Array<HTMLStyleElement>}\n */\nvar evalStylesIEWorkaround = function (node) {\n var updatedNodes = [];\n\n arrayFrom(node.querySelectorAll('style'))\n .forEach(function (style) {\n style.textContent += '';\n updatedNodes.push(style);\n });\n\n return updatedNodes;\n};\n\n/**\n * @param {string} [url] If not provided - current URL will be used\n * @return {string}\n */\nvar getUrlWithoutFragment = function (url) {\n return (url || window.location.href).split('#')[0];\n};\n\n/* global angular */\n/**\n * @param {string} eventName\n */\nvar locationChangeAngularEmitter = function (eventName) {\n angular.module('ng').run(['$rootScope', function ($rootScope) {\n $rootScope.$on('$locationChangeSuccess', function (e, newUrl, oldUrl) {\n dispatchEvent(eventName, { oldUrl: oldUrl, newUrl: newUrl });\n });\n }]);\n};\n\nvar defaultSelector = 'linearGradient, radialGradient, pattern, mask, clipPath';\n\n/**\n * @param {Element} svg\n * @param {string} [selector]\n * @return {Element}\n */\nvar moveGradientsOutsideSymbol = function (svg, selector) {\n if ( selector === void 0 ) selector = defaultSelector;\n\n arrayFrom(svg.querySelectorAll('symbol')).forEach(function (symbol) {\n arrayFrom(symbol.querySelectorAll(selector)).forEach(function (node) {\n symbol.parentNode.insertBefore(node, symbol);\n });\n });\n return svg;\n};\n\n/**\n * @param {NodeList} nodes\n * @param {Function} [matcher]\n * @return {Attr[]}\n */\nfunction selectAttributes(nodes, matcher) {\n var attrs = arrayFrom(nodes).reduce(function (acc, node) {\n if (!node.attributes) {\n return acc;\n }\n\n var arrayfied = arrayFrom(node.attributes);\n var matched = matcher ? arrayfied.filter(matcher) : arrayfied;\n return acc.concat(matched);\n }, []);\n\n return attrs;\n}\n\n/**\n * @param {NodeList|Node} nodes\n * @param {boolean} [clone=true]\n * @return {string}\n */\n\nvar xLinkNS = namespaces_1.xlink.uri;\nvar xLinkAttrName = 'xlink:href';\n\n// eslint-disable-next-line no-useless-escape\nvar specialUrlCharsPattern = /[{}|\\\\\\^\\[\\]`\"<>]/g;\n\nfunction encoder(url) {\n return url.replace(specialUrlCharsPattern, function (match) {\n return (\"%\" + (match[0].charCodeAt(0).toString(16).toUpperCase()));\n });\n}\n\nfunction escapeRegExp(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"); // $& means the whole matched string\n}\n\n/**\n * @param {NodeList} nodes\n * @param {string} startsWith\n * @param {string} replaceWith\n * @return {NodeList}\n */\nfunction updateReferences(nodes, startsWith, replaceWith) {\n arrayFrom(nodes).forEach(function (node) {\n var href = node.getAttribute(xLinkAttrName);\n if (href && href.indexOf(startsWith) === 0) {\n var newUrl = href.replace(startsWith, replaceWith);\n node.setAttributeNS(xLinkNS, xLinkAttrName, newUrl);\n }\n });\n\n return nodes;\n}\n\n/**\n * List of SVG attributes to update url() target in them\n */\nvar attList = [\n 'clipPath',\n 'colorProfile',\n 'src',\n 'cursor',\n 'fill',\n 'filter',\n 'marker',\n 'markerStart',\n 'markerMid',\n 'markerEnd',\n 'mask',\n 'stroke',\n 'style'\n];\n\nvar attSelector = attList.map(function (attr) { return (\"[\" + attr + \"]\"); }).join(',');\n\n/**\n * Update URLs in svg image (like `fill=\"url(...)\"`) and update referencing elements\n * @param {Element} svg\n * @param {NodeList} references\n * @param {string|RegExp} startsWith\n * @param {string} replaceWith\n * @return {void}\n *\n * @example\n * const sprite = document.querySelector('svg.sprite');\n * const usages = document.querySelectorAll('use');\n * updateUrls(sprite, usages, '#', 'prefix#');\n */\nvar updateUrls = function (svg, references, startsWith, replaceWith) {\n var startsWithEncoded = encoder(startsWith);\n var replaceWithEncoded = encoder(replaceWith);\n\n var nodes = svg.querySelectorAll(attSelector);\n var attrs = selectAttributes(nodes, function (ref) {\n var localName = ref.localName;\n var value = ref.value;\n\n return attList.indexOf(localName) !== -1 && value.indexOf((\"url(\" + startsWithEncoded)) !== -1;\n });\n\n attrs.forEach(function (attr) { return attr.value = attr.value.replace(new RegExp(escapeRegExp(startsWithEncoded), 'g'), replaceWithEncoded); });\n updateReferences(references, startsWithEncoded, replaceWithEncoded);\n};\n\n/**\n * Internal emitter events\n * @enum\n * @private\n */\nvar Events = {\n MOUNT: 'mount',\n SYMBOL_MOUNT: 'symbol_mount'\n};\n\nvar BrowserSprite = (function (Sprite$$1) {\n function BrowserSprite(cfg) {\n var this$1 = this;\n if ( cfg === void 0 ) cfg = {};\n\n Sprite$$1.call(this, deepmerge(defaultConfig$1, cfg));\n\n var emitter = mitt();\n this._emitter = emitter;\n this.node = null;\n\n var ref = this;\n var config = ref.config;\n\n if (config.autoConfigure) {\n this._autoConfigure(cfg);\n }\n\n if (config.syncUrlsWithBaseTag) {\n var baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\n emitter.on(Events.MOUNT, function () { return this$1.updateUrls('#', baseUrl); });\n }\n\n var handleLocationChange = this._handleLocationChange.bind(this);\n this._handleLocationChange = handleLocationChange;\n\n // Provide way to update sprite urls externally via dispatching custom window event\n if (config.listenLocationChangeEvent) {\n window.addEventListener(config.locationChangeEvent, handleLocationChange);\n }\n\n // Emit location change event in Angular automatically\n if (config.locationChangeAngularEmitter) {\n locationChangeAngularEmitter(config.locationChangeEvent);\n }\n\n // After sprite mounted\n emitter.on(Events.MOUNT, function (spriteNode) {\n if (config.moveGradientsOutsideSymbol) {\n moveGradientsOutsideSymbol(spriteNode);\n }\n });\n\n // After symbol mounted into sprite\n emitter.on(Events.SYMBOL_MOUNT, function (symbolNode) {\n if (config.moveGradientsOutsideSymbol) {\n moveGradientsOutsideSymbol(symbolNode.parentNode);\n }\n\n if (browser.isIE() || browser.isEdge()) {\n evalStylesIEWorkaround(symbolNode);\n }\n });\n }\n\n if ( Sprite$$1 ) BrowserSprite.__proto__ = Sprite$$1;\n BrowserSprite.prototype = Object.create( Sprite$$1 && Sprite$$1.prototype );\n BrowserSprite.prototype.constructor = BrowserSprite;\n\n var prototypeAccessors = { isMounted: {} };\n\n /**\n * @return {boolean}\n */\n prototypeAccessors.isMounted.get = function () {\n return !!this.node;\n };\n\n /**\n * Automatically configure following options\n * - `syncUrlsWithBaseTag`\n * - `locationChangeAngularEmitter`\n * - `moveGradientsOutsideSymbol`\n * @param {Object} cfg\n * @private\n */\n BrowserSprite.prototype._autoConfigure = function _autoConfigure (cfg) {\n var ref = this;\n var config = ref.config;\n\n if (typeof cfg.syncUrlsWithBaseTag === 'undefined') {\n config.syncUrlsWithBaseTag = typeof document.getElementsByTagName('base')[0] !== 'undefined';\n }\n\n if (typeof cfg.locationChangeAngularEmitter === 'undefined') {\n config.locationChangeAngularEmitter = typeof window.angular !== 'undefined';\n }\n\n if (typeof cfg.moveGradientsOutsideSymbol === 'undefined') {\n config.moveGradientsOutsideSymbol = browser.isFirefox();\n }\n };\n\n /**\n * @param {Event} event\n * @param {Object} event.detail\n * @param {string} event.detail.oldUrl\n * @param {string} event.detail.newUrl\n * @private\n */\n BrowserSprite.prototype._handleLocationChange = function _handleLocationChange (event) {\n var ref = event.detail;\n var oldUrl = ref.oldUrl;\n var newUrl = ref.newUrl;\n this.updateUrls(oldUrl, newUrl);\n };\n\n /**\n * Add new symbol. If symbol with the same id exists it will be replaced.\n * If sprite already mounted - `symbol.mount(sprite.node)` will be called.\n * @fires Events#SYMBOL_MOUNT\n * @param {BrowserSpriteSymbol} symbol\n * @return {boolean} `true` - symbol was added, `false` - replaced\n */\n BrowserSprite.prototype.add = function add (symbol) {\n var sprite = this;\n var isNewSymbol = Sprite$$1.prototype.add.call(this, symbol);\n\n if (this.isMounted && isNewSymbol) {\n symbol.mount(sprite.node);\n this._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);\n }\n\n return isNewSymbol;\n };\n\n /**\n * Attach to existing DOM node\n * @param {string|Element} target\n * @return {Element|null} attached DOM Element. null if node to attach not found.\n */\n BrowserSprite.prototype.attach = function attach (target) {\n var this$1 = this;\n\n var sprite = this;\n\n if (sprite.isMounted) {\n return sprite.node;\n }\n\n /** @type Element */\n var node = typeof target === 'string' ? document.querySelector(target) : target;\n sprite.node = node;\n\n // Already added symbols needs to be mounted\n this.symbols.forEach(function (symbol) {\n symbol.mount(sprite.node);\n this$1._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);\n });\n\n // Create symbols from existing DOM nodes, add and mount them\n arrayFrom(node.querySelectorAll('symbol'))\n .forEach(function (symbolNode) {\n var symbol = BrowserSpriteSymbol.createFromExistingNode(symbolNode);\n symbol.node = symbolNode; // hack to prevent symbol mounting to sprite when adding\n sprite.add(symbol);\n });\n\n this._emitter.emit(Events.MOUNT, node);\n\n return node;\n };\n\n BrowserSprite.prototype.destroy = function destroy () {\n var ref = this;\n var config = ref.config;\n var symbols = ref.symbols;\n var _emitter = ref._emitter;\n\n symbols.forEach(function (s) { return s.destroy(); });\n\n _emitter.off('*');\n window.removeEventListener(config.locationChangeEvent, this._handleLocationChange);\n\n if (this.isMounted) {\n this.unmount();\n }\n };\n\n /**\n * @fires Events#MOUNT\n * @param {string|Element} [target]\n * @param {boolean} [prepend=false]\n * @return {Element|null} rendered sprite node. null if mount node not found.\n */\n BrowserSprite.prototype.mount = function mount (target, prepend) {\n if ( target === void 0 ) target = this.config.mountTo;\n if ( prepend === void 0 ) prepend = false;\n\n var sprite = this;\n\n if (sprite.isMounted) {\n return sprite.node;\n }\n\n var mountNode = typeof target === 'string' ? document.querySelector(target) : target;\n var node = sprite.render();\n this.node = node;\n\n if (prepend && mountNode.childNodes[0]) {\n mountNode.insertBefore(node, mountNode.childNodes[0]);\n } else {\n mountNode.appendChild(node);\n }\n\n this._emitter.emit(Events.MOUNT, node);\n\n return node;\n };\n\n /**\n * @return {Element}\n */\n BrowserSprite.prototype.render = function render () {\n return parse(this.stringify());\n };\n\n /**\n * Detach sprite from the DOM\n */\n BrowserSprite.prototype.unmount = function unmount () {\n this.node.parentNode.removeChild(this.node);\n };\n\n /**\n * Update URLs in sprite and usage elements\n * @param {string} oldUrl\n * @param {string} newUrl\n * @return {boolean} `true` - URLs was updated, `false` - sprite is not mounted\n */\n BrowserSprite.prototype.updateUrls = function updateUrls$1 (oldUrl, newUrl) {\n if (!this.isMounted) {\n return false;\n }\n\n var usages = document.querySelectorAll(this.config.usagesToUpdate);\n\n updateUrls(\n this.node,\n usages,\n ((getUrlWithoutFragment(oldUrl)) + \"#\"),\n ((getUrlWithoutFragment(newUrl)) + \"#\")\n );\n\n return true;\n };\n\n Object.defineProperties( BrowserSprite.prototype, prototypeAccessors );\n\n return BrowserSprite;\n}(Sprite));\n\nvar ready$1 = createCommonjsModule(function (module) {\n/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n */\n!function (name, definition) {\n\n { module.exports = definition(); }\n\n}('domready', function () {\n\n var fns = [], listener\n , doc = document\n , hack = doc.documentElement.doScroll\n , domContentLoaded = 'DOMContentLoaded'\n , loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n\n if (!loaded)\n { doc.addEventListener(domContentLoaded, listener = function () {\n doc.removeEventListener(domContentLoaded, listener);\n loaded = 1;\n while (listener = fns.shift()) { listener(); }\n }); }\n\n return function (fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn);\n }\n\n});\n});\n\nvar spriteNodeId = '__SVG_SPRITE_NODE__';\nvar spriteGlobalVarName = '__SVG_SPRITE__';\nvar isSpriteExists = !!window[spriteGlobalVarName];\n\n// eslint-disable-next-line import/no-mutable-exports\nvar sprite;\n\nif (isSpriteExists) {\n sprite = window[spriteGlobalVarName];\n} else {\n sprite = new BrowserSprite({\n attrs: {\n id: spriteNodeId,\n 'aria-hidden': 'true'\n }\n });\n window[spriteGlobalVarName] = sprite;\n}\n\nvar loadSprite = function () {\n /**\n * Check for page already contains sprite node\n * If found - attach to and reuse it's content\n * If not - render and mount the new sprite\n */\n var existing = document.getElementById(spriteNodeId);\n\n if (existing) {\n sprite.attach(existing);\n } else {\n sprite.mount(document.body, true);\n }\n};\n\nif (document.body) {\n loadSprite();\n} else {\n ready$1(loadSprite);\n}\n\nvar sprite$1 = sprite;\n\nreturn sprite$1;\n\n})));\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"yLpj\")))\n\n/***/ }),\n\n/***/ \"Jsr2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"emptyState\":\"EmptyState_emptyState__3XIlm\",\"tiles\":\"EmptyState_tiles__2hoJY\"};\n\n/***/ }),\n\n/***/ \"JxyW\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"character\":\"Character_character__qmkor\",\"finished\":\"Character_finished__11v6G\",\"overused\":\"Character_overused__2l2ul\",\"tile\":\"Character_tile__1C3Oq\",\"count\":\"Character_count__2pNlL\"};\n\n/***/ }),\n\n/***/ \"Nhdc\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"a\", function() { return /* reexport */ components_Board_Board; });\n__webpack_require__.d(__webpack_exports__, \"b\", function() { return /* reexport */ components_Dictionary_Dictionary; });\n__webpack_require__.d(__webpack_exports__, \"c\", function() { return /* reexport */ components_DictionaryInput_DictionaryInput; });\n__webpack_require__.d(__webpack_exports__, \"d\", function() { return /* reexport */ components_KeyMap_KeyMap; });\n__webpack_require__.d(__webpack_exports__, \"e\", function() { return /* reexport */ components_Logo_Logo; });\n__webpack_require__.d(__webpack_exports__, \"f\", function() { return /* reexport */ components_NavButtons_NavButtons; });\n__webpack_require__.d(__webpack_exports__, \"g\", function() { return /* reexport */ components_NotFound_NotFound; });\n__webpack_require__.d(__webpack_exports__, \"h\", function() { return /* reexport */ components_Rack_Rack; });\n__webpack_require__.d(__webpack_exports__, \"i\", function() { return /* reexport */ components_RemainingTiles_RemainingTiles; });\n__webpack_require__.d(__webpack_exports__, \"j\", function() { return /* reexport */ components_Results_Results; });\n__webpack_require__.d(__webpack_exports__, \"k\", function() { return /* reexport */ components_Settings_Settings; });\n__webpack_require__.d(__webpack_exports__, \"l\", function() { return /* reexport */ components_Splash_Splash; });\n__webpack_require__.d(__webpack_exports__, \"m\", function() { return /* reexport */ Well_Well; });\n\n// UNUSED EXPORTS: Button, Checkbox, EmptyState, Key, Loading, PlainTiles, Radio, ResultsInput, Screen, Sidebar, SquareButton, SvgIcon, Tile, useTooltip\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(\"nKUr\");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules\nvar slicedToArray = __webpack_require__(\"ODXe\");\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(\"q1tI\");\n\n// EXTERNAL MODULE: ./src/state/index.ts + 40 modules\nvar src_state = __webpack_require__(\"8+rz\");\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__(\"TSYQ\");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./src/components/Board/Board.module.scss\nvar Board_module = __webpack_require__(\"UE3f\");\nvar Board_module_default = /*#__PURE__*/__webpack_require__.n(Board_module);\n\n// EXTERNAL MODULE: ../constants/build/index.js\nvar build = __webpack_require__(\"U5qN\");\n\n// EXTERNAL MODULE: ./node_modules/react-redux/es/index.js + 22 modules\nvar es = __webpack_require__(\"/MKj\");\n\n// EXTERNAL MODULE: ./src/lib/index.ts + 27 modules\nvar lib = __webpack_require__(\"psLn\");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js\nvar defineProperty = __webpack_require__(\"rePB\");\n\n// EXTERNAL MODULE: ./node_modules/svg-baker-runtime/browser-symbol.js\nvar browser_symbol = __webpack_require__(\"4BeY\");\nvar browser_symbol_default = /*#__PURE__*/__webpack_require__.n(browser_symbol);\n\n// EXTERNAL MODULE: ./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\nvar browser_sprite_build = __webpack_require__(\"IaFt\");\nvar browser_sprite_build_default = /*#__PURE__*/__webpack_require__.n(browser_sprite_build);\n\n// CONCATENATED MODULE: ./src/icons/arrowDown.svg\n\n\nvar symbol = new browser_symbol_default.a({\n \"id\": \"arrowDown\",\n \"use\": \"arrowDown-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"arrowDown\\\">\\n <path d=\\\"M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" />\\n</symbol>\"\n});\nvar arrowDown_result = browser_sprite_build_default.a.add(symbol);\n/* harmony default export */ var arrowDown = (symbol);\n// CONCATENATED MODULE: ./src/icons/arrowLeft.svg\n\n\nvar arrowLeft_symbol = new browser_symbol_default.a({\n \"id\": \"arrowLeft\",\n \"use\": \"arrowLeft-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"arrowLeft\\\">\\n <path d=\\\"M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" />\\n</symbol>\"\n});\nvar arrowLeft_result = browser_sprite_build_default.a.add(arrowLeft_symbol);\n/* harmony default export */ var arrowLeft = (arrowLeft_symbol);\n// CONCATENATED MODULE: ./src/icons/arrowRight.svg\n\n\nvar arrowRight_symbol = new browser_symbol_default.a({\n \"id\": \"arrowRight\",\n \"use\": \"arrowRight-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"arrowRight\\\">\\n <path d=\\\"M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" />\\n</symbol>\"\n});\nvar arrowRight_result = browser_sprite_build_default.a.add(arrowRight_symbol);\n/* harmony default export */ var arrowRight = (arrowRight_symbol);\n// CONCATENATED MODULE: ./src/icons/arrowUp.svg\n\n\nvar arrowUp_symbol = new browser_symbol_default.a({\n \"id\": \"arrowUp\",\n \"use\": \"arrowUp-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"arrowUp\\\">\\n <path d=\\\"M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" />\\n</symbol>\"\n});\nvar arrowUp_result = browser_sprite_build_default.a.add(arrowUp_symbol);\n/* harmony default export */ var arrowUp = (arrowUp_symbol);\n// CONCATENATED MODULE: ./src/icons/checkboxChecked.svg\n\n\nvar checkboxChecked_symbol = new browser_symbol_default.a({\n \"id\": \"checkboxChecked\",\n \"use\": \"checkboxChecked-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"checkboxChecked\\\">\\n <path d=\\\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm10.03 4.97a.75.75 0 0 1 .011 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.75.75 0 0 1 1.08-.022z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar checkboxChecked_result = browser_sprite_build_default.a.add(checkboxChecked_symbol);\n/* harmony default export */ var checkboxChecked = (checkboxChecked_symbol);\n// CONCATENATED MODULE: ./src/icons/checkboxEmpty.svg\n\n\nvar checkboxEmpty_symbol = new browser_symbol_default.a({\n \"id\": \"checkboxEmpty\",\n \"use\": \"checkboxEmpty-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"checkboxEmpty\\\">\\n <path d=\\\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar checkboxEmpty_result = browser_sprite_build_default.a.add(checkboxEmpty_symbol);\n/* harmony default export */ var checkboxEmpty = (checkboxEmpty_symbol);\n// CONCATENATED MODULE: ./src/icons/cog.svg\n\n\nvar cog_symbol = new browser_symbol_default.a({\n \"id\": \"cog\",\n \"use\": \"cog-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"cog\\\">\\n <path d=\\\"M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.858z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar cog_result = browser_sprite_build_default.a.add(cog_symbol);\n/* harmony default export */ var cog = (cog_symbol);\n// CONCATENATED MODULE: ./src/icons/cross.svg\n\n\nvar cross_symbol = new browser_symbol_default.a({\n \"id\": \"cross\",\n \"use\": \"cross-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"cross\\\">\\n <path d=\\\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm3.354 4.646L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar cross_result = browser_sprite_build_default.a.add(cross_symbol);\n/* harmony default export */ var cross = (cross_symbol);\n// CONCATENATED MODULE: ./src/icons/dashCircleFill.svg\n\n\nvar dashCircleFill_symbol = new browser_symbol_default.a({\n \"id\": \"dashCircleFill\",\n \"use\": \"dashCircleFill-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"dashCircleFill\\\">\\n <path d=\\\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar dashCircleFill_result = browser_sprite_build_default.a.add(dashCircleFill_symbol);\n/* harmony default export */ var dashCircleFill = (dashCircleFill_symbol);\n// CONCATENATED MODULE: ./src/icons/eraser.svg\n\n\nvar eraser_symbol = new browser_symbol_default.a({\n \"id\": \"eraser\",\n \"use\": \"eraser-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"eraser\\\">\\n <path d=\\\"M8.086 2.207a2 2 0 0 1 2.828 0l3.879 3.879a2 2 0 0 1 0 2.828l-5.5 5.5A2 2 0 0 1 7.879 15H5.12a2 2 0 0 1-1.414-.586l-2.5-2.5a2 2 0 0 1 0-2.828l6.879-6.879zm.66 11.34L3.453 8.254 1.914 9.793a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 .707.293H7.88a1 1 0 0 0 .707-.293l.16-.16z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar eraser_result = browser_sprite_build_default.a.add(eraser_symbol);\n/* harmony default export */ var eraser = (eraser_symbol);\n// CONCATENATED MODULE: ./src/icons/flagEs.svg\n\n\nvar flagEs_symbol = new browser_symbol_default.a({\n \"id\": \"flagEs\",\n \"use\": \"flagEs-usage\",\n \"viewBox\": \"0 0 1280 853\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"0 0 1280 853\\\" id=\\\"flagEs\\\"> <image id=\\\"flagEs_image0\\\" width=\\\"1280\\\" height=\\\"853\\\" x=\\\"0\\\" y=\\\"0\\\" xlink:href=\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAANVAgMAAABaGbsaAAAABGdBTUEAALGPC/xhBQAAACBjSFJN\\nAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEXGCx74rwP/xAD///8H\\ncjGDAAAAAWJLR0QDEQxM8gAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB+UCFwAsE4DcNqcA\\nAAPBSURBVHja7dAxAQAwEAOhmHyTVVkRt4IENgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALYj2SMRGAmMBEYCI4GRwEhgJDAS\\nGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhg\\nJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GR\\nwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYC\\nI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmM\\nBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDAS\\nGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhg\\nJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GR\\nwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYC\\nI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmM\\nBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDAS\\nGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhg\\nJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GR\\nwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYC\\nI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDDakQwAAAAAAAAAAAAAAAAAAAAA\\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDtAwXRsbDe\\nnzaLAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTIzVDAwOjQ0OjE5KzAzOjAwYEEZrQAAACV0\\nRVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0yM1QwMDo0NDoxOSswMzowMBEcoREAAAAASUVORK5CYII=\\\"></image>\\n</symbol>\"\n});\nvar flagEs_result = browser_sprite_build_default.a.add(flagEs_symbol);\n/* harmony default export */ var flagEs = (flagEs_symbol);\n// CONCATENATED MODULE: ./src/icons/flagFr.svg\n\n\nvar flagFr_symbol = new browser_symbol_default.a({\n \"id\": \"flagFr\",\n \"use\": \"flagFr-usage\",\n \"viewBox\": \"0 0 24 15\",\n \"content\": \"<symbol viewBox=\\\"0 0 24 15\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"flagFr\\\">\\n <rect width=\\\"8\\\" height=\\\"15\\\" fill=\\\"#002395\\\" x=\\\"0 \\\" />\\n <rect width=\\\"8\\\" height=\\\"15\\\" fill=\\\"#FFFFFF\\\" x=\\\"8 \\\" />\\n <rect width=\\\"8\\\" height=\\\"15\\\" fill=\\\"#ED2939\\\" x=\\\"16 \\\" />\\n</symbol>\"\n});\nvar flagFr_result = browser_sprite_build_default.a.add(flagFr_symbol);\n/* harmony default export */ var flagFr = (flagFr_symbol);\n// CONCATENATED MODULE: ./src/icons/flagGb.svg\n\n\nvar flagGb_symbol = new browser_symbol_default.a({\n \"id\": \"flagGb\",\n \"use\": \"flagGb-usage\",\n \"viewBox\": \"0 0 60 30\",\n \"content\": \"<symbol viewBox=\\\"0 0 60 30\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"flagGb\\\">\\n <clipPath id=\\\"flagGb_t\\\">\\n <path d=\\\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\\\" />\\n </clipPath>\\n <path d=\\\"M0,0 v30 h60 v-30 z\\\" fill=\\\"#00247d\\\" />\\n <path d=\\\"M0,0 L60,30 M60,0 L0,30\\\" stroke=\\\"#fff\\\" stroke-width=\\\"6\\\" />\\n <path d=\\\"M0,0 L60,30 M60,0 L0,30\\\" clipPath=\\\"url(#flagGb_t)\\\" stroke=\\\"#cf142b\\\" stroke-width=\\\"4\\\" />\\n <path d=\\\"M30,0 v30 M0,15 h60\\\" stroke=\\\"#fff\\\" stroke-width=\\\"10\\\" />\\n <path d=\\\"M30,0 v30 M0,15 h60\\\" stroke=\\\"#cf142b\\\" stroke-width=\\\"6\\\" />\\n</symbol>\"\n});\nvar flagGb_result = browser_sprite_build_default.a.add(flagGb_symbol);\n/* harmony default export */ var flagGb = (flagGb_symbol);\n// CONCATENATED MODULE: ./src/icons/flagPl.svg\n\n\nvar flagPl_symbol = new browser_symbol_default.a({\n \"id\": \"flagPl\",\n \"use\": \"flagPl-usage\",\n \"viewBox\": \"0 0 16 10\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 10\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"flagPl\\\">\\n <rect width=\\\"16\\\" height=\\\"10\\\" fill=\\\"#fff\\\" />\\n <rect width=\\\"16\\\" height=\\\"5\\\" fill=\\\"#dc143c\\\" y=\\\"5\\\" />\\n</symbol>\"\n});\nvar flagPl_result = browser_sprite_build_default.a.add(flagPl_symbol);\n/* harmony default export */ var flagPl = (flagPl_symbol);\n// CONCATENATED MODULE: ./src/icons/flagUs.svg\n\n\nvar flagUs_symbol = new browser_symbol_default.a({\n \"id\": \"flagUs\",\n \"use\": \"flagUs-usage\",\n \"viewBox\": \"0 0 7410 3900\",\n \"content\": \"<symbol viewBox=\\\"0 0 7410 3900\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"flagUs\\\">\\n <rect width=\\\"7410\\\" height=\\\"3900\\\" fill=\\\"#b22234\\\" />\\n <path d=\\\"M0,450H7410m0,600H0m0,600H7410m0,600H0m0,600H7410m0,600H0\\\" stroke=\\\"#fff\\\" stroke-width=\\\"300\\\" />\\n <rect width=\\\"2964\\\" height=\\\"2100\\\" fill=\\\"#3c3b6e\\\" />\\n <g fill=\\\"#fff\\\">\\n <g id=\\\"flagUs_s18\\\">\\n <g id=\\\"flagUs_s9\\\">\\n <g id=\\\"flagUs_s5\\\">\\n <g id=\\\"flagUs_s4\\\">\\n <path id=\\\"flagUs_s\\\" d=\\\"M247,90 317.534230,307.082039 132.873218,172.917961H361.126782L176.465770,307.082039z\\\" />\\n <use xlink:href=\\\"#flagUs_s\\\" y=\\\"420\\\" />\\n <use xlink:href=\\\"#flagUs_s\\\" y=\\\"840\\\" />\\n <use xlink:href=\\\"#flagUs_s\\\" y=\\\"1260\\\" />\\n </g>\\n <use xlink:href=\\\"#flagUs_s\\\" y=\\\"1680\\\" />\\n </g>\\n <use xlink:href=\\\"#flagUs_s4\\\" x=\\\"247\\\" y=\\\"210\\\" />\\n </g>\\n <use xlink:href=\\\"#flagUs_s9\\\" x=\\\"494\\\" />\\n </g>\\n <use xlink:href=\\\"#flagUs_s18\\\" x=\\\"988\\\" />\\n <use xlink:href=\\\"#flagUs_s9\\\" x=\\\"1976\\\" />\\n <use xlink:href=\\\"#flagUs_s5\\\" x=\\\"2470\\\" />\\n </g>\\n <clipPath id=\\\"flagUs_t\\\">\\n <path d=\\\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\\\" />\\n </clipPath>\\n <path d=\\\"M0,0 v30 h60 v-30 z\\\" fill=\\\"#00247d\\\" />\\n <path d=\\\"M0,0 L60,30 M60,0 L0,30\\\" stroke=\\\"#fff\\\" stroke-width=\\\"6\\\" />\\n <path d=\\\"M0,0 L60,30 M60,0 L0,30\\\" clipPath=\\\"url(#flagUs_t)\\\" stroke=\\\"#cf142b\\\" stroke-width=\\\"4\\\" />\\n <path d=\\\"M30,0 v30 M0,15 h60\\\" stroke=\\\"#fff\\\" stroke-width=\\\"10\\\" />\\n <path d=\\\"M30,0 v30 M0,15 h60\\\" stroke=\\\"#cf142b\\\" stroke-width=\\\"6\\\" />\\n</symbol>\"\n});\nvar flagUs_result = browser_sprite_build_default.a.add(flagUs_symbol);\n/* harmony default export */ var flagUs = (flagUs_symbol);\n// CONCATENATED MODULE: ./src/icons/github.svg\n\n\nvar github_symbol = new browser_symbol_default.a({\n \"id\": \"github\",\n \"use\": \"github-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"github\\\">\\n <path d=\\\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar github_result = browser_sprite_build_default.a.add(github_symbol);\n/* harmony default export */ var github = (github_symbol);\n// CONCATENATED MODULE: ./src/icons/keyboard.svg\n\n\nvar keyboard_symbol = new browser_symbol_default.a({\n \"id\": \"keyboard\",\n \"use\": \"keyboard-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"keyboard\\\">\\n <path d=\\\"M0 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm13 .25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM2.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 8.75v-.5A.25.25 0 0 0 2.75 8h-.5zM4 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 8.75v-.5A.25.25 0 0 0 4.75 8h-.5a.25.25 0 0 0-.25.25zM6.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 7 8.75v-.5A.25.25 0 0 0 6.75 8h-.5zM8 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 9 8.75v-.5A.25.25 0 0 0 8.75 8h-.5a.25.25 0 0 0-.25.25zM13.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm0 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm-3-2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-1.5zm.75 2.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM11.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zM9 6.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 6h-.5a.25.25 0 0 0-.25.25zM7.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 6.75v-.5A.25.25 0 0 0 7.75 6h-.5zM5 6.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 6.75v-.5A.25.25 0 0 0 5.75 6h-.5a.25.25 0 0 0-.25.25zM2.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 4 6.75v-.5A.25.25 0 0 0 3.75 6h-1.5zM2 10.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM4.25 10a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h5.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-5.5z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar keyboard_result = browser_sprite_build_default.a.add(keyboard_symbol);\n/* harmony default export */ var keyboard = (keyboard_symbol);\n// CONCATENATED MODULE: ./src/icons/play.svg\n\n\nvar play_symbol = new browser_symbol_default.a({\n \"id\": \"play\",\n \"use\": \"play-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"play\\\">\\n <path d=\\\"M11.596 8.697l-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar play_result = browser_sprite_build_default.a.add(play_symbol);\n/* harmony default export */ var play = (play_symbol);\n// CONCATENATED MODULE: ./src/icons/sack.svg\n\n\nvar sack_symbol = new browser_symbol_default.a({\n \"id\": \"sack\",\n \"use\": \"sack-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"sack\\\">\\n <path d=\\\"M16,9C20,11 21,18 21,18C21,18 22,22 16,22C10,22 8,22 8,22C2,22 3,18 3,18C3,18 4,11 8,9M14,4L12,2L10,4L6,2L8,7H16L18,2L14,4Z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar sack_result = browser_sprite_build_default.a.add(sack_symbol);\n/* harmony default export */ var sack = (sack_symbol);\n// CONCATENATED MODULE: ./src/icons/sortDown.svg\n\n\nvar sortDown_symbol = new browser_symbol_default.a({\n \"id\": \"sortDown\",\n \"use\": \"sortDown-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"sortDown\\\">\\n <path d=\\\"M3.5 2.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 11.293V2.5zm3.5 1a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar sortDown_result = browser_sprite_build_default.a.add(sortDown_symbol);\n/* harmony default export */ var sortDown = (sortDown_symbol);\n// CONCATENATED MODULE: ./src/icons/sortUp.svg\n\n\nvar sortUp_symbol = new browser_symbol_default.a({\n \"id\": \"sortUp\",\n \"use\": \"sortUp-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"sortUp\\\">\\n <path d=\\\"M3.5 12.5a.5.5 0 0 1-1 0V3.707L1.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 3.707V12.5zm3.5-9a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar sortUp_result = browser_sprite_build_default.a.add(sortUp_symbol);\n/* harmony default export */ var sortUp = (sortUp_symbol);\n// CONCATENATED MODULE: ./src/icons/index.ts\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\nvar objectWithoutPropertiesLoose = __webpack_require__(\"zLVn\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = Object(objectWithoutPropertiesLoose[\"a\" /* default */])(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n// CONCATENATED MODULE: ./src/components/SvgIcon/SvgIcon.tsx\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty[\"a\" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\nvar SvgIcon_SvgIcon = function SvgIcon(_ref) {\n var icon = _ref.icon,\n props = _objectWithoutProperties(_ref, [\"icon\"]);\n\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"svg\", _objectSpread(_objectSpread({}, props), {}, {\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"use\", {\n xlinkHref: \"#\".concat(icon.id)\n })\n }));\n};\n\n/* harmony default export */ var components_SvgIcon_SvgIcon = (SvgIcon_SvgIcon);\n// CONCATENATED MODULE: ./src/components/SvgIcon/index.ts\n\n// EXTERNAL MODULE: ./src/components/Tile/Tile.module.scss\nvar Tile_module = __webpack_require__(\"r/Hp\");\nvar Tile_module_default = /*#__PURE__*/__webpack_require__.n(Tile_module);\n\n// CONCATENATED MODULE: ./src/components/Tile/TilePure.tsx\n\n\n\n\n\n\n\nvar TilePure_handleChange = function handleChange(event) {\n return event.preventDefault();\n};\n\nvar TilePure_TilePure = function TilePure(_ref) {\n var _classNames;\n\n var autoFocus = _ref.autoFocus,\n canShowPoints = _ref.canShowPoints,\n character = _ref.character,\n className = _ref.className,\n disabled = _ref.disabled,\n highlighted = _ref.highlighted,\n inputRef = _ref.inputRef,\n inputStyle = _ref.inputStyle,\n isBlank = _ref.isBlank,\n placeholder = _ref.placeholder,\n points = _ref.points,\n pointsStyle = _ref.pointsStyle,\n raised = _ref.raised,\n style = _ref.style,\n tabIndex = _ref.tabIndex,\n onFocus = _ref.onFocus,\n onKeyDown = _ref.onKeyDown;\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: classnames_default()(Tile_module_default.a.tile, className, (_classNames = {}, Object(defineProperty[\"a\" /* default */])(_classNames, Tile_module_default.a.highlighted, highlighted), Object(defineProperty[\"a\" /* default */])(_classNames, Tile_module_default.a.blank, isBlank), Object(defineProperty[\"a\" /* default */])(_classNames, Tile_module_default.a.raised, raised), Object(defineProperty[\"a\" /* default */])(_classNames, Tile_module_default.a.points1, points === 1), Object(defineProperty[\"a\" /* default */])(_classNames, Tile_module_default.a.points2, points === 2), Object(defineProperty[\"a\" /* default */])(_classNames, Tile_module_default.a.points3, points === 3), Object(defineProperty[\"a\" /* default */])(_classNames, Tile_module_default.a.points4, points === 4), Object(defineProperty[\"a\" /* default */])(_classNames, Tile_module_default.a.points5, typeof points === 'number' && points >= 5), _classNames)),\n style: style,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"input\", {\n autoCapitalize: \"off\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n autoFocus: autoFocus,\n className: Tile_module_default.a.character,\n disabled: disabled,\n maxLength: 1,\n placeholder: placeholder,\n ref: inputRef,\n spellCheck: false,\n style: inputStyle,\n tabIndex: tabIndex,\n value: character || '',\n onChange: TilePure_handleChange,\n onFocus: onFocus,\n onKeyDown: onKeyDown\n }), canShowPoints && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"span\", {\n className: Tile_module_default.a.points,\n style: pointsStyle,\n children: points\n })]\n });\n};\n\n/* harmony default export */ var Tile_TilePure = (/*#__PURE__*/Object(react[\"memo\"])(TilePure_TilePure));\n// CONCATENATED MODULE: ./src/components/Tile/Tile.tsx\n\n\n\n\n\n\nvar Tile_Tile = function Tile(_ref) {\n var autoFocus = _ref.autoFocus,\n className = _ref.className,\n _ref$character = _ref.character,\n character = _ref$character === void 0 ? '' : _ref$character,\n disabled = _ref.disabled,\n highlighted = _ref.highlighted,\n ref = _ref.inputRef,\n isBlank = _ref.isBlank,\n placeholder = _ref.placeholder,\n points = _ref.points,\n raised = _ref.raised,\n size = _ref.size,\n tabIndex = _ref.tabIndex,\n onFocus = _ref.onFocus,\n onKeyDown = _ref.onKeyDown;\n\n var _getTileSizes = Object(lib[\"k\" /* getTileSizes */])(size),\n pointsFontSize = _getTileSizes.pointsFontSize,\n tileFontSize = _getTileSizes.tileFontSize,\n tileSize = _getTileSizes.tileSize;\n\n var style = Object(react[\"useMemo\"])(function () {\n return {\n height: tileSize,\n width: tileSize\n };\n }, [tileSize]);\n var inputStyle = Object(react[\"useMemo\"])(function () {\n return {\n fontSize: tileFontSize\n };\n }, [tileFontSize]);\n var pointsStyle = Object(react[\"useMemo\"])(function () {\n return {\n fontSize: pointsFontSize\n };\n }, [pointsFontSize]);\n var inputRef = Object(react[\"useMemo\"])(function () {\n return ref || /*#__PURE__*/Object(react[\"createRef\"])();\n }, [ref]);\n var isEmpty = !character || character === build[\"EMPTY_CELL\"];\n var canShowPoints = (isBlank || !isEmpty) && typeof points !== 'undefined';\n Object(react[\"useEffect\"])(function () {\n if (autoFocus && inputRef.current) {\n inputRef.current.focus();\n }\n }, [autoFocus, inputRef]);\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Tile_TilePure, {\n autoFocus: autoFocus,\n canShowPoints: canShowPoints,\n character: character,\n className: className,\n disabled: disabled,\n highlighted: highlighted,\n inputRef: inputRef,\n inputStyle: inputStyle,\n isBlank: isBlank,\n placeholder: placeholder,\n points: points,\n pointsStyle: pointsStyle,\n raised: raised,\n style: style,\n tabIndex: tabIndex,\n onFocus: onFocus,\n onKeyDown: onKeyDown\n });\n};\n\n/* harmony default export */ var components_Tile_Tile = (Tile_Tile);\n// CONCATENATED MODULE: ./src/components/Tile/index.ts\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules\nvar toConsumableArray = __webpack_require__(\"KQm4\");\n\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js\nfunction getBoundingClientRect(element) {\n var rect = element.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top\n };\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js\n\nfunction getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\n\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\n\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js\nfunction getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js\n\n\n\n\nfunction getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\nfunction getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\n\nfunction getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js\n\n\n\nfunction getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\n\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js\n\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js\n\n\n\n\n\n\n // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\nfunction getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement);\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js\n // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nfunction getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js\n\n\n\nfunction getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js\n\n\n\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js\n\n\n\n\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nfunction listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js\n\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js\n\n\n\n\n\n\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/enums.js\nvar enums_top = 'top';\nvar bottom = 'bottom';\nvar right = 'right';\nvar left = 'left';\nvar auto = 'auto';\nvar basePlacements = [enums_top, bottom, right, left];\nvar start = 'start';\nvar end = 'end';\nvar enums_clippingParents = 'clippingParents';\nvar viewport = 'viewport';\nvar enums_popper = 'popper';\nvar enums_reference = 'reference';\nvar variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nvar enums_placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nvar beforeRead = 'beforeRead';\nvar read = 'read';\nvar afterRead = 'afterRead'; // pure-logic modifiers\n\nvar beforeMain = 'beforeMain';\nvar main = 'main';\nvar afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nvar beforeWrite = 'beforeWrite';\nvar write = 'write';\nvar afterWrite = 'afterWrite';\nvar modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/orderModifiers.js\n // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nfunction orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/debounce.js\nfunction debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/mergeByName.js\nfunction mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/createPopper.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nfunction popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(options) {\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (false) { var _getComputedStyle, marginTop, marginRight, marginBottom, marginLeft, flipModifier, modifiers; }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (false) {}\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (false) {}\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (false) {}\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nvar createPopper_createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\n\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/eventListeners.js\n // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var eventListeners = ({\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n});\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\n\nfunction getBasePlacement(placement) {\n return placement.split('-')[0];\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getVariation.js\nfunction getVariation(placement) {\n return placement.split('-')[1];\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/computeOffsets.js\n\n\n\n\nfunction computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case enums_top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js\n\n\nfunction popperOffsets_popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_popperOffsets = ({\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets_popperOffsets,\n data: {}\n});\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/math.js\nvar math_max = Math.max;\nvar math_min = Math.min;\nvar round = Math.round;\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/computeStyles.js\n\n\n\n\n\n\n // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(round(x * dpr) / dpr) || 0,\n y: round(round(y * dpr) / dpr) || 0\n };\n}\n\nfunction mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets;\n\n var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,\n _ref3$x = _ref3.x,\n x = _ref3$x === void 0 ? 0 : _ref3$x,\n _ref3$y = _ref3.y,\n y = _ref3$y === void 0 ? 0 : _ref3$y;\n\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = enums_top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === enums_top) {\n sideY = bottom; // $FlowFixMe[prop-missing]\n\n y -= offsetParent[heightProp] - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right; // $FlowFixMe[prop-missing]\n\n x -= offsetParent[widthProp] - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref4) {\n var state = _ref4.state,\n options = _ref4.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (false) { var transitionProperty; }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_computeStyles = ({\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n});\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/applyStyles.js\n\n // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction applyStyles_effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_applyStyles = ({\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: applyStyles_effect,\n requires: ['computeStyles']\n});\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/offset.js\n\n\nfunction distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, enums_top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset_offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = enums_placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_offset = ({\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset_offset\n});\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js\nvar hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js\nvar getOppositeVariationPlacement_hash = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return getOppositeVariationPlacement_hash[matched];\n });\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js\n\n\n\nfunction getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js\n\n\n\n\n // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = math_max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = math_max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += math_max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/contains.js\n\nfunction contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/rectToClientRect.js\nfunction rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = math_max(rect.top, accRect.top);\n accRect.right = math_min(rect.right, accRect.right);\n accRect.bottom = math_min(rect.bottom, accRect.bottom);\n accRect.left = math_max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js\nfunction getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js\n\nfunction mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/expandToHashMap.js\nfunction expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/detectOverflow.js\n\n\n\n\n\n\n\n\n // eslint-disable-next-line import/no-unused-modules\n\nfunction detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? enums_clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? enums_popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === enums_popper ? enums_reference : enums_popper;\n var referenceElement = state.elements.reference;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(referenceElement);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === enums_popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === enums_popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [enums_top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js\n\n\n\n\nfunction computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? enums_placements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (false) {}\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/flip.js\n\n\n\n\n\n\n // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [enums_top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : enums_top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_flip = ({\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n});\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getAltAxis.js\nfunction getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/within.js\n\nfunction within(min, value, max) {\n return math_max(min, math_min(value, max));\n}\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js\n\n\n\n\n\n\n\n\n\n\n\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis || checkAltAxis) {\n var mainSide = mainAxis === 'y' ? enums_top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = popperOffsets[mainAxis] + overflow[mainSide];\n var max = popperOffsets[mainAxis] - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;\n var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n\n if (checkMainAxis) {\n var preventedOffset = within(tether ? math_min(min, tetherMin) : min, offset, tether ? math_max(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _mainSide = mainAxis === 'x' ? enums_top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var _preventedOffset = within(tether ? math_min(_min, tetherMin) : _min, _offset, tether ? math_max(_max, tetherMax) : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_preventOverflow = ({\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n});\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/arrow.js\n\n\n\n\n\n\n\n\n\n // eslint-disable-next-line import/no-unused-modules\n\nvar arrow_toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = arrow_toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? enums_top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction arrow_effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (false) {}\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (false) {}\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_arrow = ({\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: arrow_effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n});\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/hide.js\n\n\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [enums_top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_hide = ({\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n});\n// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/popper.js\n\n\n\n\n\n\n\n\n\n\nvar popper_defaultModifiers = [eventListeners, modifiers_popperOffsets, modifiers_computeStyles, modifiers_applyStyles, modifiers_offset, modifiers_flip, modifiers_preventOverflow, modifiers_arrow, modifiers_hide];\nvar popper_createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: popper_defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\n // eslint-disable-next-line import/no-unused-modules\n\n // eslint-disable-next-line import/no-unused-modules\n\n\n// EXTERNAL MODULE: ./node_modules/react-fast-compare/index.js\nvar react_fast_compare = __webpack_require__(\"bmMU\");\nvar react_fast_compare_default = /*#__PURE__*/__webpack_require__.n(react_fast_compare);\n\n// CONCATENATED MODULE: ./node_modules/react-popper/lib/esm/utils.js\n\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nvar unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nvar safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nvar setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nvar fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? react[\"useLayoutEffect\"] : react[\"useEffect\"];\n// CONCATENATED MODULE: ./node_modules/react-popper/lib/esm/usePopper.js\n\n\n\n\nvar EMPTY_MODIFIERS = [];\nvar usePopper_usePopper = function usePopper(referenceElement, popperElement, options) {\n if (options === void 0) {\n options = {};\n }\n\n var prevOptions = react[\"useRef\"](null);\n var optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || 'bottom',\n strategy: options.strategy || 'absolute',\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n var _React$useState = react[\"useState\"]({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: '0',\n top: '0'\n },\n arrow: {\n position: 'absolute'\n }\n },\n attributes: {}\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var updateStateModifier = react[\"useMemo\"](function () {\n return {\n name: 'updateState',\n enabled: true,\n phase: 'write',\n fn: function fn(_ref) {\n var state = _ref.state;\n var elements = Object.keys(state.elements);\n setState({\n styles: fromEntries(elements.map(function (element) {\n return [element, state.styles[element] || {}];\n })),\n attributes: fromEntries(elements.map(function (element) {\n return [element, state.attributes[element]];\n }))\n });\n },\n requires: ['computeStyles']\n };\n }, []);\n var popperOptions = react[\"useMemo\"](function () {\n var newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n name: 'applyStyles',\n enabled: false\n }])\n };\n\n if (react_fast_compare_default()(prevOptions.current, newOptions)) {\n return prevOptions.current || newOptions;\n } else {\n prevOptions.current = newOptions;\n return newOptions;\n }\n }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n var popperInstanceRef = react[\"useRef\"]();\n useIsomorphicLayoutEffect(function () {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n useIsomorphicLayoutEffect(function () {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n var createPopper = options.createPopper || popper_createPopper;\n var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n popperInstanceRef.current = popperInstance;\n return function () {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n return {\n state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n styles: state.styles,\n attributes: state.attributes,\n update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n };\n};\n// CONCATENATED MODULE: ./node_modules/react-use/esm/useMountedState.js\n\nfunction useMountedState() {\n var mountedRef = Object(react[\"useRef\"])(false);\n var get = Object(react[\"useCallback\"])(function () { return mountedRef.current; }, []);\n Object(react[\"useEffect\"])(function () {\n mountedRef.current = true;\n return function () {\n mountedRef.current = false;\n };\n });\n return get;\n}\n\n// CONCATENATED MODULE: ./node_modules/react-use/esm/useRafLoop.js\n\nfunction useRafLoop(callback, initiallyActive) {\n if (initiallyActive === void 0) { initiallyActive = true; }\n var raf = Object(react[\"useRef\"])(null);\n var rafActivity = Object(react[\"useRef\"])(false);\n var rafCallback = Object(react[\"useRef\"])(callback);\n rafCallback.current = callback;\n var step = Object(react[\"useCallback\"])(function (time) {\n if (rafActivity.current) {\n rafCallback.current(time);\n raf.current = requestAnimationFrame(step);\n }\n }, []);\n var result = Object(react[\"useMemo\"])(function () {\n return [\n function () {\n // stop\n if (rafActivity.current) {\n rafActivity.current = false;\n raf.current && cancelAnimationFrame(raf.current);\n }\n },\n function () {\n // start\n if (!rafActivity.current) {\n rafActivity.current = true;\n raf.current = requestAnimationFrame(step);\n }\n },\n function () { return rafActivity.current; },\n ];\n }, []);\n Object(react[\"useEffect\"])(function () {\n if (initiallyActive) {\n result[1]();\n }\n return result[0];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return result;\n}\n\n// EXTERNAL MODULE: ./src/hooks/index.ts + 19 modules\nvar hooks = __webpack_require__(\"eZYV\");\n\n// EXTERNAL MODULE: ./src/components/Tooltip/Tooltip.module.scss\nvar Tooltip_module = __webpack_require__(\"bQD4\");\nvar Tooltip_module_default = /*#__PURE__*/__webpack_require__.n(Tooltip_module);\n\n// CONCATENATED MODULE: ./src/components/Tooltip/constants.ts\n\nvar ARROW_SIZE = parseInt(Tooltip_module_default.a.ARROW_SIZE, 10);\nvar OFFSET = parseInt(Tooltip_module_default.a.OFFSET, 10);\nvar PREVENT_OVERFLOW = parseInt(Tooltip_module_default.a.PREVENT_OVERFLOW, 10);\nvar MODIFIERS = [{\n name: 'preventOverflow',\n options: {\n padding: PREVENT_OVERFLOW,\n rootBoundary: 'document'\n }\n}, {\n name: 'flip',\n options: {\n padding: ARROW_SIZE,\n rootBoundary: 'document'\n }\n}, {\n name: 'offset',\n options: {\n offset: [0, OFFSET + ARROW_SIZE]\n }\n}];\n// CONCATENATED MODULE: ./src/components/Tooltip/useTooltip.tsx\n\n\n\n\n\nfunction useTooltip_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction useTooltip_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { useTooltip_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty[\"a\" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { useTooltip_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\n\n\n\nvar useTooltip_useTooltip = function useTooltip(tooltip) {\n var _classNames;\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n className = _ref.className,\n _ref$placement = _ref.placement,\n placement = _ref$placement === void 0 ? 'top' : _ref$placement,\n _ref$onBlur = _ref.onBlur,\n onBlur = _ref$onBlur === void 0 ? lib[\"p\" /* noop */] : _ref$onBlur,\n _ref$onFocus = _ref.onFocus,\n onFocus = _ref$onFocus === void 0 ? lib[\"p\" /* noop */] : _ref$onFocus,\n _ref$onMouseOut = _ref.onMouseOut,\n onMouseOut = _ref$onMouseOut === void 0 ? lib[\"p\" /* noop */] : _ref$onMouseOut,\n _ref$onMouseOver = _ref.onMouseOver,\n onMouseOver = _ref$onMouseOver === void 0 ? lib[\"p\" /* noop */] : _ref$onMouseOver;\n\n var id = Object(hooks[\"d\" /* useUniqueId */])();\n var isEnabled = Boolean(tooltip) || tooltip === 0;\n var isMounted = useMountedState();\n\n var _useState = Object(react[\"useState\"])(false),\n isShown = _useState[0],\n setIsShown = _useState[1];\n\n var _useState2 = Object(react[\"useState\"])(null),\n referenceElement = _useState2[0],\n setReferenceElement = _useState2[1];\n\n var _useState3 = Object(react[\"useState\"])(null),\n popperElement = _useState3[0],\n setPopperElement = _useState3[1];\n\n var _useState4 = Object(react[\"useState\"])(null),\n arrowElement = _useState4[0],\n setArrowElement = _useState4[1];\n\n var _usePopper = usePopper_usePopper(referenceElement, popperElement, {\n modifiers: [{\n name: 'arrow',\n options: {\n element: arrowElement\n }\n }].concat(Object(toConsumableArray[\"a\" /* default */])(MODIFIERS)),\n placement: placement\n }),\n attributes = _usePopper.attributes,\n popperStyles = _usePopper.styles,\n update = _usePopper.update;\n\n var computedPlacement = attributes.popper ? attributes.popper['data-popper-placement'] : placement;\n var ariaAttributes = Object(react[\"useMemo\"])(function () {\n return isShown ? {\n 'aria-describedby': id\n } : {};\n }, [id, isShown]);\n var handleBlur = Object(react[\"useCallback\"])(function (event) {\n onBlur(event);\n setIsShown(false);\n }, [onBlur]);\n var handleFocus = Object(react[\"useCallback\"])(function (event) {\n onFocus(event);\n setIsShown(true);\n }, [onFocus]);\n var handleMouseOut = Object(react[\"useCallback\"])(function (event) {\n onMouseOut(event);\n setIsShown(false);\n }, [onMouseOut]);\n var handleMouseOver = Object(react[\"useCallback\"])(function (event) {\n onMouseOver(event);\n setIsShown(true);\n }, [onMouseOver]);\n var triggerProps = Object(react[\"useMemo\"])(function () {\n return useTooltip_objectSpread(useTooltip_objectSpread({}, ariaAttributes), {}, {\n ref: setReferenceElement,\n onBlur: handleBlur,\n onFocus: handleFocus,\n onMouseOut: handleMouseOut,\n onMouseOver: handleMouseOver\n });\n }, [ariaAttributes, handleBlur, handleFocus, handleMouseOut, handleMouseOver]);\n useRafLoop(function () {\n if (isMounted() && update) {\n update();\n }\n });\n Object(hooks[\"c\" /* usePortal */])( /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", useTooltip_objectSpread(useTooltip_objectSpread({\n className: classnames_default()(Tooltip_module_default.a.tooltip, className, (_classNames = {}, Object(defineProperty[\"a\" /* default */])(_classNames, Tooltip_module_default.a.top, computedPlacement === 'top'), Object(defineProperty[\"a\" /* default */])(_classNames, Tooltip_module_default.a.right, computedPlacement === 'right'), Object(defineProperty[\"a\" /* default */])(_classNames, Tooltip_module_default.a.bottom, computedPlacement === 'bottom'), Object(defineProperty[\"a\" /* default */])(_classNames, Tooltip_module_default.a.left, computedPlacement === 'left'), _classNames)),\n ref: setPopperElement,\n style: popperStyles.popper\n }, attributes.popper), {}, {\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n children: tooltip\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: Tooltip_module_default.a.arrow,\n ref: setArrowElement,\n style: popperStyles.arrow\n })]\n })), {\n disabled: !isEnabled || !isShown\n });\n return triggerProps;\n};\n\n/* harmony default export */ var Tooltip_useTooltip = (useTooltip_useTooltip);\n// CONCATENATED MODULE: ./src/components/Tooltip/index.ts\n\n// EXTERNAL MODULE: ./src/components/Board/components/Cell/Cell.module.scss\nvar Cell_module = __webpack_require__(\"CjmZ\");\nvar Cell_module_default = /*#__PURE__*/__webpack_require__.n(Cell_module);\n\n// CONCATENATED MODULE: ./src/components/Board/components/Cell/Button.tsx\n\n\n\n\nfunction Button_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction Button_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Button_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty[\"a\" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Button_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\nvar Button_Button = function Button(_ref) {\n var children = _ref.children,\n className = _ref.className,\n tooltip = _ref.tooltip,\n props = _objectWithoutProperties(_ref, [\"children\", \"className\", \"tooltip\"]);\n\n var triggerProps = Tooltip_useTooltip(tooltip, props);\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"button\", Button_objectSpread(Button_objectSpread(Button_objectSpread({\n className: classnames_default()(Cell_module_default.a.action, className) // It's fine to make it not focusable with TAB from a11y point of view\n // because alternative key combos are provided.\n ,\n tabIndex: -1,\n type: \"button\"\n }, props), triggerProps), {}, {\n children: children\n }));\n};\n\n/* harmony default export */ var Cell_Button = (Button_Button);\n// CONCATENATED MODULE: ./src/components/Board/components/Cell/lib.ts\n\n\nvar CHARACTER_CLASSNAMES = {\n 1: Cell_module_default.a.bonusCharacter1,\n 2: Cell_module_default.a.bonusCharacter2,\n 3: Cell_module_default.a.bonusCharacter3,\n 5: Cell_module_default.a.bonusCharacter5\n};\nvar WORD_CLASSNAMES = {\n 2: Cell_module_default.a.bonusWord2,\n 3: Cell_module_default.a.bonusWord3\n};\nvar CHARACTER_MULTIPLIER_CLASSNAMES = {\n 2: Cell_module_default.a.bonusCharacterMultiplier2,\n 3: Cell_module_default.a.bonusCharacterMultiplier3\n};\nvar lib_getBonusClassname = function getBonusClassname(cell, bonus) {\n if (!bonus || !cell.isEmpty) {\n return undefined;\n }\n\n var type = bonus.type;\n\n if (type === build[\"BONUS_WORD\"]) {\n return getWordBonusClassname(bonus);\n }\n\n if (type === build[\"BONUS_CHARACTER\"]) {\n return getCharacterBonusClassname(bonus);\n }\n\n throw new Error(\"Unknown bonus type: \".concat(type, \" \").concat(bonus.x, \" \").concat(bonus.y, \" \").concat(bonus.multiplier, \" \").concat(bonus.score));\n};\n\nvar getWordBonusClassname = function getWordBonusClassname(bonus) {\n return WORD_CLASSNAMES[bonus.multiplier];\n};\n\nvar getCharacterBonusClassname = function getCharacterBonusClassname(bonus) {\n if (bonus.score) {\n return CHARACTER_CLASSNAMES[bonus.score];\n }\n\n return CHARACTER_MULTIPLIER_CLASSNAMES[bonus.multiplier];\n};\n// CONCATENATED MODULE: ./src/components/Board/components/Cell/CellPure.tsx\n\n\n\n\n\n\n\n\n\n\n\n\nvar CellPure_CellPure = function CellPure(_ref) {\n var bonus = _ref.bonus,\n cell = _ref.cell,\n className = _ref.className,\n direction = _ref.direction,\n inputRef = _ref.inputRef,\n isEmpty = _ref.isEmpty,\n points = _ref.points,\n size = _ref.size,\n style = _ref.style,\n tile = _ref.tile,\n translate = _ref.translate,\n onDirectionToggleClick = _ref.onDirectionToggleClick,\n onFocus = _ref.onFocus,\n onToggleBlankClick = _ref.onToggleBlankClick;\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: classnames_default()(Cell_module_default.a.cell, lib_getBonusClassname(cell, bonus), className, Object(defineProperty[\"a\" /* default */])({}, Cell_module_default.a.candidate, cell.isCandidate())),\n style: style,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Tile_Tile, {\n className: Cell_module_default.a.tile,\n character: isEmpty ? undefined : tile.character,\n highlighted: cell.isCandidate(),\n inputRef: inputRef,\n isBlank: tile.isBlank,\n points: points,\n raised: !isEmpty,\n size: size,\n tabIndex: cell.x === 0 && cell.y === 0 ? undefined : -1,\n onFocus: onFocus\n }), /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: Cell_module_default.a.actions,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Cell_Button, {\n tooltip: translate('cell.toggle-direction'),\n onClick: onDirectionToggleClick,\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SvgIcon_SvgIcon, {\n className: classnames_default()(Cell_module_default.a.toggleDirection, Object(defineProperty[\"a\" /* default */])({}, Cell_module_default.a.right, direction === 'horizontal')),\n icon: arrowDown\n })\n }), !isEmpty && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Cell_Button, {\n className: classnames_default()(Cell_module_default.a.blank, Object(defineProperty[\"a\" /* default */])({}, Cell_module_default.a.active, tile.isBlank)),\n tooltip: tile.isBlank ? translate('cell.set-not-blank') : translate('cell.set-blank'),\n onClick: onToggleBlankClick,\n children: \"B\"\n })]\n })]\n });\n};\n\n/* harmony default export */ var Cell_CellPure = (/*#__PURE__*/Object(react[\"memo\"])(CellPure_CellPure));\n// CONCATENATED MODULE: ./src/components/Board/components/Cell/Cell.tsx\n\n\n\n\n\n\n\n\nvar Cell_Cell = function Cell(_ref) {\n var cell = _ref.cell,\n className = _ref.className,\n direction = _ref.direction,\n inputRef = _ref.inputRef,\n size = _ref.size,\n onDirectionToggle = _ref.onDirectionToggle,\n onFocus = _ref.onFocus;\n var tile = cell.tile,\n x = cell.x,\n y = cell.y;\n var dispatch = Object(es[\"b\" /* useDispatch */])();\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n var bonus = Object(src_state[\"G\" /* useTypedSelector */])(function (state) {\n return Object(src_state[\"l\" /* selectCellBonus */])(state, cell);\n });\n var points = Object(src_state[\"G\" /* useTypedSelector */])(function (state) {\n return Object(src_state[\"C\" /* selectTilePoints */])(state, cell.tile);\n });\n\n var _getTileSizes = Object(lib[\"k\" /* getTileSizes */])(size),\n tileFontSize = _getTileSizes.tileFontSize;\n\n var isEmpty = tile.character === build[\"EMPTY_CELL\"];\n var style = Object(react[\"useMemo\"])(function () {\n return {\n fontSize: tileFontSize\n };\n }, [tileFontSize]);\n var handleFocus = Object(react[\"useCallback\"])(function () {\n return onFocus(x, y);\n }, [x, y, onFocus]);\n var handleToggleBlankClick = Object(react[\"useCallback\"])(function () {\n if (inputRef.current) {\n inputRef.current.focus();\n }\n\n dispatch(src_state[\"a\" /* boardSlice */].actions.toggleCellIsBlank({\n x: x,\n y: y\n }));\n }, [dispatch, x, y]);\n var handleDirectionToggleClick = Object(react[\"useCallback\"])(function () {\n if (inputRef.current) {\n inputRef.current.focus();\n }\n\n onDirectionToggle();\n }, [onDirectionToggle]);\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Cell_CellPure, {\n bonus: bonus,\n cell: cell,\n className: className,\n direction: direction,\n inputRef: inputRef,\n isEmpty: isEmpty,\n points: points,\n size: size,\n style: style,\n tile: tile,\n translate: translate,\n onDirectionToggleClick: handleDirectionToggleClick,\n onFocus: handleFocus,\n onToggleBlankClick: handleToggleBlankClick\n });\n};\n\n/* harmony default export */ var components_Cell_Cell = (Cell_Cell);\n// CONCATENATED MODULE: ./src/components/Board/components/Cell/index.ts\n\n// CONCATENATED MODULE: ./src/components/Board/components/index.ts\n\n// CONCATENATED MODULE: ./src/components/Board/BoardPure.tsx\n\n\n\n\n\n\nvar BoardPure_BoardPure = function BoardPure(_ref) {\n var className = _ref.className,\n innerRef = _ref.innerRef,\n lastDirection = _ref.lastDirection,\n refs = _ref.refs,\n rows = _ref.rows,\n cellSize = _ref.cellSize,\n onDirectionToggle = _ref.onDirectionToggle,\n onFocus = _ref.onFocus,\n onKeyDown = _ref.onKeyDown;\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: classnames_default()(Board_module_default.a.board, className),\n ref: innerRef,\n onKeyDown: onKeyDown,\n children: rows.map(function (cells, y) {\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: Board_module_default.a.row,\n children: cells.map(function (cell, x) {\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Cell_Cell, {\n className: Board_module_default.a.cell,\n cell: cell,\n direction: lastDirection,\n inputRef: refs[y][x],\n size: cellSize,\n onDirectionToggle: onDirectionToggle,\n onFocus: onFocus\n }, x);\n })\n }, y);\n })\n });\n};\n\n/* harmony default export */ var Board_BoardPure = (/*#__PURE__*/Object(react[\"memo\"])(BoardPure_BoardPure));\n// CONCATENATED MODULE: ./node_modules/react-use/esm/useLatest.js\n\nvar useLatest = function (value) {\n var ref = Object(react[\"useRef\"])(value);\n ref.current = value;\n return ref;\n};\n/* harmony default export */ var esm_useLatest = (useLatest);\n\n// CONCATENATED MODULE: ./src/components/Board/lib/getPositionInGrid.ts\nvar getPositionInGrid = function getPositionInGrid(grid, constraint) {\n for (var y = 0; y < grid.length; ++y) {\n for (var x = 0; x < grid[0].length; ++x) {\n if (constraint(grid[y][x])) {\n return {\n x: x,\n y: y\n };\n }\n }\n }\n\n return undefined;\n};\n\n/* harmony default export */ var lib_getPositionInGrid = (getPositionInGrid);\n// CONCATENATED MODULE: ./src/components/Board/lib/index.ts\n\n// CONCATENATED MODULE: ./src/components/Board/hooks/useGrid.ts\n\n\nfunction useGrid_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction useGrid_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { useGrid_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty[\"a\" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { useGrid_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\n\n\nvar useGrid_useGrid = function useGrid(rows) {\n var height = rows.length;\n var width = rows[0].length;\n var dispatch = Object(es[\"b\" /* useDispatch */])();\n var config = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"n\" /* selectConfig */]);\n var refs = Object(react[\"useMemo\"])(function () {\n return Object(lib[\"c\" /* createGridOf */])(width, height, function () {\n return /*#__PURE__*/Object(react[\"createRef\"])();\n });\n }, [width, height]);\n var activeIndexRef = Object(react[\"useRef\"])({\n x: 0,\n y: 0\n });\n\n var _useState = Object(react[\"useState\"])('horizontal'),\n lastDirection = _useState[0],\n setLastDirection = _useState[1];\n\n var lastDirectionRef = esm_useLatest(lastDirection);\n var changeActiveIndex = Object(react[\"useCallback\"])(function (offsetX, offsetY) {\n var _refs$y$x$current;\n\n var x = Math.min(Math.max(activeIndexRef.current.x + offsetX, 0), width - 1);\n var y = Math.min(Math.max(activeIndexRef.current.y + offsetY, 0), height - 1);\n activeIndexRef.current = {\n x: x,\n y: y\n };\n (_refs$y$x$current = refs[y][x].current) === null || _refs$y$x$current === void 0 ? void 0 : _refs$y$x$current.focus();\n }, [activeIndexRef, refs]);\n var getInputRefPosition = Object(react[\"useCallback\"])(function (inputRef) {\n return lib_getPositionInGrid(refs, function (ref) {\n return ref.current === inputRef;\n });\n }, [refs]);\n var onDirectionToggle = Object(react[\"useCallback\"])(function () {\n setLastDirection(function (direction) {\n return direction === 'vertical' ? 'horizontal' : 'vertical';\n });\n }, []);\n var onFocus = Object(react[\"useCallback\"])(function (x, y) {\n activeIndexRef.current = {\n x: x,\n y: y\n };\n }, []);\n var onMoveFocus = Object(react[\"useCallback\"])(function (direction) {\n var offset = direction === 'forward' ? 1 : -1;\n\n if (lastDirectionRef.current === 'horizontal') {\n changeActiveIndex(offset, 0);\n } else {\n changeActiveIndex(0, offset);\n }\n }, [changeActiveIndex, lastDirectionRef]);\n var onKeyDown = Object(react[\"useMemo\"])(function () {\n return Object(lib[\"d\" /* createKeyboardNavigation */])({\n onArrowDown: function onArrowDown(event) {\n if (Object(lib[\"m\" /* isCtrl */])(event)) {\n onDirectionToggle();\n } else {\n changeActiveIndex(0, 1);\n }\n },\n onArrowLeft: function onArrowLeft(event) {\n if (Object(lib[\"m\" /* isCtrl */])(event)) {\n onDirectionToggle();\n } else {\n changeActiveIndex(-1, 0);\n }\n },\n onArrowRight: function onArrowRight(event) {\n if (Object(lib[\"m\" /* isCtrl */])(event)) {\n onDirectionToggle();\n } else {\n changeActiveIndex(1, 0);\n }\n },\n onArrowUp: function onArrowUp(event) {\n if (Object(lib[\"m\" /* isCtrl */])(event)) {\n onDirectionToggle();\n } else {\n changeActiveIndex(0, -1);\n }\n },\n onBackspace: function onBackspace(event) {\n var position = getInputRefPosition(event.target);\n\n if (!position) {\n return;\n }\n\n dispatch(src_state[\"a\" /* boardSlice */].actions.changeCellValue(useGrid_objectSpread(useGrid_objectSpread({}, position), {}, {\n value: build[\"EMPTY_CELL\"]\n })));\n onMoveFocus('backward');\n },\n onDelete: function onDelete(event) {\n var position = getInputRefPosition(event.target);\n\n if (!position) {\n return;\n }\n\n dispatch(src_state[\"a\" /* boardSlice */].actions.changeCellValue(useGrid_objectSpread(useGrid_objectSpread({}, position), {}, {\n value: build[\"EMPTY_CELL\"]\n })));\n onMoveFocus('forward');\n },\n onKeyDown: function onKeyDown(event) {\n var position = getInputRefPosition(event.target);\n\n if (!position) {\n return;\n }\n\n var x = position.x,\n y = position.y;\n var character = event.key.toLowerCase();\n var isTogglingBlank = Object(lib[\"m\" /* isCtrl */])(event) && character === 'b';\n var twoCharacterTile = config.getTwoCharacterTileByPrefix(character);\n\n if (isTogglingBlank) {\n dispatch(src_state[\"a\" /* boardSlice */].actions.toggleCellIsBlank(position));\n return;\n }\n\n if (Object(lib[\"m\" /* isCtrl */])(event) && twoCharacterTile) {\n event.preventDefault();\n dispatch(src_state[\"a\" /* boardSlice */].actions.changeCellValue({\n x: x,\n y: y,\n value: twoCharacterTile\n }));\n onMoveFocus('forward');\n return;\n }\n\n if (!config.hasCharacter(character)) {\n return;\n }\n\n var canCheckUp = y - 1 > 0;\n var canCheckLeft = x > 0;\n var canCheckRight = x + 1 < width;\n var canCheckDown = y + 1 < height;\n\n if (canCheckUp) {\n var cellUp = rows[y - 1][x];\n var twoCharacterCandidate = cellUp.tile.character + character;\n\n if (config.twoCharacterTiles.includes(twoCharacterCandidate)) {\n dispatch(src_state[\"a\" /* boardSlice */].actions.changeCellValue(useGrid_objectSpread(useGrid_objectSpread({}, position), {}, {\n y: y - 1,\n value: twoCharacterCandidate\n })));\n return;\n }\n }\n\n if (canCheckDown) {\n var cellDown = rows[y + 1][x];\n\n var _twoCharacterCandidate = character + cellDown.tile.character;\n\n if (config.twoCharacterTiles.includes(_twoCharacterCandidate)) {\n dispatch(src_state[\"a\" /* boardSlice */].actions.changeCellValue(useGrid_objectSpread(useGrid_objectSpread({}, position), {}, {\n value: character\n })));\n dispatch(src_state[\"a\" /* boardSlice */].actions.changeCellValue(useGrid_objectSpread(useGrid_objectSpread({}, position), {}, {\n y: y + 1,\n value: build[\"EMPTY_CELL\"]\n })));\n onMoveFocus('forward');\n return;\n }\n }\n\n if (canCheckLeft) {\n var cellLeft = rows[y][x - 1];\n\n var _twoCharacterCandidate2 = cellLeft.tile.character + character;\n\n if (config.twoCharacterTiles.includes(_twoCharacterCandidate2)) {\n dispatch(src_state[\"a\" /* boardSlice */].actions.changeCellValue(useGrid_objectSpread(useGrid_objectSpread({}, position), {}, {\n x: x - 1,\n value: _twoCharacterCandidate2\n })));\n return;\n }\n }\n\n if (canCheckRight) {\n var cellRight = rows[y][x + 1];\n\n var _twoCharacterCandidate3 = character + cellRight.tile.character;\n\n if (config.twoCharacterTiles.includes(_twoCharacterCandidate3)) {\n dispatch(src_state[\"a\" /* boardSlice */].actions.changeCellValue(useGrid_objectSpread(useGrid_objectSpread({}, position), {}, {\n value: character\n })));\n dispatch(src_state[\"a\" /* boardSlice */].actions.changeCellValue(useGrid_objectSpread(useGrid_objectSpread({}, position), {}, {\n x: x + 1,\n value: build[\"EMPTY_CELL\"]\n })));\n onMoveFocus('forward');\n return;\n }\n }\n\n if (!canCheckDown || !canCheckRight) {\n var cell = rows[y][x];\n\n var _twoCharacterCandidate4 = cell.tile.character + character;\n\n if (config.twoCharacterTiles.includes(_twoCharacterCandidate4)) {\n dispatch(src_state[\"a\" /* boardSlice */].actions.changeCellValue(useGrid_objectSpread(useGrid_objectSpread({}, position), {}, {\n value: _twoCharacterCandidate4\n })));\n return;\n }\n }\n\n dispatch(src_state[\"a\" /* boardSlice */].actions.changeCellValue(useGrid_objectSpread(useGrid_objectSpread({}, position), {}, {\n value: character\n })));\n onMoveFocus('forward');\n }\n });\n }, [changeActiveIndex, config, dispatch, lastDirectionRef, onDirectionToggle, rows]);\n return [{\n lastDirection: lastDirection,\n refs: refs\n }, {\n onDirectionToggle: onDirectionToggle,\n onFocus: onFocus,\n onKeyDown: onKeyDown\n }];\n};\n\n/* harmony default export */ var hooks_useGrid = (useGrid_useGrid);\n// CONCATENATED MODULE: ./src/components/Board/hooks/index.ts\n\n// CONCATENATED MODULE: ./src/components/Board/Board.tsx\n\n\n\n\n\n\n\nvar Board_Board = function Board(_ref) {\n var cellSize = _ref.cellSize,\n className = _ref.className,\n innerRef = _ref.innerRef;\n var rows = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"z\" /* selectRowsWithCandidate */]);\n\n var _useGrid = hooks_useGrid(rows),\n _useGrid2 = Object(slicedToArray[\"a\" /* default */])(_useGrid, 2),\n _useGrid2$ = _useGrid2[0],\n lastDirection = _useGrid2$.lastDirection,\n refs = _useGrid2$.refs,\n _useGrid2$2 = _useGrid2[1],\n onDirectionToggle = _useGrid2$2.onDirectionToggle,\n onFocus = _useGrid2$2.onFocus,\n onKeyDown = _useGrid2$2.onKeyDown;\n\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Board_BoardPure, {\n className: className,\n cellSize: cellSize,\n innerRef: innerRef,\n lastDirection: lastDirection,\n refs: refs,\n rows: rows,\n onDirectionToggle: onDirectionToggle,\n onFocus: onFocus,\n onKeyDown: onKeyDown\n });\n};\n\n/* harmony default export */ var components_Board_Board = (Board_Board);\n// CONCATENATED MODULE: ./src/components/Board/index.ts\n\n// EXTERNAL MODULE: ./src/components/Button/Button.module.scss\nvar Button_module = __webpack_require__(\"1zWx\");\nvar Button_module_default = /*#__PURE__*/__webpack_require__.n(Button_module);\n\n// CONCATENATED MODULE: ./src/components/Button/Button.tsx\n\n\n\n\n\nfunction Button_Button_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction Button_Button_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Button_Button_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty[\"a\" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Button_Button_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\nvar Button_Button_Button = function Button(_ref) {\n var children = _ref.children,\n className = _ref.className,\n icon = _ref.icon,\n tooltip = _ref.tooltip,\n props = _objectWithoutProperties(_ref, [\"children\", \"className\", \"icon\", \"tooltip\"]);\n\n var triggerProps = Tooltip_useTooltip(tooltip, props);\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"button\", Button_Button_objectSpread(Button_Button_objectSpread(Button_Button_objectSpread({\n className: classnames_default()(Button_module_default.a.button, className),\n type: \"button\"\n }, props), triggerProps), {}, {\n children: /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"span\", {\n className: Button_module_default.a.content,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"span\", {\n className: Button_module_default.a.label,\n children: children\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SvgIcon_SvgIcon, {\n className: Button_module_default.a.icon,\n icon: icon\n })]\n })\n }));\n};\n\n/* harmony default export */ var components_Button_Button = (Button_Button_Button);\n// CONCATENATED MODULE: ./src/components/Button/index.ts\n\n// EXTERNAL MODULE: ./src/components/Checkbox/Checkbox.module.scss\nvar Checkbox_module = __webpack_require__(\"hj7B\");\nvar Checkbox_module_default = /*#__PURE__*/__webpack_require__.n(Checkbox_module);\n\n// CONCATENATED MODULE: ./src/components/Checkbox/Checkbox.tsx\n\n\n\n\n\n\n\n\n\nvar Checkbox_Checkbox = function Checkbox(_ref) {\n var checked = _ref.checked,\n children = _ref.children,\n className = _ref.className,\n disabled = _ref.disabled,\n id = _ref.id,\n name = _ref.name,\n onChange = _ref.onChange;\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"label\", {\n className: classnames_default()(Checkbox_module_default.a.checkbox, className, Object(defineProperty[\"a\" /* default */])({}, Checkbox_module_default.a.checked, checked)),\n htmlFor: id,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"input\", {\n checked: checked,\n className: Checkbox_module_default.a.input,\n disabled: disabled,\n id: id,\n name: name,\n type: \"checkbox\",\n onChange: onChange\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SvgIcon_SvgIcon, {\n className: Checkbox_module_default.a.icon,\n icon: checked ? checkboxChecked : checkboxEmpty\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: Checkbox_module_default.a.content,\n children: children\n })]\n });\n};\n\n/* harmony default export */ var components_Checkbox_Checkbox = (Checkbox_Checkbox);\n// CONCATENATED MODULE: ./src/components/Checkbox/index.ts\n\n// EXTERNAL MODULE: ./src/parameters/index.ts\nvar parameters = __webpack_require__(\"dm5A\");\n\n// EXTERNAL MODULE: ../configs/build/index.js\nvar configs_build = __webpack_require__(\"4VI5\");\n\n// EXTERNAL MODULE: ../types/build/index.js\nvar types_build = __webpack_require__(\"v/x1\");\n\n// CONCATENATED MODULE: ./src/components/PlainTiles/lib/getX.ts\n\n\nvar getX_getX = function getX(index) {\n return parameters[\"o\" /* PLAIN_TILES_PADDING_HORIZONTAL */] + index * (parameters[\"u\" /* PLAIN_TILES_TILE_SIZE */] + parameters[\"r\" /* PLAIN_TILES_TILE_MARGIN */]);\n};\n\n/* harmony default export */ var lib_getX = (getX_getX);\n// CONCATENATED MODULE: ./src/components/PlainTiles/lib/getY.ts\n\n\nvar getY_getY = function getY(index) {\n return parameters[\"p\" /* PLAIN_TILES_PADDING_VERTICAL */] + index * (parameters[\"u\" /* PLAIN_TILES_TILE_SIZE */] + parameters[\"r\" /* PLAIN_TILES_TILE_MARGIN */]);\n};\n\n/* harmony default export */ var lib_getY = (getY_getY);\n// CONCATENATED MODULE: ./src/components/PlainTiles/lib/randomize.ts\nvar randomize = function randomize(value, maxChange) {\n return value + maxChange * 2 * (0.5 - Math.random());\n};\n\n/* harmony default export */ var lib_randomize = (randomize);\n// CONCATENATED MODULE: ./src/components/PlainTiles/lib/createPlainTile.ts\n\n\n\n\n\n\n\nvar createPlainTile_createPlainTile = function createPlainTile(_ref) {\n var cellIndex = _ref.cellIndex,\n character = _ref.character,\n color = _ref.color,\n rowIndex = _ref.rowIndex,\n showPoints = _ref.showPoints;\n var configPoints = configs_build[\"literaki\"][types_build[\"Locale\"].EN_US].getCharacterPoints(character.toLowerCase());\n var points = showPoints ? configPoints : undefined;\n var defaultColor = typeof configPoints === 'number' ? parameters[\"q\" /* PLAIN_TILES_POINTS_COLORS */][configPoints] : parameters[\"n\" /* PLAIN_TILES_COLOR_DEFAULT */];\n var x = lib_getX(cellIndex) + parameters[\"u\" /* PLAIN_TILES_TILE_SIZE */] / 2;\n var y = lib_getY(0) + parameters[\"u\" /* PLAIN_TILES_TILE_SIZE */] / 2;\n return {\n character: character,\n color: color || defaultColor,\n points: points,\n size: parameters[\"u\" /* PLAIN_TILES_TILE_SIZE */],\n transform: \"rotate(\".concat(lib_randomize(0, parameters[\"s\" /* PLAIN_TILES_TILE_MAX_ROTATE */]), \", \").concat(x, \", \").concat(y, \")\"),\n x: lib_randomize(lib_getX(cellIndex), parameters[\"t\" /* PLAIN_TILES_TILE_MAX_SCATTER */]),\n y: lib_randomize(lib_getY(rowIndex), parameters[\"t\" /* PLAIN_TILES_TILE_MAX_SCATTER */])\n };\n};\n\n/* harmony default export */ var lib_createPlainTile = (createPlainTile_createPlainTile);\n// CONCATENATED MODULE: ./src/components/PlainTiles/lib/createPlainTiles.ts\n\n\nvar createPlainTiles_createPlainTiles = function createPlainTiles(_ref) {\n var color = _ref.color,\n content = _ref.content,\n showPoints = _ref.showPoints;\n var rows = content.map(function (words, rowIndex) {\n return words.map(function (word, wordIndex) {\n var cellOffset = words.slice(0, wordIndex).reduce(function (result, _ref2) {\n var length = _ref2.length;\n return result + length + ' '.length;\n }, 0);\n var characters = word.split('');\n return characters.map(function (character, cellIndex) {\n return lib_createPlainTile({\n cellIndex: cellOffset + cellIndex,\n character: character,\n color: color,\n rowIndex: rowIndex,\n showPoints: showPoints\n });\n });\n });\n });\n var tiles = rows.flat(2);\n return tiles;\n};\n\n/* harmony default export */ var lib_createPlainTiles = (createPlainTiles_createPlainTiles);\n// CONCATENATED MODULE: ./src/components/PlainTiles/lib/getViewbox.ts\n\n\nvar getViewbox_getViewbox = function getViewbox(content) {\n var longestRowLength = content.reduce(function (result, words) {\n var wordsLength = words.reduce(function (sum, word) {\n return sum + word.length;\n }, 0);\n var rowLength = wordsLength + Math.max(words.length - 1, 0);\n return Math.max(result, rowLength);\n }, 0);\n var width = longestRowLength * (parameters[\"u\" /* PLAIN_TILES_TILE_SIZE */] + parameters[\"r\" /* PLAIN_TILES_TILE_MARGIN */]) - (longestRowLength === 0 ? 0 : parameters[\"r\" /* PLAIN_TILES_TILE_MARGIN */]);\n var height = content.length * (parameters[\"u\" /* PLAIN_TILES_TILE_SIZE */] + parameters[\"r\" /* PLAIN_TILES_TILE_MARGIN */]) - (content.length === 0 ? 0 : parameters[\"r\" /* PLAIN_TILES_TILE_MARGIN */]);\n return \"0 0 \".concat(width, \" \").concat(height);\n};\n\n/* harmony default export */ var lib_getViewbox = (getViewbox_getViewbox);\n// CONCATENATED MODULE: ./src/components/PlainTiles/lib/index.ts\n\n\n\n\n\n\n// EXTERNAL MODULE: ./src/components/PlainTiles/PlainTiles.module.scss\nvar PlainTiles_module = __webpack_require__(\"WX7Y\");\nvar PlainTiles_module_default = /*#__PURE__*/__webpack_require__.n(PlainTiles_module);\n\n// CONCATENATED MODULE: ./src/components/PlainTiles/Tile.tsx\n\n\n\n\nvar PlainTiles_Tile_Tile = function Tile(_ref) {\n var character = _ref.character,\n className = _ref.className,\n color = _ref.color,\n points = _ref.points,\n size = _ref.size,\n transform = _ref.transform,\n x = _ref.x,\n y = _ref.y;\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"g\", {\n className: className,\n transform: transform,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"rect\", {\n fill: color,\n height: size,\n width: size,\n x: x,\n y: y\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"text\", {\n dominantBaseline: \"central\",\n fontFamily: \"Open Sans\",\n fontSize: 0.6 * size,\n fontWeight: \"bold\",\n textAnchor: \"middle\",\n x: x + size / 2,\n y: y + size / 2,\n children: character\n }), typeof points === 'number' && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"text\", {\n dominantBaseline: \"text-after-edge\",\n fontFamily: \"Open Sans\",\n fontSize: 0.25 * size,\n fontWeight: \"bold\",\n textAnchor: \"end\",\n x: x + size * 0.9,\n y: y + size * 0.95,\n children: points\n })]\n });\n};\n\n/* harmony default export */ var PlainTiles_Tile = (PlainTiles_Tile_Tile);\n// CONCATENATED MODULE: ./src/components/PlainTiles/PlainTiles.tsx\n\n\n\n\n\n\n\n\nvar PlainTiles_PlainTiles = function PlainTiles(_ref) {\n var _classNames;\n\n var className = _ref.className,\n color = _ref.color,\n content = _ref.content,\n dropShadow = _ref.dropShadow,\n showPoints = _ref.showPoints,\n style = _ref.style,\n wave = _ref.wave;\n var tiles = Object(react[\"useMemo\"])(function () {\n return lib_createPlainTiles({\n color: color,\n content: content,\n showPoints: showPoints\n });\n }, [color, content, showPoints]);\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"svg\", {\n className: classnames_default()(className, (_classNames = {}, Object(defineProperty[\"a\" /* default */])(_classNames, PlainTiles_module_default.a.dropShadow, dropShadow), Object(defineProperty[\"a\" /* default */])(_classNames, PlainTiles_module_default.a.wave, wave), _classNames)),\n style: style,\n viewBox: lib_getViewbox(content),\n xmlns: \"http://www.w3.org/2000/svg\",\n children: tiles.map(function (tile, index) {\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(PlainTiles_Tile, {\n character: tile.character,\n className: PlainTiles_module_default.a.tile,\n color: tile.color,\n points: tile.points,\n size: tile.size,\n transform: tile.transform,\n x: tile.x,\n y: tile.y\n }, index);\n })\n });\n};\n\n/* harmony default export */ var components_PlainTiles_PlainTiles = (PlainTiles_PlainTiles);\n// CONCATENATED MODULE: ./src/components/PlainTiles/index.ts\n\n// EXTERNAL MODULE: ./src/components/EmptyState/EmptyState.module.scss\nvar EmptyState_module = __webpack_require__(\"Jsr2\");\nvar EmptyState_module_default = /*#__PURE__*/__webpack_require__.n(EmptyState_module);\n\n// CONCATENATED MODULE: ./src/components/EmptyState/EmptyState.tsx\n\n\n\n\n\n\n\n\nvar TITLE_KEY_PER_TYPE = {\n error: 'empty-state.error',\n info: 'empty-state.info',\n success: 'empty-state.success',\n warning: 'empty-state.warning'\n};\nvar COLORS_PER_TYPE = {\n error: parameters[\"h\" /* COLOR_RED */],\n info: parameters[\"f\" /* COLOR_BLUE */],\n success: parameters[\"g\" /* COLOR_GREEN */],\n warning: parameters[\"i\" /* COLOR_YELLOW */]\n};\n\nvar EmptyState_EmptyState = function EmptyState(_ref) {\n var className = _ref.className,\n children = _ref.children,\n type = _ref.type;\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n var title = Object(react[\"useMemo\"])(function () {\n return translate(TITLE_KEY_PER_TYPE[type]);\n }, [translate]);\n var content = Object(react[\"useMemo\"])(function () {\n return [[title.toUpperCase()]];\n }, [title]);\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: classnames_default()(EmptyState_module_default.a.emptyState, className),\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_PlainTiles_PlainTiles, {\n className: EmptyState_module_default.a.tiles,\n color: COLORS_PER_TYPE[type],\n content: content\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: EmptyState_module_default.a.content,\n children: children\n })]\n });\n};\n\n/* harmony default export */ var components_EmptyState_EmptyState = (EmptyState_EmptyState);\n// CONCATENATED MODULE: ./src/components/EmptyState/index.ts\n\n// EXTERNAL MODULE: ./src/components/Loading/Loading.module.scss\nvar Loading_module = __webpack_require__(\"sEFA\");\nvar Loading_module_default = /*#__PURE__*/__webpack_require__.n(Loading_module);\n\n// CONCATENATED MODULE: ./src/components/Loading/Loading.tsx\n\n\n\n\n\n\n\n\nvar Loading_Loading = function Loading(_ref) {\n var className = _ref.className,\n _ref$wave = _ref.wave,\n wave = _ref$wave === void 0 ? true : _ref$wave;\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n var content = Object(react[\"useMemo\"])(function () {\n return [[translate('common.loading').toUpperCase()]];\n }, [translate]);\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: classnames_default()(Loading_module_default.a.loading, className),\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: Loading_module_default.a.dim\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: Loading_module_default.a.logo,\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_PlainTiles_PlainTiles, {\n className: classnames_default()(Loading_module_default.a.tiles),\n content: content,\n dropShadow: true,\n wave: wave\n })\n })]\n });\n};\n\n/* harmony default export */ var components_Loading_Loading = (Loading_Loading);\n// CONCATENATED MODULE: ./src/components/Loading/index.ts\n\n// EXTERNAL MODULE: ./src/components/Dictionary/Dictionary.module.scss\nvar Dictionary_module = __webpack_require__(\"mk9T\");\nvar Dictionary_module_default = /*#__PURE__*/__webpack_require__.n(Dictionary_module);\n\n// CONCATENATED MODULE: ./src/components/Dictionary/Dictionary.tsx\n\n\n\n\n\n\n\n\n\n\n\nvar Dictionary_Dictionary = function Dictionary(_ref) {\n var _classNames;\n\n var className = _ref.className;\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n\n var _useTypedSelector = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"p\" /* selectDictionary */]),\n definitions = _useTypedSelector.definitions,\n isAllowed = _useTypedSelector.isAllowed,\n isLoading = _useTypedSelector.isLoading,\n word = _useTypedSelector.word;\n\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: classnames_default()(Dictionary_module_default.a.dictionary, className, (_classNames = {}, Object(defineProperty[\"a\" /* default */])(_classNames, Dictionary_module_default.a.isAllowed, isAllowed === true), Object(defineProperty[\"a\" /* default */])(_classNames, Dictionary_module_default.a.isNotAllowed, isAllowed === false), _classNames)),\n children: [typeof word === 'undefined' && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_EmptyState_EmptyState, {\n type: \"info\",\n children: translate('dictionary.empty-state.uninitialized')\n }), typeof word !== 'undefined' && /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: Dictionary_module_default.a.content,\n children: [word && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"h2\", {\n className: Dictionary_module_default.a.word,\n children: word\n }), isAllowed === false && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n children: translate('dictionary.empty-state.not-allowed')\n }), isAllowed === true && /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(jsx_runtime[\"Fragment\"], {\n children: [definitions.length === 0 && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n children: translate('dictionary.empty-state.no-definitions')\n }), definitions.length > 0 && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"ul\", {\n className: Dictionary_module_default.a.definitions,\n children: definitions.map(function (result, index) {\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"li\", {\n className: Dictionary_module_default.a.definition,\n children: result\n }, index);\n })\n })]\n }), !isLoading && isAllowed === null && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n children: translate('dictionary.empty-state.no-results')\n })]\n }), isLoading && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Loading_Loading, {})]\n });\n};\n\n/* harmony default export */ var components_Dictionary_Dictionary = (Dictionary_Dictionary);\n// CONCATENATED MODULE: ./src/components/Dictionary/index.ts\n\n// EXTERNAL MODULE: ./src/components/DictionaryInput/DictionaryInput.module.scss\nvar DictionaryInput_module = __webpack_require__(\"EIE9\");\nvar DictionaryInput_module_default = /*#__PURE__*/__webpack_require__.n(DictionaryInput_module);\n\n// CONCATENATED MODULE: ./src/components/DictionaryInput/DictionaryInput.tsx\n\n\n\n\n\n\n\nvar DictionaryInput_DictionaryInput = function DictionaryInput(_ref) {\n var className = _ref.className;\n var dispatch = Object(es[\"b\" /* useDispatch */])();\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n\n var _useTypedSelector = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"p\" /* selectDictionary */]),\n input = _useTypedSelector.input;\n\n var handleChange = function handleChange(event) {\n dispatch(src_state[\"c\" /* dictionarySlice */].actions.changeInput(event.target.value));\n };\n\n var handleSubmit = function handleSubmit(event) {\n event.preventDefault();\n dispatch(src_state[\"c\" /* dictionarySlice */].actions.submit());\n };\n\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"form\", {\n className: classnames_default()(DictionaryInput_module_default.a.dictionaryInput, className),\n onSubmit: handleSubmit,\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"input\", {\n className: DictionaryInput_module_default.a.input,\n placeholder: translate('dictionary.input.placeholder'),\n required: true,\n type: \"text\",\n value: input,\n onChange: handleChange\n })\n });\n};\n\n/* harmony default export */ var components_DictionaryInput_DictionaryInput = (DictionaryInput_DictionaryInput);\n// CONCATENATED MODULE: ./src/components/DictionaryInput/index.ts\n\n// EXTERNAL MODULE: ./src/components/Key/Key.module.scss\nvar Key_module = __webpack_require__(\"99so\");\nvar Key_module_default = /*#__PURE__*/__webpack_require__.n(Key_module);\n\n// CONCATENATED MODULE: ./src/components/Key/Key.tsx\n\n\n\n\n\nvar Key_Key = function Key(_ref) {\n var children = _ref.children,\n className = _ref.className;\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"kbd\", {\n className: classnames_default()(Key_module_default.a.key, className),\n children: children\n });\n};\n\n/* harmony default export */ var components_Key_Key = (Key_Key);\n// CONCATENATED MODULE: ./src/components/Key/index.ts\n\n// EXTERNAL MODULE: ./node_modules/react-modal/lib/index.js\nvar react_modal_lib = __webpack_require__(\"9rZX\");\nvar lib_default = /*#__PURE__*/__webpack_require__.n(react_modal_lib);\n\n// EXTERNAL MODULE: ./src/components/SquareButton/SquareButton.module.scss\nvar SquareButton_module = __webpack_require__(\"5d2k\");\nvar SquareButton_module_default = /*#__PURE__*/__webpack_require__.n(SquareButton_module);\n\n// CONCATENATED MODULE: ./src/components/SquareButton/Link.tsx\n\n\n\n\nfunction Link_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction Link_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Link_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty[\"a\" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Link_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\nvar Link_Link = function Link(_ref) {\n var className = _ref.className,\n icon = _ref.icon,\n tooltip = _ref.tooltip,\n props = _objectWithoutProperties(_ref, [\"className\", \"icon\", \"tooltip\"]);\n\n var triggerProps = Tooltip_useTooltip(tooltip, props);\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"a\", Link_objectSpread(Link_objectSpread(Link_objectSpread({\n className: classnames_default()(SquareButton_module_default.a.squareButton, className),\n type: \"button\"\n }, props), triggerProps), {}, {\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"span\", {\n className: SquareButton_module_default.a.content,\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SvgIcon_SvgIcon, {\n className: SquareButton_module_default.a.icon,\n icon: icon\n })\n })\n }));\n};\n\n/* harmony default export */ var SquareButton_Link = (Link_Link);\n// CONCATENATED MODULE: ./src/components/SquareButton/SquareButton.tsx\n\n\n\n\nfunction SquareButton_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction SquareButton_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { SquareButton_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty[\"a\" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { SquareButton_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\n\nvar SquareButton_SquareButton = function SquareButton(_ref) {\n var className = _ref.className,\n icon = _ref.icon,\n tooltip = _ref.tooltip,\n props = _objectWithoutProperties(_ref, [\"className\", \"icon\", \"tooltip\"]);\n\n var triggerProps = Tooltip_useTooltip(tooltip, props);\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"button\", SquareButton_objectSpread(SquareButton_objectSpread(SquareButton_objectSpread({\n className: classnames_default()(SquareButton_module_default.a.squareButton, className),\n type: \"button\"\n }, props), triggerProps), {}, {\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"span\", {\n className: SquareButton_module_default.a.content,\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SvgIcon_SvgIcon, {\n className: SquareButton_module_default.a.icon,\n icon: icon\n })\n })\n }));\n};\n\n/* harmony default export */ var components_SquareButton_SquareButton = (Object.assign(SquareButton_SquareButton, {\n Link: SquareButton_Link\n}));\n// CONCATENATED MODULE: ./src/components/SquareButton/index.ts\n\n// EXTERNAL MODULE: ./src/components/Sidebar/components/Section/Section.module.scss\nvar Section_module = __webpack_require__(\"z9kn\");\nvar Section_module_default = /*#__PURE__*/__webpack_require__.n(Section_module);\n\n// CONCATENATED MODULE: ./src/components/Sidebar/components/Section/Section.tsx\n\n\n\n\n\n\nvar Section_Section = function Section(_ref) {\n var children = _ref.children,\n className = _ref.className,\n title = _ref.title;\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"section\", {\n className: classnames_default()(Section_module_default.a.section, className),\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"h2\", {\n className: Section_module_default.a.heading,\n children: title\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n children: children\n })]\n });\n};\n\n/* harmony default export */ var components_Section_Section = (Section_Section);\n// CONCATENATED MODULE: ./src/components/Sidebar/components/Section/index.ts\n\n// CONCATENATED MODULE: ./src/components/Sidebar/components/index.ts\n\n// EXTERNAL MODULE: ./src/components/Sidebar/Sidebar.module.scss\nvar Sidebar_module = __webpack_require__(\"SySy\");\nvar Sidebar_module_default = /*#__PURE__*/__webpack_require__.n(Sidebar_module);\n\n// CONCATENATED MODULE: ./src/components/Sidebar/Sidebar.tsx\n\n\n\n\n\n\n\n\n\n\n\n\nvar Sidebar_Sidebar = function Sidebar(_ref) {\n var children = _ref.children,\n className = _ref.className,\n isOpen = _ref.isOpen,\n title = _ref.title,\n onClose = _ref.onClose;\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(lib_default.a, {\n className: {\n afterOpen: Sidebar_module_default.a.afterOpen,\n base: Sidebar_module_default.a.modal,\n beforeClose: Sidebar_module_default.a.beforeClose\n },\n closeTimeoutMS: parameters[\"A\" /* TRANSITION_DURATION_LONG */],\n contentLabel: title,\n isOpen: isOpen,\n overlayClassName: Sidebar_module_default.a.overlay,\n onRequestClose: onClose,\n children: /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: classnames_default()(Sidebar_module_default.a.sidebar, className),\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: Sidebar_module_default.a.header,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"h1\", {\n className: Sidebar_module_default.a.title,\n children: title\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SquareButton_SquareButton, {\n className: Sidebar_module_default.a.closeButton,\n icon: cross,\n tooltip: translate('common.close'),\n onClick: onClose\n })]\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: Sidebar_module_default.a.content,\n children: children\n })]\n })\n });\n};\n\n/* harmony default export */ var components_Sidebar_Sidebar = (Object.assign(Sidebar_Sidebar, {\n Section: components_Section_Section\n}));\n// CONCATENATED MODULE: ./src/components/Sidebar/index.ts\n\n// EXTERNAL MODULE: ./src/components/KeyMap/components/Mapping/Mapping.module.scss\nvar Mapping_module = __webpack_require__(\"IH9G\");\nvar Mapping_module_default = /*#__PURE__*/__webpack_require__.n(Mapping_module);\n\n// CONCATENATED MODULE: ./src/components/KeyMap/components/Mapping/Mapping.tsx\n\n\n\n\n\n\n\nvar Mapping_Mapping = function Mapping(_ref) {\n var className = _ref.className,\n description = _ref.description,\n mapping = _ref.mapping;\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: classnames_default()(Mapping_module_default.a.mapping, className),\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"h3\", {\n className: Mapping_module_default.a.description,\n children: description\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: Mapping_module_default.a.keys,\n children: mapping.map(function (key, index) {\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: Mapping_module_default.a.group,\n children: Array.isArray(key) ? /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(jsx_runtime[\"Fragment\"], {\n children: [key[0], /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"span\", {\n className: Mapping_module_default.a.plus,\n children: \"+\"\n }), key[1]]\n }) : key\n }, index);\n })\n })]\n });\n};\n\n/* harmony default export */ var components_Mapping_Mapping = (Mapping_Mapping);\n// CONCATENATED MODULE: ./src/components/KeyMap/components/Mapping/index.ts\n\n// CONCATENATED MODULE: ./src/components/KeyMap/components/index.ts\n\n// CONCATENATED MODULE: ./src/components/KeyMap/keys.tsx\n\n\n\n\n\n\n\n\nvar ARROW_DOWN = /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Key_Key, {\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SvgIcon_SvgIcon, {\n icon: arrowLeft\n })\n});\nvar ARROW_LEFT = /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Key_Key, {\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SvgIcon_SvgIcon, {\n icon: arrowUp\n })\n});\nvar ARROW_RIGHT = /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Key_Key, {\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SvgIcon_SvgIcon, {\n icon: arrowRight\n })\n});\nvar ARROW_UP = /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Key_Key, {\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SvgIcon_SvgIcon, {\n icon: arrowDown\n })\n});\nvar BACKSPACE = /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Key_Key, {\n children: \"\\u2190 Backspace\"\n});\nvar CTRL = /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Key_Key, {\n children: Object(lib[\"n\" /* isMac */])() ? '⌘' : 'Ctrl'\n});\nvar DEL = /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Key_Key, {\n children: \"Del\"\n});\nvar ENTER = /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Key_Key, {\n children: \"Enter \\u23CE\"\n});\nvar ARROWS = /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(jsx_runtime[\"Fragment\"], {\n children: [ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP]\n});\nvar SPACE = /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Key_Key, {\n children: \"\\u2423\"\n});\n// CONCATENATED MODULE: ./src/components/KeyMap/KeyMap.tsx\n\n\n\n\n\n\n\n\n\n\n\nvar KeyMap_KeyMap = function KeyMap(_ref) {\n var className = _ref.className,\n isOpen = _ref.isOpen,\n onClose = _ref.onClose;\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n var config = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"n\" /* selectConfig */]);\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(components_Sidebar_Sidebar, {\n className: className,\n isOpen: isOpen,\n title: translate('keyMap'),\n onClose: onClose,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(components_Sidebar_Sidebar.Section, {\n title: translate('keyMap.board-and-rack'),\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Mapping_Mapping, {\n description: translate('keyMap.board-and-rack.navigate'),\n mapping: [ARROWS]\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Mapping_Mapping, {\n description: translate('keyMap.board-and-rack.remove-tile'),\n mapping: [DEL, BACKSPACE]\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Mapping_Mapping, {\n description: translate('keyMap.board-and-rack.submit'),\n mapping: [ENTER]\n }), config.twoCharacterTiles.length > 0 && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Mapping_Mapping, {\n description: translate('keyMap.board-and-rack.insert-two-letter-tile'),\n mapping: [[CTRL, /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(jsx_runtime[\"Fragment\"], {\n children: config.twoCharacterTiles.map(function (_ref2) {\n var _ref3 = Object(slicedToArray[\"a\" /* default */])(_ref2, 1),\n firstLetter = _ref3[0];\n\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Key_Key, {\n children: firstLetter.toUpperCase()\n }, firstLetter);\n })\n })]]\n })]\n }), /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(components_Sidebar_Sidebar.Section, {\n title: translate('keyMap.board'),\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Mapping_Mapping, {\n description: translate('keyMap.board.toggle-blank'),\n mapping: [[CTRL, /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Key_Key, {\n children: \"B\"\n }, \"b\")]]\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Mapping_Mapping, {\n description: translate('keyMap.board.toggle-direction'),\n mapping: [[CTRL, ARROWS]]\n })]\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Sidebar_Sidebar.Section, {\n title: translate('keyMap.rack'),\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Mapping_Mapping, {\n description: translate('keyMap.rack.insert-blank'),\n mapping: [SPACE]\n })\n })]\n });\n};\n\n/* harmony default export */ var components_KeyMap_KeyMap = (KeyMap_KeyMap);\n// CONCATENATED MODULE: ./src/components/KeyMap/index.ts\n\n// CONCATENATED MODULE: ./src/components/Logo/Logo.tsx\n\n\n\nvar CONTENT = [['SCRABBLE'], ['SOLVER', '2']];\n\nvar Logo_Logo = function Logo(_ref) {\n var className = _ref.className,\n style = _ref.style;\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_PlainTiles_PlainTiles, {\n className: className,\n content: CONTENT,\n style: style\n });\n};\n\n/* harmony default export */ var components_Logo_Logo = (Logo_Logo);\n// CONCATENATED MODULE: ./src/components/Logo/index.ts\n\n// EXTERNAL MODULE: ./src/components/NavButtons/NavButtons.module.scss\nvar NavButtons_module = __webpack_require__(\"jVvz\");\nvar NavButtons_module_default = /*#__PURE__*/__webpack_require__.n(NavButtons_module);\n\n// CONCATENATED MODULE: ./src/components/NavButtons/NavButtons.tsx\n\n\n\n\n\n\n\n\n\n\n\nvar NavButtons_NavButtons = function NavButtons(_ref) {\n var onClear = _ref.onClear,\n onShowKeyMap = _ref.onShowKeyMap,\n onShowRemainingTiles = _ref.onShowRemainingTiles,\n onShowSettings = _ref.onShowSettings;\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n var hasOverusedTiles = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"q\" /* selectHasOverusedTiles */]);\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: NavButtons_module_default.a.navButtons,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SquareButton_SquareButton.Link, {\n className: NavButtons_module_default.a.button,\n href: parameters[\"m\" /* GITHUB_PROJECT_URL */],\n icon: github,\n rel: \"noopener noreferrer\",\n target: \"_blank\",\n tooltip: translate('github')\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: NavButtons_module_default.a.separator\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SquareButton_SquareButton, {\n className: NavButtons_module_default.a.button,\n icon: keyboard,\n tooltip: translate('keyMap'),\n onClick: onShowKeyMap\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SquareButton_SquareButton, {\n className: classnames_default()(NavButtons_module_default.a.button, Object(defineProperty[\"a\" /* default */])({}, NavButtons_module_default.a.error, hasOverusedTiles)),\n icon: sack,\n tooltip: translate('remaining-tiles'),\n onClick: onShowRemainingTiles\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: NavButtons_module_default.a.separator\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SquareButton_SquareButton, {\n className: NavButtons_module_default.a.button,\n icon: eraser,\n tooltip: translate('common.clear'),\n onClick: onClear\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SquareButton_SquareButton, {\n className: NavButtons_module_default.a.button,\n icon: cog,\n tooltip: translate('settings'),\n onClick: onShowSettings\n })]\n });\n};\n\n/* harmony default export */ var components_NavButtons_NavButtons = (NavButtons_NavButtons);\n// CONCATENATED MODULE: ./src/components/NavButtons/index.ts\n\n// EXTERNAL MODULE: ./node_modules/next/link.js\nvar next_link = __webpack_require__(\"YFqc\");\nvar link_default = /*#__PURE__*/__webpack_require__.n(next_link);\n\n// EXTERNAL MODULE: ./src/components/NotFound/NotFound.module.scss\nvar NotFound_module = __webpack_require__(\"lFTW\");\nvar NotFound_module_default = /*#__PURE__*/__webpack_require__.n(NotFound_module);\n\n// CONCATENATED MODULE: ./src/components/NotFound/NotFound.tsx\n\n\n\n\n\n\n\n\nvar NotFound_CONTENT = [['HTTP', '404']];\n\nvar NotFound_NotFound = function NotFound() {\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: NotFound_module_default.a.notFound,\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(link_default.a, {\n href: \"/\",\n children: /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"a\", {\n className: NotFound_module_default.a.link,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SvgIcon_SvgIcon, {\n className: NotFound_module_default.a.icon,\n icon: dashCircleFill\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_PlainTiles_PlainTiles, {\n className: NotFound_module_default.a.tiles,\n content: NotFound_CONTENT\n })]\n })\n })\n });\n};\n\n/* harmony default export */ var components_NotFound_NotFound = (NotFound_NotFound);\n// CONCATENATED MODULE: ./src/components/NotFound/index.ts\n\n// EXTERNAL MODULE: ./src/components/Rack/Rack.module.scss\nvar Rack_module = __webpack_require__(\"RuLr\");\nvar Rack_module_default = /*#__PURE__*/__webpack_require__.n(Rack_module);\n\n// CONCATENATED MODULE: ./src/components/Rack/RackTile.tsx\n\n\n\n\n\n\n\n\n\n\nvar RackTile_RackTile = function RackTile(_ref) {\n var activeIndexRef = _ref.activeIndexRef,\n character = _ref.character,\n index = _ref.index,\n inputRef = _ref.inputRef,\n tile = _ref.tile,\n _onKeyDown = _ref.onKeyDown;\n var dispatch = Object(es[\"b\" /* useDispatch */])();\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n var config = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"n\" /* selectConfig */]);\n var points = Object(src_state[\"G\" /* useTypedSelector */])(function (state) {\n return Object(src_state[\"m\" /* selectCharacterPoints */])(state, character);\n });\n var handleFocus = Object(react[\"useCallback\"])(function () {\n activeIndexRef.current = index;\n }, [index]);\n var handleCharacterChange = Object(react[\"useCallback\"])(function (value) {\n dispatch(src_state[\"f\" /* rackSlice */].actions.changeCharacter({\n character: value,\n index: index\n }));\n }, [index]);\n var handleKeyDown = Object(react[\"useMemo\"])(function () {\n return Object(lib[\"d\" /* createKeyboardNavigation */])({\n onBackspace: function onBackspace() {\n return handleCharacterChange(null);\n },\n onDelete: function onDelete() {\n return handleCharacterChange(null);\n },\n onKeyDown: function onKeyDown(event) {\n var newCharacter = event.key.toLowerCase();\n var twoCharacterTile = config.getTwoCharacterTileByPrefix(newCharacter);\n\n if (Object(lib[\"m\" /* isCtrl */])(event) && twoCharacterTile) {\n event.preventDefault();\n handleCharacterChange(twoCharacterTile);\n } else if (config.hasCharacter(newCharacter) || newCharacter === build[\"BLANK\"]) {\n handleCharacterChange(newCharacter);\n }\n\n _onKeyDown(event);\n }\n });\n }, [config, handleCharacterChange, _onKeyDown]);\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Tile_Tile, {\n autoFocus: index === 0,\n className: Rack_module_default.a.tile,\n character: character === null ? undefined : character,\n highlighted: tile !== null,\n inputRef: inputRef,\n isBlank: character === build[\"BLANK\"],\n placeholder: translate('rack.placeholder')[index],\n points: points,\n raised: true,\n size: parameters[\"z\" /* TILE_SIZE */],\n tabIndex: index === 0 ? undefined : -1,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown\n }, index);\n};\n\n/* harmony default export */ var Rack_RackTile = (RackTile_RackTile);\n// CONCATENATED MODULE: ./src/components/Rack/Rack.tsx\n\n\n\n\n\n\n\n\n\nvar Rack_Rack = function Rack(_ref) {\n var className = _ref.className;\n var config = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"n\" /* selectConfig */]);\n var rack = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"t\" /* selectRack */]);\n var resultCandidateTiles = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"v\" /* selectResultCandidateTiles */]);\n var tiles = Object(react[\"useMemo\"])(function () {\n return Object(lib[\"s\" /* zipCharactersAndTiles */])(rack, resultCandidateTiles);\n }, [rack, resultCandidateTiles]);\n var tilesCount = tiles.length;\n var tilesRefs = Object(react[\"useMemo\"])(function () {\n return Object(lib[\"b\" /* createArray */])(tilesCount).map(function () {\n return /*#__PURE__*/Object(react[\"createRef\"])();\n });\n }, [tilesCount]);\n var activeIndexRef = Object(react[\"useRef\"])();\n var changeActiveIndex = Object(react[\"useCallback\"])(function (offset) {\n var nextActiveIndex = Math.min(Math.max((activeIndexRef.current || 0) + offset, 0), tilesCount - 1);\n var tileRef = tilesRefs[nextActiveIndex].current;\n\n if (tileRef) {\n tileRef.focus();\n }\n\n activeIndexRef.current = nextActiveIndex;\n }, [activeIndexRef, tilesCount, tilesRefs]);\n var onKeyDown = Object(react[\"useMemo\"])(function () {\n return Object(lib[\"d\" /* createKeyboardNavigation */])({\n onArrowLeft: function onArrowLeft(event) {\n event.preventDefault();\n changeActiveIndex(-1);\n },\n onArrowRight: function onArrowRight(event) {\n event.preventDefault();\n changeActiveIndex(1);\n },\n onBackspace: function onBackspace() {\n changeActiveIndex(-1);\n },\n onKeyDown: function onKeyDown(event) {\n var character = event.key.toLowerCase();\n\n if (config.hasCharacter(character) || character === build[\"BLANK\"]) {\n changeActiveIndex(1);\n }\n }\n });\n }, [changeActiveIndex, config]);\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: classnames_default()(Rack_module_default.a.rack, className),\n children: tiles.map(function (_ref2, index) {\n var character = _ref2.character,\n tile = _ref2.tile;\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Rack_RackTile, {\n activeIndexRef: activeIndexRef,\n character: character,\n index: index,\n inputRef: tilesRefs[index],\n tile: tile,\n onKeyDown: onKeyDown\n }, index);\n })\n });\n};\n\n/* harmony default export */ var components_Rack_Rack = (Rack_Rack);\n// CONCATENATED MODULE: ./src/components/Rack/index.ts\n\n// EXTERNAL MODULE: ./src/components/Radio/Radio.module.scss\nvar Radio_module = __webpack_require__(\"BdcD\");\nvar Radio_module_default = /*#__PURE__*/__webpack_require__.n(Radio_module);\n\n// CONCATENATED MODULE: ./src/components/Radio/Radio.tsx\n\n\n\n\n\n\n\nvar Radio_Radio = function Radio(_ref) {\n var checked = _ref.checked,\n children = _ref.children,\n className = _ref.className,\n disabled = _ref.disabled,\n id = _ref.id,\n name = _ref.name,\n value = _ref.value,\n onChange = _ref.onChange;\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"label\", {\n className: classnames_default()(Radio_module_default.a.radio, className, Object(defineProperty[\"a\" /* default */])({}, Radio_module_default.a.checked, checked)),\n htmlFor: id,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"input\", {\n checked: checked,\n className: Radio_module_default.a.input,\n disabled: disabled,\n id: id,\n name: name,\n type: \"radio\",\n value: value,\n onChange: onChange\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: Radio_module_default.a.icon\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: Radio_module_default.a.content,\n children: children\n })]\n });\n};\n\n/* harmony default export */ var components_Radio_Radio = (Radio_Radio);\n// CONCATENATED MODULE: ./src/components/Radio/index.ts\n\n// EXTERNAL MODULE: ./src/components/RemainingTiles/Character.module.scss\nvar Character_module = __webpack_require__(\"JxyW\");\nvar Character_module_default = /*#__PURE__*/__webpack_require__.n(Character_module);\n\n// CONCATENATED MODULE: ./src/components/RemainingTiles/Character.tsx\n\n\n\n\n\n\n\n\n\n\n\nvar Character_Character = function Character(_ref) {\n var _classNames;\n\n var tile = _ref.tile;\n var character = tile.character,\n count = tile.count,\n usedCount = tile.usedCount;\n var remainingCount = count - usedCount;\n var points = Object(src_state[\"G\" /* useTypedSelector */])(function (state) {\n return Object(src_state[\"m\" /* selectCharacterPoints */])(state, character);\n });\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: classnames_default()(Character_module_default.a.character, (_classNames = {}, Object(defineProperty[\"a\" /* default */])(_classNames, Character_module_default.a.finished, remainingCount <= 0), Object(defineProperty[\"a\" /* default */])(_classNames, Character_module_default.a.overused, remainingCount < 0), _classNames)),\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Tile_Tile, {\n character: character,\n className: Character_module_default.a.tile,\n disabled: true,\n isBlank: character === build[\"BLANK\"],\n points: points,\n raised: true,\n size: parameters[\"v\" /* REMAINING_TILES_TILE_SIZE */]\n }), /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: Character_module_default.a.count,\n children: [remainingCount, \" / \", count]\n })]\n }, character);\n};\n\n/* harmony default export */ var RemainingTiles_Character = (Character_Character);\n// EXTERNAL MODULE: ./src/components/RemainingTiles/RemainingTiles.module.scss\nvar RemainingTiles_module = __webpack_require__(\"bHoz\");\nvar RemainingTiles_module_default = /*#__PURE__*/__webpack_require__.n(RemainingTiles_module);\n\n// CONCATENATED MODULE: ./src/components/RemainingTiles/RemainingTiles.tsx\n\n\n\n\n\n\n\n\nvar RemainingTiles_RemainingTiles = function RemainingTiles(_ref) {\n var className = _ref.className,\n isOpen = _ref.isOpen,\n onClose = _ref.onClose;\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n var groups = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"u\" /* selectRemainingTilesGroups */]);\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Sidebar_Sidebar, {\n className: className,\n isOpen: isOpen,\n title: translate('remaining-tiles'),\n onClose: onClose,\n children: groups.map(function (_ref2) {\n var remainingCount = _ref2.remainingCount,\n tiles = _ref2.tiles,\n translationKey = _ref2.translationKey,\n totalCount = _ref2.totalCount;\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: RemainingTiles_module_default.a.group,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"h2\", {\n className: RemainingTiles_module_default.a.title,\n children: \"\".concat(translate(translationKey), \" (\").concat(remainingCount, \" / \").concat(totalCount, \")\")\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: RemainingTiles_module_default.a.content,\n children: tiles.map(function (tile) {\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(RemainingTiles_Character, {\n tile: tile\n }, tile.character);\n })\n })]\n }, translationKey);\n })\n });\n};\n\n/* harmony default export */ var components_RemainingTiles_RemainingTiles = (RemainingTiles_RemainingTiles);\n// CONCATENATED MODULE: ./src/components/RemainingTiles/index.ts\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js\nvar esm_extends = __webpack_require__(\"wx14\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n// CONCATENATED MODULE: ./node_modules/memoize-one/dist/memoize-one.esm.js\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\n/* harmony default export */ var memoize_one_esm = (memoizeOne);\n\n// CONCATENATED MODULE: ./node_modules/react-window/dist/index.esm.js\n\n\n\n\n\n\n\n// Animation frame based implementation of setTimeout.\n// Inspired by Joe Lambert, https://gist.github.com/joelambert/1002116#file-requesttimeout-js\nvar hasNativePerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\nvar now = hasNativePerformanceNow ? function () {\n return performance.now();\n} : function () {\n return Date.now();\n};\nfunction cancelTimeout(timeoutID) {\n cancelAnimationFrame(timeoutID.id);\n}\nfunction requestTimeout(callback, delay) {\n var start = now();\n\n function tick() {\n if (now() - start >= delay) {\n callback.call(null);\n } else {\n timeoutID.id = requestAnimationFrame(tick);\n }\n }\n\n var timeoutID = {\n id: requestAnimationFrame(tick)\n };\n return timeoutID;\n}\n\nvar index_esm_size = -1; // This utility copied from \"dom-helpers\" package.\n\nfunction getScrollbarSize(recalculate) {\n if (recalculate === void 0) {\n recalculate = false;\n }\n\n if (index_esm_size === -1 || recalculate) {\n var div = document.createElement('div');\n var style = div.style;\n style.width = '50px';\n style.height = '50px';\n style.overflow = 'scroll';\n document.body.appendChild(div);\n index_esm_size = div.offsetWidth - div.clientWidth;\n document.body.removeChild(div);\n }\n\n return index_esm_size;\n}\nvar cachedRTLResult = null; // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n// Chrome does not seem to adhere; its scrollLeft values are positive (measured relative to the left).\n// Safari's elastic bounce makes detecting this even more complicated wrt potential false positives.\n// The safest way to check this is to intentionally set a negative offset,\n// and then verify that the subsequent \"scroll\" event matches the negative offset.\n// If it does not match, then we can assume a non-standard RTL scroll implementation.\n\nfunction getRTLOffsetType(recalculate) {\n if (recalculate === void 0) {\n recalculate = false;\n }\n\n if (cachedRTLResult === null || recalculate) {\n var outerDiv = document.createElement('div');\n var outerStyle = outerDiv.style;\n outerStyle.width = '50px';\n outerStyle.height = '50px';\n outerStyle.overflow = 'scroll';\n outerStyle.direction = 'rtl';\n var innerDiv = document.createElement('div');\n var innerStyle = innerDiv.style;\n innerStyle.width = '100px';\n innerStyle.height = '100px';\n outerDiv.appendChild(innerDiv);\n document.body.appendChild(outerDiv);\n\n if (outerDiv.scrollLeft > 0) {\n cachedRTLResult = 'positive-descending';\n } else {\n outerDiv.scrollLeft = 1;\n\n if (outerDiv.scrollLeft === 0) {\n cachedRTLResult = 'negative';\n } else {\n cachedRTLResult = 'positive-ascending';\n }\n }\n\n document.body.removeChild(outerDiv);\n return cachedRTLResult;\n }\n\n return cachedRTLResult;\n}\n\nvar IS_SCROLLING_DEBOUNCE_INTERVAL = 150;\n\nvar defaultItemKey = function defaultItemKey(_ref) {\n var columnIndex = _ref.columnIndex,\n data = _ref.data,\n rowIndex = _ref.rowIndex;\n return rowIndex + \":\" + columnIndex;\n}; // In DEV mode, this Set helps us only log a warning once per component instance.\n// This avoids spamming the console every time a render happens.\n\n\nvar devWarningsOverscanCount = null;\nvar devWarningsOverscanRowsColumnsCount = null;\nvar devWarningsTagName = null;\n\nif (false) {}\n\nfunction createGridComponent(_ref2) {\n var _class, _temp;\n\n var getColumnOffset = _ref2.getColumnOffset,\n getColumnStartIndexForOffset = _ref2.getColumnStartIndexForOffset,\n getColumnStopIndexForStartIndex = _ref2.getColumnStopIndexForStartIndex,\n getColumnWidth = _ref2.getColumnWidth,\n getEstimatedTotalHeight = _ref2.getEstimatedTotalHeight,\n getEstimatedTotalWidth = _ref2.getEstimatedTotalWidth,\n getOffsetForColumnAndAlignment = _ref2.getOffsetForColumnAndAlignment,\n getOffsetForRowAndAlignment = _ref2.getOffsetForRowAndAlignment,\n getRowHeight = _ref2.getRowHeight,\n getRowOffset = _ref2.getRowOffset,\n getRowStartIndexForOffset = _ref2.getRowStartIndexForOffset,\n getRowStopIndexForStartIndex = _ref2.getRowStopIndexForStartIndex,\n initInstanceProps = _ref2.initInstanceProps,\n shouldResetStyleCacheOnItemSizeChange = _ref2.shouldResetStyleCacheOnItemSizeChange,\n validateProps = _ref2.validateProps;\n return _temp = _class =\n /*#__PURE__*/\n function (_PureComponent) {\n _inheritsLoose(Grid, _PureComponent);\n\n // Always use explicit constructor for React components.\n // It produces less code after transpilation. (#26)\n // eslint-disable-next-line no-useless-constructor\n function Grid(props) {\n var _this;\n\n _this = _PureComponent.call(this, props) || this;\n _this._instanceProps = initInstanceProps(_this.props, _assertThisInitialized(_assertThisInitialized(_this)));\n _this._resetIsScrollingTimeoutId = null;\n _this._outerRef = void 0;\n _this.state = {\n instance: _assertThisInitialized(_assertThisInitialized(_this)),\n isScrolling: false,\n horizontalScrollDirection: 'forward',\n scrollLeft: typeof _this.props.initialScrollLeft === 'number' ? _this.props.initialScrollLeft : 0,\n scrollTop: typeof _this.props.initialScrollTop === 'number' ? _this.props.initialScrollTop : 0,\n scrollUpdateWasRequested: false,\n verticalScrollDirection: 'forward'\n };\n _this._callOnItemsRendered = void 0;\n _this._callOnItemsRendered = memoize_one_esm(function (overscanColumnStartIndex, overscanColumnStopIndex, overscanRowStartIndex, overscanRowStopIndex, visibleColumnStartIndex, visibleColumnStopIndex, visibleRowStartIndex, visibleRowStopIndex) {\n return _this.props.onItemsRendered({\n overscanColumnStartIndex: overscanColumnStartIndex,\n overscanColumnStopIndex: overscanColumnStopIndex,\n overscanRowStartIndex: overscanRowStartIndex,\n overscanRowStopIndex: overscanRowStopIndex,\n visibleColumnStartIndex: visibleColumnStartIndex,\n visibleColumnStopIndex: visibleColumnStopIndex,\n visibleRowStartIndex: visibleRowStartIndex,\n visibleRowStopIndex: visibleRowStopIndex\n });\n });\n _this._callOnScroll = void 0;\n _this._callOnScroll = memoize_one_esm(function (scrollLeft, scrollTop, horizontalScrollDirection, verticalScrollDirection, scrollUpdateWasRequested) {\n return _this.props.onScroll({\n horizontalScrollDirection: horizontalScrollDirection,\n scrollLeft: scrollLeft,\n scrollTop: scrollTop,\n verticalScrollDirection: verticalScrollDirection,\n scrollUpdateWasRequested: scrollUpdateWasRequested\n });\n });\n _this._getItemStyle = void 0;\n\n _this._getItemStyle = function (rowIndex, columnIndex) {\n var _this$props = _this.props,\n columnWidth = _this$props.columnWidth,\n direction = _this$props.direction,\n rowHeight = _this$props.rowHeight;\n\n var itemStyleCache = _this._getItemStyleCache(shouldResetStyleCacheOnItemSizeChange && columnWidth, shouldResetStyleCacheOnItemSizeChange && direction, shouldResetStyleCacheOnItemSizeChange && rowHeight);\n\n var key = rowIndex + \":\" + columnIndex;\n var style;\n\n if (itemStyleCache.hasOwnProperty(key)) {\n style = itemStyleCache[key];\n } else {\n var _offset = getColumnOffset(_this.props, columnIndex, _this._instanceProps);\n\n var isRtl = direction === 'rtl';\n itemStyleCache[key] = style = {\n position: 'absolute',\n left: isRtl ? undefined : _offset,\n right: isRtl ? _offset : undefined,\n top: getRowOffset(_this.props, rowIndex, _this._instanceProps),\n height: getRowHeight(_this.props, rowIndex, _this._instanceProps),\n width: getColumnWidth(_this.props, columnIndex, _this._instanceProps)\n };\n }\n\n return style;\n };\n\n _this._getItemStyleCache = void 0;\n _this._getItemStyleCache = memoize_one_esm(function (_, __, ___) {\n return {};\n });\n\n _this._onScroll = function (event) {\n var _event$currentTarget = event.currentTarget,\n clientHeight = _event$currentTarget.clientHeight,\n clientWidth = _event$currentTarget.clientWidth,\n scrollLeft = _event$currentTarget.scrollLeft,\n scrollTop = _event$currentTarget.scrollTop,\n scrollHeight = _event$currentTarget.scrollHeight,\n scrollWidth = _event$currentTarget.scrollWidth;\n\n _this.setState(function (prevState) {\n if (prevState.scrollLeft === scrollLeft && prevState.scrollTop === scrollTop) {\n // Scroll position may have been updated by cDM/cDU,\n // In which case we don't need to trigger another render,\n // And we don't want to update state.isScrolling.\n return null;\n }\n\n var direction = _this.props.direction; // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // It's also easier for this component if we convert offsets to the same format as they would be in for ltr.\n // So the simplest solution is to determine which browser behavior we're dealing with, and convert based on it.\n\n var calculatedScrollLeft = scrollLeft;\n\n if (direction === 'rtl') {\n switch (getRTLOffsetType()) {\n case 'negative':\n calculatedScrollLeft = -scrollLeft;\n break;\n\n case 'positive-descending':\n calculatedScrollLeft = scrollWidth - clientWidth - scrollLeft;\n break;\n }\n } // Prevent Safari's elastic scrolling from causing visual shaking when scrolling past bounds.\n\n\n calculatedScrollLeft = Math.max(0, Math.min(calculatedScrollLeft, scrollWidth - clientWidth));\n var calculatedScrollTop = Math.max(0, Math.min(scrollTop, scrollHeight - clientHeight));\n return {\n isScrolling: true,\n horizontalScrollDirection: prevState.scrollLeft < scrollLeft ? 'forward' : 'backward',\n scrollLeft: calculatedScrollLeft,\n scrollTop: calculatedScrollTop,\n verticalScrollDirection: prevState.scrollTop < scrollTop ? 'forward' : 'backward',\n scrollUpdateWasRequested: false\n };\n }, _this._resetIsScrollingDebounced);\n };\n\n _this._outerRefSetter = function (ref) {\n var outerRef = _this.props.outerRef;\n _this._outerRef = ref;\n\n if (typeof outerRef === 'function') {\n outerRef(ref);\n } else if (outerRef != null && typeof outerRef === 'object' && outerRef.hasOwnProperty('current')) {\n outerRef.current = ref;\n }\n };\n\n _this._resetIsScrollingDebounced = function () {\n if (_this._resetIsScrollingTimeoutId !== null) {\n cancelTimeout(_this._resetIsScrollingTimeoutId);\n }\n\n _this._resetIsScrollingTimeoutId = requestTimeout(_this._resetIsScrolling, IS_SCROLLING_DEBOUNCE_INTERVAL);\n };\n\n _this._resetIsScrolling = function () {\n _this._resetIsScrollingTimeoutId = null;\n\n _this.setState({\n isScrolling: false\n }, function () {\n // Clear style cache after state update has been committed.\n // This way we don't break pure sCU for items that don't use isScrolling param.\n _this._getItemStyleCache(-1);\n });\n };\n\n return _this;\n }\n\n Grid.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n validateSharedProps(nextProps, prevState);\n validateProps(nextProps);\n return null;\n };\n\n var _proto = Grid.prototype;\n\n _proto.scrollTo = function scrollTo(_ref3) {\n var scrollLeft = _ref3.scrollLeft,\n scrollTop = _ref3.scrollTop;\n\n if (scrollLeft !== undefined) {\n scrollLeft = Math.max(0, scrollLeft);\n }\n\n if (scrollTop !== undefined) {\n scrollTop = Math.max(0, scrollTop);\n }\n\n this.setState(function (prevState) {\n if (scrollLeft === undefined) {\n scrollLeft = prevState.scrollLeft;\n }\n\n if (scrollTop === undefined) {\n scrollTop = prevState.scrollTop;\n }\n\n if (prevState.scrollLeft === scrollLeft && prevState.scrollTop === scrollTop) {\n return null;\n }\n\n return {\n horizontalScrollDirection: prevState.scrollLeft < scrollLeft ? 'forward' : 'backward',\n scrollLeft: scrollLeft,\n scrollTop: scrollTop,\n scrollUpdateWasRequested: true,\n verticalScrollDirection: prevState.scrollTop < scrollTop ? 'forward' : 'backward'\n };\n }, this._resetIsScrollingDebounced);\n };\n\n _proto.scrollToItem = function scrollToItem(_ref4) {\n var _ref4$align = _ref4.align,\n align = _ref4$align === void 0 ? 'auto' : _ref4$align,\n columnIndex = _ref4.columnIndex,\n rowIndex = _ref4.rowIndex;\n var _this$props2 = this.props,\n columnCount = _this$props2.columnCount,\n height = _this$props2.height,\n rowCount = _this$props2.rowCount,\n width = _this$props2.width;\n var _this$state = this.state,\n scrollLeft = _this$state.scrollLeft,\n scrollTop = _this$state.scrollTop;\n var scrollbarSize = getScrollbarSize();\n\n if (columnIndex !== undefined) {\n columnIndex = Math.max(0, Math.min(columnIndex, columnCount - 1));\n }\n\n if (rowIndex !== undefined) {\n rowIndex = Math.max(0, Math.min(rowIndex, rowCount - 1));\n }\n\n var estimatedTotalHeight = getEstimatedTotalHeight(this.props, this._instanceProps);\n var estimatedTotalWidth = getEstimatedTotalWidth(this.props, this._instanceProps); // The scrollbar size should be considered when scrolling an item into view,\n // to ensure it's fully visible.\n // But we only need to account for its size when it's actually visible.\n\n var horizontalScrollbarSize = estimatedTotalWidth > width ? scrollbarSize : 0;\n var verticalScrollbarSize = estimatedTotalHeight > height ? scrollbarSize : 0;\n this.scrollTo({\n scrollLeft: columnIndex !== undefined ? getOffsetForColumnAndAlignment(this.props, columnIndex, align, scrollLeft, this._instanceProps, verticalScrollbarSize) : scrollLeft,\n scrollTop: rowIndex !== undefined ? getOffsetForRowAndAlignment(this.props, rowIndex, align, scrollTop, this._instanceProps, horizontalScrollbarSize) : scrollTop\n });\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var _this$props3 = this.props,\n initialScrollLeft = _this$props3.initialScrollLeft,\n initialScrollTop = _this$props3.initialScrollTop;\n\n if (this._outerRef != null) {\n var outerRef = this._outerRef;\n\n if (typeof initialScrollLeft === 'number') {\n outerRef.scrollLeft = initialScrollLeft;\n }\n\n if (typeof initialScrollTop === 'number') {\n outerRef.scrollTop = initialScrollTop;\n }\n }\n\n this._callPropsCallbacks();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n var direction = this.props.direction;\n var _this$state2 = this.state,\n scrollLeft = _this$state2.scrollLeft,\n scrollTop = _this$state2.scrollTop,\n scrollUpdateWasRequested = _this$state2.scrollUpdateWasRequested;\n\n if (scrollUpdateWasRequested && this._outerRef != null) {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // So we need to determine which browser behavior we're dealing with, and mimic it.\n var outerRef = this._outerRef;\n\n if (direction === 'rtl') {\n switch (getRTLOffsetType()) {\n case 'negative':\n outerRef.scrollLeft = -scrollLeft;\n break;\n\n case 'positive-ascending':\n outerRef.scrollLeft = scrollLeft;\n break;\n\n default:\n var clientWidth = outerRef.clientWidth,\n scrollWidth = outerRef.scrollWidth;\n outerRef.scrollLeft = scrollWidth - clientWidth - scrollLeft;\n break;\n }\n } else {\n outerRef.scrollLeft = Math.max(0, scrollLeft);\n }\n\n outerRef.scrollTop = Math.max(0, scrollTop);\n }\n\n this._callPropsCallbacks();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this._resetIsScrollingTimeoutId !== null) {\n cancelTimeout(this._resetIsScrollingTimeoutId);\n }\n };\n\n _proto.render = function render() {\n var _this$props4 = this.props,\n children = _this$props4.children,\n className = _this$props4.className,\n columnCount = _this$props4.columnCount,\n direction = _this$props4.direction,\n height = _this$props4.height,\n innerRef = _this$props4.innerRef,\n innerElementType = _this$props4.innerElementType,\n innerTagName = _this$props4.innerTagName,\n itemData = _this$props4.itemData,\n _this$props4$itemKey = _this$props4.itemKey,\n itemKey = _this$props4$itemKey === void 0 ? defaultItemKey : _this$props4$itemKey,\n outerElementType = _this$props4.outerElementType,\n outerTagName = _this$props4.outerTagName,\n rowCount = _this$props4.rowCount,\n style = _this$props4.style,\n useIsScrolling = _this$props4.useIsScrolling,\n width = _this$props4.width;\n var isScrolling = this.state.isScrolling;\n\n var _this$_getHorizontalR = this._getHorizontalRangeToRender(),\n columnStartIndex = _this$_getHorizontalR[0],\n columnStopIndex = _this$_getHorizontalR[1];\n\n var _this$_getVerticalRan = this._getVerticalRangeToRender(),\n rowStartIndex = _this$_getVerticalRan[0],\n rowStopIndex = _this$_getVerticalRan[1];\n\n var items = [];\n\n if (columnCount > 0 && rowCount) {\n for (var _rowIndex = rowStartIndex; _rowIndex <= rowStopIndex; _rowIndex++) {\n for (var _columnIndex = columnStartIndex; _columnIndex <= columnStopIndex; _columnIndex++) {\n items.push(Object(react[\"createElement\"])(children, {\n columnIndex: _columnIndex,\n data: itemData,\n isScrolling: useIsScrolling ? isScrolling : undefined,\n key: itemKey({\n columnIndex: _columnIndex,\n data: itemData,\n rowIndex: _rowIndex\n }),\n rowIndex: _rowIndex,\n style: this._getItemStyle(_rowIndex, _columnIndex)\n }));\n }\n }\n } // Read this value AFTER items have been created,\n // So their actual sizes (if variable) are taken into consideration.\n\n\n var estimatedTotalHeight = getEstimatedTotalHeight(this.props, this._instanceProps);\n var estimatedTotalWidth = getEstimatedTotalWidth(this.props, this._instanceProps);\n return Object(react[\"createElement\"])(outerElementType || outerTagName || 'div', {\n className: className,\n onScroll: this._onScroll,\n ref: this._outerRefSetter,\n style: Object(esm_extends[\"a\" /* default */])({\n position: 'relative',\n height: height,\n width: width,\n overflow: 'auto',\n WebkitOverflowScrolling: 'touch',\n willChange: 'transform',\n direction: direction\n }, style)\n }, Object(react[\"createElement\"])(innerElementType || innerTagName || 'div', {\n children: items,\n ref: innerRef,\n style: {\n height: estimatedTotalHeight,\n pointerEvents: isScrolling ? 'none' : undefined,\n width: estimatedTotalWidth\n }\n }));\n };\n\n _proto._callPropsCallbacks = function _callPropsCallbacks() {\n var _this$props5 = this.props,\n columnCount = _this$props5.columnCount,\n onItemsRendered = _this$props5.onItemsRendered,\n onScroll = _this$props5.onScroll,\n rowCount = _this$props5.rowCount;\n\n if (typeof onItemsRendered === 'function') {\n if (columnCount > 0 && rowCount > 0) {\n var _this$_getHorizontalR2 = this._getHorizontalRangeToRender(),\n _overscanColumnStartIndex = _this$_getHorizontalR2[0],\n _overscanColumnStopIndex = _this$_getHorizontalR2[1],\n _visibleColumnStartIndex = _this$_getHorizontalR2[2],\n _visibleColumnStopIndex = _this$_getHorizontalR2[3];\n\n var _this$_getVerticalRan2 = this._getVerticalRangeToRender(),\n _overscanRowStartIndex = _this$_getVerticalRan2[0],\n _overscanRowStopIndex = _this$_getVerticalRan2[1],\n _visibleRowStartIndex = _this$_getVerticalRan2[2],\n _visibleRowStopIndex = _this$_getVerticalRan2[3];\n\n this._callOnItemsRendered(_overscanColumnStartIndex, _overscanColumnStopIndex, _overscanRowStartIndex, _overscanRowStopIndex, _visibleColumnStartIndex, _visibleColumnStopIndex, _visibleRowStartIndex, _visibleRowStopIndex);\n }\n }\n\n if (typeof onScroll === 'function') {\n var _this$state3 = this.state,\n _horizontalScrollDirection = _this$state3.horizontalScrollDirection,\n _scrollLeft = _this$state3.scrollLeft,\n _scrollTop = _this$state3.scrollTop,\n _scrollUpdateWasRequested = _this$state3.scrollUpdateWasRequested,\n _verticalScrollDirection = _this$state3.verticalScrollDirection;\n\n this._callOnScroll(_scrollLeft, _scrollTop, _horizontalScrollDirection, _verticalScrollDirection, _scrollUpdateWasRequested);\n }\n }; // Lazily create and cache item styles while scrolling,\n // So that pure component sCU will prevent re-renders.\n // We maintain this cache, and pass a style prop rather than index,\n // So that List can clear cached styles and force item re-render if necessary.\n\n\n _proto._getHorizontalRangeToRender = function _getHorizontalRangeToRender() {\n var _this$props6 = this.props,\n columnCount = _this$props6.columnCount,\n overscanColumnCount = _this$props6.overscanColumnCount,\n overscanColumnsCount = _this$props6.overscanColumnsCount,\n overscanCount = _this$props6.overscanCount,\n rowCount = _this$props6.rowCount;\n var _this$state4 = this.state,\n horizontalScrollDirection = _this$state4.horizontalScrollDirection,\n isScrolling = _this$state4.isScrolling,\n scrollLeft = _this$state4.scrollLeft;\n var overscanCountResolved = overscanColumnCount || overscanColumnsCount || overscanCount || 1;\n\n if (columnCount === 0 || rowCount === 0) {\n return [0, 0, 0, 0];\n }\n\n var startIndex = getColumnStartIndexForOffset(this.props, scrollLeft, this._instanceProps);\n var stopIndex = getColumnStopIndexForStartIndex(this.props, startIndex, scrollLeft, this._instanceProps); // Overscan by one item in each direction so that tab/focus works.\n // If there isn't at least one extra item, tab loops back around.\n\n var overscanBackward = !isScrolling || horizontalScrollDirection === 'backward' ? Math.max(1, overscanCountResolved) : 1;\n var overscanForward = !isScrolling || horizontalScrollDirection === 'forward' ? Math.max(1, overscanCountResolved) : 1;\n return [Math.max(0, startIndex - overscanBackward), Math.max(0, Math.min(columnCount - 1, stopIndex + overscanForward)), startIndex, stopIndex];\n };\n\n _proto._getVerticalRangeToRender = function _getVerticalRangeToRender() {\n var _this$props7 = this.props,\n columnCount = _this$props7.columnCount,\n overscanCount = _this$props7.overscanCount,\n overscanRowCount = _this$props7.overscanRowCount,\n overscanRowsCount = _this$props7.overscanRowsCount,\n rowCount = _this$props7.rowCount;\n var _this$state5 = this.state,\n isScrolling = _this$state5.isScrolling,\n verticalScrollDirection = _this$state5.verticalScrollDirection,\n scrollTop = _this$state5.scrollTop;\n var overscanCountResolved = overscanRowCount || overscanRowsCount || overscanCount || 1;\n\n if (columnCount === 0 || rowCount === 0) {\n return [0, 0, 0, 0];\n }\n\n var startIndex = getRowStartIndexForOffset(this.props, scrollTop, this._instanceProps);\n var stopIndex = getRowStopIndexForStartIndex(this.props, startIndex, scrollTop, this._instanceProps); // Overscan by one item in each direction so that tab/focus works.\n // If there isn't at least one extra item, tab loops back around.\n\n var overscanBackward = !isScrolling || verticalScrollDirection === 'backward' ? Math.max(1, overscanCountResolved) : 1;\n var overscanForward = !isScrolling || verticalScrollDirection === 'forward' ? Math.max(1, overscanCountResolved) : 1;\n return [Math.max(0, startIndex - overscanBackward), Math.max(0, Math.min(rowCount - 1, stopIndex + overscanForward)), startIndex, stopIndex];\n };\n\n return Grid;\n }(react[\"PureComponent\"]), _class.defaultProps = {\n direction: 'ltr',\n itemData: undefined,\n useIsScrolling: false\n }, _temp;\n}\n\nvar validateSharedProps = function validateSharedProps(_ref5, _ref6) {\n var children = _ref5.children,\n direction = _ref5.direction,\n height = _ref5.height,\n innerTagName = _ref5.innerTagName,\n outerTagName = _ref5.outerTagName,\n overscanColumnsCount = _ref5.overscanColumnsCount,\n overscanCount = _ref5.overscanCount,\n overscanRowsCount = _ref5.overscanRowsCount,\n width = _ref5.width;\n var instance = _ref6.instance;\n\n if (false) {}\n};\n\nvar DEFAULT_ESTIMATED_ITEM_SIZE = 50;\n\nvar index_esm_getEstimatedTotalHeight = function getEstimatedTotalHeight(_ref, _ref2) {\n var rowCount = _ref.rowCount;\n var rowMetadataMap = _ref2.rowMetadataMap,\n estimatedRowHeight = _ref2.estimatedRowHeight,\n lastMeasuredRowIndex = _ref2.lastMeasuredRowIndex;\n var totalSizeOfMeasuredRows = 0; // Edge case check for when the number of items decreases while a scroll is in progress.\n // https://github.com/bvaughn/react-window/pull/138\n\n if (lastMeasuredRowIndex >= rowCount) {\n lastMeasuredRowIndex = rowCount - 1;\n }\n\n if (lastMeasuredRowIndex >= 0) {\n var itemMetadata = rowMetadataMap[lastMeasuredRowIndex];\n totalSizeOfMeasuredRows = itemMetadata.offset + itemMetadata.size;\n }\n\n var numUnmeasuredItems = rowCount - lastMeasuredRowIndex - 1;\n var totalSizeOfUnmeasuredItems = numUnmeasuredItems * estimatedRowHeight;\n return totalSizeOfMeasuredRows + totalSizeOfUnmeasuredItems;\n};\n\nvar index_esm_getEstimatedTotalWidth = function getEstimatedTotalWidth(_ref3, _ref4) {\n var columnCount = _ref3.columnCount;\n var columnMetadataMap = _ref4.columnMetadataMap,\n estimatedColumnWidth = _ref4.estimatedColumnWidth,\n lastMeasuredColumnIndex = _ref4.lastMeasuredColumnIndex;\n var totalSizeOfMeasuredRows = 0; // Edge case check for when the number of items decreases while a scroll is in progress.\n // https://github.com/bvaughn/react-window/pull/138\n\n if (lastMeasuredColumnIndex >= columnCount) {\n lastMeasuredColumnIndex = columnCount - 1;\n }\n\n if (lastMeasuredColumnIndex >= 0) {\n var itemMetadata = columnMetadataMap[lastMeasuredColumnIndex];\n totalSizeOfMeasuredRows = itemMetadata.offset + itemMetadata.size;\n }\n\n var numUnmeasuredItems = columnCount - lastMeasuredColumnIndex - 1;\n var totalSizeOfUnmeasuredItems = numUnmeasuredItems * estimatedColumnWidth;\n return totalSizeOfMeasuredRows + totalSizeOfUnmeasuredItems;\n};\n\nvar getItemMetadata = function getItemMetadata(itemType, props, index, instanceProps) {\n var itemMetadataMap, itemSize, lastMeasuredIndex;\n\n if (itemType === 'column') {\n itemMetadataMap = instanceProps.columnMetadataMap;\n itemSize = props.columnWidth;\n lastMeasuredIndex = instanceProps.lastMeasuredColumnIndex;\n } else {\n itemMetadataMap = instanceProps.rowMetadataMap;\n itemSize = props.rowHeight;\n lastMeasuredIndex = instanceProps.lastMeasuredRowIndex;\n }\n\n if (index > lastMeasuredIndex) {\n var offset = 0;\n\n if (lastMeasuredIndex >= 0) {\n var itemMetadata = itemMetadataMap[lastMeasuredIndex];\n offset = itemMetadata.offset + itemMetadata.size;\n }\n\n for (var i = lastMeasuredIndex + 1; i <= index; i++) {\n var size = itemSize(i);\n itemMetadataMap[i] = {\n offset: offset,\n size: size\n };\n offset += size;\n }\n\n if (itemType === 'column') {\n instanceProps.lastMeasuredColumnIndex = index;\n } else {\n instanceProps.lastMeasuredRowIndex = index;\n }\n }\n\n return itemMetadataMap[index];\n};\n\nvar findNearestItem = function findNearestItem(itemType, props, instanceProps, offset) {\n var itemMetadataMap, lastMeasuredIndex;\n\n if (itemType === 'column') {\n itemMetadataMap = instanceProps.columnMetadataMap;\n lastMeasuredIndex = instanceProps.lastMeasuredColumnIndex;\n } else {\n itemMetadataMap = instanceProps.rowMetadataMap;\n lastMeasuredIndex = instanceProps.lastMeasuredRowIndex;\n }\n\n var lastMeasuredItemOffset = lastMeasuredIndex > 0 ? itemMetadataMap[lastMeasuredIndex].offset : 0;\n\n if (lastMeasuredItemOffset >= offset) {\n // If we've already measured items within this range just use a binary search as it's faster.\n return findNearestItemBinarySearch(itemType, props, instanceProps, lastMeasuredIndex, 0, offset);\n } else {\n // If we haven't yet measured this high, fallback to an exponential search with an inner binary search.\n // The exponential search avoids pre-computing sizes for the full set of items as a binary search would.\n // The overall complexity for this approach is O(log n).\n return findNearestItemExponentialSearch(itemType, props, instanceProps, Math.max(0, lastMeasuredIndex), offset);\n }\n};\n\nvar findNearestItemBinarySearch = function findNearestItemBinarySearch(itemType, props, instanceProps, high, low, offset) {\n while (low <= high) {\n var middle = low + Math.floor((high - low) / 2);\n var currentOffset = getItemMetadata(itemType, props, middle, instanceProps).offset;\n\n if (currentOffset === offset) {\n return middle;\n } else if (currentOffset < offset) {\n low = middle + 1;\n } else if (currentOffset > offset) {\n high = middle - 1;\n }\n }\n\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\n\nvar findNearestItemExponentialSearch = function findNearestItemExponentialSearch(itemType, props, instanceProps, index, offset) {\n var itemCount = itemType === 'column' ? props.columnCount : props.rowCount;\n var interval = 1;\n\n while (index < itemCount && getItemMetadata(itemType, props, index, instanceProps).offset < offset) {\n index += interval;\n interval *= 2;\n }\n\n return findNearestItemBinarySearch(itemType, props, instanceProps, Math.min(index, itemCount - 1), Math.floor(index / 2), offset);\n};\n\nvar index_esm_getOffsetForIndexAndAlignment = function getOffsetForIndexAndAlignment(itemType, props, index, align, scrollOffset, instanceProps, scrollbarSize) {\n var size = itemType === 'column' ? props.width : props.height;\n var itemMetadata = getItemMetadata(itemType, props, index, instanceProps); // Get estimated total size after ItemMetadata is computed,\n // To ensure it reflects actual measurements instead of just estimates.\n\n var estimatedTotalSize = itemType === 'column' ? index_esm_getEstimatedTotalWidth(props, instanceProps) : index_esm_getEstimatedTotalHeight(props, instanceProps);\n var maxOffset = Math.max(0, Math.min(estimatedTotalSize - size, itemMetadata.offset));\n var minOffset = Math.max(0, itemMetadata.offset - size + scrollbarSize + itemMetadata.size);\n\n if (align === 'smart') {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n align = 'auto';\n } else {\n align = 'center';\n }\n }\n\n switch (align) {\n case 'start':\n return maxOffset;\n\n case 'end':\n return minOffset;\n\n case 'center':\n return Math.round(minOffset + (maxOffset - minOffset) / 2);\n\n case 'auto':\n default:\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset;\n } else if (minOffset > maxOffset) {\n // Because we only take into account the scrollbar size when calculating minOffset\n // this value can be larger than maxOffset when at the end of the list\n return minOffset;\n } else if (scrollOffset < minOffset) {\n return minOffset;\n } else {\n return maxOffset;\n }\n\n }\n};\n\nvar VariableSizeGrid =\n/*#__PURE__*/\ncreateGridComponent({\n getColumnOffset: function getColumnOffset(props, index, instanceProps) {\n return getItemMetadata('column', props, index, instanceProps).offset;\n },\n getColumnStartIndexForOffset: function getColumnStartIndexForOffset(props, scrollLeft, instanceProps) {\n return findNearestItem('column', props, instanceProps, scrollLeft);\n },\n getColumnStopIndexForStartIndex: function getColumnStopIndexForStartIndex(props, startIndex, scrollLeft, instanceProps) {\n var columnCount = props.columnCount,\n width = props.width;\n var itemMetadata = getItemMetadata('column', props, startIndex, instanceProps);\n var maxOffset = scrollLeft + width;\n var offset = itemMetadata.offset + itemMetadata.size;\n var stopIndex = startIndex;\n\n while (stopIndex < columnCount - 1 && offset < maxOffset) {\n stopIndex++;\n offset += getItemMetadata('column', props, stopIndex, instanceProps).size;\n }\n\n return stopIndex;\n },\n getColumnWidth: function getColumnWidth(props, index, instanceProps) {\n return instanceProps.columnMetadataMap[index].size;\n },\n getEstimatedTotalHeight: index_esm_getEstimatedTotalHeight,\n getEstimatedTotalWidth: index_esm_getEstimatedTotalWidth,\n getOffsetForColumnAndAlignment: function getOffsetForColumnAndAlignment(props, index, align, scrollOffset, instanceProps, scrollbarSize) {\n return index_esm_getOffsetForIndexAndAlignment('column', props, index, align, scrollOffset, instanceProps, scrollbarSize);\n },\n getOffsetForRowAndAlignment: function getOffsetForRowAndAlignment(props, index, align, scrollOffset, instanceProps, scrollbarSize) {\n return index_esm_getOffsetForIndexAndAlignment('row', props, index, align, scrollOffset, instanceProps, scrollbarSize);\n },\n getRowOffset: function getRowOffset(props, index, instanceProps) {\n return getItemMetadata('row', props, index, instanceProps).offset;\n },\n getRowHeight: function getRowHeight(props, index, instanceProps) {\n return instanceProps.rowMetadataMap[index].size;\n },\n getRowStartIndexForOffset: function getRowStartIndexForOffset(props, scrollTop, instanceProps) {\n return findNearestItem('row', props, instanceProps, scrollTop);\n },\n getRowStopIndexForStartIndex: function getRowStopIndexForStartIndex(props, startIndex, scrollTop, instanceProps) {\n var rowCount = props.rowCount,\n height = props.height;\n var itemMetadata = getItemMetadata('row', props, startIndex, instanceProps);\n var maxOffset = scrollTop + height;\n var offset = itemMetadata.offset + itemMetadata.size;\n var stopIndex = startIndex;\n\n while (stopIndex < rowCount - 1 && offset < maxOffset) {\n stopIndex++;\n offset += getItemMetadata('row', props, stopIndex, instanceProps).size;\n }\n\n return stopIndex;\n },\n initInstanceProps: function initInstanceProps(props, instance) {\n var _ref5 = props,\n estimatedColumnWidth = _ref5.estimatedColumnWidth,\n estimatedRowHeight = _ref5.estimatedRowHeight;\n var instanceProps = {\n columnMetadataMap: {},\n estimatedColumnWidth: estimatedColumnWidth || DEFAULT_ESTIMATED_ITEM_SIZE,\n estimatedRowHeight: estimatedRowHeight || DEFAULT_ESTIMATED_ITEM_SIZE,\n lastMeasuredColumnIndex: -1,\n lastMeasuredRowIndex: -1,\n rowMetadataMap: {}\n };\n\n instance.resetAfterColumnIndex = function (columnIndex, shouldForceUpdate) {\n if (shouldForceUpdate === void 0) {\n shouldForceUpdate = true;\n }\n\n instance.resetAfterIndices({\n columnIndex: columnIndex,\n shouldForceUpdate: shouldForceUpdate\n });\n };\n\n instance.resetAfterRowIndex = function (rowIndex, shouldForceUpdate) {\n if (shouldForceUpdate === void 0) {\n shouldForceUpdate = true;\n }\n\n instance.resetAfterIndices({\n rowIndex: rowIndex,\n shouldForceUpdate: shouldForceUpdate\n });\n };\n\n instance.resetAfterIndices = function (_ref6) {\n var columnIndex = _ref6.columnIndex,\n rowIndex = _ref6.rowIndex,\n _ref6$shouldForceUpda = _ref6.shouldForceUpdate,\n shouldForceUpdate = _ref6$shouldForceUpda === void 0 ? true : _ref6$shouldForceUpda;\n\n if (typeof columnIndex === 'number') {\n instanceProps.lastMeasuredColumnIndex = Math.min(instanceProps.lastMeasuredColumnIndex, columnIndex - 1);\n }\n\n if (typeof rowIndex === 'number') {\n instanceProps.lastMeasuredRowIndex = Math.min(instanceProps.lastMeasuredRowIndex, rowIndex - 1);\n } // We could potentially optimize further by only evicting styles after this index,\n // But since styles are only cached while scrolling is in progress-\n // It seems an unnecessary optimization.\n // It's unlikely that resetAfterIndex() will be called while a user is scrolling.\n\n\n instance._getItemStyleCache(-1);\n\n if (shouldForceUpdate) {\n instance.forceUpdate();\n }\n };\n\n return instanceProps;\n },\n shouldResetStyleCacheOnItemSizeChange: false,\n validateProps: function validateProps(_ref7) {\n var columnWidth = _ref7.columnWidth,\n rowHeight = _ref7.rowHeight;\n\n if (false) {}\n }\n});\n\nvar IS_SCROLLING_DEBOUNCE_INTERVAL$1 = 150;\n\nvar defaultItemKey$1 = function defaultItemKey(index, data) {\n return index;\n}; // In DEV mode, this Set helps us only log a warning once per component instance.\n// This avoids spamming the console every time a render happens.\n\n\nvar devWarningsDirection = null;\nvar devWarningsTagName$1 = null;\n\nif (false) {}\n\nfunction createListComponent(_ref) {\n var _class, _temp;\n\n var getItemOffset = _ref.getItemOffset,\n getEstimatedTotalSize = _ref.getEstimatedTotalSize,\n getItemSize = _ref.getItemSize,\n getOffsetForIndexAndAlignment = _ref.getOffsetForIndexAndAlignment,\n getStartIndexForOffset = _ref.getStartIndexForOffset,\n getStopIndexForStartIndex = _ref.getStopIndexForStartIndex,\n initInstanceProps = _ref.initInstanceProps,\n shouldResetStyleCacheOnItemSizeChange = _ref.shouldResetStyleCacheOnItemSizeChange,\n validateProps = _ref.validateProps;\n return _temp = _class =\n /*#__PURE__*/\n function (_PureComponent) {\n _inheritsLoose(List, _PureComponent);\n\n // Always use explicit constructor for React components.\n // It produces less code after transpilation. (#26)\n // eslint-disable-next-line no-useless-constructor\n function List(props) {\n var _this;\n\n _this = _PureComponent.call(this, props) || this;\n _this._instanceProps = initInstanceProps(_this.props, _assertThisInitialized(_assertThisInitialized(_this)));\n _this._outerRef = void 0;\n _this._resetIsScrollingTimeoutId = null;\n _this.state = {\n instance: _assertThisInitialized(_assertThisInitialized(_this)),\n isScrolling: false,\n scrollDirection: 'forward',\n scrollOffset: typeof _this.props.initialScrollOffset === 'number' ? _this.props.initialScrollOffset : 0,\n scrollUpdateWasRequested: false\n };\n _this._callOnItemsRendered = void 0;\n _this._callOnItemsRendered = memoize_one_esm(function (overscanStartIndex, overscanStopIndex, visibleStartIndex, visibleStopIndex) {\n return _this.props.onItemsRendered({\n overscanStartIndex: overscanStartIndex,\n overscanStopIndex: overscanStopIndex,\n visibleStartIndex: visibleStartIndex,\n visibleStopIndex: visibleStopIndex\n });\n });\n _this._callOnScroll = void 0;\n _this._callOnScroll = memoize_one_esm(function (scrollDirection, scrollOffset, scrollUpdateWasRequested) {\n return _this.props.onScroll({\n scrollDirection: scrollDirection,\n scrollOffset: scrollOffset,\n scrollUpdateWasRequested: scrollUpdateWasRequested\n });\n });\n _this._getItemStyle = void 0;\n\n _this._getItemStyle = function (index) {\n var _this$props = _this.props,\n direction = _this$props.direction,\n itemSize = _this$props.itemSize,\n layout = _this$props.layout;\n\n var itemStyleCache = _this._getItemStyleCache(shouldResetStyleCacheOnItemSizeChange && itemSize, shouldResetStyleCacheOnItemSizeChange && layout, shouldResetStyleCacheOnItemSizeChange && direction);\n\n var style;\n\n if (itemStyleCache.hasOwnProperty(index)) {\n style = itemStyleCache[index];\n } else {\n var _offset = getItemOffset(_this.props, index, _this._instanceProps);\n\n var size = getItemSize(_this.props, index, _this._instanceProps); // TODO Deprecate direction \"horizontal\"\n\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var isRtl = direction === 'rtl';\n var offsetHorizontal = isHorizontal ? _offset : 0;\n itemStyleCache[index] = style = {\n position: 'absolute',\n left: isRtl ? undefined : offsetHorizontal,\n right: isRtl ? offsetHorizontal : undefined,\n top: !isHorizontal ? _offset : 0,\n height: !isHorizontal ? size : '100%',\n width: isHorizontal ? size : '100%'\n };\n }\n\n return style;\n };\n\n _this._getItemStyleCache = void 0;\n _this._getItemStyleCache = memoize_one_esm(function (_, __, ___) {\n return {};\n });\n\n _this._onScrollHorizontal = function (event) {\n var _event$currentTarget = event.currentTarget,\n clientWidth = _event$currentTarget.clientWidth,\n scrollLeft = _event$currentTarget.scrollLeft,\n scrollWidth = _event$currentTarget.scrollWidth;\n\n _this.setState(function (prevState) {\n if (prevState.scrollOffset === scrollLeft) {\n // Scroll position may have been updated by cDM/cDU,\n // In which case we don't need to trigger another render,\n // And we don't want to update state.isScrolling.\n return null;\n }\n\n var direction = _this.props.direction;\n var scrollOffset = scrollLeft;\n\n if (direction === 'rtl') {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // It's also easier for this component if we convert offsets to the same format as they would be in for ltr.\n // So the simplest solution is to determine which browser behavior we're dealing with, and convert based on it.\n switch (getRTLOffsetType()) {\n case 'negative':\n scrollOffset = -scrollLeft;\n break;\n\n case 'positive-descending':\n scrollOffset = scrollWidth - clientWidth - scrollLeft;\n break;\n }\n } // Prevent Safari's elastic scrolling from causing visual shaking when scrolling past bounds.\n\n\n scrollOffset = Math.max(0, Math.min(scrollOffset, scrollWidth - clientWidth));\n return {\n isScrolling: true,\n scrollDirection: prevState.scrollOffset < scrollLeft ? 'forward' : 'backward',\n scrollOffset: scrollOffset,\n scrollUpdateWasRequested: false\n };\n }, _this._resetIsScrollingDebounced);\n };\n\n _this._onScrollVertical = function (event) {\n var _event$currentTarget2 = event.currentTarget,\n clientHeight = _event$currentTarget2.clientHeight,\n scrollHeight = _event$currentTarget2.scrollHeight,\n scrollTop = _event$currentTarget2.scrollTop;\n\n _this.setState(function (prevState) {\n if (prevState.scrollOffset === scrollTop) {\n // Scroll position may have been updated by cDM/cDU,\n // In which case we don't need to trigger another render,\n // And we don't want to update state.isScrolling.\n return null;\n } // Prevent Safari's elastic scrolling from causing visual shaking when scrolling past bounds.\n\n\n var scrollOffset = Math.max(0, Math.min(scrollTop, scrollHeight - clientHeight));\n return {\n isScrolling: true,\n scrollDirection: prevState.scrollOffset < scrollOffset ? 'forward' : 'backward',\n scrollOffset: scrollOffset,\n scrollUpdateWasRequested: false\n };\n }, _this._resetIsScrollingDebounced);\n };\n\n _this._outerRefSetter = function (ref) {\n var outerRef = _this.props.outerRef;\n _this._outerRef = ref;\n\n if (typeof outerRef === 'function') {\n outerRef(ref);\n } else if (outerRef != null && typeof outerRef === 'object' && outerRef.hasOwnProperty('current')) {\n outerRef.current = ref;\n }\n };\n\n _this._resetIsScrollingDebounced = function () {\n if (_this._resetIsScrollingTimeoutId !== null) {\n cancelTimeout(_this._resetIsScrollingTimeoutId);\n }\n\n _this._resetIsScrollingTimeoutId = requestTimeout(_this._resetIsScrolling, IS_SCROLLING_DEBOUNCE_INTERVAL$1);\n };\n\n _this._resetIsScrolling = function () {\n _this._resetIsScrollingTimeoutId = null;\n\n _this.setState({\n isScrolling: false\n }, function () {\n // Clear style cache after state update has been committed.\n // This way we don't break pure sCU for items that don't use isScrolling param.\n _this._getItemStyleCache(-1, null);\n });\n };\n\n return _this;\n }\n\n List.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n validateSharedProps$1(nextProps, prevState);\n validateProps(nextProps);\n return null;\n };\n\n var _proto = List.prototype;\n\n _proto.scrollTo = function scrollTo(scrollOffset) {\n scrollOffset = Math.max(0, scrollOffset);\n this.setState(function (prevState) {\n if (prevState.scrollOffset === scrollOffset) {\n return null;\n }\n\n return {\n scrollDirection: prevState.scrollOffset < scrollOffset ? 'forward' : 'backward',\n scrollOffset: scrollOffset,\n scrollUpdateWasRequested: true\n };\n }, this._resetIsScrollingDebounced);\n };\n\n _proto.scrollToItem = function scrollToItem(index, align) {\n if (align === void 0) {\n align = 'auto';\n }\n\n var itemCount = this.props.itemCount;\n var scrollOffset = this.state.scrollOffset;\n index = Math.max(0, Math.min(index, itemCount - 1));\n this.scrollTo(getOffsetForIndexAndAlignment(this.props, index, align, scrollOffset, this._instanceProps));\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var _this$props2 = this.props,\n direction = _this$props2.direction,\n initialScrollOffset = _this$props2.initialScrollOffset,\n layout = _this$props2.layout;\n\n if (typeof initialScrollOffset === 'number' && this._outerRef != null) {\n var outerRef = this._outerRef; // TODO Deprecate direction \"horizontal\"\n\n if (direction === 'horizontal' || layout === 'horizontal') {\n outerRef.scrollLeft = initialScrollOffset;\n } else {\n outerRef.scrollTop = initialScrollOffset;\n }\n }\n\n this._callPropsCallbacks();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n var _this$props3 = this.props,\n direction = _this$props3.direction,\n layout = _this$props3.layout;\n var _this$state = this.state,\n scrollOffset = _this$state.scrollOffset,\n scrollUpdateWasRequested = _this$state.scrollUpdateWasRequested;\n\n if (scrollUpdateWasRequested && this._outerRef != null) {\n var outerRef = this._outerRef; // TODO Deprecate direction \"horizontal\"\n\n if (direction === 'horizontal' || layout === 'horizontal') {\n if (direction === 'rtl') {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // So we need to determine which browser behavior we're dealing with, and mimic it.\n switch (getRTLOffsetType()) {\n case 'negative':\n outerRef.scrollLeft = -scrollOffset;\n break;\n\n case 'positive-ascending':\n outerRef.scrollLeft = scrollOffset;\n break;\n\n default:\n var clientWidth = outerRef.clientWidth,\n scrollWidth = outerRef.scrollWidth;\n outerRef.scrollLeft = scrollWidth - clientWidth - scrollOffset;\n break;\n }\n } else {\n outerRef.scrollLeft = scrollOffset;\n }\n } else {\n outerRef.scrollTop = scrollOffset;\n }\n }\n\n this._callPropsCallbacks();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this._resetIsScrollingTimeoutId !== null) {\n cancelTimeout(this._resetIsScrollingTimeoutId);\n }\n };\n\n _proto.render = function render() {\n var _this$props4 = this.props,\n children = _this$props4.children,\n className = _this$props4.className,\n direction = _this$props4.direction,\n height = _this$props4.height,\n innerRef = _this$props4.innerRef,\n innerElementType = _this$props4.innerElementType,\n innerTagName = _this$props4.innerTagName,\n itemCount = _this$props4.itemCount,\n itemData = _this$props4.itemData,\n _this$props4$itemKey = _this$props4.itemKey,\n itemKey = _this$props4$itemKey === void 0 ? defaultItemKey$1 : _this$props4$itemKey,\n layout = _this$props4.layout,\n outerElementType = _this$props4.outerElementType,\n outerTagName = _this$props4.outerTagName,\n style = _this$props4.style,\n useIsScrolling = _this$props4.useIsScrolling,\n width = _this$props4.width;\n var isScrolling = this.state.isScrolling; // TODO Deprecate direction \"horizontal\"\n\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var onScroll = isHorizontal ? this._onScrollHorizontal : this._onScrollVertical;\n\n var _this$_getRangeToRend = this._getRangeToRender(),\n startIndex = _this$_getRangeToRend[0],\n stopIndex = _this$_getRangeToRend[1];\n\n var items = [];\n\n if (itemCount > 0) {\n for (var _index = startIndex; _index <= stopIndex; _index++) {\n items.push(Object(react[\"createElement\"])(children, {\n data: itemData,\n key: itemKey(_index, itemData),\n index: _index,\n isScrolling: useIsScrolling ? isScrolling : undefined,\n style: this._getItemStyle(_index)\n }));\n }\n } // Read this value AFTER items have been created,\n // So their actual sizes (if variable) are taken into consideration.\n\n\n var estimatedTotalSize = getEstimatedTotalSize(this.props, this._instanceProps);\n return Object(react[\"createElement\"])(outerElementType || outerTagName || 'div', {\n className: className,\n onScroll: onScroll,\n ref: this._outerRefSetter,\n style: Object(esm_extends[\"a\" /* default */])({\n position: 'relative',\n height: height,\n width: width,\n overflow: 'auto',\n WebkitOverflowScrolling: 'touch',\n willChange: 'transform',\n direction: direction\n }, style)\n }, Object(react[\"createElement\"])(innerElementType || innerTagName || 'div', {\n children: items,\n ref: innerRef,\n style: {\n height: isHorizontal ? '100%' : estimatedTotalSize,\n pointerEvents: isScrolling ? 'none' : undefined,\n width: isHorizontal ? estimatedTotalSize : '100%'\n }\n }));\n };\n\n _proto._callPropsCallbacks = function _callPropsCallbacks() {\n if (typeof this.props.onItemsRendered === 'function') {\n var itemCount = this.props.itemCount;\n\n if (itemCount > 0) {\n var _this$_getRangeToRend2 = this._getRangeToRender(),\n _overscanStartIndex = _this$_getRangeToRend2[0],\n _overscanStopIndex = _this$_getRangeToRend2[1],\n _visibleStartIndex = _this$_getRangeToRend2[2],\n _visibleStopIndex = _this$_getRangeToRend2[3];\n\n this._callOnItemsRendered(_overscanStartIndex, _overscanStopIndex, _visibleStartIndex, _visibleStopIndex);\n }\n }\n\n if (typeof this.props.onScroll === 'function') {\n var _this$state2 = this.state,\n _scrollDirection = _this$state2.scrollDirection,\n _scrollOffset = _this$state2.scrollOffset,\n _scrollUpdateWasRequested = _this$state2.scrollUpdateWasRequested;\n\n this._callOnScroll(_scrollDirection, _scrollOffset, _scrollUpdateWasRequested);\n }\n }; // Lazily create and cache item styles while scrolling,\n // So that pure component sCU will prevent re-renders.\n // We maintain this cache, and pass a style prop rather than index,\n // So that List can clear cached styles and force item re-render if necessary.\n\n\n _proto._getRangeToRender = function _getRangeToRender() {\n var _this$props5 = this.props,\n itemCount = _this$props5.itemCount,\n overscanCount = _this$props5.overscanCount;\n var _this$state3 = this.state,\n isScrolling = _this$state3.isScrolling,\n scrollDirection = _this$state3.scrollDirection,\n scrollOffset = _this$state3.scrollOffset;\n\n if (itemCount === 0) {\n return [0, 0, 0, 0];\n }\n\n var startIndex = getStartIndexForOffset(this.props, scrollOffset, this._instanceProps);\n var stopIndex = getStopIndexForStartIndex(this.props, startIndex, scrollOffset, this._instanceProps); // Overscan by one item in each direction so that tab/focus works.\n // If there isn't at least one extra item, tab loops back around.\n\n var overscanBackward = !isScrolling || scrollDirection === 'backward' ? Math.max(1, overscanCount) : 1;\n var overscanForward = !isScrolling || scrollDirection === 'forward' ? Math.max(1, overscanCount) : 1;\n return [Math.max(0, startIndex - overscanBackward), Math.max(0, Math.min(itemCount - 1, stopIndex + overscanForward)), startIndex, stopIndex];\n };\n\n return List;\n }(react[\"PureComponent\"]), _class.defaultProps = {\n direction: 'ltr',\n itemData: undefined,\n layout: 'vertical',\n overscanCount: 2,\n useIsScrolling: false\n }, _temp;\n} // NOTE: I considered further wrapping individual items with a pure ListItem component.\n// This would avoid ever calling the render function for the same index more than once,\n// But it would also add the overhead of a lot of components/fibers.\n// I assume people already do this (render function returning a class component),\n// So my doing it would just unnecessarily double the wrappers.\n\nvar validateSharedProps$1 = function validateSharedProps(_ref2, _ref3) {\n var children = _ref2.children,\n direction = _ref2.direction,\n height = _ref2.height,\n layout = _ref2.layout,\n innerTagName = _ref2.innerTagName,\n outerTagName = _ref2.outerTagName,\n width = _ref2.width;\n var instance = _ref3.instance;\n\n if (false) { var isHorizontal; }\n};\n\nvar DEFAULT_ESTIMATED_ITEM_SIZE$1 = 50;\n\nvar getItemMetadata$1 = function getItemMetadata(props, index, instanceProps) {\n var _ref = props,\n itemSize = _ref.itemSize;\n var itemMetadataMap = instanceProps.itemMetadataMap,\n lastMeasuredIndex = instanceProps.lastMeasuredIndex;\n\n if (index > lastMeasuredIndex) {\n var offset = 0;\n\n if (lastMeasuredIndex >= 0) {\n var itemMetadata = itemMetadataMap[lastMeasuredIndex];\n offset = itemMetadata.offset + itemMetadata.size;\n }\n\n for (var i = lastMeasuredIndex + 1; i <= index; i++) {\n var size = itemSize(i);\n itemMetadataMap[i] = {\n offset: offset,\n size: size\n };\n offset += size;\n }\n\n instanceProps.lastMeasuredIndex = index;\n }\n\n return itemMetadataMap[index];\n};\n\nvar findNearestItem$1 = function findNearestItem(props, instanceProps, offset) {\n var itemMetadataMap = instanceProps.itemMetadataMap,\n lastMeasuredIndex = instanceProps.lastMeasuredIndex;\n var lastMeasuredItemOffset = lastMeasuredIndex > 0 ? itemMetadataMap[lastMeasuredIndex].offset : 0;\n\n if (lastMeasuredItemOffset >= offset) {\n // If we've already measured items within this range just use a binary search as it's faster.\n return findNearestItemBinarySearch$1(props, instanceProps, lastMeasuredIndex, 0, offset);\n } else {\n // If we haven't yet measured this high, fallback to an exponential search with an inner binary search.\n // The exponential search avoids pre-computing sizes for the full set of items as a binary search would.\n // The overall complexity for this approach is O(log n).\n return findNearestItemExponentialSearch$1(props, instanceProps, Math.max(0, lastMeasuredIndex), offset);\n }\n};\n\nvar findNearestItemBinarySearch$1 = function findNearestItemBinarySearch(props, instanceProps, high, low, offset) {\n while (low <= high) {\n var middle = low + Math.floor((high - low) / 2);\n var currentOffset = getItemMetadata$1(props, middle, instanceProps).offset;\n\n if (currentOffset === offset) {\n return middle;\n } else if (currentOffset < offset) {\n low = middle + 1;\n } else if (currentOffset > offset) {\n high = middle - 1;\n }\n }\n\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\n\nvar findNearestItemExponentialSearch$1 = function findNearestItemExponentialSearch(props, instanceProps, index, offset) {\n var itemCount = props.itemCount;\n var interval = 1;\n\n while (index < itemCount && getItemMetadata$1(props, index, instanceProps).offset < offset) {\n index += interval;\n interval *= 2;\n }\n\n return findNearestItemBinarySearch$1(props, instanceProps, Math.min(index, itemCount - 1), Math.floor(index / 2), offset);\n};\n\nvar index_esm_getEstimatedTotalSize = function getEstimatedTotalSize(_ref2, _ref3) {\n var itemCount = _ref2.itemCount;\n var itemMetadataMap = _ref3.itemMetadataMap,\n estimatedItemSize = _ref3.estimatedItemSize,\n lastMeasuredIndex = _ref3.lastMeasuredIndex;\n var totalSizeOfMeasuredItems = 0; // Edge case check for when the number of items decreases while a scroll is in progress.\n // https://github.com/bvaughn/react-window/pull/138\n\n if (lastMeasuredIndex >= itemCount) {\n lastMeasuredIndex = itemCount - 1;\n }\n\n if (lastMeasuredIndex >= 0) {\n var itemMetadata = itemMetadataMap[lastMeasuredIndex];\n totalSizeOfMeasuredItems = itemMetadata.offset + itemMetadata.size;\n }\n\n var numUnmeasuredItems = itemCount - lastMeasuredIndex - 1;\n var totalSizeOfUnmeasuredItems = numUnmeasuredItems * estimatedItemSize;\n return totalSizeOfMeasuredItems + totalSizeOfUnmeasuredItems;\n};\n\nvar VariableSizeList =\n/*#__PURE__*/\ncreateListComponent({\n getItemOffset: function getItemOffset(props, index, instanceProps) {\n return getItemMetadata$1(props, index, instanceProps).offset;\n },\n getItemSize: function getItemSize(props, index, instanceProps) {\n return instanceProps.itemMetadataMap[index].size;\n },\n getEstimatedTotalSize: index_esm_getEstimatedTotalSize,\n getOffsetForIndexAndAlignment: function getOffsetForIndexAndAlignment(props, index, align, scrollOffset, instanceProps) {\n var direction = props.direction,\n height = props.height,\n layout = props.layout,\n width = props.width; // TODO Deprecate direction \"horizontal\"\n\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var size = isHorizontal ? width : height;\n var itemMetadata = getItemMetadata$1(props, index, instanceProps); // Get estimated total size after ItemMetadata is computed,\n // To ensure it reflects actual measurements instead of just estimates.\n\n var estimatedTotalSize = index_esm_getEstimatedTotalSize(props, instanceProps);\n var maxOffset = Math.max(0, Math.min(estimatedTotalSize - size, itemMetadata.offset));\n var minOffset = Math.max(0, itemMetadata.offset - size + itemMetadata.size);\n\n if (align === 'smart') {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n align = 'auto';\n } else {\n align = 'center';\n }\n }\n\n switch (align) {\n case 'start':\n return maxOffset;\n\n case 'end':\n return minOffset;\n\n case 'center':\n return Math.round(minOffset + (maxOffset - minOffset) / 2);\n\n case 'auto':\n default:\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset;\n } else if (scrollOffset < minOffset) {\n return minOffset;\n } else {\n return maxOffset;\n }\n\n }\n },\n getStartIndexForOffset: function getStartIndexForOffset(props, offset, instanceProps) {\n return findNearestItem$1(props, instanceProps, offset);\n },\n getStopIndexForStartIndex: function getStopIndexForStartIndex(props, startIndex, scrollOffset, instanceProps) {\n var direction = props.direction,\n height = props.height,\n itemCount = props.itemCount,\n layout = props.layout,\n width = props.width; // TODO Deprecate direction \"horizontal\"\n\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var size = isHorizontal ? width : height;\n var itemMetadata = getItemMetadata$1(props, startIndex, instanceProps);\n var maxOffset = scrollOffset + size;\n var offset = itemMetadata.offset + itemMetadata.size;\n var stopIndex = startIndex;\n\n while (stopIndex < itemCount - 1 && offset < maxOffset) {\n stopIndex++;\n offset += getItemMetadata$1(props, stopIndex, instanceProps).size;\n }\n\n return stopIndex;\n },\n initInstanceProps: function initInstanceProps(props, instance) {\n var _ref4 = props,\n estimatedItemSize = _ref4.estimatedItemSize;\n var instanceProps = {\n itemMetadataMap: {},\n estimatedItemSize: estimatedItemSize || DEFAULT_ESTIMATED_ITEM_SIZE$1,\n lastMeasuredIndex: -1\n };\n\n instance.resetAfterIndex = function (index, shouldForceUpdate) {\n if (shouldForceUpdate === void 0) {\n shouldForceUpdate = true;\n }\n\n instanceProps.lastMeasuredIndex = Math.min(instanceProps.lastMeasuredIndex, index - 1); // We could potentially optimize further by only evicting styles after this index,\n // But since styles are only cached while scrolling is in progress-\n // It seems an unnecessary optimization.\n // It's unlikely that resetAfterIndex() will be called while a user is scrolling.\n\n instance._getItemStyleCache(-1);\n\n if (shouldForceUpdate) {\n instance.forceUpdate();\n }\n };\n\n return instanceProps;\n },\n shouldResetStyleCacheOnItemSizeChange: false,\n validateProps: function validateProps(_ref5) {\n var itemSize = _ref5.itemSize;\n\n if (false) {}\n }\n});\n\nvar FixedSizeGrid =\n/*#__PURE__*/\ncreateGridComponent({\n getColumnOffset: function getColumnOffset(_ref, index) {\n var columnWidth = _ref.columnWidth;\n return index * columnWidth;\n },\n getColumnWidth: function getColumnWidth(_ref2, index) {\n var columnWidth = _ref2.columnWidth;\n return columnWidth;\n },\n getRowOffset: function getRowOffset(_ref3, index) {\n var rowHeight = _ref3.rowHeight;\n return index * rowHeight;\n },\n getRowHeight: function getRowHeight(_ref4, index) {\n var rowHeight = _ref4.rowHeight;\n return rowHeight;\n },\n getEstimatedTotalHeight: function getEstimatedTotalHeight(_ref5) {\n var rowCount = _ref5.rowCount,\n rowHeight = _ref5.rowHeight;\n return rowHeight * rowCount;\n },\n getEstimatedTotalWidth: function getEstimatedTotalWidth(_ref6) {\n var columnCount = _ref6.columnCount,\n columnWidth = _ref6.columnWidth;\n return columnWidth * columnCount;\n },\n getOffsetForColumnAndAlignment: function getOffsetForColumnAndAlignment(_ref7, columnIndex, align, scrollLeft, instanceProps, scrollbarSize) {\n var columnCount = _ref7.columnCount,\n columnWidth = _ref7.columnWidth,\n width = _ref7.width;\n var lastColumnOffset = Math.max(0, columnCount * columnWidth - width);\n var maxOffset = Math.min(lastColumnOffset, columnIndex * columnWidth);\n var minOffset = Math.max(0, columnIndex * columnWidth - width + scrollbarSize + columnWidth);\n\n if (align === 'smart') {\n if (scrollLeft >= minOffset - width && scrollLeft <= maxOffset + width) {\n align = 'auto';\n } else {\n align = 'center';\n }\n }\n\n switch (align) {\n case 'start':\n return maxOffset;\n\n case 'end':\n return minOffset;\n\n case 'center':\n // \"Centered\" offset is usually the average of the min and max.\n // But near the edges of the list, this doesn't hold true.\n var middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2);\n\n if (middleOffset < Math.ceil(width / 2)) {\n return 0; // near the beginning\n } else if (middleOffset > lastColumnOffset + Math.floor(width / 2)) {\n return lastColumnOffset; // near the end\n } else {\n return middleOffset;\n }\n\n case 'auto':\n default:\n if (scrollLeft >= minOffset && scrollLeft <= maxOffset) {\n return scrollLeft;\n } else if (minOffset > maxOffset) {\n // Because we only take into account the scrollbar size when calculating minOffset\n // this value can be larger than maxOffset when at the end of the list\n return minOffset;\n } else if (scrollLeft < minOffset) {\n return minOffset;\n } else {\n return maxOffset;\n }\n\n }\n },\n getOffsetForRowAndAlignment: function getOffsetForRowAndAlignment(_ref8, rowIndex, align, scrollTop, instanceProps, scrollbarSize) {\n var rowHeight = _ref8.rowHeight,\n height = _ref8.height,\n rowCount = _ref8.rowCount;\n var lastRowOffset = Math.max(0, rowCount * rowHeight - height);\n var maxOffset = Math.min(lastRowOffset, rowIndex * rowHeight);\n var minOffset = Math.max(0, rowIndex * rowHeight - height + scrollbarSize + rowHeight);\n\n if (align === 'smart') {\n if (scrollTop >= minOffset - height && scrollTop <= maxOffset + height) {\n align = 'auto';\n } else {\n align = 'center';\n }\n }\n\n switch (align) {\n case 'start':\n return maxOffset;\n\n case 'end':\n return minOffset;\n\n case 'center':\n // \"Centered\" offset is usually the average of the min and max.\n // But near the edges of the list, this doesn't hold true.\n var middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2);\n\n if (middleOffset < Math.ceil(height / 2)) {\n return 0; // near the beginning\n } else if (middleOffset > lastRowOffset + Math.floor(height / 2)) {\n return lastRowOffset; // near the end\n } else {\n return middleOffset;\n }\n\n case 'auto':\n default:\n if (scrollTop >= minOffset && scrollTop <= maxOffset) {\n return scrollTop;\n } else if (minOffset > maxOffset) {\n // Because we only take into account the scrollbar size when calculating minOffset\n // this value can be larger than maxOffset when at the end of the list\n return minOffset;\n } else if (scrollTop < minOffset) {\n return minOffset;\n } else {\n return maxOffset;\n }\n\n }\n },\n getColumnStartIndexForOffset: function getColumnStartIndexForOffset(_ref9, scrollLeft) {\n var columnWidth = _ref9.columnWidth,\n columnCount = _ref9.columnCount;\n return Math.max(0, Math.min(columnCount - 1, Math.floor(scrollLeft / columnWidth)));\n },\n getColumnStopIndexForStartIndex: function getColumnStopIndexForStartIndex(_ref10, startIndex, scrollLeft) {\n var columnWidth = _ref10.columnWidth,\n columnCount = _ref10.columnCount,\n width = _ref10.width;\n var left = startIndex * columnWidth;\n var numVisibleColumns = Math.ceil((width + scrollLeft - left) / columnWidth);\n return Math.max(0, Math.min(columnCount - 1, startIndex + numVisibleColumns - 1 // -1 is because stop index is inclusive\n ));\n },\n getRowStartIndexForOffset: function getRowStartIndexForOffset(_ref11, scrollTop) {\n var rowHeight = _ref11.rowHeight,\n rowCount = _ref11.rowCount;\n return Math.max(0, Math.min(rowCount - 1, Math.floor(scrollTop / rowHeight)));\n },\n getRowStopIndexForStartIndex: function getRowStopIndexForStartIndex(_ref12, startIndex, scrollTop) {\n var rowHeight = _ref12.rowHeight,\n rowCount = _ref12.rowCount,\n height = _ref12.height;\n var top = startIndex * rowHeight;\n var numVisibleRows = Math.ceil((height + scrollTop - top) / rowHeight);\n return Math.max(0, Math.min(rowCount - 1, startIndex + numVisibleRows - 1 // -1 is because stop index is inclusive\n ));\n },\n initInstanceProps: function initInstanceProps(props) {// Noop\n },\n shouldResetStyleCacheOnItemSizeChange: true,\n validateProps: function validateProps(_ref13) {\n var columnWidth = _ref13.columnWidth,\n rowHeight = _ref13.rowHeight;\n\n if (false) {}\n }\n});\n\nvar FixedSizeList =\n/*#__PURE__*/\ncreateListComponent({\n getItemOffset: function getItemOffset(_ref, index) {\n var itemSize = _ref.itemSize;\n return index * itemSize;\n },\n getItemSize: function getItemSize(_ref2, index) {\n var itemSize = _ref2.itemSize;\n return itemSize;\n },\n getEstimatedTotalSize: function getEstimatedTotalSize(_ref3) {\n var itemCount = _ref3.itemCount,\n itemSize = _ref3.itemSize;\n return itemSize * itemCount;\n },\n getOffsetForIndexAndAlignment: function getOffsetForIndexAndAlignment(_ref4, index, align, scrollOffset) {\n var direction = _ref4.direction,\n height = _ref4.height,\n itemCount = _ref4.itemCount,\n itemSize = _ref4.itemSize,\n layout = _ref4.layout,\n width = _ref4.width;\n // TODO Deprecate direction \"horizontal\"\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var size = isHorizontal ? width : height;\n var lastItemOffset = Math.max(0, itemCount * itemSize - size);\n var maxOffset = Math.min(lastItemOffset, index * itemSize);\n var minOffset = Math.max(0, index * itemSize - size + itemSize);\n\n if (align === 'smart') {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n align = 'auto';\n } else {\n align = 'center';\n }\n }\n\n switch (align) {\n case 'start':\n return maxOffset;\n\n case 'end':\n return minOffset;\n\n case 'center':\n {\n // \"Centered\" offset is usually the average of the min and max.\n // But near the edges of the list, this doesn't hold true.\n var middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2);\n\n if (middleOffset < Math.ceil(size / 2)) {\n return 0; // near the beginning\n } else if (middleOffset > lastItemOffset + Math.floor(size / 2)) {\n return lastItemOffset; // near the end\n } else {\n return middleOffset;\n }\n }\n\n case 'auto':\n default:\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset;\n } else if (scrollOffset < minOffset) {\n return minOffset;\n } else {\n return maxOffset;\n }\n\n }\n },\n getStartIndexForOffset: function getStartIndexForOffset(_ref5, offset) {\n var itemCount = _ref5.itemCount,\n itemSize = _ref5.itemSize;\n return Math.max(0, Math.min(itemCount - 1, Math.floor(offset / itemSize)));\n },\n getStopIndexForStartIndex: function getStopIndexForStartIndex(_ref6, startIndex, scrollOffset) {\n var direction = _ref6.direction,\n height = _ref6.height,\n itemCount = _ref6.itemCount,\n itemSize = _ref6.itemSize,\n layout = _ref6.layout,\n width = _ref6.width;\n // TODO Deprecate direction \"horizontal\"\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var offset = startIndex * itemSize;\n var size = isHorizontal ? width : height;\n var numVisibleItems = Math.ceil((size + scrollOffset - offset) / itemSize);\n return Math.max(0, Math.min(itemCount - 1, startIndex + numVisibleItems - 1 // -1 is because stop index is inclusive\n ));\n },\n initInstanceProps: function initInstanceProps(props) {// Noop\n },\n shouldResetStyleCacheOnItemSizeChange: true,\n validateProps: function validateProps(_ref7) {\n var itemSize = _ref7.itemSize;\n\n if (false) {}\n }\n});\n\n// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(prev, next) {\n for (var attribute in prev) {\n if (!(attribute in next)) {\n return true;\n }\n }\n\n for (var _attribute in next) {\n if (prev[_attribute] !== next[_attribute]) {\n return true;\n }\n }\n\n return false;\n}\n\n// It knows to compare individual style props and ignore the wrapper object.\n// See https://reactjs.org/docs/react-api.html#reactmemo\n\nfunction areEqual(prevProps, nextProps) {\n var prevStyle = prevProps.style,\n prevRest = Object(objectWithoutPropertiesLoose[\"a\" /* default */])(prevProps, [\"style\"]);\n\n var nextStyle = nextProps.style,\n nextRest = Object(objectWithoutPropertiesLoose[\"a\" /* default */])(nextProps, [\"style\"]);\n\n return !shallowDiffers(prevStyle, nextStyle) && !shallowDiffers(prevRest, nextRest);\n}\n\n// It knows to compare individual style props and ignore the wrapper object.\n// See https://reactjs.org/docs/react-component.html#shouldcomponentupdate\n\nfunction shouldComponentUpdate(nextProps, nextState) {\n return !areEqual(this.props, nextProps) || shallowDiffers(this.state, nextState);\n}\n\n\n//# sourceMappingURL=index.esm.js.map\n\n// EXTERNAL MODULE: ./src/components/ResultsInput/ResultsInput.module.scss\nvar ResultsInput_module = __webpack_require__(\"UFVg\");\nvar ResultsInput_module_default = /*#__PURE__*/__webpack_require__.n(ResultsInput_module);\n\n// CONCATENATED MODULE: ./src/components/ResultsInput/ResultsInput.tsx\n\n\n\n\n\n\n\nvar ResultsInput_ResultsInput = function ResultsInput(_ref) {\n var className = _ref.className;\n var dispatch = Object(es[\"b\" /* useDispatch */])();\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n var value = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"w\" /* selectResultsQuery */]);\n\n var handleChange = function handleChange(event) {\n dispatch(src_state[\"h\" /* resultsSlice */].actions.changeQuery(event.target.value));\n };\n\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"form\", {\n className: classnames_default()(ResultsInput_module_default.a.resultsInput, className),\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"input\", {\n className: ResultsInput_module_default.a.input,\n placeholder: translate('results.input.placeholder'),\n type: \"text\",\n value: value,\n onChange: handleChange\n })\n });\n};\n\n/* harmony default export */ var components_ResultsInput_ResultsInput = (ResultsInput_ResultsInput);\n// CONCATENATED MODULE: ./src/components/ResultsInput/index.ts\n\n// EXTERNAL MODULE: ./src/types/index.ts\nvar types = __webpack_require__(\"6+LV\");\n\n// EXTERNAL MODULE: ./src/components/Results/Results.module.scss\nvar Results_module = __webpack_require__(\"IQtc\");\nvar Results_module_default = /*#__PURE__*/__webpack_require__.n(Results_module);\n\n// CONCATENATED MODULE: ./src/components/Results/constants.ts\n\n\nvar COLUMNS = [{\n className: Results_module_default.a.word,\n id: types[\"a\" /* ResultColumn */].Word,\n translationKey: 'common.word'\n}, {\n className: Results_module_default.a.stat,\n id: types[\"a\" /* ResultColumn */].TilesCount,\n translationKey: 'common.tiles'\n}, {\n className: Results_module_default.a.stat,\n id: types[\"a\" /* ResultColumn */].ConsonantsCount,\n translationKey: 'common.consonants'\n}, {\n className: Results_module_default.a.stat,\n id: types[\"a\" /* ResultColumn */].VowelsCount,\n translationKey: 'common.vowels'\n}, {\n className: Results_module_default.a.stat,\n id: types[\"a\" /* ResultColumn */].BlanksCount,\n translationKey: 'common.blanks'\n}, {\n className: Results_module_default.a.stat,\n id: types[\"a\" /* ResultColumn */].WordsCount,\n translationKey: 'common.words'\n}, {\n className: Results_module_default.a.points,\n id: types[\"a\" /* ResultColumn */].Points,\n translationKey: 'common.points'\n}];\n// CONCATENATED MODULE: ./src/components/Results/HeaderButton.tsx\n\n\n\n\nfunction HeaderButton_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction HeaderButton_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { HeaderButton_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty[\"a\" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { HeaderButton_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\n\n\n\n\nvar HeaderButton_HeaderButton = function HeaderButton(_ref) {\n var column = _ref.column;\n var dispatch = Object(es[\"b\" /* useDispatch */])();\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n var sortColumn = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"x\" /* selectResultsSortColumn */]);\n var sortDirection = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"y\" /* selectResultsSortDirection */]);\n var triggerProps = Tooltip_useTooltip(translate(column.translationKey));\n\n var handleOrderChange = function handleOrderChange(columnId) {\n dispatch(src_state[\"h\" /* resultsSlice */].actions.sort(columnId));\n };\n\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"button\", HeaderButton_objectSpread(HeaderButton_objectSpread({\n className: classnames_default()(Results_module_default.a.headerButton, column.className),\n type: \"button\",\n onClick: function onClick() {\n return handleOrderChange(column.id);\n }\n }, triggerProps), {}, {\n children: /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"span\", {\n className: Results_module_default.a.cell,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"span\", {\n className: Results_module_default.a.headerButtonLabel,\n children: translate(column.translationKey)\n }), sortColumn === column.id && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SvgIcon_SvgIcon, {\n className: Results_module_default.a.sortIcon,\n icon: sortDirection === types[\"b\" /* SortDirection */].Ascending ? sortUp : sortDown\n })]\n })\n }), column.id);\n};\n\n/* harmony default export */ var Results_HeaderButton = (HeaderButton_HeaderButton);\n// CONCATENATED MODULE: ./src/components/Results/Cell.tsx\n\n\n\nfunction Cell_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction Cell_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Cell_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty[\"a\" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Cell_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\nvar Results_Cell_Cell = function Cell(_ref) {\n var className = _ref.className,\n translationKey = _ref.translationKey,\n value = _ref.value;\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n var triggerProps = Tooltip_useTooltip(\"\".concat(translate(translationKey), \": \").concat(value));\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"span\", Cell_objectSpread(Cell_objectSpread({\n className: classnames_default()(Results_module_default.a.cell, className)\n }, triggerProps), {}, {\n children: value\n }));\n};\n\n/* harmony default export */ var Results_Cell = (Results_Cell_Cell);\n// CONCATENATED MODULE: ./src/components/Results/Result.tsx\n\n\n\n\n\n\n\n\nvar Result_Result = function Result(_ref) {\n var index = _ref.index,\n style = _ref.style;\n var dispatch = Object(es[\"b\" /* useDispatch */])(); // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\n var results = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"A\" /* selectSortedFilteredResults */]);\n var result = results[index];\n\n var handleClick = function handleClick() {\n dispatch(src_state[\"h\" /* resultsSlice */].actions.applyResult(result));\n };\n\n var handleMouseEnter = function handleMouseEnter() {\n dispatch(src_state[\"h\" /* resultsSlice */].actions.changeResultCandidate(result));\n };\n\n var handleMouseLeave = function handleMouseLeave() {\n dispatch(src_state[\"h\" /* resultsSlice */].actions.changeResultCandidate(null));\n };\n\n var handleFocus = function handleFocus() {\n dispatch(src_state[\"h\" /* resultsSlice */].actions.changeResultCandidate(result));\n };\n\n var handleBlur = function handleBlur() {\n dispatch(src_state[\"h\" /* resultsSlice */].actions.changeResultCandidate(null));\n };\n\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"button\", {\n className: Results_module_default.a.result,\n style: style,\n type: \"button\",\n onBlur: handleBlur,\n onClick: handleClick,\n onFocus: handleFocus,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n children: /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"span\", {\n className: Results_module_default.a.resultContent,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Results_Cell, {\n className: Results_module_default.a.word,\n translationKey: \"common.word\",\n value: result.word\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Results_Cell, {\n className: Results_module_default.a.stat,\n translationKey: \"common.tiles\",\n value: result.numberOfTiles\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Results_Cell, {\n className: Results_module_default.a.stat,\n translationKey: \"common.consonants\",\n value: result.numberOfConsonants\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Results_Cell, {\n className: Results_module_default.a.stat,\n translationKey: \"common.vowels\",\n value: result.numberOfVowels\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Results_Cell, {\n className: Results_module_default.a.stat,\n translationKey: \"common.blanks\",\n value: result.numberOfBlanks\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Results_Cell, {\n className: Results_module_default.a.stat,\n translationKey: \"common.words\",\n value: result.numberOfWords\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Results_Cell, {\n className: Results_module_default.a.points,\n translationKey: \"common.points\",\n value: result.points\n })]\n })\n });\n};\n\n/* harmony default export */ var Results_Result = (Result_Result);\n// CONCATENATED MODULE: ./src/components/Results/SolveButton.tsx\n\n\n\n\n\n\n\n\nvar SolveButton_SolveButton = function SolveButton() {\n var dispatch = Object(es[\"b\" /* useDispatch */])();\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n var isLoading = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"r\" /* selectIsLoading */]);\n var rack = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"t\" /* selectRack */]);\n var isOutdated = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"i\" /* selectAreResultsOutdated */]);\n var hasTiles = rack.some(function (tile) {\n return tile !== null;\n });\n\n var handleRefresh = function handleRefresh() {\n dispatch(src_state[\"E\" /* solveSlice */].actions.submit());\n };\n\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Button_Button, {\n className: Results_module_default.a.outdatedButton,\n disabled: isLoading || !isOutdated || !hasTiles,\n icon: play,\n type: \"submit\",\n onClick: handleRefresh,\n children: translate('results.solve')\n });\n};\n\n/* harmony default export */ var Results_SolveButton = (SolveButton_SolveButton);\n// CONCATENATED MODULE: ./src/components/Results/Results.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar Results_Results = function Results(_ref) {\n var height = _ref.height,\n width = _ref.width;\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n var allResults = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"B\" /* selectSortedResults */]);\n var results = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"A\" /* selectSortedFilteredResults */]);\n var isLoading = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"r\" /* selectIsLoading */]);\n var isOutdated = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"i\" /* selectAreResultsOutdated */]);\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: Results_module_default.a.results,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: Results_module_default.a.header,\n children: COLUMNS.map(function (column) {\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Results_HeaderButton, {\n column: column\n }, column.id);\n })\n }), typeof results === 'undefined' && /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(components_EmptyState_EmptyState, {\n className: Results_module_default.a.emptyState,\n type: \"info\",\n children: [translate('results.empty-state.uninitialized'), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Results_SolveButton, {})]\n }), typeof results !== 'undefined' && typeof allResults !== 'undefined' && /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(jsx_runtime[\"Fragment\"], {\n children: [isOutdated && /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(components_EmptyState_EmptyState, {\n className: Results_module_default.a.emptyState,\n type: \"info\",\n children: [translate('results.empty-state.outdated'), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(Results_SolveButton, {})]\n }), !isOutdated && /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(jsx_runtime[\"Fragment\"], {\n children: [allResults.length === 0 && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_EmptyState_EmptyState, {\n className: Results_module_default.a.emptyState,\n type: \"warning\",\n children: translate('results.empty-state.no-results')\n }), allResults.length > 0 && results.length === 0 && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_EmptyState_EmptyState, {\n className: Results_module_default.a.emptyState,\n type: \"info\",\n children: translate('results.empty-state.no-filtered-results')\n }), allResults.length > 0 && results.length > 0 && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(FixedSizeList, {\n className: classnames_default()(Results_module_default.a.list, Object(defineProperty[\"a\" /* default */])({}, Results_module_default.a.outdated, isOutdated)),\n height: height - parameters[\"w\" /* RESULTS_HEADER_HEIGHT */] - parameters[\"x\" /* RESULTS_INPUT_HEIGHT */],\n itemCount: results.length,\n itemSize: parameters[\"y\" /* RESULTS_ITEM_HEIGHT */],\n width: width,\n children: Results_Result\n }), allResults.length > 0 && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_ResultsInput_ResultsInput, {\n className: Results_module_default.a.input\n })]\n })]\n }), isLoading && /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Loading_Loading, {})]\n });\n};\n\n/* harmony default export */ var components_Results_Results = (Results_Results);\n// CONCATENATED MODULE: ./src/components/Results/index.ts\n\n// EXTERNAL MODULE: ./src/components/Screen/Screen.module.scss\nvar Screen_module = __webpack_require__(\"SQnd\");\nvar Screen_module_default = /*#__PURE__*/__webpack_require__.n(Screen_module);\n\n// CONCATENATED MODULE: ./src/components/Screen/Screen.tsx\n\n\n\n\n\nvar Screen_Screen = function Screen(_ref) {\n var children = _ref.children,\n className = _ref.className,\n contentClassName = _ref.contentClassName,\n onAnimationEnd = _ref.onAnimationEnd;\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: classnames_default()(Screen_module_default.a.screen, className),\n onAnimationEnd: onAnimationEnd,\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: classnames_default()(Screen_module_default.a.content, contentClassName),\n children: children\n })\n });\n};\n\n/* harmony default export */ var components_Screen_Screen = (Screen_Screen);\n// CONCATENATED MODULE: ./src/components/Screen/index.ts\n\n// EXTERNAL MODULE: ./src/components/Settings/components/AutoGroupTilesSetting/AutoGroupTilesSetting.module.scss\nvar AutoGroupTilesSetting_module = __webpack_require__(\"NpR5\");\nvar AutoGroupTilesSetting_module_default = /*#__PURE__*/__webpack_require__.n(AutoGroupTilesSetting_module);\n\n// CONCATENATED MODULE: ./src/components/Settings/components/AutoGroupTilesSetting/constants.ts\nvar NULL_VALUE = 'null';\n// CONCATENATED MODULE: ./src/components/Settings/components/AutoGroupTilesSetting/lib.ts\n\nvar lib_parseValue = function parseValue(value) {\n if (value === 'left' || value === 'right') {\n return value;\n }\n\n if (value === NULL_VALUE) {\n return null;\n }\n\n throw new Error(\"\\\"\".concat(value, \"\\\" is not valid. Should be \\\"left\\\", \\\"right\\\", or \\\"\").concat(NULL_VALUE, \"\\\"\"));\n};\n// CONCATENATED MODULE: ./src/components/Settings/components/AutoGroupTilesSetting/AutoGroupTilesSetting.tsx\n\n\n\n\n\n\n\n\n\nvar AutoGroupTilesSetting_AutoGroupTilesSetting = function AutoGroupTilesSetting(_ref) {\n var className = _ref.className,\n disabled = _ref.disabled;\n var dispatch = Object(es[\"b\" /* useDispatch */])();\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n var configId = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"j\" /* selectAutoGroupTiles */]);\n var options = [{\n label: translate('settings.autoGroupTiles.left'),\n value: 'left'\n }, {\n label: translate('settings.autoGroupTiles.right'),\n value: 'right'\n }, {\n label: translate('settings.autoGroupTiles.null'),\n value: NULL_VALUE\n }];\n\n var handleChange = function handleChange(event) {\n var autoGroupTiles = lib_parseValue(event.target.value);\n dispatch(src_state[\"D\" /* settingsSlice */].actions.changeAutoGroupTiles(autoGroupTiles));\n };\n\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: className,\n children: options.map(function (option) {\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Radio_Radio, {\n checked: configId === lib_parseValue(option.value),\n className: AutoGroupTilesSetting_module_default.a.option,\n disabled: disabled,\n id: \"autoGroupTiles\",\n name: \"autoGroupTiles\",\n value: option.value,\n onChange: handleChange,\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: AutoGroupTilesSetting_module_default.a.label,\n children: option.label\n })\n }, option.value);\n })\n });\n};\n\n/* harmony default export */ var components_AutoGroupTilesSetting_AutoGroupTilesSetting = (AutoGroupTilesSetting_AutoGroupTilesSetting);\n// CONCATENATED MODULE: ./src/components/Settings/components/AutoGroupTilesSetting/index.ts\n\n// EXTERNAL MODULE: ./src/components/Settings/components/ConfigSetting/ConfigSetting.module.scss\nvar ConfigSetting_module = __webpack_require__(\"A/bs\");\nvar ConfigSetting_module_default = /*#__PURE__*/__webpack_require__.n(ConfigSetting_module);\n\n// CONCATENATED MODULE: ./src/components/Settings/components/ConfigSetting/options.ts\n\nvar options_options = [{\n label: configs_build[\"scrabble\"].name,\n value: configs_build[\"scrabble\"].id\n}, {\n label: configs_build[\"literaki\"].name,\n value: configs_build[\"literaki\"].id\n}];\n/* harmony default export */ var ConfigSetting_options = (options_options);\n// CONCATENATED MODULE: ./src/components/Settings/components/ConfigSetting/ConfigSetting.tsx\n\n\n\n\n\n\n\n\nvar ConfigSetting_ConfigSetting = function ConfigSetting(_ref) {\n var className = _ref.className,\n disabled = _ref.disabled;\n var dispatch = Object(es[\"b\" /* useDispatch */])();\n var configId = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"o\" /* selectConfigId */]);\n\n var handleChange = function handleChange(event) {\n dispatch(src_state[\"D\" /* settingsSlice */].actions.changeConfigId(event.target.value));\n };\n\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: className,\n children: ConfigSetting_options.map(function (option) {\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Radio_Radio, {\n checked: configId === option.value,\n className: ConfigSetting_module_default.a.option,\n disabled: disabled,\n id: \"configId\",\n name: \"configId\",\n value: option.value,\n onChange: handleChange,\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: ConfigSetting_module_default.a.label,\n children: option.label\n })\n }, option.value);\n })\n });\n};\n\n/* harmony default export */ var components_ConfigSetting_ConfigSetting = (ConfigSetting_ConfigSetting);\n// CONCATENATED MODULE: ./src/components/Settings/components/ConfigSetting/index.ts\n\n// EXTERNAL MODULE: ./src/components/Settings/components/LocaleSetting/LocaleSetting.module.scss\nvar LocaleSetting_module = __webpack_require__(\"41Wr\");\nvar LocaleSetting_module_default = /*#__PURE__*/__webpack_require__.n(LocaleSetting_module);\n\n// CONCATENATED MODULE: ./src/components/Settings/components/LocaleSetting/options.ts\n\n\n\nvar LocaleSetting_options_options = [{\n className: LocaleSetting_module_default.a.gb,\n icon: flagGb,\n label: 'English (GB)',\n value: types_build[\"Locale\"].EN_GB\n}, {\n className: LocaleSetting_module_default.a.us,\n icon: flagUs,\n label: 'English (US)',\n value: types_build[\"Locale\"].EN_US\n}, {\n className: LocaleSetting_module_default.a.fr,\n icon: flagFr,\n label: 'Français',\n value: types_build[\"Locale\"].FR_FR\n}, {\n className: LocaleSetting_module_default.a.pl,\n icon: flagPl,\n label: 'Polski',\n value: types_build[\"Locale\"].PL_PL\n}, {\n className: LocaleSetting_module_default.a.es,\n icon: flagEs,\n label: 'Español',\n value: types_build[\"Locale\"].ES_ES\n}];\n/* harmony default export */ var LocaleSetting_options = (LocaleSetting_options_options);\n// CONCATENATED MODULE: ./src/components/Settings/components/LocaleSetting/LocaleSetting.tsx\n\n\n\n\n\n\n\n\n\n\n\n\nvar LocaleSetting_LocaleSetting = function LocaleSetting(_ref) {\n var className = _ref.className,\n disabled = _ref.disabled;\n var dispatch = Object(es[\"b\" /* useDispatch */])();\n var locale = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"s\" /* selectLocale */]);\n\n var handleChange = function handleChange(event) {\n var newLocale = event.target.value;\n dispatch(src_state[\"D\" /* settingsSlice */].actions.changeLocale(newLocale));\n };\n\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", {\n className: className,\n children: LocaleSetting_options.map(function (option) {\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Radio_Radio, {\n checked: locale === option.value,\n className: classnames_default()(LocaleSetting_module_default.a.option, className, Object(defineProperty[\"a\" /* default */])({}, LocaleSetting_module_default.a.checked, locale === option.value)),\n disabled: disabled,\n id: \"locale\",\n name: \"locale\",\n value: option.value,\n onChange: handleChange,\n children: /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"span\", {\n className: LocaleSetting_module_default.a.label,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_SvgIcon_SvgIcon, {\n className: classnames_default()(LocaleSetting_module_default.a.flag, option.className),\n icon: option.icon\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"span\", {\n children: option.label\n })]\n })\n }, option.value);\n })\n });\n};\n\n/* harmony default export */ var components_LocaleSetting_LocaleSetting = (LocaleSetting_LocaleSetting);\n// CONCATENATED MODULE: ./src/components/Settings/components/LocaleSetting/index.ts\n\n// CONCATENATED MODULE: ./src/components/Settings/components/index.ts\n\n\n\n// CONCATENATED MODULE: ./src/components/Settings/Settings.tsx\n\n\n\n\n\n\n\nvar Settings_Settings = function Settings(_ref) {\n var className = _ref.className,\n isOpen = _ref.isOpen,\n onClose = _ref.onClose;\n var translate = Object(src_state[\"F\" /* useTranslate */])();\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(components_Sidebar_Sidebar, {\n className: className,\n isOpen: isOpen,\n title: translate('settings'),\n onClose: onClose,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Sidebar_Sidebar.Section, {\n title: translate('settings.game'),\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_ConfigSetting_ConfigSetting, {\n disabled: !isOpen\n })\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Sidebar_Sidebar.Section, {\n title: translate('settings.language'),\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_LocaleSetting_LocaleSetting, {\n disabled: !isOpen\n })\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Sidebar_Sidebar.Section, {\n title: translate('settings.autoGroupTiles'),\n children: /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_AutoGroupTilesSetting_AutoGroupTilesSetting, {\n disabled: !isOpen\n })\n })]\n });\n};\n\n/* harmony default export */ var components_Settings_Settings = (Settings_Settings);\n// CONCATENATED MODULE: ./src/components/Settings/index.ts\n\n// EXTERNAL MODULE: ./src/components/Splash/Splash.module.scss\nvar Splash_module = __webpack_require__(\"pdKp\");\nvar Splash_module_default = /*#__PURE__*/__webpack_require__.n(Splash_module);\n\n// CONCATENATED MODULE: ./src/components/Splash/Splash.tsx\n\n\n\n\n\n\n\n\n\nvar Splash_Splash = function Splash(_ref) {\n var className = _ref.className,\n forceShow = _ref.forceShow,\n onAnimationEnd = _ref.onAnimationEnd;\n return /*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(components_Screen_Screen, {\n className: classnames_default()(Splash_module_default.a.splash, className, Object(defineProperty[\"a\" /* default */])({}, Splash_module_default.a.animated, !forceShow)),\n onAnimationEnd: onAnimationEnd,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsxs\"])(\"div\", {\n className: Splash_module_default.a.logos,\n children: [/*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Logo_Logo, {\n className: Splash_module_default.a.logoGrayscale\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(components_Logo_Logo, {\n className: Splash_module_default.a.logoColor\n })]\n }), /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"h1\", {\n className: Splash_module_default.a.author,\n children: \"by Kamil Mielnik\"\n })]\n });\n};\n\n/* harmony default export */ var components_Splash_Splash = (Splash_Splash);\n// CONCATENATED MODULE: ./src/components/Splash/index.ts\n\n// EXTERNAL MODULE: ./src/components/Well/Well.module.scss\nvar Well_module = __webpack_require__(\"X4yr\");\nvar Well_module_default = /*#__PURE__*/__webpack_require__.n(Well_module);\n\n// CONCATENATED MODULE: ./src/components/Well/Well.tsx\n\n\n\n\nfunction Well_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction Well_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Well_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty[\"a\" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Well_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\nvar Well = /*#__PURE__*/Object(react[\"forwardRef\"])(function (_ref, ref) {\n var children = _ref.children,\n className = _ref.className,\n props = _objectWithoutProperties(_ref, [\"children\", \"className\"]);\n\n return /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(\"div\", Well_objectSpread(Well_objectSpread({\n className: classnames_default()(Well_module_default.a.well, className),\n ref: ref\n }, props), {}, {\n children: children\n }));\n});\n/* harmony default export */ var Well_Well = (Well);\n// CONCATENATED MODULE: ./src/components/Well/index.ts\n\n// CONCATENATED MODULE: ./src/components/index.ts\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"NpR5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"AutoGroupTilesSetting_option__iqYF_\",\"label\":\"AutoGroupTilesSetting_label__6_UJu\"};\n\n/***/ }),\n\n/***/ \"ODXe\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"a\", function() { return /* binding */ _slicedToArray; });\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\nvar unsupportedIterableToArray = __webpack_require__(\"BsWD\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\n\n\n\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || Object(unsupportedIterableToArray[\"a\" /* default */])(arr, i) || _nonIterableRest();\n}\n\n/***/ }),\n\n/***/ \"QEso\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(\"q1tI\");\n\nvar _propTypes = __webpack_require__(\"17x9\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _focusManager = __webpack_require__(\"VKEO\");\n\nvar focusManager = _interopRequireWildcard(_focusManager);\n\nvar _scopeTab = __webpack_require__(\"S1to\");\n\nvar _scopeTab2 = _interopRequireDefault(_scopeTab);\n\nvar _ariaAppHider = __webpack_require__(\"Ye7m\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _classList = __webpack_require__(\"fbhf\");\n\nvar classList = _interopRequireWildcard(_classList);\n\nvar _safeHTMLElement = __webpack_require__(\"2zs7\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _portalOpenInstances = __webpack_require__(\"UIKY\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\n__webpack_require__(\"WkvU\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// so that our CSS is statically analyzable\nvar CLASS_NAMES = {\n overlay: \"ReactModal__Overlay\",\n content: \"ReactModal__Content\"\n};\n\nvar TAB_KEY = 9;\nvar ESC_KEY = 27;\n\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n _inherits(ModalPortal, _Component);\n\n function ModalPortal(props) {\n _classCallCheck(this, ModalPortal);\n\n var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n _this.setOverlayRef = function (overlay) {\n _this.overlay = overlay;\n _this.props.overlayRef && _this.props.overlayRef(overlay);\n };\n\n _this.setContentRef = function (content) {\n _this.content = content;\n _this.props.contentRef && _this.props.contentRef(content);\n };\n\n _this.afterClose = function () {\n var _this$props = _this.props,\n appElement = _this$props.appElement,\n ariaHideApp = _this$props.ariaHideApp,\n htmlOpenClassName = _this$props.htmlOpenClassName,\n bodyOpenClassName = _this$props.bodyOpenClassName;\n\n // Remove classes.\n\n bodyOpenClassName && classList.remove(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.remove(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n // Reset aria-hidden attribute if all modals have been removed\n if (ariaHideApp && ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus(_this.props.preventScroll);\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n\n _portalOpenInstances2.default.deregister(_this);\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen({\n overlayEl: _this.overlay,\n contentEl: _this.content\n });\n }\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus({ preventScroll: true });\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (event.keyCode === TAB_KEY) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (false) {}\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.state.isOpen) {\n this.afterClose();\n }\n clearTimeout(this.closeTimer);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName;\n\n // Add classes.\n\n bodyOpenClassName && classList.add(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n\n _portalOpenInstances2.default.register(this);\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n id = _props2.id,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles,\n children = _props2.children;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n if (this.shouldBeClosed()) {\n return null;\n }\n\n var overlayProps = {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n };\n\n var contentProps = _extends({\n id: id,\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", _extends({ modal: true }, this.props.aria)), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n });\n\n var contentElement = this.props.contentElement(contentProps, children);\n return this.props.overlayElement(overlayProps, contentElement);\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n\n/***/ \"RuLr\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"rack\":\"Rack_rack__19pRD\",\"tile\":\"Rack_tile__3eMqz\"};\n\n/***/ }),\n\n/***/ \"S1to\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = __webpack_require__(\"ZDLa\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var target = void 0;\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === document.activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n if (tail === document.activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === document.activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(document.activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n target = tabbable[x];\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof target === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n target.focus();\n}\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n\n/***/ \"SQnd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"screen\":\"Screen_screen__1JVwd\",\"closeButton\":\"Screen_closeButton__2eAGy\",\"content\":\"Screen_content__3Bn9G\"};\n\n/***/ }),\n\n/***/ \"SySy\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"Sidebar_modal__AVVNt\",\"afterOpen\":\"Sidebar_afterOpen__3qtCP\",\"sidebar\":\"Sidebar_sidebar__1BmXf\",\"beforeClose\":\"Sidebar_beforeClose__vU4tB\",\"overlay\":\"Sidebar_overlay__1Ccrb\",\"header\":\"Sidebar_header__VjKGT\",\"title\":\"Sidebar_title__2nqWj\",\"closeButton\":\"Sidebar_closeButton__2Yro_\",\"content\":\"Sidebar_content__1ezIJ\"};\n\n/***/ }),\n\n/***/ \"TSYQ\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif ( true && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (true) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn classNames;\n\t\t}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {}\n}());\n\n\n/***/ }),\n\n/***/ \"UE3f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"board\":\"Board_board__ASOu2\",\"row\":\"Board_row__WXJ7Q\"};\n\n/***/ }),\n\n/***/ \"UFVg\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"resultsInput\":\"ResultsInput_resultsInput__1xGkX\",\"input\":\"ResultsInput_input__soybt\"};\n\n/***/ }),\n\n/***/ \"UIKY\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Tracks portals that are open and emits events to subscribers\n\nvar PortalOpenInstances = function PortalOpenInstances() {\n var _this = this;\n\n _classCallCheck(this, PortalOpenInstances);\n\n this.register = function (openInstance) {\n if (_this.openInstances.indexOf(openInstance) !== -1) {\n if (false) {}\n return;\n }\n _this.openInstances.push(openInstance);\n _this.emit(\"register\");\n };\n\n this.deregister = function (openInstance) {\n var index = _this.openInstances.indexOf(openInstance);\n if (index === -1) {\n if (false) {}\n return;\n }\n _this.openInstances.splice(index, 1);\n _this.emit(\"deregister\");\n };\n\n this.subscribe = function (callback) {\n _this.subscribers.push(callback);\n };\n\n this.emit = function (eventType) {\n _this.subscribers.forEach(function (subscriber) {\n return subscriber(eventType,\n // shallow copy to avoid accidental mutation\n _this.openInstances.slice());\n });\n };\n\n this.openInstances = [];\n this.subscribers = [];\n};\n\nvar portalOpenInstances = new PortalOpenInstances();\n\nexports.default = portalOpenInstances;\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n\n/***/ \"VCL8\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"polyfill\", function() { return polyfill; });\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\n\n\n\n/***/ }),\n\n/***/ \"VKEO\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = __webpack_require__(\"ZDLa\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var preventScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus({ preventScroll: preventScroll });\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}\n\n/***/ }),\n\n/***/ \"WX7Y\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"wave\":\"PlainTiles_wave__RkrSN\",\"tile\":\"PlainTiles_tile__3-ZhZ\",\"dropShadow\":\"PlainTiles_dropShadow__3ARSR\",\"hide\":\"PlainTiles_hide__17cvO\",\"progress\":\"PlainTiles_progress__3cL21\",\"pulse\":\"PlainTiles_pulse__3r1EF\"};\n\n/***/ }),\n\n/***/ \"WkvU\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _portalOpenInstances = __webpack_require__(\"UIKY\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Body focus trap see Issue #742\n\nvar before = void 0,\n after = void 0,\n instances = [];\n\nfunction focusContent() {\n if (instances.length === 0) {\n if (false) {}\n return;\n }\n instances[instances.length - 1].focusContent();\n}\n\nfunction bodyTrap(eventType, openInstances) {\n if (!before || !after) {\n before = document.createElement(\"div\");\n before.setAttribute(\"data-react-modal-body-trap\", \"\");\n before.style.position = \"absolute\";\n before.style.opacity = \"0\";\n before.setAttribute(\"tabindex\", \"0\");\n before.addEventListener(\"focus\", focusContent);\n after = before.cloneNode();\n after.addEventListener(\"focus\", focusContent);\n }\n\n instances = openInstances;\n\n if (instances.length > 0) {\n // Add focus trap\n if (document.body.firstChild !== before) {\n document.body.insertBefore(before, document.body.firstChild);\n }\n if (document.body.lastChild !== after) {\n document.body.appendChild(after);\n }\n } else {\n // Remove focus trap\n if (before.parentElement) {\n before.parentElement.removeChild(before);\n }\n if (after.parentElement) {\n after.parentElement.removeChild(after);\n }\n }\n}\n\n_portalOpenInstances2.default.subscribe(bodyTrap);\n\n/***/ }),\n\n/***/ \"X4yr\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"well\":\"Well_well__2rvZn\"};\n\n/***/ }),\n\n/***/ \"YFqc\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"cTJO\")\n\n\n/***/ }),\n\n/***/ \"Ye7m\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\nexports.resetForTesting = resetForTesting;\n\nvar _warning = __webpack_require__(\"2W6z\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = __webpack_require__(\"2zs7\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = \"length\" in el ? el[0] : el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n if (!appElement && !globalElement) {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return false;\n }\n\n return true;\n}\n\nfunction hide(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).setAttribute(\"aria-hidden\", \"true\");\n }\n}\n\nfunction show(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).removeAttribute(\"aria-hidden\");\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}\n\nfunction resetForTesting() {\n globalElement = null;\n}\n\n/***/ }),\n\n/***/ \"Z29Q\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return isClient; });\n/* unused harmony export on */\n/* unused harmony export off */\n/* unused harmony export isDeepEqual */\n/* harmony import */ var fast_deep_equal_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"nkPT\");\n/* harmony import */ var fast_deep_equal_react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fast_deep_equal_react__WEBPACK_IMPORTED_MODULE_0__);\n\nvar isClient = typeof window === 'object';\nvar on = function (obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return obj.addEventListener.apply(obj, args);\n};\nvar off = function (obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return obj.removeEventListener.apply(obj, args);\n};\nvar isDeepEqual = fast_deep_equal_react__WEBPACK_IMPORTED_MODULE_0___default.a;\n\n\n/***/ }),\n\n/***/ \"ZDLa\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar tabbableNode = /input|select|textarea|button|object/;\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n return zeroSize ? style.getPropertyValue(\"overflow\") !== \"visible\" ||\n // if 'overflow: visible' set, check if there is actually any overflow\n element.scrollWidth <= 0 && element.scrollHeight <= 0 : style.getPropertyValue(\"display\") == \"none\";\n}\n\nfunction visible(element) {\n var parentElement = element;\n while (parentElement) {\n if (parentElement === document.body) break;\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n return [].slice.call(element.querySelectorAll(\"*\"), 0).filter(tabbable);\n}\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n\n/***/ \"Zcyb\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"q1tI\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nvar useEffectOnce = function (effect) {\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(effect, []);\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (useEffectOnce);\n\n\n/***/ }),\n\n/***/ \"bHoz\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"group\":\"RemainingTiles_group__2AWTh\",\"title\":\"RemainingTiles_title__1zi0v\",\"content\":\"RemainingTiles_content__3xzgX\"};\n\n/***/ }),\n\n/***/ \"bQD4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"ARROW_SIZE\":\"4px\",\"PREVENT_OVERFLOW\":\"10px\",\"OFFSET\":\"2px\",\"tooltip\":\"Tooltip_tooltip__1uxCc\",\"top\":\"Tooltip_top__KFC44\",\"arrow\":\"Tooltip_arrow__AL6zf\",\"right\":\"Tooltip_right__swlOS\",\"bottom\":\"Tooltip_bottom__12rbo\",\"left\":\"Tooltip_left__2deQT\"};\n\n/***/ }),\n\n/***/ \"bmMU\":\n/***/ (function(module, exports) {\n\n/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n\n\n/***/ }),\n\n/***/ \"cTJO\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _slicedToArray = __webpack_require__(\"J4zp\");\n\nvar _interopRequireWildcard = __webpack_require__(\"284h\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(__webpack_require__(\"q1tI\"));\n\nvar _router = __webpack_require__(\"elyg\");\n\nvar _router2 = __webpack_require__(\"nOHt\");\n\nvar _useIntersection = __webpack_require__(\"vNVm\");\n\nvar prefetched = {};\n\nfunction prefetch(router, href, as, options) {\n if ( false || !router) return;\n if (!(0, _router.isLocalURL)(href)) return; // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n\n router.prefetch(href, as, options)[\"catch\"](function (err) {\n if (false) {}\n });\n var curLocale = options && typeof options.locale !== 'undefined' ? options.locale : router && router.locale; // Join on an invalid URI character\n\n prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')] = true;\n}\n\nfunction isModifiedEvent(event) {\n var target = event.currentTarget.target;\n return target && target !== '_self' || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\n\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale) {\n var nodeName = e.currentTarget.nodeName;\n\n if (nodeName === 'A' && (isModifiedEvent(e) || !(0, _router.isLocalURL)(href))) {\n // ignore click for browser’s default behavior\n return;\n }\n\n e.preventDefault(); // avoid scroll for urls with anchor refs\n\n if (scroll == null) {\n scroll = as.indexOf('#') < 0;\n } // replace state instead of push if prop is present\n\n\n router[replace ? 'replace' : 'push'](href, as, {\n shallow: shallow,\n locale: locale,\n scroll: scroll\n }).then(function (success) {\n if (!success) return;\n\n if (scroll) {\n // FIXME: proper route announcing at Router level, not Link:\n document.body.focus();\n }\n });\n}\n\nfunction Link(props) {\n if (false) { var hasWarned, optionalProps, optionalPropsGuard, requiredProps, requiredPropsGuard, createPropError; }\n\n var p = props.prefetch !== false;\n var router = (0, _router2.useRouter)();\n var pathname = router && router.pathname || '/';\n\n var _react$default$useMem = _react[\"default\"].useMemo(function () {\n var _ref = (0, _router.resolveHref)(pathname, props.href, true),\n _ref2 = _slicedToArray(_ref, 2),\n resolvedHref = _ref2[0],\n resolvedAs = _ref2[1];\n\n return {\n href: resolvedHref,\n as: props.as ? (0, _router.resolveHref)(pathname, props.as) : resolvedAs || resolvedHref\n };\n }, [pathname, props.href, props.as]),\n href = _react$default$useMem.href,\n as = _react$default$useMem.as;\n\n var children = props.children,\n replace = props.replace,\n shallow = props.shallow,\n scroll = props.scroll,\n locale = props.locale; // Deprecated. Warning shown by propType check. If the children provided is a string (<Link>example</Link>) we wrap it in an <a> tag\n\n if (typeof children === 'string') {\n children = /*#__PURE__*/_react[\"default\"].createElement(\"a\", null, children);\n } // This will return the first child, if multiple are provided it will throw an error\n\n\n var child = _react.Children.only(children);\n\n var childRef = child && typeof child === 'object' && child.ref;\n\n var _ref3 = (0, _useIntersection.useIntersection)({\n rootMargin: '200px'\n }),\n _ref4 = _slicedToArray(_ref3, 2),\n setIntersectionRef = _ref4[0],\n isVisible = _ref4[1];\n\n var setRef = _react[\"default\"].useCallback(function (el) {\n setIntersectionRef(el);\n\n if (childRef) {\n if (typeof childRef === 'function') childRef(el);else if (typeof childRef === 'object') {\n childRef.current = el;\n }\n }\n }, [childRef, setIntersectionRef]);\n\n (0, _react.useEffect)(function () {\n var shouldPrefetch = isVisible && p && (0, _router.isLocalURL)(href);\n var curLocale = typeof locale !== 'undefined' ? locale : router && router.locale;\n var isPrefetched = prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')];\n\n if (shouldPrefetch && !isPrefetched) {\n prefetch(router, href, as, {\n locale: curLocale\n });\n }\n }, [as, href, isVisible, locale, p, router]);\n var childProps = {\n ref: setRef,\n onClick: function onClick(e) {\n if (child.props && typeof child.props.onClick === 'function') {\n child.props.onClick(e);\n }\n\n if (!e.defaultPrevented) {\n linkClicked(e, router, href, as, replace, shallow, scroll, locale);\n }\n }\n };\n\n childProps.onMouseEnter = function (e) {\n if (!(0, _router.isLocalURL)(href)) return;\n\n if (child.props && typeof child.props.onMouseEnter === 'function') {\n child.props.onMouseEnter(e);\n }\n\n prefetch(router, href, as, {\n priority: true\n });\n }; // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user\n\n\n if (props.passHref || child.type === 'a' && !('href' in child.props)) {\n var curLocale = typeof locale !== 'undefined' ? locale : router && router.locale;\n var localeDomain = (0, _router.getDomainLocale)(as, curLocale, router && router.locales, router && router.domainLocales);\n childProps.href = localeDomain || (0, _router.addBasePath)((0, _router.addLocale)(as, curLocale, router && router.defaultLocale));\n }\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(child, childProps);\n}\n\nvar _default = Link;\nexports[\"default\"] = _default;\n\n/***/ }),\n\n/***/ \"eZYV\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"a\", function() { return /* reexport */ hooks_useIsTablet; });\n__webpack_require__.d(__webpack_exports__, \"b\", function() { return /* reexport */ hooks_useLocalStorage_useLocalStorage; });\n__webpack_require__.d(__webpack_exports__, \"c\", function() { return /* reexport */ hooks_usePortal; });\n__webpack_require__.d(__webpack_exports__, \"d\", function() { return /* reexport */ hooks_useUniqueId; });\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(\"q1tI\");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/react-use/esm/util.js\nvar util = __webpack_require__(\"Z29Q\");\n\n// CONCATENATED MODULE: ./node_modules/react-use/esm/useMedia.js\n\n\nvar useMedia = function (query, defaultState) {\n if (defaultState === void 0) { defaultState = false; }\n var _a = Object(react[\"useState\"])(util[\"a\" /* isClient */] ? function () { return window.matchMedia(query).matches; } : defaultState), state = _a[0], setState = _a[1];\n Object(react[\"useEffect\"])(function () {\n var mounted = true;\n var mql = window.matchMedia(query);\n var onChange = function () {\n if (!mounted) {\n return;\n }\n setState(!!mql.matches);\n };\n mql.addListener(onChange);\n setState(mql.matches);\n return function () {\n mounted = false;\n mql.removeListener(onChange);\n };\n }, [query]);\n return state;\n};\n/* harmony default export */ var esm_useMedia = (useMedia);\n\n// CONCATENATED MODULE: ./src/hooks/useIsTablet.ts\n\n\nvar useIsTablet_useIsTablet = function useIsTablet() {\n var isTabletHeight = esm_useMedia('(max-height: 800px)');\n var isTabletWidth = esm_useMedia('(max-width: 1024px)');\n var isTablet = isTabletHeight || isTabletWidth;\n return isTablet;\n};\n\n/* harmony default export */ var hooks_useIsTablet = (useIsTablet_useIsTablet);\n// EXTERNAL MODULE: ./node_modules/react-redux/es/index.js + 22 modules\nvar es = __webpack_require__(\"/MKj\");\n\n// EXTERNAL MODULE: ./node_modules/react-use/esm/useEffectOnce.js\nvar useEffectOnce = __webpack_require__(\"Zcyb\");\n\n// EXTERNAL MODULE: ./src/state/index.ts + 40 modules\nvar src_state = __webpack_require__(\"8+rz\");\n\n// CONCATENATED MODULE: ./src/hooks/useLocalStorage/useLocalStorageBoard.ts\n\n\n\n\n\nvar useLocalStorageBoard_useLocalStorageBoard = function useLocalStorageBoard() {\n var dispatch = Object(es[\"b\" /* useDispatch */])();\n var board = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"k\" /* selectBoard */]);\n Object(useEffectOnce[\"a\" /* default */])(function () {\n var persistedBoard = src_state[\"e\" /* localStorage */].getBoard();\n\n if (persistedBoard) {\n dispatch(src_state[\"a\" /* boardSlice */].actions.init(persistedBoard));\n }\n });\n Object(react[\"useEffect\"])(function () {\n if (board) {\n src_state[\"e\" /* localStorage */].setBoard(board);\n }\n }, [board]);\n};\n\n/* harmony default export */ var useLocalStorage_useLocalStorageBoard = (useLocalStorageBoard_useLocalStorageBoard);\n// CONCATENATED MODULE: ./src/hooks/useLocalStorage/useLocalStorageConfigId.ts\n\n\n\n\n\nvar useLocalStorageConfigId_useLocalStorageConfigId = function useLocalStorageConfigId() {\n var dispatch = Object(es[\"b\" /* useDispatch */])();\n var configId = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"o\" /* selectConfigId */]);\n Object(useEffectOnce[\"a\" /* default */])(function () {\n var persistedConfigId = src_state[\"e\" /* localStorage */].getConfigId();\n\n if (persistedConfigId) {\n dispatch(src_state[\"D\" /* settingsSlice */].actions.init({\n configId: persistedConfigId\n }));\n }\n });\n Object(react[\"useEffect\"])(function () {\n if (configId) {\n src_state[\"e\" /* localStorage */].setConfigId(configId);\n }\n }, [configId]);\n};\n\n/* harmony default export */ var useLocalStorage_useLocalStorageConfigId = (useLocalStorageConfigId_useLocalStorageConfigId);\n// EXTERNAL MODULE: ./src/lib/index.ts + 27 modules\nvar lib = __webpack_require__(\"psLn\");\n\n// CONCATENATED MODULE: ./src/hooks/useLocalStorage/useLocalStorageLocale.ts\n\n\n\n\n\n\nvar useLocalStorageLocale_useLocalStorageLocale = function useLocalStorageLocale() {\n var dispatch = Object(es[\"b\" /* useDispatch */])();\n var locale = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"s\" /* selectLocale */]);\n Object(useEffectOnce[\"a\" /* default */])(function () {\n var persistedLocale = src_state[\"e\" /* localStorage */].getLocale();\n\n if (persistedLocale) {\n dispatch(src_state[\"D\" /* settingsSlice */].actions.init({\n locale: persistedLocale\n }));\n } else {\n dispatch(src_state[\"D\" /* settingsSlice */].actions.init({\n locale: Object(lib[\"f\" /* detectLocale */])()\n }));\n }\n });\n Object(react[\"useEffect\"])(function () {\n if (locale) {\n src_state[\"e\" /* localStorage */].setLocale(locale);\n }\n }, [locale]);\n};\n\n/* harmony default export */ var useLocalStorage_useLocalStorageLocale = (useLocalStorageLocale_useLocalStorageLocale);\n// CONCATENATED MODULE: ./src/hooks/useLocalStorage/useLocalStorageRack.ts\n\n\n\n\n\nvar useLocalStorageRack_useLocalStorageRack = function useLocalStorageRack() {\n var dispatch = Object(es[\"b\" /* useDispatch */])();\n var rack = Object(src_state[\"G\" /* useTypedSelector */])(src_state[\"t\" /* selectRack */]);\n Object(useEffectOnce[\"a\" /* default */])(function () {\n var persistedRack = src_state[\"e\" /* localStorage */].getRack();\n\n if (persistedRack) {\n dispatch(src_state[\"f\" /* rackSlice */].actions.init(persistedRack));\n }\n });\n Object(react[\"useEffect\"])(function () {\n if (rack) {\n src_state[\"e\" /* localStorage */].setRack(rack);\n }\n }, [rack]);\n};\n\n/* harmony default export */ var useLocalStorage_useLocalStorageRack = (useLocalStorageRack_useLocalStorageRack);\n// CONCATENATED MODULE: ./src/hooks/useLocalStorage/useLocalStorage.ts\n\n\n\n\n\nvar useLocalStorage_useLocalStorage = function useLocalStorage() {\n useLocalStorage_useLocalStorageRack(); // rack has to go first, see 14869a4\n\n useLocalStorage_useLocalStorageBoard();\n useLocalStorage_useLocalStorageConfigId();\n useLocalStorage_useLocalStorageLocale();\n};\n\n/* harmony default export */ var hooks_useLocalStorage_useLocalStorage = (useLocalStorage_useLocalStorage);\n// CONCATENATED MODULE: ./src/hooks/useLocalStorage/index.ts\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(\"nKUr\");\n\n// EXTERNAL MODULE: ./node_modules/react-dom/index.js\nvar react_dom = __webpack_require__(\"i8i4\");\nvar react_dom_default = /*#__PURE__*/__webpack_require__.n(react_dom);\n\n// EXTERNAL MODULE: ./node_modules/prop-types/index.js\nvar prop_types = __webpack_require__(\"17x9\");\nvar prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);\n\n// CONCATENATED MODULE: ./node_modules/react-portal/es/utils.js\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n// CONCATENATED MODULE: ./node_modules/react-portal/es/Portal.js\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\nvar Portal_Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n _classCallCheck(this, Portal);\n\n return _possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));\n }\n\n _createClass(Portal, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.defaultNode) {\n document.body.removeChild(this.defaultNode);\n }\n this.defaultNode = null;\n }\n }, {\n key: 'render',\n value: function render() {\n if (!canUseDOM) {\n return null;\n }\n if (!this.props.node && !this.defaultNode) {\n this.defaultNode = document.createElement('div');\n document.body.appendChild(this.defaultNode);\n }\n return react_dom_default.a.createPortal(this.props.children, this.props.node || this.defaultNode);\n }\n }]);\n\n return Portal;\n}(react_default.a.Component);\n\nPortal_Portal.propTypes = {\n children: prop_types_default.a.node.isRequired,\n node: prop_types_default.a.any\n};\n\n/* harmony default export */ var es_Portal = (Portal_Portal);\n// CONCATENATED MODULE: ./node_modules/react-portal/es/LegacyPortal.js\nvar LegacyPortal_createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction LegacyPortal_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction LegacyPortal_possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction LegacyPortal_inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// This file is a fallback for a consumer who is not yet on React 16\n// as createPortal was introduced in React 16\n\n\n\n\n\nvar LegacyPortal_Portal = function (_React$Component) {\n LegacyPortal_inherits(Portal, _React$Component);\n\n function Portal() {\n LegacyPortal_classCallCheck(this, Portal);\n\n return LegacyPortal_possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));\n }\n\n LegacyPortal_createClass(Portal, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.renderPortal();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(props) {\n this.renderPortal();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n react_dom_default.a.unmountComponentAtNode(this.defaultNode || this.props.node);\n if (this.defaultNode) {\n document.body.removeChild(this.defaultNode);\n }\n this.defaultNode = null;\n this.portal = null;\n }\n }, {\n key: 'renderPortal',\n value: function renderPortal(props) {\n if (!this.props.node && !this.defaultNode) {\n this.defaultNode = document.createElement('div');\n document.body.appendChild(this.defaultNode);\n }\n\n var children = this.props.children;\n // https://gist.github.com/jimfb/d99e0678e9da715ccf6454961ef04d1b\n if (typeof this.props.children.type === 'function') {\n children = react_default.a.cloneElement(this.props.children);\n }\n\n this.portal = react_dom_default.a.unstable_renderSubtreeIntoContainer(this, children, this.props.node || this.defaultNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return null;\n }\n }]);\n\n return Portal;\n}(react_default.a.Component);\n\n/* harmony default export */ var LegacyPortal = (LegacyPortal_Portal);\n\n\nLegacyPortal_Portal.propTypes = {\n children: prop_types_default.a.node.isRequired,\n node: prop_types_default.a.any\n};\n// CONCATENATED MODULE: ./node_modules/react-portal/es/PortalCompat.js\n\n\n\n\n\nvar PortalCompat_Portal = void 0;\n\nif (react_dom_default.a.createPortal) {\n PortalCompat_Portal = es_Portal;\n} else {\n PortalCompat_Portal = LegacyPortal;\n}\n\n/* harmony default export */ var PortalCompat = (PortalCompat_Portal);\n// CONCATENATED MODULE: ./src/hooks/usePortal.tsx\n\n\n\n\n\n\nvar usePortal_usePortal = function usePortal(children) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$tagName = _ref.tagName,\n tagName = _ref$tagName === void 0 ? 'div' : _ref$tagName;\n\n var element = Object(react[\"useMemo\"])(function () {\n return document.createElement(tagName);\n }, [tagName]);\n Object(react[\"useLayoutEffect\"])(function () {\n if (disabled) {\n return lib[\"p\" /* noop */];\n }\n\n document.body.appendChild(element);\n return function () {\n Object(react_dom[\"unmountComponentAtNode\"])(element);\n document.body.removeChild(element);\n };\n }, [disabled, element]);\n Object(react[\"useLayoutEffect\"])(function () {\n if (!disabled) {\n Object(react_dom[\"render\"])( /*#__PURE__*/Object(jsx_runtime[\"jsx\"])(PortalCompat, {\n children: children\n }), element);\n }\n }, [children, disabled, element]);\n};\n\n/* harmony default export */ var hooks_usePortal = (lib[\"a\" /* canUseDom */] ? usePortal_usePortal : lib[\"p\" /* noop */]);\n// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/rng.js\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nfunction rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}\n// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/regex.js\n/* harmony default export */ var regex = (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i);\n// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/validate.js\n\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && regex.test(uuid);\n}\n\n/* harmony default export */ var esm_browser_validate = (validate);\n// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/stringify.js\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var stringify_i = 0; stringify_i < 256; ++stringify_i) {\n byteToHex.push((stringify_i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!esm_browser_validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\n/* harmony default export */ var esm_browser_stringify = (stringify);\n// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/v4.js\n\n\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return esm_browser_stringify(rnds);\n}\n\n/* harmony default export */ var esm_browser_v4 = (v4);\n// CONCATENATED MODULE: ./src/hooks/useUniqueId.ts\n\n\n\nvar useUniqueId_useUniqueId = function useUniqueId() {\n var idRef = Object(react[\"useRef\"])(esm_browser_v4());\n return idRef.current;\n};\n\n/* harmony default export */ var hooks_useUniqueId = (useUniqueId_useUniqueId);\n// CONCATENATED MODULE: ./src/hooks/index.ts\n\n\n\n\n\n/***/ }),\n\n/***/ \"fbhf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dumpClassLists = dumpClassLists;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\nfunction dumpClassLists() {\n if (false) { var _x, x, buffer, classes; }\n}\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/***/ }),\n\n/***/ \"hj7B\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox\":\"Checkbox_checkbox__TMzB8\",\"icon\":\"Checkbox_icon__1x7ag\",\"checked\":\"Checkbox_checked__2Le1z\",\"input\":\"Checkbox_input__3o21M\",\"content\":\"Checkbox_content__1VcXS\"};\n\n/***/ }),\n\n/***/ \"jVvz\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"navButtons\":\"NavButtons_navButtons__1og2w\",\"button\":\"NavButtons_button__2YUcq\",\"separator\":\"NavButtons_separator__3dZKW\",\"error\":\"NavButtons_error___bS0g\"};\n\n/***/ }),\n\n/***/ \"lFTW\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"notFound\":\"NotFound_notFound__3lall\",\"link\":\"NotFound_link__23_eH\",\"icon\":\"NotFound_icon__2qUrU\",\"tiles\":\"NotFound_tiles__1Qnr3\"};\n\n/***/ }),\n\n/***/ \"mk9T\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"dictionary\":\"Dictionary_dictionary__2LVIo\",\"content\":\"Dictionary_content__35SFT\",\"word\":\"Dictionary_word__yTxK-\",\"isAllowed\":\"Dictionary_isAllowed__1pY0l\",\"isNotAllowed\":\"Dictionary_isNotAllowed__sGDpa\",\"definitions\":\"Dictionary_definitions__1B_VQ\",\"definition\":\"Dictionary_definition__1tU6g\"};\n\n/***/ }),\n\n/***/ \"nkPT\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n continue;\n }\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n\n\n/***/ }),\n\n/***/ \"pdKp\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"splash\":\"Splash_splash__1fgIO\",\"animated\":\"Splash_animated__3KuaO\",\"hide\":\"Splash_hide__xGaFV\",\"logos\":\"Splash_logos__XgKlA\",\"pulse\":\"Splash_pulse__2k_vY\",\"logoColor\":\"Splash_logoColor__1R-9s\",\"progress\":\"Splash_progress__1OiT4\",\"logoGrayscale\":\"Splash_logoGrayscale__1Q8n_\",\"author\":\"Splash_author__10OKS\",\"wave\":\"Splash_wave__1o-S9\"};\n\n/***/ }),\n\n/***/ \"qFS3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bodyOpenClassName = exports.portalClassName = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(\"q1tI\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = __webpack_require__(\"i8i4\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = __webpack_require__(\"17x9\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ModalPortal = __webpack_require__(\"QEso\");\n\nvar _ModalPortal2 = _interopRequireDefault(_ModalPortal);\n\nvar _ariaAppHider = __webpack_require__(\"Ye7m\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _safeHTMLElement = __webpack_require__(\"2zs7\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _reactLifecyclesCompat = __webpack_require__(\"VCL8\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar portalClassName = exports.portalClassName = \"ReactModalPortal\";\nvar bodyOpenClassName = exports.bodyOpenClassName = \"ReactModal__Body--open\";\n\nvar isReact16 = _safeHTMLElement.canUseDOM && _reactDom2.default.createPortal !== undefined;\n\nvar getCreatePortal = function getCreatePortal() {\n return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer;\n};\n\nfunction getParentElement(parentSelector) {\n return parentSelector();\n}\n\nvar Modal = function (_Component) {\n _inherits(Modal, _Component);\n\n function Modal() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () {\n !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node);\n var parent = getParentElement(_this.props.parentSelector);\n if (parent && parent.contains(_this.node)) {\n parent.removeChild(_this.node);\n } else {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"parentSelector\" prop did not returned any DOM ' + \"element. Make sure that the parent element is unmounted to \" + \"avoid any memory leaks.\");\n }\n }, _this.portalRef = function (ref) {\n _this.portal = ref;\n }, _this.renderPortal = function (props) {\n var createPortal = getCreatePortal();\n var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node);\n _this.portalRef(portal);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_safeHTMLElement.canUseDOM) return;\n\n if (!isReact16) {\n this.node = document.createElement(\"div\");\n }\n this.node.className = this.props.portalClassName;\n\n var parent = getParentElement(this.props.parentSelector);\n parent.appendChild(this.node);\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n var prevParent = getParentElement(prevProps.parentSelector);\n var nextParent = getParentElement(this.props.parentSelector);\n return { prevParent: prevParent, nextParent: nextParent };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, _, snapshot) {\n if (!_safeHTMLElement.canUseDOM) return;\n var _props = this.props,\n isOpen = _props.isOpen,\n portalClassName = _props.portalClassName;\n\n\n if (prevProps.portalClassName !== portalClassName) {\n this.node.className = portalClassName;\n }\n\n var prevParent = snapshot.prevParent,\n nextParent = snapshot.nextParent;\n\n if (nextParent !== prevParent) {\n prevParent.removeChild(this.node);\n nextParent.appendChild(this.node);\n }\n\n // Stop unnecessary renders if modal is remaining closed\n if (!prevProps.isOpen && !isOpen) return;\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return;\n\n var state = this.portal.state;\n var now = Date.now();\n var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS);\n\n if (closesAt) {\n if (!state.beforeClose) {\n this.portal.closeWithTimeout();\n }\n\n setTimeout(this.removePortal, closesAt - now);\n } else {\n this.removePortal();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!_safeHTMLElement.canUseDOM || !isReact16) {\n return null;\n }\n\n if (!this.node && isReact16) {\n this.node = document.createElement(\"div\");\n }\n\n var createPortal = getCreatePortal();\n return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({\n ref: this.portalRef,\n defaultStyles: Modal.defaultStyles\n }, this.props)), this.node);\n }\n }], [{\n key: \"setAppElement\",\n value: function setAppElement(element) {\n ariaAppHider.setElement(element);\n }\n\n /* eslint-disable react/no-unused-prop-types */\n\n /* eslint-enable react/no-unused-prop-types */\n\n }]);\n\n return Modal;\n}(_react.Component);\n\nModal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n portalClassName: _propTypes2.default.string,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default),\n onAfterOpen: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n ariaHideApp: _propTypes2.default.bool,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n parentSelector: _propTypes2.default.func,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func\n};\nModal.defaultProps = {\n isOpen: false,\n portalClassName: portalClassName,\n bodyOpenClassName: bodyOpenClassName,\n role: \"dialog\",\n ariaHideApp: true,\n closeTimeoutMS: 0,\n shouldFocusAfterRender: true,\n shouldCloseOnEsc: true,\n shouldCloseOnOverlayClick: true,\n shouldReturnFocusAfterClose: true,\n preventScroll: false,\n parentSelector: function parentSelector() {\n return document.body;\n },\n overlayElement: function overlayElement(props, contentEl) {\n return _react2.default.createElement(\n \"div\",\n props,\n contentEl\n );\n },\n contentElement: function contentElement(props, children) {\n return _react2.default.createElement(\n \"div\",\n props,\n children\n );\n }\n};\nModal.defaultStyles = {\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(255, 255, 255, 0.75)\"\n },\n content: {\n position: \"absolute\",\n top: \"40px\",\n left: \"40px\",\n right: \"40px\",\n bottom: \"40px\",\n border: \"1px solid #ccc\",\n background: \"#fff\",\n overflow: \"auto\",\n WebkitOverflowScrolling: \"touch\",\n borderRadius: \"4px\",\n outline: \"none\",\n padding: \"20px\"\n }\n};\n\n\n(0, _reactLifecyclesCompat.polyfill)(Modal);\n\nexports.default = Modal;\n\n/***/ }),\n\n/***/ \"r/Hp\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"tile\":\"Tile_tile__2zdlK\",\"raised\":\"Tile_raised__3bruO\",\"points1\":\"Tile_points1__3kQ_0\",\"points2\":\"Tile_points2__1TZdg\",\"points3\":\"Tile_points3__28-Zh\",\"points4\":\"Tile_points4__1HVw7\",\"points5\":\"Tile_points5___-zw4\",\"blank\":\"Tile_blank__MbmGr\",\"character\":\"Tile_character__3dEBi\",\"highlighted\":\"Tile_highlighted__1L53H\",\"points\":\"Tile_points__-wyIb\"};\n\n/***/ }),\n\n/***/ \"sEFA\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"loading\":\"Loading_loading__1dXNE\",\"dim\":\"Loading_dim__2ewDS\",\"logo\":\"Loading_logo__2nlr3\",\"tiles\":\"Loading_tiles__gEhWd\"};\n\n/***/ }),\n\n/***/ \"vNVm\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _slicedToArray = __webpack_require__(\"J4zp\");\n\nvar _interopRequireDefault = __webpack_require__(\"TqRt\");\n\nexports.__esModule = true;\nexports.useIntersection = useIntersection;\n\nvar _react = __webpack_require__(\"q1tI\");\n\nvar _requestIdleCallback = _interopRequireDefault(__webpack_require__(\"0G5g\"));\n\nvar hasIntersectionObserver = typeof IntersectionObserver !== 'undefined';\n\nfunction useIntersection(_ref) {\n var rootMargin = _ref.rootMargin,\n disabled = _ref.disabled;\n var isDisabled = disabled || !hasIntersectionObserver;\n var unobserve = (0, _react.useRef)();\n\n var _ref2 = (0, _react.useState)(false),\n _ref3 = _slicedToArray(_ref2, 2),\n visible = _ref3[0],\n setVisible = _ref3[1];\n\n var setRef = (0, _react.useCallback)(function (el) {\n if (unobserve.current) {\n unobserve.current();\n unobserve.current = undefined;\n }\n\n if (isDisabled || visible) return;\n\n if (el && el.tagName) {\n unobserve.current = observe(el, function (isVisible) {\n return isVisible && setVisible(isVisible);\n }, {\n rootMargin: rootMargin\n });\n }\n }, [isDisabled, rootMargin, visible]);\n (0, _react.useEffect)(function () {\n if (!hasIntersectionObserver) {\n if (!visible) (0, _requestIdleCallback[\"default\"])(function () {\n return setVisible(true);\n });\n }\n }, [visible]);\n return [setRef, visible];\n}\n\nfunction observe(element, callback, options) {\n var _createObserver = createObserver(options),\n id = _createObserver.id,\n observer = _createObserver.observer,\n elements = _createObserver.elements;\n\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements[\"delete\"](element);\n observer.unobserve(element); // Destroy observer when there's nothing left to watch:\n\n if (elements.size === 0) {\n observer.disconnect();\n observers[\"delete\"](id);\n }\n };\n}\n\nvar observers = new Map();\n\nfunction createObserver(options) {\n var id = options.rootMargin || '';\n var instance = observers.get(id);\n\n if (instance) {\n return instance;\n }\n\n var elements = new Map();\n var observer = new IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n var callback = elements.get(entry.target);\n var isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n observers.set(id, instance = {\n id: id,\n observer: observer,\n elements: elements\n });\n return instance;\n}\n\n/***/ }),\n\n/***/ \"z9kn\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"section\":\"Section_section__o4HeJ\",\"heading\":\"Section_heading__2mcEO\"};\n\n/***/ })\n\n}]);","inputSourceMap":{"version":3,"sources":["/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Button/Button.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/warning/warning.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/exenv/index.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-modal/lib/helpers/safeHTMLElement.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Settings/components/LocaleSetting/LocaleSetting.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-baker-runtime/browser-symbol.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/SquareButton/SquareButton.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Key/Key.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-modal/lib/index.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Settings/components/ConfigSetting/ConfigSetting.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Radio/Radio.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/components/Cell/Cell.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/DictionaryInput/DictionaryInput.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/KeyMap/components/Mapping/Mapping.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Results/Results.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/runtime/browser-sprite.build.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/EmptyState/EmptyState.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/RemainingTiles/Character.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/arrowDown.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/arrowLeft.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/arrowRight.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/arrowUp.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/checkboxChecked.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/checkboxEmpty.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/cog.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/cross.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/dashCircleFill.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/eraser.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/flagEs.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/flagFr.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/flagGb.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/flagPl.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/flagUs.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/github.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/keyboard.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/play.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/sack.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/sortDown.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/svg-sprite-loader/lib/loader.js!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/sortUp.svg","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/icons/index.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/SvgIcon/SvgIcon.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Tile/TilePure.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Tile/Tile.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getWindow.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/enums.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/orderModifiers.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/debounce.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/mergeByName.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/createPopper.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/modifiers/eventListeners.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/getBasePlacement.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/getVariation.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/computeOffsets.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/math.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/modifiers/computeStyles.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/modifiers/applyStyles.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/modifiers/offset.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/contains.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/rectToClientRect.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/expandToHashMap.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/detectOverflow.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/modifiers/flip.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/getAltAxis.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/utils/within.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/modifiers/arrow.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/modifiers/hide.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@popperjs/core/lib/popper.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-popper/lib/esm/utils.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-popper/lib/esm/usePopper.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-use/esm/useMountedState.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-use/esm/useRafLoop.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Tooltip/constants.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Tooltip/useTooltip.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/components/Cell/Button.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/components/Cell/lib.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/components/Cell/CellPure.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/BoardPure.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-use/esm/useLatest.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/lib/getPositionInGrid.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/hooks/useGrid.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/Board.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Button/Button.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Checkbox/Checkbox.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/PlainTiles/lib/getX.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/PlainTiles/lib/getY.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/PlainTiles/lib/randomize.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/PlainTiles/lib/createPlainTile.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/PlainTiles/lib/createPlainTiles.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/PlainTiles/lib/getViewbox.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/PlainTiles/lib/index.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/PlainTiles/Tile.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/PlainTiles/PlainTiles.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/EmptyState/EmptyState.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Loading/Loading.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Dictionary/Dictionary.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/DictionaryInput/DictionaryInput.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Key/Key.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/SquareButton/Link.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/SquareButton/SquareButton.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Sidebar/components/Section/Section.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Sidebar/Sidebar.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/KeyMap/components/Mapping/Mapping.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/KeyMap/keys.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/KeyMap/KeyMap.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Logo/Logo.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/NavButtons/NavButtons.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/NotFound/NotFound.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Rack/RackTile.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Rack/Rack.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Radio/Radio.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/RemainingTiles/Character.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/RemainingTiles/RemainingTiles.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/memoize-one/dist/memoize-one.esm.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-window/dist/index.esm.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/ResultsInput/ResultsInput.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Results/constants.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Results/HeaderButton.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Results/Cell.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Results/Result.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Results/SolveButton.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Results/Results.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Screen/Screen.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Settings/components/AutoGroupTilesSetting/constants.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Settings/components/AutoGroupTilesSetting/lib.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Settings/components/AutoGroupTilesSetting/AutoGroupTilesSetting.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Settings/components/ConfigSetting/options.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Settings/components/ConfigSetting/ConfigSetting.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Settings/components/LocaleSetting/options.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Settings/components/LocaleSetting/LocaleSetting.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Settings/components/index.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Settings/Settings.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Splash/Splash.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Well/Well.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/index.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Settings/components/AutoGroupTilesSetting/AutoGroupTilesSetting.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-modal/lib/components/ModalPortal.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Rack/Rack.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-modal/lib/helpers/scopeTab.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Screen/Screen.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Sidebar/Sidebar.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/classnames/index.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Board/Board.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/ResultsInput/ResultsInput.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-modal/lib/helpers/portalOpenInstances.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-modal/lib/helpers/focusManager.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/PlainTiles/PlainTiles.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-modal/lib/helpers/bodyTrap.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Well/Well.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/link.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-modal/lib/helpers/ariaAppHider.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-use/esm/util.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-modal/lib/helpers/tabbable.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-use/esm/useEffectOnce.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/RemainingTiles/RemainingTiles.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Tooltip/Tooltip.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-fast-compare/index.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/client/link.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-use/esm/useMedia.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/hooks/useIsTablet.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/hooks/useLocalStorage/useLocalStorageBoard.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/hooks/useLocalStorage/useLocalStorageConfigId.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/hooks/useLocalStorage/useLocalStorageLocale.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/hooks/useLocalStorage/useLocalStorageRack.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/hooks/useLocalStorage/useLocalStorage.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-portal/es/utils.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-portal/es/Portal.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-portal/es/LegacyPortal.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-portal/es/PortalCompat.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/hooks/usePortal.tsx","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/uuid/dist/esm-browser/rng.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/uuid/dist/esm-browser/regex.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/uuid/dist/esm-browser/validate.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/uuid/dist/esm-browser/stringify.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/uuid/dist/esm-browser/v4.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/hooks/useUniqueId.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/hooks/index.ts","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-modal/lib/helpers/classList.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Checkbox/Checkbox.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/NavButtons/NavButtons.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/NotFound/NotFound.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Dictionary/Dictionary.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/fast-deep-equal/react.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Splash/Splash.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/react-modal/lib/components/Modal.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Tile/Tile.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Loading/Loading.module.scss","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/loaders/next-babel-loader.js??ref--4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/client/use-intersection.js","/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin/src/loader.js??ref--5-oneOf-3-0!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/next/dist/compiled/postcss-loader/cjs.js??ref--5-oneOf-3-2!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/resolve-url-loader/index.js??ref--5-oneOf-3-3!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!/home/kamil/projects/scrabble-solver/packages/scrabble-solver/src/components/Sidebar/components/Section/Section.module.scss"],"names":[],"mappings":";;;;;AAAA;AACA,kBAAkB,6H;;;;;;;;ACDlB;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,YAAoB;;AAElC;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,KAAK,IAA4E;AACjF,EAAE,mCAAO;AACT;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAIN;;AAEF,CAAC;;;;;;;;;ACvCY;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,MAAO;;AAE5B;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;;AAEA;;AAEA,kC;;;;;;;ACnBA;AACA,kBAAkB,oT;;;;;;;ACDlB;AACA,CAAC,KAA4D;AAC7D,CAAC,SACwC;AACzC,CAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wDAAwD,4BAA4B,EAAE;AACtF;;AAEA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;AAMA;AACA,kBAAkB,YAAY,EAAE;AAChC;;AAEA;AACA;AACA,QAAQ,KAAgD,EAAE,EAErD;AACL;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,sCAAsC;AACtC;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA,CAAC;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,4DAA4D;AAC5D;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA,sDAAsD;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B,cAAc;;AAE1C;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,eAAe;AAC5B,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;;AAEA,CAAC;;;;;;;;;AC7QD;AACA,kBAAkB,6H;;;;;;;ACDlB;AACA,kBAAkB,wB;;;;;;;;ACDL;;AAEb;AACA;AACA,CAAC;;AAED,aAAa,mBAAO,CAAC,MAAoB;;AAEzC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,oC;;;;;;;ACbA;AACA,kBAAkB,6E;;;;;;;ACDlB;AACA,kBAAkB,wJ;;;;;;;ACDlB;AACA,kBAAkB,+1B;;;;;;;ACDlB;AACA,kBAAkB,mG;;;;;;;ACDlB;AACA,kBAAkB,wK;;;;;;;ACDlB;AACA,kBAAkB,ilB;;;;;;;ACDlB;AACA,CAAC,KAA4D;AAC7D,CAAC,SACkC;AACnC,CAAC,qBAAqB;;AAEtB;;;;;;AAMA;AACA,kBAAkB,YAAY,EAAE;AAChC;;AAEA;AACA;AACA,QAAQ,KAAgD,EAAE,EAErD;AACL;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,sCAAsC;AACtC;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA,CAAC;AACD,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;;;;;AAKA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,IAAI;AACjB;AACA;AACA;AACA,6CAA6C,cAAc,EAAE;AAC7D,4CAA4C,oBAAoB,EAAE;AAClE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,4DAA4D;AAC5D;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA,sDAAsD;AACtD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kEAAkE;AAClE;AACA,GAAG;AACH;AACA;;AAEA;AACA,qDAAqD;AACrD;AACA;;AAEA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA,2CAA2C,oBAAoB,EAAE;AACjE;;AAEA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB,EAAE;AAClF;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,qCAAqC,oBAAoB,EAAE;AAC3D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wDAAwD,4BAA4B,EAAE;AACtF;;AAEA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B,cAAc;;AAE1C;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,eAAe;AAC5B,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,4CAA4C,EAAE;AACvE,0BAA0B,6CAA6C,EAAE;;AAEzE;AACA,qBAAqB,kFAAkF,EAAE;AACzG,uBAAuB,0CAA0C;AACjE;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,gCAAgC,iCAAiC;AACjE,KAAK;AACL,GAAG;AACH;;AAEA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,WAAW,cAAc;AACzB,WAAW,QAAQ;AACnB,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,+BAA+B,qBAAqB;AACpD;;AAEA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+CAA+C,2BAA2B,EAAE;;AAE5E;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH,iCAAiC,8GAA8G,EAAE;AACjJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C,wCAAwC,EAAE;AACtF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA,4BAA4B,cAAc;;AAE1C;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,MAAM;AACnB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,eAAe;AAC5B,cAAc,aAAa;AAC3B;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,OAAO;;AAEP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC,oBAAoB,EAAE;;AAExD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,QAAQ;AACrB,cAAc,aAAa;AAC3B;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA,GAAG,+BAA+B;;AAElC,CAAC;;AAED;AACA;AACA;AACA;AACA;;;AAGA;AACA,GAAG;AACH;AACA;AACA,oCAAoC,YAAY;AAChD,GAAG,EAAE;;AAEL;AACA;AACA;;AAEA,CAAC;AACD,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;AAEA;;AAEA,CAAC;;;;;;;;;ACj/BD;AACA,kBAAkB,+E;;;;;;;ACDlB;AACA,kBAAkB,wL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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AI;AAC1C,iBAAiB,qBAAM;AACvB;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAE4B,oFAAI,CAAC,iBAAQ,CAAC,E;;AC3DM;AACQ;AACK;AAC1B;AACD;;AAElC,IAAI,SAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,mCAAY;AAClC;AACA;AACA;;AAEA,cAAc,wBAAO;AACrB;AACA;AACA;AACA;AACA,GAAG;AACH,mBAAmB,wBAAO;AAC1B;AACA;AACA;AACA,GAAG;AACH,oBAAoB,wBAAO;AAC3B;AACA;AACA;AACA,GAAG;AACH,iBAAiB,wBAAO;AACxB,+BAA+B,0BAAS;AACxC,GAAG;AACH,4CAA4C,mBAAU;AACtD;AACA,EAAE,0BAAS;AACX;AACA;AACA;AACA,GAAG;AACH,sBAAsB,0BAAI,CAAC,aAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEe,kEAAI,E;;;;;;;AC3EJ;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;ACZe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,C;;ACXuC;AACxB;AACf,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,C;;ACTuC;;AAEvC;AACA,mBAAmB,SAAS;AAC5B;AACA;;AAEA;AACA,mBAAmB,SAAS;AAC5B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,SAAS;AAC5B;AACA;;;;ACpBe;AACf;AACA;AACA;AACA;AACA,C;;ACLmD;AACZ;AACS;AACa;AAC9C;AACf,eAAe,SAAS,WAAW,aAAa;AAChD,WAAW,eAAe;AAC1B,GAAG;AACH,WAAW,oBAAoB;AAC/B;AACA,C;;ACVe;AACf;AACA,C;;ACF4C;AAC7B;AACf;AACA,WAAW,SAAS;AACpB;AACA,C;;ACL+D;AACN;AACN;AACpC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,qBAAqB,CAAC,kBAAkB,kBAAkB,eAAe;AAClF,C;;ACZuC;AACxB;AACf,SAAS,SAAS;AAClB,C;;ACHqD;AACtC;AACf;AACA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;;AAEA;AACA,C;;ACT+D;AAChB;AACJ;AACK;AACW;AACF;AACR;AACjD;;AAEe;AACf;AACA;AACA;;AAEA,wBAAwB,kBAAkB;AAC1C,aAAa,qBAAqB;AAClC,gCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,WAAW;AACnB,IAAI,cAAc;AAClB,eAAe,aAAa;AAC5B;;AAEA,QAAQ,aAAa;AACrB,gBAAgB,qBAAqB;AACrC;AACA;AACA,KAAK;AACL,kBAAkB,mBAAmB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,C;;AC/C+D;AAC/D;;AAEe;AACf,mBAAmB,qBAAqB,UAAU;AAClD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,C;;ACxB2C;AACc;AACV;AAChC;AACf,MAAM,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI,YAAY;AAChB;AACA,IAAI,kBAAkB;;AAEtB;AACA,C;;AClB+C;AACE;AACN;AACK;AACjC;AACf,4CAA4C,WAAW;AACvD;AACA;AACA;;AAEA,MAAM,aAAa,UAAU,cAAc;AAC3C;AACA;;AAEA,yBAAyB,aAAa;AACtC,C;;ACfmD;AACJ;AACR;AACU;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;;AAEA;AACA;AACA;;AAEA,qBAAqB,eAAe;AACpC;AACA,YAAY,SAAS;AACrB,+DAA+D,cAAc;AAC7E;AACA;AACA,uCAAuC,aAAa;AACpD,C;;ACzB2C;AAC5B;AACf,uCAAuC,WAAW;AAClD,C;;ACHuC;AACI;AACU;AACL;AACC;AACF;;AAE/C;AACA,OAAO,aAAa;AACpB,EAAE,gBAAgB;AAClB;AACA;;AAEA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;;AAEA,cAAc,aAAa;AAC3B;AACA,qBAAqB,gBAAgB;;AAErC;AACA;AACA;AACA;;AAEA,oBAAoB,aAAa;;AAEjC,SAAS,aAAa,0CAA0C,WAAW;AAC3E,cAAc,gBAAgB,cAAc;AAC5C;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC;AACD;;;AAGe;AACf,eAAe,SAAS;AACxB;;AAEA,yBAAyB,cAAc,kBAAkB,gBAAgB;AACzE;AACA;;AAEA,uBAAuB,WAAW,6BAA6B,WAAW,6BAA6B,gBAAgB;AACvH;AACA;;AAEA;AACA,C;;AC/DO,IAAI,SAAG;AACP;AACA;AACA;AACA;AACA,sBAAsB,SAAG;AACzB;AACA;AACA,IAAI,qBAAe;AACnB;AACA,IAAI,YAAM;AACV,IAAI,eAAS;AACb;AACP;AACA,CAAC;AACM,IAAI,gBAAU;AACrB;AACA,CAAC,MAAM;;AAEA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA,gH;;AC9BsC;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEe;AACf;AACA,0CAA0C;;AAE1C,SAAS,cAAc;AACvB;AACA;AACA,KAAK;AACL,GAAG;AACH,C;;AC3Ce;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;AACA,C;;ACde;AACf;AACA;AACA,sDAAsD;AACtD,+BAA+B;AAC/B,4BAA4B;AAC5B,KAAK;AACL;AACA,GAAG,IAAI,EAAE;;AAET;AACA;AACA,GAAG;AACH,C;;ACb+D;AACN;AACQ;AACJ;AACE;AACR;AACZ;AACkB;AAClB;AACgB;AACV;AACM;AACD;AACpB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qEAAqE,aAAa;AAClF;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B;AAC/B,uBAAuB;AACvB;AACA;AACA;AACA,OAAO;AACP,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA,qBAAqB,SAAS,cAAc,iBAAiB,yCAAyC,iBAAiB;AACvH,kBAAkB,iBAAiB;AACnC,UAAU;AACV;;AAEA,+BAA+B,cAAc,CAAC,WAAW,wDAAwD;;AAEjH;AACA;AACA,SAAS,EAAE;AACX;;AAEA,YAAY,KAAqC,EAAE,qGA+B1C;;AAET;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;AAC5C;;AAEA;AACA,cAAc,KAAqC,EAAE,EAE1C;;AAEX;AACA,SAAS;;;AAGT;AACA,qBAAqB,gBAAgB,YAAY,eAAe;AAChE,kBAAkB,aAAa;AAC/B,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;AACA;AACA,6CAA6C,KAAK;;AAElD;AACA,sEAAsE;AACtE,SAAS;AACT;;AAEA,2BAA2B,uCAAuC;AAClE,cAAc,KAAqC,EAAE,EAO1C;;AAEX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+DAA+D;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,OAAO;AACP;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,KAAqC,EAAE,EAE1C;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK,EAAE;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACO,IAAI,yBAAY,kCAAkC;;;;AC/PP;;AAElD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;AAGc;AACf;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,CAAC,E;;AChDkC;AACpB;AACf;AACA,C;;ACHe;AACf;AACA,C;;ACFe;AACf;AACA,C;;ACFqD;AACR;AACwB;AACF;AACpD;AACf;AACA;AACA;AACA,kCAAkC,gBAAgB;AAClD,8BAA8B,YAAY;AAC1C;AACA;AACA;;AAEA;AACA,SAAS,SAAG;AACZ;AACA;AACA;AACA;AACA;;AAEA,SAAS,MAAM;AACf;AACA;AACA;AACA;AACA;;AAEA,SAAS,KAAK;AACd;AACA;AACA;AACA;AACA;;AAEA,SAAS,IAAI;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,wBAAwB;;AAEzD;AACA;;AAEA;AACA,WAAW,KAAK;AAChB;AACA;;AAEA,WAAW,GAAG;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA,C;;ACrEwD;;AAExD,SAAS,2BAAa;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,cAAc;AAC5C;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;AAGc;AACf;AACA;AACA;AACA,MAAM,2BAAa;AACnB;AACA,CAAC,E;;ACxBM,IAAI,QAAG;AACP,IAAI,QAAG;AACP,uB;;ACFgD;AACO;AACZ;AACkB;AACJ;AACJ;AACnB;;AAEzC;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAK,CAAC,KAAK;AAClB,OAAO,KAAK,CAAC,KAAK;AAClB;AACA;;AAEO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,IAAI;AAClB,cAAc,SAAG;AACjB;;AAEA;AACA,uBAAuB,eAAe;AACtC;AACA;;AAEA,yBAAyB,SAAS;AAClC,qBAAqB,kBAAkB;;AAEvC,UAAU,gBAAgB;AAC1B;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA,sBAAsB,SAAG;AACzB,cAAc,MAAM,CAAC;;AAErB;AACA;AACA;;AAEA,sBAAsB,IAAI;AAC1B,cAAc,KAAK,CAAC;;AAEpB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA,2BAA2B,oCAAoC;AAC/D;;AAEA,yBAAyB,qCAAqC;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAAqC,EAAE,2BAQ1C;;AAEH;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,mDAAmD;AAC7F;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,yCAAyC,kDAAkD;AAC3F;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,4CAA4C;AAC5C;AACA,GAAG;AACH,CAAC;;;AAGc;AACf;AACA;AACA;AACA;AACA;AACA,CAAC,E;;AC1JqD;AACK;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC,SAAS,aAAa,cAAc,WAAW;AAC/C;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA,SAAS,kBAAM;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sHAAsH;;AAEtH;AACA;AACA;AACA,OAAO,IAAI,EAAE;;AAEb,WAAW,aAAa,cAAc,WAAW;AACjD;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,CAAC;;;AAGc;AACf;AACA;AACA;AACA;AACA,UAAU,kBAAM;AAChB;AACA,CAAC,E;;ACnF2D;AACD;AACpD;AACP,sBAAsB,gBAAgB;AACtC,wBAAwB,IAAI,EAAE,SAAG;;AAEjC,mEAAmE;AACnE;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,UAAU,IAAI,EAAE,KAAK;AACrB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,SAAS,aAAM;AACf;AACA;AACA;AACA;AACA;AACA,aAAa,gBAAU;AACvB;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;AAGc;AACf;AACA;AACA;AACA;AACA,MAAM,aAAM;AACZ,CAAC,E;;ACpDD;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA,GAAG;AACH,C;;ACVA,IAAI,kCAAI;AACR;AACA;AACA;AACe;AACf;AACA,WAAW,kCAAI;AACf,GAAG;AACH,C;;ACRuC;AACkB;AACE;AAC5C;AACf,YAAY,SAAS;AACrB,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,sCAAsC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA,C;;ACvCyD;AACJ;AACM;AACR;AACZ;AACvC;;AAEe;AACf;;AAEA,aAAa,kBAAkB;AAC/B,kBAAkB,eAAe;AACjC;AACA,cAAc,QAAG;AACjB,eAAe,QAAG;AAClB,kCAAkC,mBAAmB;AACrD;;AAEA,MAAM,gBAAgB;AACtB,SAAS,QAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,C;;AC5B+C;AAChC;AACf,0DAA0D;;AAE1D;AACA;AACA,GAAG;AACH,uBAAuB,YAAY;AACnC;;AAEA;AACA;AACA;AACA,SAAS;;;AAGT;AA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,IAAI,sBAAsB,MAAM,GAAG,SAAG;;AAE1G;AACA,0BAA0B,oBAAoB;AAC9C;;AAEA,2BAA2B,oBAAoB;AAC/C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,QAAQ;AACzC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGc;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;AClJc;AACf;AACA,C;;ACF2D;AAC5C;AACf,SAAS,QAAO,MAAM,QAAO;AAC7B,C;;ACH8D;AACF;AACgB;AAC5B;AACR;AACkB;AACI;AACN;AACJ;AACY;AACE;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB,gBAAgB;AACtC,kBAAkB,YAAY;AAC9B;AACA,iBAAiB,wBAAwB;AACzC,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA,4FAA4F;AAC5F;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sCAAsC,SAAG,GAAG,IAAI;AAChD,qCAAqC,MAAM,GAAG,KAAK;AACnD;AACA;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC,+BAA+B,KAAK,0CAA0C;AAC9E;;AAEA;AACA,6CAA6C,aAAa;AAC1D;AACA;AACA;AACA,yHAAyH,kBAAkB;AAC3I;AACA,sDAAsD;AACtD;AACA;AACA;AACA;;AAEA,mBAAmB,MAAM;AACzB;AACA;AACA,oDAAoD,eAAe;AACnE;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,MAAM,UAAU,QAAO,yCAAyC,QAAO;AACnG;AACA;AACA;;AAEA;AACA,yCAAyC,SAAG,GAAG,IAAI;;AAEnD,wCAAwC,MAAM,GAAG,KAAK;;AAEtD;;AAEA;;AAEA;;AAEA,6BAA6B,MAAM,UAAU,QAAO,4CAA4C,QAAO;;AAEvG;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;AAGc;AACf;AACA;AACA;AACA;AACA;AACA,CAAC,E;;AC1H2D;AACF;AACV;AACc;AACc;AACpC;AACwB;AACN;AACa;AACZ;;AAE3D,IAAI,qBAAe;AACnB,oEAAoE;AACpE;AACA,GAAG;AACH,SAAS,kBAAkB,yCAAyC,eAAe,UAAU,cAAc;AAC3G;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC,aAAa,wBAAwB;AACrC,oBAAoB,IAAI,EAAE,KAAK;AAC/B;;AAEA;AACA;AACA;;AAEA,sBAAsB,qBAAe;AACrC,kBAAkB,aAAa;AAC/B,+BAA+B,SAAG,GAAG,IAAI;AACzC,+BAA+B,MAAM,GAAG,KAAK;AAC7C;AACA;AACA,0BAA0B,eAAe;AACzC;AACA,sDAAsD;AACtD;;AAEA;AACA;AACA;AACA,eAAe,MAAM,mBAAmB;;AAExC;AACA,yDAAyD;AACzD;;AAEA,SAAS,YAAM;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;;AAEA,MAAM,KAAqC,EAAE,EAI1C;;AAEH,OAAO,QAAQ;AACf,QAAQ,KAAqC,EAAE,EAE1C;;AAEL;AACA;;AAEA;AACA,CAAC;;;AAGc;AACf;AACA;AACA;AACA;AACA,UAAU,YAAM;AAChB;AACA;AACA,CAAC,E;;ACpGsD;AACC;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,SAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI;AAClC;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC;AACA,GAAG;AACH,0BAA0B,cAAc;AACxC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA,GAAG;AACH,CAAC;;;AAGc;AACf;AACA;AACA;AACA;AACA;AACA,CAAC,E;;AC5DmE;AACT;AACF;AACA;AACJ;AACV;AACJ;AACsB;AACpB;AACF;AACvC,IAAI,uBAAgB,IAAI,cAAc,EAAE,uBAAa,EAAE,uBAAa,EAAE,qBAAW,EAAE,gBAAM,EAAE,cAAI,EAAE,yBAAe,EAAE,eAAK,EAAE,cAAI;AAC7H,IAAI,mBAAY,gBAAgB,eAAe;AAC/C,oBAAoB,uBAAgB;AACpC,CAAC,EAAE;;AAEwE;;AAEP;;;;;;;;ACjBrC;;AAE/B;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA,0FAA0F,aAAa;AACvG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA;;AAEO,oHAAoH,wBAAqB,GAAG,kBAAe,C;;ACpDnI;AACsC;AAC5B;AACwB;AACjE;AACO,IAAI,mBAAS;AACpB;AACA;AACA;;AAEA,oBAAoB,eAAY;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,iBAAc;AACtC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;;AAEA,4BAA4B,gBAAa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,WAAW;AAC7B,wDAAwD;AACxD,WAAW;AACX,sBAAsB,WAAW;AACjC;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA,GAAG;AACH,sBAAsB,gBAAa;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,QAAQ,4BAAO;AACf;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAY;AACtC,E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AAK;AACL,GAAG;AACH;AACA;AACA;;AAEe,0FAAgB,E;;AC5B6C;;AAE5E,IAAI,qBAAU;AACd;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH,kCAAkC,2CAAqB,GAAG,6CAAuB,kCAAkC,6CAAuB;AAC1I,iCAAiC,2CAAqB,GAAG,6CAAuB,gCAAgC,6CAAuB;AACvI;AACA;;AAEe,wEAAU,E;;ACfsC;AACE;AACZ;AACZ;AACA;;;;;;;ACJS;AACF;AACtB;;AAE1B,IAAI,oBAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,2BAAK;AAC3B;AACA;AACA,4BAA4B,0BAAI;AAChC;AACA;AACA;AACA;AACA;AACA,KAAK,gBAAgB,0BAAI;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,8CAA8C,0BAAI;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEe,wEAAI,E;;AC5C6B;AACwB;AACpC;AACG;AACc;AACP;AACpB;;AAE1B,IAAI,qBAAU;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,wBAAO;AACrB,WAAW,oBAAgB;AAC3B;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,sBAAsB,0BAAI;AAC1B,eAAe,oBAAU,6BAA6B,EAAE,yCAAe,cAAc,2BAAM,0BAA0B,yCAAe,cAAc,2BAAM;AACxJ;AACA,aAAa,cAAU;AACvB;AACA;AACA,0BAA0B,0BAAI,CAAC,eAAI;AACnC;AACA,mBAAmB,2BAAM;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEe,0FAAU,E;;;;;;;;AC7CyB;AACF;AACZ;AACG;AACuC;AACzC;AACE;AACO;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,+BAAS;AAClB,QAAQ,gCAAU;AAClB,WAAW,iCAAW;AACtB,WAAW,kCAAY;AACvB;;AAEA,IAAI,qBAAU;AACd;AACA;AACA;AACA,kBA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ClD;AACG;AACc;;AAElD,IAAI,6BAAc;AAClB;AACA;AACA;AACA,kBAAkB,yCAAY;AAC9B,eAAe,6CAAgB,CAAC,+CAA0B;AAC1D,sBAAsB,0BAAI,CAAC,0BAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,2BAAK;AAC/B,mBAAmB,+BAAM;AACzB,gCAAgC,0BAAI;AACpC,qBAAqB,+BAAM;AAC3B;AACA,SAAS,gBAAgB,0BAAI;AAC7B,qBAAqB,+BAAM;AAC3B;AACA,gCAAgC,0BAAI,CAAC,wBAAS;AAC9C;AACA,aAAa;AACb,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEe,0GAAc,E;;;;;;;AC1Cd;AACf;AACA;AACA;AACA,C;;ACJe;AACf;AACA;AACA;;AAEA;AACA,C;;ACNA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B,0BAA0B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,8DAAU,EAAC;;;ACnCgC;AACY;AACgB;AACjD;AACgB;AAC+C;;AAEpG;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,cAAI,MAAM;;AAEd;AACA;AACA;AACA;;AAEA,MAAM,cAAI;AACV;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,cAAI;AACR;AACA;;AAEA,SAAS,cAAI;AACb;AACA,2BAA2B;AAC3B,kCAAkC;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;AAGA;AACA;AACA;;AAEA,IAAI,KAAqC,EAAE,EAY1C;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,cAAc;;AAElB;AACA;AACA;AACA;AACA;;AAEA;AACA,4DAA4D,sBAAsB,CAAC,sBAAsB;AACzG;AACA;AACA;AACA,kBAAkB,sBAAsB,CAAC,sBAAsB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,eAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,4BAA4B,eAAU;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iCAAiC,eAAU;AAC3C;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gDAAgD;AAChD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wFAAwF;AACxF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,2CAA2C,2BAA2B;AACtE,mDAAmD,iCAAiC;AACpF,uBAAuB,8BAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,aAAa;AACb;AACA;AACA,OAAO;AACP;;;AAGA;AACA;AACA,aAAa,8BAAa;AAC1B;AACA;AACA;AACA,eAAe,sCAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO,EAAE,8BAAa;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+GAA+G;AAC/G;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,2GAA2G;AAC3G;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG,CAAC,sBAAa;AACjB;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAAqC,EAAE,EA2C1C;AACH;;AAEA;;AAEA,IAAI,iCAAuB;AAC3B;AACA;AACA;AACA;AACA,kCAAkC;AAClC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,IAAI,gCAAsB;AAC1B;AACA;AACA;AACA;AACA,kCAAkC;AAClC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uCAAuC,YAAY;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,uCAA6B;AACjC;AACA,4EAA4E;AAC5E;;AAEA,mDAAmD,gCAAsB,yBAAyB,iCAAuB;AACzH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,2BAA2B,iCAAuB;AAClD,0BAA0B,gCAAsB;AAChD;AACA,WAAW,uCAA6B;AACxC,GAAG;AACH;AACA,WAAW,uCAA6B;AACxC,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,QAAQ,KAAqC,EAAE,EAM1C;AACL;AACA,CAAC;;AAED;;AAEA;AACA;AACA,EAAE;AACF;;;AAGA;AACA;;AAEA,IAAI,KAAqC,EAAE,EAS1C;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,cAAc;;AAElB;AACA;AACA;AACA;AACA;;AAEA;AACA,4DAA4D,sBAAsB,CAAC,sBAAsB;AACzG;AACA;AACA;AACA,kBAAkB,sBAAsB,CAAC,sBAAsB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,eAAU;AAC7C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,4BAA4B,eAAU;AACtC;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA,2EAA2E;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iCAAiC,eAAU;AAC3C;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,qCAAqC,qBAAqB;AAC1D,qBAAqB,8BAAa;AAClC;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;;;AAGA;AACA,aAAa,8BAAa;AAC1B;AACA;AACA;AACA,eAAe,sCAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO,EAAE,8BAAa;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,2GAA2G;AAC3G;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG,CAAC,sBAAa;AACjB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAAqC,EAAE,qBAiD1C;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uCAAuC,YAAY;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,+BAAqB;AACzB;AACA;AACA;AACA;AACA,mCAAmC;AACnC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,yBAAyB,+BAAqB;AAC9C;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,sEAAsE;AACtE;;AAEA,6BAA6B,+BAAqB;AAClD;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,6FAA6F;AAC7F;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA,QAAQ,KAAqC,EAAE,EAI1C;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB,SAAS;AACT,kCAAkC;AAClC,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB,SAAS;AACT,+BAA+B;AAC/B,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,wDAAwD;AACxD,GAAG;AACH;AACA;AACA;AACA;;AAEA,QAAQ,KAAqC,EAAE,EAQ1C;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB,WAAW;AACX,kCAAkC;AAClC,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,wDAAwD;AACxD,GAAG;AACH;AACA;AACA;;AAEA,QAAQ,KAAqC,EAAE,EAI1C;AACL;AA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;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,qBAAqB;AAC7C,OAAO;AACP;AACA;AACA;AACA;;AAEA,wBAAwB,eAAe;AACvC,0BAA0B,kBAAkB;;AAE5C;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,+EAA+E,sBAAsB;AACrG;;AAEA;AACA;AACA,sBAAsB,wCAAwC;AAC9D;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO,IAAI;AACX;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,UAAU,KAAqC,EAAE,EAS1C;;AAEP;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC,+CAA+C;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,8CAA8C,cAAc,4EAA4E;AAC/I;AACA,OAAO;;AAEP;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA,eAAe;AACf;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;ACzaA;AACA,kBAAkB,qD;;;;;;;;ACDL;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,gBAAgB,mBAAO,CAAC,MAAY;;AAEpC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,oC;;;;;;;ACxFA;AACA,kBAAkB,6G;;;;;;;ACDlB;AACA,kBAAkB,sU;;;;;;;ACDlB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK,KAA6B;AAClC;AACA;AACA,EAAE,UAAU,IAA4E;AACxF;AACA,EAAE,iCAAqB,EAAE,mCAAE;AAC3B;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAEN;AACF,CAAC;;;;;;;;ACnDD;AACA,kBAAkB,uD;;;;;;;ACDlB;AACA,kBAAkB,uF;;;;;;;;ACDL;;AAEb;AACA;AACA,CAAC;;AAED,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,UAAU,KAAqC,EAAE,EAG1C;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,KAAqC,EAAE,EAG1C;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,oC;;;;;;;;AC3DA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEoB;;;;;;;;;AC7JP;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,MAAqB;;AAE7C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,C;;;;;;;AC/FA;AACA,kBAAkB,uN;;;;;;;;ACDL;;AAEb,2BAA2B,mBAAO,CAAC,MAAuB;;AAE1D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,KAAqC,EAAE,EAG1C;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kD;;;;;;;AC1DA;AACA,kBAAkB,2B;;;;;;;ACDlB,iBAAiB,mBAAO,CAAC,MAAoB;;;;;;;;;ACAhC;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,mBAAO,CAAC,MAAS;;AAEhC;;AAEA,uBAAuB,mBAAO,CAAC,MAAmB;;AAElD,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yIAAyI,GAAG,8JAA8J,MAAM;;AAEhT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;ACpEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqD;AAC9C;AACA;AACP;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACO;AACP;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACO,kBAAkB,4DAAgB;;;;;;;;;AChB5B;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oC;;;;;;;;AC3DA;AAAA;AAAkC;AAClC;AACA,IAAI,uDAAS;AACb;AACe,sEAAa,EAAC;;;;;;;;ACJ7B;AACA,kBAAkB,uH;;;;;;;ACDlB;AACA,kBAAkB,uP;;;;;;;ACDlB;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,WAAW;AAC/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB,WAAW;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrIa;;AAEb,qBAAqB,mBAAO,CAAC,MAAsC;;AAEnE,8BAA8B,mBAAO,CAAC,MAA+C;;AAErF;AACA;;AAEA,qCAAqC,mBAAO,CAAC,MAAO;;AAEpD,cAAc,mBAAO,CAAC,MAAkC;;AAExD,eAAe,mBAAO,CAAC,MAAU;;AAEjC,uBAAuB,mBAAO,CAAC,MAAoB;;AAEnD;;AAEA;AACA,MAAM,MAAK;AACX,6CAA6C;AAC7C;AACA;AACA;;AAEA;AACA,eAAe,EAGV;AACL,GAAG;AACH,8GAA8G;;AAE9G;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,aAAa,yGA6EV;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,GAAG;;;AAGH;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA,uDAAuD;AACvD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL,IAAI;AACJ;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,8B;;;;;;;;;;;;;;;;;;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;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA,wB;;;;;;;ACjSA;AACA,kBAAkB,+V;;;;;;;ACDlB;AACA,kBAAkB,2H;;;;;;;;ACDL;;AAEb,qBAAqB,mBAAO,CAAC,MAAsC;;AAEnE,6BAA6B,mBAAO,CAAC,MAA8C;;AAEnF;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAO;;AAE5B,kDAAkD,mBAAO,CAAC,MAAyB;;AAEnF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,C;;;;;;;AClGA;AACA,kBAAkB,uE","file":"x","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"Button_button__NTtqi\",\"content\":\"Button_content__1ng3a\",\"icon\":\"Button_icon__3NvAw\",\"label\":\"Button_label__2kVgE\"};","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"LocaleSetting_option__2xt_o\",\"flag\":\"LocaleSetting_flag__1pprE\",\"checked\":\"LocaleSetting_checked__3XJSh\",\"label\":\"LocaleSetting_label__2rj6n\",\"es\":\"LocaleSetting_es__3avX3\",\"fr\":\"LocaleSetting_fr__25G9k\",\"gb\":\"LocaleSetting_gb__qVZSX\",\"pl\":\"LocaleSetting_pl__YUmDs\",\"us\":\"LocaleSetting_us__30qoJ\"};","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.BrowserSpriteSymbol = factory());\n}(this, (function () { 'use strict';\n\nvar SpriteSymbol = function SpriteSymbol(ref) {\n var id = ref.id;\n var viewBox = ref.viewBox;\n var content = ref.content;\n\n this.id = id;\n this.viewBox = viewBox;\n this.content = content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.stringify = function stringify () {\n return this.content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSpriteSymbol.prototype.destroy = function destroy () {\n var this$1 = this;\n\n ['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });\n};\n\n/**\n * @param {string} content\n * @return {Element}\n */\nvar parse = function (content) {\n var hasImportNode = !!document.importNode;\n var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;\n\n /**\n * Fix for browser which are throwing WrongDocumentError\n * if you insert an element which is not part of the document\n * @see http://stackoverflow.com/a/7986519/4624403\n */\n if (hasImportNode) {\n return document.importNode(doc, true);\n }\n\n return doc;\n};\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar deepmerge = createCommonjsModule(function (module, exports) {\n(function (root, factory) {\n if (typeof undefined === 'function' && undefined.amd) {\n undefined(factory);\n } else {\n module.exports = factory();\n }\n}(commonjsGlobal, function () {\n\nfunction isMergeableObject(val) {\n var nonNullObject = val && typeof val === 'object';\n\n return nonNullObject\n && Object.prototype.toString.call(val) !== '[object RegExp]'\n && Object.prototype.toString.call(val) !== '[object Date]'\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function (key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function (key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var array = Array.isArray(source);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n if (array) {\n return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nreturn deepmerge\n\n}));\n});\n\nvar namespaces_1 = createCommonjsModule(function (module, exports) {\nvar namespaces = {\n svg: {\n name: 'xmlns',\n uri: 'http://www.w3.org/2000/svg'\n },\n xlink: {\n name: 'xmlns:xlink',\n uri: 'http://www.w3.org/1999/xlink'\n }\n};\n\nexports.default = namespaces;\nmodule.exports = exports.default;\n});\n\n/**\n * @param {Object} attrs\n * @return {string}\n */\nvar objectToAttrsString = function (attrs) {\n return Object.keys(attrs).map(function (attr) {\n var value = attrs[attr].toString().replace(/\"/g, '&quot;');\n return (attr + \"=\\\"\" + value + \"\\\"\");\n }).join(' ');\n};\n\nvar svg = namespaces_1.svg;\nvar xlink = namespaces_1.xlink;\n\nvar defaultAttrs = {};\ndefaultAttrs[svg.name] = svg.uri;\ndefaultAttrs[xlink.name] = xlink.uri;\n\n/**\n * @param {string} [content]\n * @param {Object} [attributes]\n * @return {string}\n */\nvar wrapInSvgString = function (content, attributes) {\n if ( content === void 0 ) content = '';\n\n var attrs = deepmerge(defaultAttrs, attributes || {});\n var attrsRendered = objectToAttrsString(attrs);\n return (\"<svg \" + attrsRendered + \">\" + content + \"</svg>\");\n};\n\nvar BrowserSpriteSymbol = (function (SpriteSymbol$$1) {\n function BrowserSpriteSymbol () {\n SpriteSymbol$$1.apply(this, arguments);\n }\n\n if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;\n BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );\n BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;\n\n var prototypeAccessors = { isMounted: {} };\n\n prototypeAccessors.isMounted.get = function () {\n return !!this.node;\n };\n\n /**\n * @param {Element} node\n * @return {BrowserSpriteSymbol}\n */\n BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {\n return new BrowserSpriteSymbol({\n id: node.getAttribute('id'),\n viewBox: node.getAttribute('viewBox'),\n content: node.outerHTML\n });\n };\n\n BrowserSpriteSymbol.prototype.destroy = function destroy () {\n if (this.isMounted) {\n this.unmount();\n }\n SpriteSymbol$$1.prototype.destroy.call(this);\n };\n\n /**\n * @param {Element|string} target\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.mount = function mount (target) {\n if (this.isMounted) {\n return this.node;\n }\n\n var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;\n var node = this.render();\n this.node = node;\n\n mountTarget.appendChild(node);\n\n return node;\n };\n\n /**\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.render = function render () {\n var content = this.stringify();\n return parse(wrapInSvgString(content)).childNodes[0];\n };\n\n BrowserSpriteSymbol.prototype.unmount = function unmount () {\n this.node.parentNode.removeChild(this.node);\n };\n\n Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );\n\n return BrowserSpriteSymbol;\n}(SpriteSymbol));\n\nreturn BrowserSpriteSymbol;\n\n})));\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"squareButton\":\"SquareButton_squareButton__3XZzH\",\"content\":\"SquareButton_content__2e8pD\",\"icon\":\"SquareButton_icon__2HxOh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"key\":\"Key_key__2Quc4\"};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"ConfigSetting_option__2T-wW\",\"label\":\"ConfigSetting_label__3tZD6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"radio\":\"Radio_radio__32uSc\",\"icon\":\"Radio_icon__dTLfl\",\"checked\":\"Radio_checked__1ad9P\",\"input\":\"Radio_input__2cGaT\",\"content\":\"Radio_content__3psCG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cell\":\"Cell_cell__3wKgm\",\"bonusCharacter1\":\"Cell_bonusCharacter1__34xQ_\",\"bonusCharacter2\":\"Cell_bonusCharacter2__1xH4M\",\"bonusCharacter3\":\"Cell_bonusCharacter3__3xUsl\",\"bonusCharacter5\":\"Cell_bonusCharacter5__2nWfH\",\"bonusCharacterMultiplier2\":\"Cell_bonusCharacterMultiplier2__1wTiA\",\"bonusCharacterMultiplier3\":\"Cell_bonusCharacterMultiplier3__1shAb\",\"bonusWord2\":\"Cell_bonusWord2__qdCLX\",\"bonusWord3\":\"Cell_bonusWord3__sSJti\",\"characterPoints1\":\"Cell_characterPoints1__3rhFH\",\"characterPoints2\":\"Cell_characterPoints2__2sud4\",\"characterPoints3\":\"Cell_characterPoints3__1v_ZX\",\"characterPoints5\":\"Cell_characterPoints5__Hen_b\",\"candidate\":\"Cell_candidate__13l8_\",\"actions\":\"Cell_actions__3JTry\",\"action\":\"Cell_action__3RPdm\",\"toggleDirection\":\"Cell_toggleDirection__5rp_g\",\"right\":\"Cell_right__3g3qY\",\"blank\":\"Cell_blank__3l4Pq\",\"active\":\"Cell_active__2O7iE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dictionaryInput\":\"DictionaryInput_dictionaryInput__U7DaM\",\"input\":\"DictionaryInput_input__2r5WW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mapping\":\"Mapping_mapping__1ZcKV\",\"description\":\"Mapping_description__Mbn8w\",\"keys\":\"Mapping_keys__3Vf5K\",\"group\":\"Mapping_group__2WX5v\",\"plus\":\"Mapping_plus__1j3oP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"results\":\"Results_results__x8VdK\",\"emptyState\":\"Results_emptyState__2-LxF\",\"list\":\"Results_list__1B8VD\",\"outdated\":\"Results_outdated__3nWlA\",\"header\":\"Results_header__noJ3I\",\"headerButton\":\"Results_headerButton__1N5Kw\",\"headerButtonLabel\":\"Results_headerButtonLabel__2QiqD\",\"result\":\"Results_result__1y1Jv\",\"resultContent\":\"Results_resultContent__2StBW\",\"word\":\"Results_word__1zvOl\",\"cell\":\"Results_cell__1cXgg\",\"stat\":\"Results_stat__3xHhu\",\"points\":\"Results_points__wnPy8\",\"outdatedButton\":\"Results_outdatedButton__2uCmc\",\"sortIcon\":\"Results_sortIcon__2BYB5\",\"input\":\"Results_input__2lOjT\"};","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.BrowserSprite = factory());\n}(this, (function () { 'use strict';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar deepmerge = createCommonjsModule(function (module, exports) {\n(function (root, factory) {\n if (typeof undefined === 'function' && undefined.amd) {\n undefined(factory);\n } else {\n module.exports = factory();\n }\n}(commonjsGlobal, function () {\n\nfunction isMergeableObject(val) {\n var nonNullObject = val && typeof val === 'object';\n\n return nonNullObject\n && Object.prototype.toString.call(val) !== '[object RegExp]'\n && Object.prototype.toString.call(val) !== '[object Date]'\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function (key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function (key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var array = Array.isArray(source);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n if (array) {\n return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nreturn deepmerge\n\n}));\n});\n\n// \n// An event handler can take an optional event argument\n// and should not return a value\n \n// An array of all currently registered event handlers for a type\n \n// A map of event types and their corresponding event handlers.\n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberof mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nvar namespaces_1 = createCommonjsModule(function (module, exports) {\nvar namespaces = {\n svg: {\n name: 'xmlns',\n uri: 'http://www.w3.org/2000/svg'\n },\n xlink: {\n name: 'xmlns:xlink',\n uri: 'http://www.w3.org/1999/xlink'\n }\n};\n\nexports.default = namespaces;\nmodule.exports = exports.default;\n});\n\n/**\n * @param {Object} attrs\n * @return {string}\n */\nvar objectToAttrsString = function (attrs) {\n return Object.keys(attrs).map(function (attr) {\n var value = attrs[attr].toString().replace(/\"/g, '&quot;');\n return (attr + \"=\\\"\" + value + \"\\\"\");\n }).join(' ');\n};\n\nvar svg = namespaces_1.svg;\nvar xlink = namespaces_1.xlink;\n\nvar defaultAttrs = {};\ndefaultAttrs[svg.name] = svg.uri;\ndefaultAttrs[xlink.name] = xlink.uri;\n\n/**\n * @param {string} [content]\n * @param {Object} [attributes]\n * @return {string}\n */\nvar wrapInSvgString = function (content, attributes) {\n if ( content === void 0 ) content = '';\n\n var attrs = deepmerge(defaultAttrs, attributes || {});\n var attrsRendered = objectToAttrsString(attrs);\n return (\"<svg \" + attrsRendered + \">\" + content + \"</svg>\");\n};\n\nvar svg$1 = namespaces_1.svg;\nvar xlink$1 = namespaces_1.xlink;\n\nvar defaultConfig = {\n attrs: ( obj = {\n style: ['position: absolute', 'width: 0', 'height: 0'].join('; '),\n 'aria-hidden': 'true'\n }, obj[svg$1.name] = svg$1.uri, obj[xlink$1.name] = xlink$1.uri, obj )\n};\nvar obj;\n\nvar Sprite = function Sprite(config) {\n this.config = deepmerge(defaultConfig, config || {});\n this.symbols = [];\n};\n\n/**\n * Add new symbol. If symbol with the same id exists it will be replaced.\n * @param {SpriteSymbol} symbol\n * @return {boolean} `true` - symbol was added, `false` - replaced\n */\nSprite.prototype.add = function add (symbol) {\n var ref = this;\n var symbols = ref.symbols;\n var existing = this.find(symbol.id);\n\n if (existing) {\n symbols[symbols.indexOf(existing)] = symbol;\n return false;\n }\n\n symbols.push(symbol);\n return true;\n};\n\n/**\n * Remove symbol & destroy it\n * @param {string} id\n * @return {boolean} `true` - symbol was found & successfully destroyed, `false` - otherwise\n */\nSprite.prototype.remove = function remove (id) {\n var ref = this;\n var symbols = ref.symbols;\n var symbol = this.find(id);\n\n if (symbol) {\n symbols.splice(symbols.indexOf(symbol), 1);\n symbol.destroy();\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {string} id\n * @return {SpriteSymbol|null}\n */\nSprite.prototype.find = function find (id) {\n return this.symbols.filter(function (s) { return s.id === id; })[0] || null;\n};\n\n/**\n * @param {string} id\n * @return {boolean}\n */\nSprite.prototype.has = function has (id) {\n return this.find(id) !== null;\n};\n\n/**\n * @return {string}\n */\nSprite.prototype.stringify = function stringify () {\n var ref = this.config;\n var attrs = ref.attrs;\n var stringifiedSymbols = this.symbols.map(function (s) { return s.stringify(); }).join('');\n return wrapInSvgString(stringifiedSymbols, attrs);\n};\n\n/**\n * @return {string}\n */\nSprite.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSprite.prototype.destroy = function destroy () {\n this.symbols.forEach(function (s) { return s.destroy(); });\n};\n\nvar SpriteSymbol = function SpriteSymbol(ref) {\n var id = ref.id;\n var viewBox = ref.viewBox;\n var content = ref.content;\n\n this.id = id;\n this.viewBox = viewBox;\n this.content = content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.stringify = function stringify () {\n return this.content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSpriteSymbol.prototype.destroy = function destroy () {\n var this$1 = this;\n\n ['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });\n};\n\n/**\n * @param {string} content\n * @return {Element}\n */\nvar parse = function (content) {\n var hasImportNode = !!document.importNode;\n var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;\n\n /**\n * Fix for browser which are throwing WrongDocumentError\n * if you insert an element which is not part of the document\n * @see http://stackoverflow.com/a/7986519/4624403\n */\n if (hasImportNode) {\n return document.importNode(doc, true);\n }\n\n return doc;\n};\n\nvar BrowserSpriteSymbol = (function (SpriteSymbol$$1) {\n function BrowserSpriteSymbol () {\n SpriteSymbol$$1.apply(this, arguments);\n }\n\n if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;\n BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );\n BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;\n\n var prototypeAccessors = { isMounted: {} };\n\n prototypeAccessors.isMounted.get = function () {\n return !!this.node;\n };\n\n /**\n * @param {Element} node\n * @return {BrowserSpriteSymbol}\n */\n BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {\n return new BrowserSpriteSymbol({\n id: node.getAttribute('id'),\n viewBox: node.getAttribute('viewBox'),\n content: node.outerHTML\n });\n };\n\n BrowserSpriteSymbol.prototype.destroy = function destroy () {\n if (this.isMounted) {\n this.unmount();\n }\n SpriteSymbol$$1.prototype.destroy.call(this);\n };\n\n /**\n * @param {Element|string} target\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.mount = function mount (target) {\n if (this.isMounted) {\n return this.node;\n }\n\n var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;\n var node = this.render();\n this.node = node;\n\n mountTarget.appendChild(node);\n\n return node;\n };\n\n /**\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.render = function render () {\n var content = this.stringify();\n return parse(wrapInSvgString(content)).childNodes[0];\n };\n\n BrowserSpriteSymbol.prototype.unmount = function unmount () {\n this.node.parentNode.removeChild(this.node);\n };\n\n Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );\n\n return BrowserSpriteSymbol;\n}(SpriteSymbol));\n\nvar defaultConfig$1 = {\n /**\n * Should following options be automatically configured:\n * - `syncUrlsWithBaseTag`\n * - `locationChangeAngularEmitter`\n * - `moveGradientsOutsideSymbol`\n * @type {boolean}\n */\n autoConfigure: true,\n\n /**\n * Default mounting selector\n * @type {string}\n */\n mountTo: 'body',\n\n /**\n * Fix disappearing SVG elements when <base href> exists.\n * Executes when sprite mounted.\n * @see http://stackoverflow.com/a/18265336/796152\n * @see https://github.com/everdimension/angular-svg-base-fix\n * @see https://github.com/angular/angular.js/issues/8934#issuecomment-56568466\n * @type {boolean}\n */\n syncUrlsWithBaseTag: false,\n\n /**\n * Should sprite listen custom location change event\n * @type {boolean}\n */\n listenLocationChangeEvent: true,\n\n /**\n * Custom window event name which should be emitted to update sprite urls\n * @type {string}\n */\n locationChangeEvent: 'locationChange',\n\n /**\n * Emit location change event in Angular automatically\n * @type {boolean}\n */\n locationChangeAngularEmitter: false,\n\n /**\n * Selector to find symbols usages when updating sprite urls\n * @type {string}\n */\n usagesToUpdate: 'use[*|href]',\n\n /**\n * Fix Firefox bug when gradients and patterns don't work if they are within a symbol.\n * Executes when sprite is rendered, but not mounted.\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=306674\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=353575\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=1235364\n * @type {boolean}\n */\n moveGradientsOutsideSymbol: false\n};\n\n/**\n * @param {*} arrayLike\n * @return {Array}\n */\nvar arrayFrom = function (arrayLike) {\n return Array.prototype.slice.call(arrayLike, 0);\n};\n\nvar browser = {\n isChrome: function () { return /chrome/i.test(navigator.userAgent); },\n isFirefox: function () { return /firefox/i.test(navigator.userAgent); },\n\n // https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx\n isIE: function () { return /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent); },\n isEdge: function () { return /edge/i.test(navigator.userAgent); }\n};\n\n/**\n * @param {string} name\n * @param {*} data\n */\nvar dispatchEvent = function (name, data) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent(name, false, false, data);\n window.dispatchEvent(event);\n};\n\n/**\n * IE doesn't evaluate <style> tags in SVGs that are dynamically added to the page.\n * This trick will trigger IE to read and use any existing SVG <style> tags.\n * @see https://github.com/iconic/SVGInjector/issues/23\n * @see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10898469/\n *\n * @param {Element} node DOM Element to search <style> tags in\n * @return {Array<HTMLStyleElement>}\n */\nvar evalStylesIEWorkaround = function (node) {\n var updatedNodes = [];\n\n arrayFrom(node.querySelectorAll('style'))\n .forEach(function (style) {\n style.textContent += '';\n updatedNodes.push(style);\n });\n\n return updatedNodes;\n};\n\n/**\n * @param {string} [url] If not provided - current URL will be used\n * @return {string}\n */\nvar getUrlWithoutFragment = function (url) {\n return (url || window.location.href).split('#')[0];\n};\n\n/* global angular */\n/**\n * @param {string} eventName\n */\nvar locationChangeAngularEmitter = function (eventName) {\n angular.module('ng').run(['$rootScope', function ($rootScope) {\n $rootScope.$on('$locationChangeSuccess', function (e, newUrl, oldUrl) {\n dispatchEvent(eventName, { oldUrl: oldUrl, newUrl: newUrl });\n });\n }]);\n};\n\nvar defaultSelector = 'linearGradient, radialGradient, pattern, mask, clipPath';\n\n/**\n * @param {Element} svg\n * @param {string} [selector]\n * @return {Element}\n */\nvar moveGradientsOutsideSymbol = function (svg, selector) {\n if ( selector === void 0 ) selector = defaultSelector;\n\n arrayFrom(svg.querySelectorAll('symbol')).forEach(function (symbol) {\n arrayFrom(symbol.querySelectorAll(selector)).forEach(function (node) {\n symbol.parentNode.insertBefore(node, symbol);\n });\n });\n return svg;\n};\n\n/**\n * @param {NodeList} nodes\n * @param {Function} [matcher]\n * @return {Attr[]}\n */\nfunction selectAttributes(nodes, matcher) {\n var attrs = arrayFrom(nodes).reduce(function (acc, node) {\n if (!node.attributes) {\n return acc;\n }\n\n var arrayfied = arrayFrom(node.attributes);\n var matched = matcher ? arrayfied.filter(matcher) : arrayfied;\n return acc.concat(matched);\n }, []);\n\n return attrs;\n}\n\n/**\n * @param {NodeList|Node} nodes\n * @param {boolean} [clone=true]\n * @return {string}\n */\n\nvar xLinkNS = namespaces_1.xlink.uri;\nvar xLinkAttrName = 'xlink:href';\n\n// eslint-disable-next-line no-useless-escape\nvar specialUrlCharsPattern = /[{}|\\\\\\^\\[\\]`\"<>]/g;\n\nfunction encoder(url) {\n return url.replace(specialUrlCharsPattern, function (match) {\n return (\"%\" + (match[0].charCodeAt(0).toString(16).toUpperCase()));\n });\n}\n\nfunction escapeRegExp(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"); // $& means the whole matched string\n}\n\n/**\n * @param {NodeList} nodes\n * @param {string} startsWith\n * @param {string} replaceWith\n * @return {NodeList}\n */\nfunction updateReferences(nodes, startsWith, replaceWith) {\n arrayFrom(nodes).forEach(function (node) {\n var href = node.getAttribute(xLinkAttrName);\n if (href && href.indexOf(startsWith) === 0) {\n var newUrl = href.replace(startsWith, replaceWith);\n node.setAttributeNS(xLinkNS, xLinkAttrName, newUrl);\n }\n });\n\n return nodes;\n}\n\n/**\n * List of SVG attributes to update url() target in them\n */\nvar attList = [\n 'clipPath',\n 'colorProfile',\n 'src',\n 'cursor',\n 'fill',\n 'filter',\n 'marker',\n 'markerStart',\n 'markerMid',\n 'markerEnd',\n 'mask',\n 'stroke',\n 'style'\n];\n\nvar attSelector = attList.map(function (attr) { return (\"[\" + attr + \"]\"); }).join(',');\n\n/**\n * Update URLs in svg image (like `fill=\"url(...)\"`) and update referencing elements\n * @param {Element} svg\n * @param {NodeList} references\n * @param {string|RegExp} startsWith\n * @param {string} replaceWith\n * @return {void}\n *\n * @example\n * const sprite = document.querySelector('svg.sprite');\n * const usages = document.querySelectorAll('use');\n * updateUrls(sprite, usages, '#', 'prefix#');\n */\nvar updateUrls = function (svg, references, startsWith, replaceWith) {\n var startsWithEncoded = encoder(startsWith);\n var replaceWithEncoded = encoder(replaceWith);\n\n var nodes = svg.querySelectorAll(attSelector);\n var attrs = selectAttributes(nodes, function (ref) {\n var localName = ref.localName;\n var value = ref.value;\n\n return attList.indexOf(localName) !== -1 && value.indexOf((\"url(\" + startsWithEncoded)) !== -1;\n });\n\n attrs.forEach(function (attr) { return attr.value = attr.value.replace(new RegExp(escapeRegExp(startsWithEncoded), 'g'), replaceWithEncoded); });\n updateReferences(references, startsWithEncoded, replaceWithEncoded);\n};\n\n/**\n * Internal emitter events\n * @enum\n * @private\n */\nvar Events = {\n MOUNT: 'mount',\n SYMBOL_MOUNT: 'symbol_mount'\n};\n\nvar BrowserSprite = (function (Sprite$$1) {\n function BrowserSprite(cfg) {\n var this$1 = this;\n if ( cfg === void 0 ) cfg = {};\n\n Sprite$$1.call(this, deepmerge(defaultConfig$1, cfg));\n\n var emitter = mitt();\n this._emitter = emitter;\n this.node = null;\n\n var ref = this;\n var config = ref.config;\n\n if (config.autoConfigure) {\n this._autoConfigure(cfg);\n }\n\n if (config.syncUrlsWithBaseTag) {\n var baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\n emitter.on(Events.MOUNT, function () { return this$1.updateUrls('#', baseUrl); });\n }\n\n var handleLocationChange = this._handleLocationChange.bind(this);\n this._handleLocationChange = handleLocationChange;\n\n // Provide way to update sprite urls externally via dispatching custom window event\n if (config.listenLocationChangeEvent) {\n window.addEventListener(config.locationChangeEvent, handleLocationChange);\n }\n\n // Emit location change event in Angular automatically\n if (config.locationChangeAngularEmitter) {\n locationChangeAngularEmitter(config.locationChangeEvent);\n }\n\n // After sprite mounted\n emitter.on(Events.MOUNT, function (spriteNode) {\n if (config.moveGradientsOutsideSymbol) {\n moveGradientsOutsideSymbol(spriteNode);\n }\n });\n\n // After symbol mounted into sprite\n emitter.on(Events.SYMBOL_MOUNT, function (symbolNode) {\n if (config.moveGradientsOutsideSymbol) {\n moveGradientsOutsideSymbol(symbolNode.parentNode);\n }\n\n if (browser.isIE() || browser.isEdge()) {\n evalStylesIEWorkaround(symbolNode);\n }\n });\n }\n\n if ( Sprite$$1 ) BrowserSprite.__proto__ = Sprite$$1;\n BrowserSprite.prototype = Object.create( Sprite$$1 && Sprite$$1.prototype );\n BrowserSprite.prototype.constructor = BrowserSprite;\n\n var prototypeAccessors = { isMounted: {} };\n\n /**\n * @return {boolean}\n */\n prototypeAccessors.isMounted.get = function () {\n return !!this.node;\n };\n\n /**\n * Automatically configure following options\n * - `syncUrlsWithBaseTag`\n * - `locationChangeAngularEmitter`\n * - `moveGradientsOutsideSymbol`\n * @param {Object} cfg\n * @private\n */\n BrowserSprite.prototype._autoConfigure = function _autoConfigure (cfg) {\n var ref = this;\n var config = ref.config;\n\n if (typeof cfg.syncUrlsWithBaseTag === 'undefined') {\n config.syncUrlsWithBaseTag = typeof document.getElementsByTagName('base')[0] !== 'undefined';\n }\n\n if (typeof cfg.locationChangeAngularEmitter === 'undefined') {\n config.locationChangeAngularEmitter = typeof window.angular !== 'undefined';\n }\n\n if (typeof cfg.moveGradientsOutsideSymbol === 'undefined') {\n config.moveGradientsOutsideSymbol = browser.isFirefox();\n }\n };\n\n /**\n * @param {Event} event\n * @param {Object} event.detail\n * @param {string} event.detail.oldUrl\n * @param {string} event.detail.newUrl\n * @private\n */\n BrowserSprite.prototype._handleLocationChange = function _handleLocationChange (event) {\n var ref = event.detail;\n var oldUrl = ref.oldUrl;\n var newUrl = ref.newUrl;\n this.updateUrls(oldUrl, newUrl);\n };\n\n /**\n * Add new symbol. If symbol with the same id exists it will be replaced.\n * If sprite already mounted - `symbol.mount(sprite.node)` will be called.\n * @fires Events#SYMBOL_MOUNT\n * @param {BrowserSpriteSymbol} symbol\n * @return {boolean} `true` - symbol was added, `false` - replaced\n */\n BrowserSprite.prototype.add = function add (symbol) {\n var sprite = this;\n var isNewSymbol = Sprite$$1.prototype.add.call(this, symbol);\n\n if (this.isMounted && isNewSymbol) {\n symbol.mount(sprite.node);\n this._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);\n }\n\n return isNewSymbol;\n };\n\n /**\n * Attach to existing DOM node\n * @param {string|Element} target\n * @return {Element|null} attached DOM Element. null if node to attach not found.\n */\n BrowserSprite.prototype.attach = function attach (target) {\n var this$1 = this;\n\n var sprite = this;\n\n if (sprite.isMounted) {\n return sprite.node;\n }\n\n /** @type Element */\n var node = typeof target === 'string' ? document.querySelector(target) : target;\n sprite.node = node;\n\n // Already added symbols needs to be mounted\n this.symbols.forEach(function (symbol) {\n symbol.mount(sprite.node);\n this$1._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);\n });\n\n // Create symbols from existing DOM nodes, add and mount them\n arrayFrom(node.querySelectorAll('symbol'))\n .forEach(function (symbolNode) {\n var symbol = BrowserSpriteSymbol.createFromExistingNode(symbolNode);\n symbol.node = symbolNode; // hack to prevent symbol mounting to sprite when adding\n sprite.add(symbol);\n });\n\n this._emitter.emit(Events.MOUNT, node);\n\n return node;\n };\n\n BrowserSprite.prototype.destroy = function destroy () {\n var ref = this;\n var config = ref.config;\n var symbols = ref.symbols;\n var _emitter = ref._emitter;\n\n symbols.forEach(function (s) { return s.destroy(); });\n\n _emitter.off('*');\n window.removeEventListener(config.locationChangeEvent, this._handleLocationChange);\n\n if (this.isMounted) {\n this.unmount();\n }\n };\n\n /**\n * @fires Events#MOUNT\n * @param {string|Element} [target]\n * @param {boolean} [prepend=false]\n * @return {Element|null} rendered sprite node. null if mount node not found.\n */\n BrowserSprite.prototype.mount = function mount (target, prepend) {\n if ( target === void 0 ) target = this.config.mountTo;\n if ( prepend === void 0 ) prepend = false;\n\n var sprite = this;\n\n if (sprite.isMounted) {\n return sprite.node;\n }\n\n var mountNode = typeof target === 'string' ? document.querySelector(target) : target;\n var node = sprite.render();\n this.node = node;\n\n if (prepend && mountNode.childNodes[0]) {\n mountNode.insertBefore(node, mountNode.childNodes[0]);\n } else {\n mountNode.appendChild(node);\n }\n\n this._emitter.emit(Events.MOUNT, node);\n\n return node;\n };\n\n /**\n * @return {Element}\n */\n BrowserSprite.prototype.render = function render () {\n return parse(this.stringify());\n };\n\n /**\n * Detach sprite from the DOM\n */\n BrowserSprite.prototype.unmount = function unmount () {\n this.node.parentNode.removeChild(this.node);\n };\n\n /**\n * Update URLs in sprite and usage elements\n * @param {string} oldUrl\n * @param {string} newUrl\n * @return {boolean} `true` - URLs was updated, `false` - sprite is not mounted\n */\n BrowserSprite.prototype.updateUrls = function updateUrls$1 (oldUrl, newUrl) {\n if (!this.isMounted) {\n return false;\n }\n\n var usages = document.querySelectorAll(this.config.usagesToUpdate);\n\n updateUrls(\n this.node,\n usages,\n ((getUrlWithoutFragment(oldUrl)) + \"#\"),\n ((getUrlWithoutFragment(newUrl)) + \"#\")\n );\n\n return true;\n };\n\n Object.defineProperties( BrowserSprite.prototype, prototypeAccessors );\n\n return BrowserSprite;\n}(Sprite));\n\nvar ready$1 = createCommonjsModule(function (module) {\n/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n */\n!function (name, definition) {\n\n { module.exports = definition(); }\n\n}('domready', function () {\n\n var fns = [], listener\n , doc = document\n , hack = doc.documentElement.doScroll\n , domContentLoaded = 'DOMContentLoaded'\n , loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n\n if (!loaded)\n { doc.addEventListener(domContentLoaded, listener = function () {\n doc.removeEventListener(domContentLoaded, listener);\n loaded = 1;\n while (listener = fns.shift()) { listener(); }\n }); }\n\n return function (fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn);\n }\n\n});\n});\n\nvar spriteNodeId = '__SVG_SPRITE_NODE__';\nvar spriteGlobalVarName = '__SVG_SPRITE__';\nvar isSpriteExists = !!window[spriteGlobalVarName];\n\n// eslint-disable-next-line import/no-mutable-exports\nvar sprite;\n\nif (isSpriteExists) {\n sprite = window[spriteGlobalVarName];\n} else {\n sprite = new BrowserSprite({\n attrs: {\n id: spriteNodeId,\n 'aria-hidden': 'true'\n }\n });\n window[spriteGlobalVarName] = sprite;\n}\n\nvar loadSprite = function () {\n /**\n * Check for page already contains sprite node\n * If found - attach to and reuse it's content\n * If not - render and mount the new sprite\n */\n var existing = document.getElementById(spriteNodeId);\n\n if (existing) {\n sprite.attach(existing);\n } else {\n sprite.mount(document.body, true);\n }\n};\n\nif (document.body) {\n loadSprite();\n} else {\n ready$1(loadSprite);\n}\n\nvar sprite$1 = sprite;\n\nreturn sprite$1;\n\n})));\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"emptyState\":\"EmptyState_emptyState__3XIlm\",\"tiles\":\"EmptyState_tiles__2hoJY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"character\":\"Character_character__qmkor\",\"finished\":\"Character_finished__11v6G\",\"overused\":\"Character_overused__2l2ul\",\"tile\":\"Character_tile__1C3Oq\",\"count\":\"Character_count__2pNlL\"};","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"arrowDown\",\n \"use\": \"arrowDown-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"arrowDown\\\">\\n <path d=\\\"M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"arrowLeft\",\n \"use\": \"arrowLeft-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"arrowLeft\\\">\\n <path d=\\\"M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"arrowRight\",\n \"use\": \"arrowRight-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"arrowRight\\\">\\n <path d=\\\"M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"arrowUp\",\n \"use\": \"arrowUp-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"arrowUp\\\">\\n <path d=\\\"M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"checkboxChecked\",\n \"use\": \"checkboxChecked-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"checkboxChecked\\\">\\n <path d=\\\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm10.03 4.97a.75.75 0 0 1 .011 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.75.75 0 0 1 1.08-.022z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"checkboxEmpty\",\n \"use\": \"checkboxEmpty-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"checkboxEmpty\\\">\\n <path d=\\\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"cog\",\n \"use\": \"cog-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"cog\\\">\\n <path d=\\\"M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.858z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"cross\",\n \"use\": \"cross-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"cross\\\">\\n <path d=\\\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm3.354 4.646L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"dashCircleFill\",\n \"use\": \"dashCircleFill-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"dashCircleFill\\\">\\n <path d=\\\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"eraser\",\n \"use\": \"eraser-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"eraser\\\">\\n <path d=\\\"M8.086 2.207a2 2 0 0 1 2.828 0l3.879 3.879a2 2 0 0 1 0 2.828l-5.5 5.5A2 2 0 0 1 7.879 15H5.12a2 2 0 0 1-1.414-.586l-2.5-2.5a2 2 0 0 1 0-2.828l6.879-6.879zm.66 11.34L3.453 8.254 1.914 9.793a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 .707.293H7.88a1 1 0 0 0 .707-.293l.16-.16z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"flagEs\",\n \"use\": \"flagEs-usage\",\n \"viewBox\": \"0 0 1280 853\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"0 0 1280 853\\\" id=\\\"flagEs\\\"> <image id=\\\"flagEs_image0\\\" width=\\\"1280\\\" height=\\\"853\\\" x=\\\"0\\\" y=\\\"0\\\" xlink:href=\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAANVAgMAAABaGbsaAAAABGdBTUEAALGPC/xhBQAAACBjSFJN\\nAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEXGCx74rwP/xAD///8H\\ncjGDAAAAAWJLR0QDEQxM8gAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB+UCFwAsE4DcNqcA\\nAAPBSURBVHja7dAxAQAwEAOhmHyTVVkRt4IENgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALYj2SMRGAmMBEYCI4GRwEhgJDAS\\nGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhg\\nJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GR\\nwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYC\\nI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmM\\nBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDAS\\nGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhg\\nJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GR\\nwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYC\\nI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmM\\nBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDAS\\nGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhg\\nJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GR\\nwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYC\\nI4GRwEhgJDASGAmMBEYCI4GRwEhgJDASGAmMBEYCI4GRwEhgJDDakQwAAAAAAAAAAAAAAAAAAAAA\\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDtAwXRsbDe\\nnzaLAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTIzVDAwOjQ0OjE5KzAzOjAwYEEZrQAAACV0\\nRVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0yM1QwMDo0NDoxOSswMzowMBEcoREAAAAASUVORK5CYII=\\\"></image>\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"flagFr\",\n \"use\": \"flagFr-usage\",\n \"viewBox\": \"0 0 24 15\",\n \"content\": \"<symbol viewBox=\\\"0 0 24 15\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"flagFr\\\">\\n <rect width=\\\"8\\\" height=\\\"15\\\" fill=\\\"#002395\\\" x=\\\"0 \\\" />\\n <rect width=\\\"8\\\" height=\\\"15\\\" fill=\\\"#FFFFFF\\\" x=\\\"8 \\\" />\\n <rect width=\\\"8\\\" height=\\\"15\\\" fill=\\\"#ED2939\\\" x=\\\"16 \\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"flagGb\",\n \"use\": \"flagGb-usage\",\n \"viewBox\": \"0 0 60 30\",\n \"content\": \"<symbol viewBox=\\\"0 0 60 30\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"flagGb\\\">\\n <clipPath id=\\\"flagGb_t\\\">\\n <path d=\\\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\\\" />\\n </clipPath>\\n <path d=\\\"M0,0 v30 h60 v-30 z\\\" fill=\\\"#00247d\\\" />\\n <path d=\\\"M0,0 L60,30 M60,0 L0,30\\\" stroke=\\\"#fff\\\" stroke-width=\\\"6\\\" />\\n <path d=\\\"M0,0 L60,30 M60,0 L0,30\\\" clipPath=\\\"url(#flagGb_t)\\\" stroke=\\\"#cf142b\\\" stroke-width=\\\"4\\\" />\\n <path d=\\\"M30,0 v30 M0,15 h60\\\" stroke=\\\"#fff\\\" stroke-width=\\\"10\\\" />\\n <path d=\\\"M30,0 v30 M0,15 h60\\\" stroke=\\\"#cf142b\\\" stroke-width=\\\"6\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"flagPl\",\n \"use\": \"flagPl-usage\",\n \"viewBox\": \"0 0 16 10\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 10\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"flagPl\\\">\\n <rect width=\\\"16\\\" height=\\\"10\\\" fill=\\\"#fff\\\" />\\n <rect width=\\\"16\\\" height=\\\"5\\\" fill=\\\"#dc143c\\\" y=\\\"5\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"flagUs\",\n \"use\": \"flagUs-usage\",\n \"viewBox\": \"0 0 7410 3900\",\n \"content\": \"<symbol viewBox=\\\"0 0 7410 3900\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"flagUs\\\">\\n <rect width=\\\"7410\\\" height=\\\"3900\\\" fill=\\\"#b22234\\\" />\\n <path d=\\\"M0,450H7410m0,600H0m0,600H7410m0,600H0m0,600H7410m0,600H0\\\" stroke=\\\"#fff\\\" stroke-width=\\\"300\\\" />\\n <rect width=\\\"2964\\\" height=\\\"2100\\\" fill=\\\"#3c3b6e\\\" />\\n <g fill=\\\"#fff\\\">\\n <g id=\\\"flagUs_s18\\\">\\n <g id=\\\"flagUs_s9\\\">\\n <g id=\\\"flagUs_s5\\\">\\n <g id=\\\"flagUs_s4\\\">\\n <path id=\\\"flagUs_s\\\" d=\\\"M247,90 317.534230,307.082039 132.873218,172.917961H361.126782L176.465770,307.082039z\\\" />\\n <use xlink:href=\\\"#flagUs_s\\\" y=\\\"420\\\" />\\n <use xlink:href=\\\"#flagUs_s\\\" y=\\\"840\\\" />\\n <use xlink:href=\\\"#flagUs_s\\\" y=\\\"1260\\\" />\\n </g>\\n <use xlink:href=\\\"#flagUs_s\\\" y=\\\"1680\\\" />\\n </g>\\n <use xlink:href=\\\"#flagUs_s4\\\" x=\\\"247\\\" y=\\\"210\\\" />\\n </g>\\n <use xlink:href=\\\"#flagUs_s9\\\" x=\\\"494\\\" />\\n </g>\\n <use xlink:href=\\\"#flagUs_s18\\\" x=\\\"988\\\" />\\n <use xlink:href=\\\"#flagUs_s9\\\" x=\\\"1976\\\" />\\n <use xlink:href=\\\"#flagUs_s5\\\" x=\\\"2470\\\" />\\n </g>\\n <clipPath id=\\\"flagUs_t\\\">\\n <path d=\\\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\\\" />\\n </clipPath>\\n <path d=\\\"M0,0 v30 h60 v-30 z\\\" fill=\\\"#00247d\\\" />\\n <path d=\\\"M0,0 L60,30 M60,0 L0,30\\\" stroke=\\\"#fff\\\" stroke-width=\\\"6\\\" />\\n <path d=\\\"M0,0 L60,30 M60,0 L0,30\\\" clipPath=\\\"url(#flagUs_t)\\\" stroke=\\\"#cf142b\\\" stroke-width=\\\"4\\\" />\\n <path d=\\\"M30,0 v30 M0,15 h60\\\" stroke=\\\"#fff\\\" stroke-width=\\\"10\\\" />\\n <path d=\\\"M30,0 v30 M0,15 h60\\\" stroke=\\\"#cf142b\\\" stroke-width=\\\"6\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"github\",\n \"use\": \"github-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"github\\\">\\n <path d=\\\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"keyboard\",\n \"use\": \"keyboard-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"keyboard\\\">\\n <path d=\\\"M0 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm13 .25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM2.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 8.75v-.5A.25.25 0 0 0 2.75 8h-.5zM4 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 8.75v-.5A.25.25 0 0 0 4.75 8h-.5a.25.25 0 0 0-.25.25zM6.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 7 8.75v-.5A.25.25 0 0 0 6.75 8h-.5zM8 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 9 8.75v-.5A.25.25 0 0 0 8.75 8h-.5a.25.25 0 0 0-.25.25zM13.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm0 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm-3-2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-1.5zm.75 2.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM11.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zM9 6.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 6h-.5a.25.25 0 0 0-.25.25zM7.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 6.75v-.5A.25.25 0 0 0 7.75 6h-.5zM5 6.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 6.75v-.5A.25.25 0 0 0 5.75 6h-.5a.25.25 0 0 0-.25.25zM2.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 4 6.75v-.5A.25.25 0 0 0 3.75 6h-1.5zM2 10.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM4.25 10a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h5.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-5.5z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"play\",\n \"use\": \"play-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"play\\\">\\n <path d=\\\"M11.596 8.697l-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"sack\",\n \"use\": \"sack-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"sack\\\">\\n <path d=\\\"M16,9C20,11 21,18 21,18C21,18 22,22 16,22C10,22 8,22 8,22C2,22 3,18 3,18C3,18 4,11 8,9M14,4L12,2L10,4L6,2L8,7H16L18,2L14,4Z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"sortDown\",\n \"use\": \"sortDown-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"sortDown\\\">\\n <path d=\\\"M3.5 2.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 11.293V2.5zm3.5 1a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"sortUp\",\n \"use\": \"sortUp-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"<symbol viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"sortUp\\\">\\n <path d=\\\"M3.5 12.5a.5.5 0 0 1-1 0V3.707L1.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 3.707V12.5zm3.5-9a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","export { default as arrowDown } from './arrowDown.svg';\nexport { default as arrowLeft } from './arrowLeft.svg';\nexport { default as arrowRight } from './arrowRight.svg';\nexport { default as arrowUp } from './arrowUp.svg';\nexport { default as checkboxChecked } from './checkboxChecked.svg';\nexport { default as checkboxEmpty } from './checkboxEmpty.svg';\nexport { default as cog } from './cog.svg';\nexport { default as cross } from './cross.svg';\nexport { default as dashCircleFill } from './dashCircleFill.svg';\nexport { default as eraser } from './eraser.svg';\nexport { default as flagEs } from './flagEs.svg';\nexport { default as flagFr } from './flagFr.svg';\nexport { default as flagGb } from './flagGb.svg';\nexport { default as flagPl } from './flagPl.svg';\nexport { default as flagUs } from './flagUs.svg';\nexport { default as github } from './github.svg';\nexport { default as keyboard } from './keyboard.svg';\nexport { default as play } from './play.svg';\nexport { default as sack } from './sack.svg';\nexport { default as sortDown } from './sortDown.svg';\nexport { default as sortUp } from './sortUp.svg';","import objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\n\nvar SvgIcon = function SvgIcon(_ref) {\n var icon = _ref.icon,\n props = _objectWithoutProperties(_ref, [\"icon\"]);\n\n return /*#__PURE__*/_jsx(\"svg\", _objectSpread(_objectSpread({}, props), {}, {\n children: /*#__PURE__*/_jsx(\"use\", {\n xlinkHref: \"#\".concat(icon.id)\n })\n }));\n};\n\nexport default SvgIcon;","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport React, { memo } from 'react';\nimport styles from './Tile.module.scss';\n\nvar handleChange = function handleChange(event) {\n return event.preventDefault();\n};\n\nvar TilePure = function TilePure(_ref) {\n var _classNames;\n\n var autoFocus = _ref.autoFocus,\n canShowPoints = _ref.canShowPoints,\n character = _ref.character,\n className = _ref.className,\n disabled = _ref.disabled,\n highlighted = _ref.highlighted,\n inputRef = _ref.inputRef,\n inputStyle = _ref.inputStyle,\n isBlank = _ref.isBlank,\n placeholder = _ref.placeholder,\n points = _ref.points,\n pointsStyle = _ref.pointsStyle,\n raised = _ref.raised,\n style = _ref.style,\n tabIndex = _ref.tabIndex,\n onFocus = _ref.onFocus,\n onKeyDown = _ref.onKeyDown;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: classNames(styles.tile, className, (_classNames = {}, _defineProperty(_classNames, styles.highlighted, highlighted), _defineProperty(_classNames, styles.blank, isBlank), _defineProperty(_classNames, styles.raised, raised), _defineProperty(_classNames, styles.points1, points === 1), _defineProperty(_classNames, styles.points2, points === 2), _defineProperty(_classNames, styles.points3, points === 3), _defineProperty(_classNames, styles.points4, points === 4), _defineProperty(_classNames, styles.points5, typeof points === 'number' && points >= 5), _classNames)),\n style: style,\n children: [/*#__PURE__*/_jsx(\"input\", {\n autoCapitalize: \"off\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n autoFocus: autoFocus,\n className: styles.character,\n disabled: disabled,\n maxLength: 1,\n placeholder: placeholder,\n ref: inputRef,\n spellCheck: false,\n style: inputStyle,\n tabIndex: tabIndex,\n value: character || '',\n onChange: handleChange,\n onFocus: onFocus,\n onKeyDown: onKeyDown\n }), canShowPoints && /*#__PURE__*/_jsx(\"span\", {\n className: styles.points,\n style: pointsStyle,\n children: points\n })]\n });\n};\n\nexport default /*#__PURE__*/memo(TilePure);","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { EMPTY_CELL } from '@scrabble-solver/constants';\nimport React, { createRef, useEffect, useMemo } from 'react';\nimport { getTileSizes } from 'lib';\nimport TilePure from './TilePure';\n\nvar Tile = function Tile(_ref) {\n var autoFocus = _ref.autoFocus,\n className = _ref.className,\n _ref$character = _ref.character,\n character = _ref$character === void 0 ? '' : _ref$character,\n disabled = _ref.disabled,\n highlighted = _ref.highlighted,\n ref = _ref.inputRef,\n isBlank = _ref.isBlank,\n placeholder = _ref.placeholder,\n points = _ref.points,\n raised = _ref.raised,\n size = _ref.size,\n tabIndex = _ref.tabIndex,\n onFocus = _ref.onFocus,\n onKeyDown = _ref.onKeyDown;\n\n var _getTileSizes = getTileSizes(size),\n pointsFontSize = _getTileSizes.pointsFontSize,\n tileFontSize = _getTileSizes.tileFontSize,\n tileSize = _getTileSizes.tileSize;\n\n var style = useMemo(function () {\n return {\n height: tileSize,\n width: tileSize\n };\n }, [tileSize]);\n var inputStyle = useMemo(function () {\n return {\n fontSize: tileFontSize\n };\n }, [tileFontSize]);\n var pointsStyle = useMemo(function () {\n return {\n fontSize: pointsFontSize\n };\n }, [pointsFontSize]);\n var inputRef = useMemo(function () {\n return ref || /*#__PURE__*/createRef();\n }, [ref]);\n var isEmpty = !character || character === EMPTY_CELL;\n var canShowPoints = (isBlank || !isEmpty) && typeof points !== 'undefined';\n useEffect(function () {\n if (autoFocus && inputRef.current) {\n inputRef.current.focus();\n }\n }, [autoFocus, inputRef]);\n return /*#__PURE__*/_jsx(TilePure, {\n autoFocus: autoFocus,\n canShowPoints: canShowPoints,\n character: character,\n className: className,\n disabled: disabled,\n highlighted: highlighted,\n inputRef: inputRef,\n inputStyle: inputStyle,\n isBlank: isBlank,\n placeholder: placeholder,\n points: points,\n pointsStyle: pointsStyle,\n raised: raised,\n style: style,\n tabIndex: tabIndex,\n onFocus: onFocus,\n onKeyDown: onKeyDown\n });\n};\n\nexport default Tile;","export default function getBoundingClientRect(element) {\n var rect = element.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top\n };\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\"; // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement);\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(options) {\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","import { top, left, right, bottom } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(round(x * dpr) / dpr) || 0,\n y: round(round(y * dpr) / dpr) || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets;\n\n var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,\n _ref3$x = _ref3.x,\n x = _ref3$x === void 0 ? 0 : _ref3$x,\n _ref3$y = _ref3.y,\n y = _ref3$y === void 0 ? 0 : _ref3$y;\n\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top) {\n sideY = bottom; // $FlowFixMe[prop-missing]\n\n y -= offsetParent[heightProp] - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right; // $FlowFixMe[prop-missing]\n\n x -= offsetParent[widthProp] - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref4) {\n var state = _ref4.state,\n options = _ref4.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\";\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nexport default function getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var referenceElement = state.elements.reference;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(referenceElement);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport default function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport within from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { max as mathMax, min as mathMin } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis || checkAltAxis) {\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = popperOffsets[mainAxis] + overflow[mainSide];\n var max = popperOffsets[mainAxis] - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;\n var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n\n if (checkMainAxis) {\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var _preventedOffset = within(tether ? mathMin(_min, tetherMin) : _min, _offset, tether ? mathMax(_max, tetherMax) : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport within from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import * as React from 'react';\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;","import * as React from 'react';\nimport { createPopper as defaultCreatePopper } from '@popperjs/core';\nimport isEqual from 'react-fast-compare';\nimport { fromEntries, useIsomorphicLayoutEffect } from './utils';\nvar EMPTY_MODIFIERS = [];\nexport var usePopper = function usePopper(referenceElement, popperElement, options) {\n if (options === void 0) {\n options = {};\n }\n\n var prevOptions = React.useRef(null);\n var optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || 'bottom',\n strategy: options.strategy || 'absolute',\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n var _React$useState = React.useState({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: '0',\n top: '0'\n },\n arrow: {\n position: 'absolute'\n }\n },\n attributes: {}\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var updateStateModifier = React.useMemo(function () {\n return {\n name: 'updateState',\n enabled: true,\n phase: 'write',\n fn: function fn(_ref) {\n var state = _ref.state;\n var elements = Object.keys(state.elements);\n setState({\n styles: fromEntries(elements.map(function (element) {\n return [element, state.styles[element] || {}];\n })),\n attributes: fromEntries(elements.map(function (element) {\n return [element, state.attributes[element]];\n }))\n });\n },\n requires: ['computeStyles']\n };\n }, []);\n var popperOptions = React.useMemo(function () {\n var newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n name: 'applyStyles',\n enabled: false\n }])\n };\n\n if (isEqual(prevOptions.current, newOptions)) {\n return prevOptions.current || newOptions;\n } else {\n prevOptions.current = newOptions;\n return newOptions;\n }\n }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n var popperInstanceRef = React.useRef();\n useIsomorphicLayoutEffect(function () {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n useIsomorphicLayoutEffect(function () {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n var createPopper = options.createPopper || defaultCreatePopper;\n var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n popperInstanceRef.current = popperInstance;\n return function () {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n return {\n state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n styles: state.styles,\n attributes: state.attributes,\n update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n };\n};","import { useCallback, useEffect, useRef } from 'react';\nexport default function useMountedState() {\n var mountedRef = useRef(false);\n var get = useCallback(function () { return mountedRef.current; }, []);\n useEffect(function () {\n mountedRef.current = true;\n return function () {\n mountedRef.current = false;\n };\n });\n return get;\n}\n","import { useCallback, useEffect, useMemo, useRef } from 'react';\nexport default function useRafLoop(callback, initiallyActive) {\n if (initiallyActive === void 0) { initiallyActive = true; }\n var raf = useRef(null);\n var rafActivity = useRef(false);\n var rafCallback = useRef(callback);\n rafCallback.current = callback;\n var step = useCallback(function (time) {\n if (rafActivity.current) {\n rafCallback.current(time);\n raf.current = requestAnimationFrame(step);\n }\n }, []);\n var result = useMemo(function () {\n return [\n function () {\n // stop\n if (rafActivity.current) {\n rafActivity.current = false;\n raf.current && cancelAnimationFrame(raf.current);\n }\n },\n function () {\n // start\n if (!rafActivity.current) {\n rafActivity.current = true;\n raf.current = requestAnimationFrame(step);\n }\n },\n function () { return rafActivity.current; },\n ];\n }, []);\n useEffect(function () {\n if (initiallyActive) {\n result[1]();\n }\n return result[0];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return result;\n}\n","import styles from './Tooltip.module.scss';\nvar ARROW_SIZE = parseInt(styles.ARROW_SIZE, 10);\nvar OFFSET = parseInt(styles.OFFSET, 10);\nvar PREVENT_OVERFLOW = parseInt(styles.PREVENT_OVERFLOW, 10);\nexport var MODIFIERS = [{\n name: 'preventOverflow',\n options: {\n padding: PREVENT_OVERFLOW,\n rootBoundary: 'document'\n }\n}, {\n name: 'flip',\n options: {\n padding: ARROW_SIZE,\n rootBoundary: 'document'\n }\n}, {\n name: 'offset',\n options: {\n offset: [0, OFFSET + ARROW_SIZE]\n }\n}];","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport classNames from 'classnames';\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { usePopper } from 'react-popper';\nimport { useMountedState, useRafLoop } from 'react-use';\nimport { usePortal, useUniqueId } from 'hooks';\nimport { noop } from 'lib';\nimport { MODIFIERS } from './constants';\nimport styles from './Tooltip.module.scss';\n\nvar useTooltip = function useTooltip(tooltip) {\n var _classNames;\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n className = _ref.className,\n _ref$placement = _ref.placement,\n placement = _ref$placement === void 0 ? 'top' : _ref$placement,\n _ref$onBlur = _ref.onBlur,\n onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur,\n _ref$onFocus = _ref.onFocus,\n onFocus = _ref$onFocus === void 0 ? noop : _ref$onFocus,\n _ref$onMouseOut = _ref.onMouseOut,\n onMouseOut = _ref$onMouseOut === void 0 ? noop : _ref$onMouseOut,\n _ref$onMouseOver = _ref.onMouseOver,\n onMouseOver = _ref$onMouseOver === void 0 ? noop : _ref$onMouseOver;\n\n var id = useUniqueId();\n var isEnabled = Boolean(tooltip) || tooltip === 0;\n var isMounted = useMountedState();\n\n var _useState = useState(false),\n isShown = _useState[0],\n setIsShown = _useState[1];\n\n var _useState2 = useState(null),\n referenceElement = _useState2[0],\n setReferenceElement = _useState2[1];\n\n var _useState3 = useState(null),\n popperElement = _useState3[0],\n setPopperElement = _useState3[1];\n\n var _useState4 = useState(null),\n arrowElement = _useState4[0],\n setArrowElement = _useState4[1];\n\n var _usePopper = usePopper(referenceElement, popperElement, {\n modifiers: [{\n name: 'arrow',\n options: {\n element: arrowElement\n }\n }].concat(_toConsumableArray(MODIFIERS)),\n placement: placement\n }),\n attributes = _usePopper.attributes,\n popperStyles = _usePopper.styles,\n update = _usePopper.update;\n\n var computedPlacement = attributes.popper ? attributes.popper['data-popper-placement'] : placement;\n var ariaAttributes = useMemo(function () {\n return isShown ? {\n 'aria-describedby': id\n } : {};\n }, [id, isShown]);\n var handleBlur = useCallback(function (event) {\n onBlur(event);\n setIsShown(false);\n }, [onBlur]);\n var handleFocus = useCallback(function (event) {\n onFocus(event);\n setIsShown(true);\n }, [onFocus]);\n var handleMouseOut = useCallback(function (event) {\n onMouseOut(event);\n setIsShown(false);\n }, [onMouseOut]);\n var handleMouseOver = useCallback(function (event) {\n onMouseOver(event);\n setIsShown(true);\n }, [onMouseOver]);\n var triggerProps = useMemo(function () {\n return _objectSpread(_objectSpread({}, ariaAttributes), {}, {\n ref: setReferenceElement,\n onBlur: handleBlur,\n onFocus: handleFocus,\n onMouseOut: handleMouseOut,\n onMouseOver: handleMouseOver\n });\n }, [ariaAttributes, handleBlur, handleFocus, handleMouseOut, handleMouseOver]);\n useRafLoop(function () {\n if (isMounted() && update) {\n update();\n }\n });\n usePortal( /*#__PURE__*/_jsxs(\"div\", _objectSpread(_objectSpread({\n className: classNames(styles.tooltip, className, (_classNames = {}, _defineProperty(_classNames, styles.top, computedPlacement === 'top'), _defineProperty(_classNames, styles.right, computedPlacement === 'right'), _defineProperty(_classNames, styles.bottom, computedPlacement === 'bottom'), _defineProperty(_classNames, styles.left, computedPlacement === 'left'), _classNames)),\n ref: setPopperElement,\n style: popperStyles.popper\n }, attributes.popper), {}, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n children: tooltip\n }), /*#__PURE__*/_jsx(\"div\", {\n className: styles.arrow,\n ref: setArrowElement,\n style: popperStyles.arrow\n })]\n })), {\n disabled: !isEnabled || !isShown\n });\n return triggerProps;\n};\n\nexport default useTooltip;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useTooltip } from '../../../Tooltip';\nimport styles from './Cell.module.scss';\n\nvar Button = function Button(_ref) {\n var children = _ref.children,\n className = _ref.className,\n tooltip = _ref.tooltip,\n props = _objectWithoutProperties(_ref, [\"children\", \"className\", \"tooltip\"]);\n\n var triggerProps = useTooltip(tooltip, props);\n return /*#__PURE__*/_jsx(\"button\", _objectSpread(_objectSpread(_objectSpread({\n className: classNames(styles.action, className) // It's fine to make it not focusable with TAB from a11y point of view\n // because alternative key combos are provided.\n ,\n tabIndex: -1,\n type: \"button\"\n }, props), triggerProps), {}, {\n children: children\n }));\n};\n\nexport default Button;","import { BONUS_CHARACTER, BONUS_WORD } from '@scrabble-solver/constants';\nimport styles from './Cell.module.scss';\nvar CHARACTER_CLASSNAMES = {\n 1: styles.bonusCharacter1,\n 2: styles.bonusCharacter2,\n 3: styles.bonusCharacter3,\n 5: styles.bonusCharacter5\n};\nvar WORD_CLASSNAMES = {\n 2: styles.bonusWord2,\n 3: styles.bonusWord3\n};\nvar CHARACTER_MULTIPLIER_CLASSNAMES = {\n 2: styles.bonusCharacterMultiplier2,\n 3: styles.bonusCharacterMultiplier3\n};\nexport var getBonusClassname = function getBonusClassname(cell, bonus) {\n if (!bonus || !cell.isEmpty) {\n return undefined;\n }\n\n var type = bonus.type;\n\n if (type === BONUS_WORD) {\n return getWordBonusClassname(bonus);\n }\n\n if (type === BONUS_CHARACTER) {\n return getCharacterBonusClassname(bonus);\n }\n\n throw new Error(\"Unknown bonus type: \".concat(type, \" \").concat(bonus.x, \" \").concat(bonus.y, \" \").concat(bonus.multiplier, \" \").concat(bonus.score));\n};\n\nvar getWordBonusClassname = function getWordBonusClassname(bonus) {\n return WORD_CLASSNAMES[bonus.multiplier];\n};\n\nvar getCharacterBonusClassname = function getCharacterBonusClassname(bonus) {\n if (bonus.score) {\n return CHARACTER_CLASSNAMES[bonus.score];\n }\n\n return CHARACTER_MULTIPLIER_CLASSNAMES[bonus.multiplier];\n};","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport React, { memo } from 'react';\nimport { arrowDown } from 'icons';\nimport SvgIcon from '../../../SvgIcon';\nimport Tile from '../../../Tile';\nimport Button from './Button';\nimport styles from './Cell.module.scss';\nimport { getBonusClassname } from './lib';\n\nvar CellPure = function CellPure(_ref) {\n var bonus = _ref.bonus,\n cell = _ref.cell,\n className = _ref.className,\n direction = _ref.direction,\n inputRef = _ref.inputRef,\n isEmpty = _ref.isEmpty,\n points = _ref.points,\n size = _ref.size,\n style = _ref.style,\n tile = _ref.tile,\n translate = _ref.translate,\n onDirectionToggleClick = _ref.onDirectionToggleClick,\n onFocus = _ref.onFocus,\n onToggleBlankClick = _ref.onToggleBlankClick;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: classNames(styles.cell, getBonusClassname(cell, bonus), className, _defineProperty({}, styles.candidate, cell.isCandidate())),\n style: style,\n children: [/*#__PURE__*/_jsx(Tile, {\n className: styles.tile,\n character: isEmpty ? undefined : tile.character,\n highlighted: cell.isCandidate(),\n inputRef: inputRef,\n isBlank: tile.isBlank,\n points: points,\n raised: !isEmpty,\n size: size,\n tabIndex: cell.x === 0 && cell.y === 0 ? undefined : -1,\n onFocus: onFocus\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: styles.actions,\n children: [/*#__PURE__*/_jsx(Button, {\n tooltip: translate('cell.toggle-direction'),\n onClick: onDirectionToggleClick,\n children: /*#__PURE__*/_jsx(SvgIcon, {\n className: classNames(styles.toggleDirection, _defineProperty({}, styles.right, direction === 'horizontal')),\n icon: arrowDown\n })\n }), !isEmpty && /*#__PURE__*/_jsx(Button, {\n className: classNames(styles.blank, _defineProperty({}, styles.active, tile.isBlank)),\n tooltip: tile.isBlank ? translate('cell.set-not-blank') : translate('cell.set-blank'),\n onClick: onToggleBlankClick,\n children: \"B\"\n })]\n })]\n });\n};\n\nexport default /*#__PURE__*/memo(CellPure);","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { EMPTY_CELL } from '@scrabble-solver/constants';\nimport React, { useCallback, useMemo } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getTileSizes } from 'lib';\nimport { boardSlice, selectCellBonus, selectTilePoints, useTranslate, useTypedSelector } from 'state';\nimport CellPure from './CellPure';\n\nvar Cell = function Cell(_ref) {\n var cell = _ref.cell,\n className = _ref.className,\n direction = _ref.direction,\n inputRef = _ref.inputRef,\n size = _ref.size,\n onDirectionToggle = _ref.onDirectionToggle,\n onFocus = _ref.onFocus;\n var tile = cell.tile,\n x = cell.x,\n y = cell.y;\n var dispatch = useDispatch();\n var translate = useTranslate();\n var bonus = useTypedSelector(function (state) {\n return selectCellBonus(state, cell);\n });\n var points = useTypedSelector(function (state) {\n return selectTilePoints(state, cell.tile);\n });\n\n var _getTileSizes = getTileSizes(size),\n tileFontSize = _getTileSizes.tileFontSize;\n\n var isEmpty = tile.character === EMPTY_CELL;\n var style = useMemo(function () {\n return {\n fontSize: tileFontSize\n };\n }, [tileFontSize]);\n var handleFocus = useCallback(function () {\n return onFocus(x, y);\n }, [x, y, onFocus]);\n var handleToggleBlankClick = useCallback(function () {\n if (inputRef.current) {\n inputRef.current.focus();\n }\n\n dispatch(boardSlice.actions.toggleCellIsBlank({\n x: x,\n y: y\n }));\n }, [dispatch, x, y]);\n var handleDirectionToggleClick = useCallback(function () {\n if (inputRef.current) {\n inputRef.current.focus();\n }\n\n onDirectionToggle();\n }, [onDirectionToggle]);\n return /*#__PURE__*/_jsx(CellPure, {\n bonus: bonus,\n cell: cell,\n className: className,\n direction: direction,\n inputRef: inputRef,\n isEmpty: isEmpty,\n points: points,\n size: size,\n style: style,\n tile: tile,\n translate: translate,\n onDirectionToggleClick: handleDirectionToggleClick,\n onFocus: handleFocus,\n onToggleBlankClick: handleToggleBlankClick\n });\n};\n\nexport default Cell;","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport React, { memo } from 'react';\nimport styles from './Board.module.scss';\nimport { Cell as CellComponent } from './components';\n\nvar BoardPure = function BoardPure(_ref) {\n var className = _ref.className,\n innerRef = _ref.innerRef,\n lastDirection = _ref.lastDirection,\n refs = _ref.refs,\n rows = _ref.rows,\n cellSize = _ref.cellSize,\n onDirectionToggle = _ref.onDirectionToggle,\n onFocus = _ref.onFocus,\n onKeyDown = _ref.onKeyDown;\n return /*#__PURE__*/_jsx(\"div\", {\n className: classNames(styles.board, className),\n ref: innerRef,\n onKeyDown: onKeyDown,\n children: rows.map(function (cells, y) {\n return /*#__PURE__*/_jsx(\"div\", {\n className: styles.row,\n children: cells.map(function (cell, x) {\n return /*#__PURE__*/_jsx(CellComponent, {\n className: styles.cell,\n cell: cell,\n direction: lastDirection,\n inputRef: refs[y][x],\n size: cellSize,\n onDirectionToggle: onDirectionToggle,\n onFocus: onFocus\n }, x);\n })\n }, y);\n })\n });\n};\n\nexport default /*#__PURE__*/memo(BoardPure);","import { useRef } from 'react';\nvar useLatest = function (value) {\n var ref = useRef(value);\n ref.current = value;\n return ref;\n};\nexport default useLatest;\n","var getPositionInGrid = function getPositionInGrid(grid, constraint) {\n for (var y = 0; y < grid.length; ++y) {\n for (var x = 0; x < grid[0].length; ++x) {\n if (constraint(grid[y][x])) {\n return {\n x: x,\n y: y\n };\n }\n }\n }\n\n return undefined;\n};\n\nexport default getPositionInGrid;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { EMPTY_CELL } from '@scrabble-solver/constants';\nimport { createRef, useCallback, useMemo, useState, useRef } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useLatest } from 'react-use';\nimport { createGridOf, createKeyboardNavigation, isCtrl } from 'lib';\nimport { boardSlice, selectConfig, useTypedSelector } from 'state';\nimport { getPositionInGrid } from '../lib';\n\nvar useGrid = function useGrid(rows) {\n var height = rows.length;\n var width = rows[0].length;\n var dispatch = useDispatch();\n var config = useTypedSelector(selectConfig);\n var refs = useMemo(function () {\n return createGridOf(width, height, function () {\n return /*#__PURE__*/createRef();\n });\n }, [width, height]);\n var activeIndexRef = useRef({\n x: 0,\n y: 0\n });\n\n var _useState = useState('horizontal'),\n lastDirection = _useState[0],\n setLastDirection = _useState[1];\n\n var lastDirectionRef = useLatest(lastDirection);\n var changeActiveIndex = useCallback(function (offsetX, offsetY) {\n var _refs$y$x$current;\n\n var x = Math.min(Math.max(activeIndexRef.current.x + offsetX, 0), width - 1);\n var y = Math.min(Math.max(activeIndexRef.current.y + offsetY, 0), height - 1);\n activeIndexRef.current = {\n x: x,\n y: y\n };\n (_refs$y$x$current = refs[y][x].current) === null || _refs$y$x$current === void 0 ? void 0 : _refs$y$x$current.focus();\n }, [activeIndexRef, refs]);\n var getInputRefPosition = useCallback(function (inputRef) {\n return getPositionInGrid(refs, function (ref) {\n return ref.current === inputRef;\n });\n }, [refs]);\n var onDirectionToggle = useCallback(function () {\n setLastDirection(function (direction) {\n return direction === 'vertical' ? 'horizontal' : 'vertical';\n });\n }, []);\n var onFocus = useCallback(function (x, y) {\n activeIndexRef.current = {\n x: x,\n y: y\n };\n }, []);\n var onMoveFocus = useCallback(function (direction) {\n var offset = direction === 'forward' ? 1 : -1;\n\n if (lastDirectionRef.current === 'horizontal') {\n changeActiveIndex(offset, 0);\n } else {\n changeActiveIndex(0, offset);\n }\n }, [changeActiveIndex, lastDirectionRef]);\n var onKeyDown = useMemo(function () {\n return createKeyboardNavigation({\n onArrowDown: function onArrowDown(event) {\n if (isCtrl(event)) {\n onDirectionToggle();\n } else {\n changeActiveIndex(0, 1);\n }\n },\n onArrowLeft: function onArrowLeft(event) {\n if (isCtrl(event)) {\n onDirectionToggle();\n } else {\n changeActiveIndex(-1, 0);\n }\n },\n onArrowRight: function onArrowRight(event) {\n if (isCtrl(event)) {\n onDirectionToggle();\n } else {\n changeActiveIndex(1, 0);\n }\n },\n onArrowUp: function onArrowUp(event) {\n if (isCtrl(event)) {\n onDirectionToggle();\n } else {\n changeActiveIndex(0, -1);\n }\n },\n onBackspace: function onBackspace(event) {\n var position = getInputRefPosition(event.target);\n\n if (!position) {\n return;\n }\n\n dispatch(boardSlice.actions.changeCellValue(_objectSpread(_objectSpread({}, position), {}, {\n value: EMPTY_CELL\n })));\n onMoveFocus('backward');\n },\n onDelete: function onDelete(event) {\n var position = getInputRefPosition(event.target);\n\n if (!position) {\n return;\n }\n\n dispatch(boardSlice.actions.changeCellValue(_objectSpread(_objectSpread({}, position), {}, {\n value: EMPTY_CELL\n })));\n onMoveFocus('forward');\n },\n onKeyDown: function onKeyDown(event) {\n var position = getInputRefPosition(event.target);\n\n if (!position) {\n return;\n }\n\n var x = position.x,\n y = position.y;\n var character = event.key.toLowerCase();\n var isTogglingBlank = isCtrl(event) && character === 'b';\n var twoCharacterTile = config.getTwoCharacterTileByPrefix(character);\n\n if (isTogglingBlank) {\n dispatch(boardSlice.actions.toggleCellIsBlank(position));\n return;\n }\n\n if (isCtrl(event) && twoCharacterTile) {\n event.preventDefault();\n dispatch(boardSlice.actions.changeCellValue({\n x: x,\n y: y,\n value: twoCharacterTile\n }));\n onMoveFocus('forward');\n return;\n }\n\n if (!config.hasCharacter(character)) {\n return;\n }\n\n var canCheckUp = y - 1 > 0;\n var canCheckLeft = x > 0;\n var canCheckRight = x + 1 < width;\n var canCheckDown = y + 1 < height;\n\n if (canCheckUp) {\n var cellUp = rows[y - 1][x];\n var twoCharacterCandidate = cellUp.tile.character + character;\n\n if (config.twoCharacterTiles.includes(twoCharacterCandidate)) {\n dispatch(boardSlice.actions.changeCellValue(_objectSpread(_objectSpread({}, position), {}, {\n y: y - 1,\n value: twoCharacterCandidate\n })));\n return;\n }\n }\n\n if (canCheckDown) {\n var cellDown = rows[y + 1][x];\n\n var _twoCharacterCandidate = character + cellDown.tile.character;\n\n if (config.twoCharacterTiles.includes(_twoCharacterCandidate)) {\n dispatch(boardSlice.actions.changeCellValue(_objectSpread(_objectSpread({}, position), {}, {\n value: character\n })));\n dispatch(boardSlice.actions.changeCellValue(_objectSpread(_objectSpread({}, position), {}, {\n y: y + 1,\n value: EMPTY_CELL\n })));\n onMoveFocus('forward');\n return;\n }\n }\n\n if (canCheckLeft) {\n var cellLeft = rows[y][x - 1];\n\n var _twoCharacterCandidate2 = cellLeft.tile.character + character;\n\n if (config.twoCharacterTiles.includes(_twoCharacterCandidate2)) {\n dispatch(boardSlice.actions.changeCellValue(_objectSpread(_objectSpread({}, position), {}, {\n x: x - 1,\n value: _twoCharacterCandidate2\n })));\n return;\n }\n }\n\n if (canCheckRight) {\n var cellRight = rows[y][x + 1];\n\n var _twoCharacterCandidate3 = character + cellRight.tile.character;\n\n if (config.twoCharacterTiles.includes(_twoCharacterCandidate3)) {\n dispatch(boardSlice.actions.changeCellValue(_objectSpread(_objectSpread({}, position), {}, {\n value: character\n })));\n dispatch(boardSlice.actions.changeCellValue(_objectSpread(_objectSpread({}, position), {}, {\n x: x + 1,\n value: EMPTY_CELL\n })));\n onMoveFocus('forward');\n return;\n }\n }\n\n if (!canCheckDown || !canCheckRight) {\n var cell = rows[y][x];\n\n var _twoCharacterCandidate4 = cell.tile.character + character;\n\n if (config.twoCharacterTiles.includes(_twoCharacterCandidate4)) {\n dispatch(boardSlice.actions.changeCellValue(_objectSpread(_objectSpread({}, position), {}, {\n value: _twoCharacterCandidate4\n })));\n return;\n }\n }\n\n dispatch(boardSlice.actions.changeCellValue(_objectSpread(_objectSpread({}, position), {}, {\n value: character\n })));\n onMoveFocus('forward');\n }\n });\n }, [changeActiveIndex, config, dispatch, lastDirectionRef, onDirectionToggle, rows]);\n return [{\n lastDirection: lastDirection,\n refs: refs\n }, {\n onDirectionToggle: onDirectionToggle,\n onFocus: onFocus,\n onKeyDown: onKeyDown\n }];\n};\n\nexport default useGrid;","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport React from 'react';\nimport { selectRowsWithCandidate, useTypedSelector } from 'state';\nimport BoardPure from './BoardPure';\nimport { useGrid } from './hooks';\n\nvar Board = function Board(_ref) {\n var cellSize = _ref.cellSize,\n className = _ref.className,\n innerRef = _ref.innerRef;\n var rows = useTypedSelector(selectRowsWithCandidate);\n\n var _useGrid = useGrid(rows),\n _useGrid2 = _slicedToArray(_useGrid, 2),\n _useGrid2$ = _useGrid2[0],\n lastDirection = _useGrid2$.lastDirection,\n refs = _useGrid2$.refs,\n _useGrid2$2 = _useGrid2[1],\n onDirectionToggle = _useGrid2$2.onDirectionToggle,\n onFocus = _useGrid2$2.onFocus,\n onKeyDown = _useGrid2$2.onKeyDown;\n\n return /*#__PURE__*/_jsx(BoardPure, {\n className: className,\n cellSize: cellSize,\n innerRef: innerRef,\n lastDirection: lastDirection,\n refs: refs,\n rows: rows,\n onDirectionToggle: onDirectionToggle,\n onFocus: onFocus,\n onKeyDown: onKeyDown\n });\n};\n\nexport default Board;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport classNames from 'classnames';\nimport React from 'react';\nimport SvgIcon from '../SvgIcon';\nimport { useTooltip } from '../Tooltip';\nimport styles from './Button.module.scss';\n\nvar Button = function Button(_ref) {\n var children = _ref.children,\n className = _ref.className,\n icon = _ref.icon,\n tooltip = _ref.tooltip,\n props = _objectWithoutProperties(_ref, [\"children\", \"className\", \"icon\", \"tooltip\"]);\n\n var triggerProps = useTooltip(tooltip, props);\n return /*#__PURE__*/_jsx(\"button\", _objectSpread(_objectSpread(_objectSpread({\n className: classNames(styles.button, className),\n type: \"button\"\n }, props), triggerProps), {}, {\n children: /*#__PURE__*/_jsxs(\"span\", {\n className: styles.content,\n children: [/*#__PURE__*/_jsx(\"span\", {\n className: styles.label,\n children: children\n }), /*#__PURE__*/_jsx(SvgIcon, {\n className: styles.icon,\n icon: icon\n })]\n })\n }));\n};\n\nexport default Button;","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport { checkboxChecked, checkboxEmpty } from 'icons';\nimport SvgIcon from '../SvgIcon';\nimport styles from './Checkbox.module.scss';\n\nvar Checkbox = function Checkbox(_ref) {\n var checked = _ref.checked,\n children = _ref.children,\n className = _ref.className,\n disabled = _ref.disabled,\n id = _ref.id,\n name = _ref.name,\n onChange = _ref.onChange;\n return /*#__PURE__*/_jsxs(\"label\", {\n className: classNames(styles.checkbox, className, _defineProperty({}, styles.checked, checked)),\n htmlFor: id,\n children: [/*#__PURE__*/_jsx(\"input\", {\n checked: checked,\n className: styles.input,\n disabled: disabled,\n id: id,\n name: name,\n type: \"checkbox\",\n onChange: onChange\n }), /*#__PURE__*/_jsx(SvgIcon, {\n className: styles.icon,\n icon: checked ? checkboxChecked : checkboxEmpty\n }), /*#__PURE__*/_jsx(\"div\", {\n className: styles.content,\n children: children\n })]\n });\n};\n\nexport default Checkbox;","import { PLAIN_TILES_PADDING_HORIZONTAL, PLAIN_TILES_TILE_MARGIN, PLAIN_TILES_TILE_SIZE } from 'parameters';\n\nvar getX = function getX(index) {\n return PLAIN_TILES_PADDING_HORIZONTAL + index * (PLAIN_TILES_TILE_SIZE + PLAIN_TILES_TILE_MARGIN);\n};\n\nexport default getX;","import { PLAIN_TILES_PADDING_VERTICAL, PLAIN_TILES_TILE_MARGIN, PLAIN_TILES_TILE_SIZE } from 'parameters';\n\nvar getY = function getY(index) {\n return PLAIN_TILES_PADDING_VERTICAL + index * (PLAIN_TILES_TILE_SIZE + PLAIN_TILES_TILE_MARGIN);\n};\n\nexport default getY;","var randomize = function randomize(value, maxChange) {\n return value + maxChange * 2 * (0.5 - Math.random());\n};\n\nexport default randomize;","import { literaki } from '@scrabble-solver/configs';\nimport { Locale } from '@scrabble-solver/types';\nimport { PLAIN_TILES_COLOR_DEFAULT, PLAIN_TILES_POINTS_COLORS, PLAIN_TILES_TILE_MAX_SCATTER, PLAIN_TILES_TILE_MAX_ROTATE, PLAIN_TILES_TILE_SIZE } from 'parameters';\nimport getX from './getX';\nimport getY from './getY';\nimport randomize from './randomize';\n\nvar createPlainTile = function createPlainTile(_ref) {\n var cellIndex = _ref.cellIndex,\n character = _ref.character,\n color = _ref.color,\n rowIndex = _ref.rowIndex,\n showPoints = _ref.showPoints;\n var configPoints = literaki[Locale.EN_US].getCharacterPoints(character.toLowerCase());\n var points = showPoints ? configPoints : undefined;\n var defaultColor = typeof configPoints === 'number' ? PLAIN_TILES_POINTS_COLORS[configPoints] : PLAIN_TILES_COLOR_DEFAULT;\n var x = getX(cellIndex) + PLAIN_TILES_TILE_SIZE / 2;\n var y = getY(0) + PLAIN_TILES_TILE_SIZE / 2;\n return {\n character: character,\n color: color || defaultColor,\n points: points,\n size: PLAIN_TILES_TILE_SIZE,\n transform: \"rotate(\".concat(randomize(0, PLAIN_TILES_TILE_MAX_ROTATE), \", \").concat(x, \", \").concat(y, \")\"),\n x: randomize(getX(cellIndex), PLAIN_TILES_TILE_MAX_SCATTER),\n y: randomize(getY(rowIndex), PLAIN_TILES_TILE_MAX_SCATTER)\n };\n};\n\nexport default createPlainTile;","import createPlainTile from './createPlainTile';\n\nvar createPlainTiles = function createPlainTiles(_ref) {\n var color = _ref.color,\n content = _ref.content,\n showPoints = _ref.showPoints;\n var rows = content.map(function (words, rowIndex) {\n return words.map(function (word, wordIndex) {\n var cellOffset = words.slice(0, wordIndex).reduce(function (result, _ref2) {\n var length = _ref2.length;\n return result + length + ' '.length;\n }, 0);\n var characters = word.split('');\n return characters.map(function (character, cellIndex) {\n return createPlainTile({\n cellIndex: cellOffset + cellIndex,\n character: character,\n color: color,\n rowIndex: rowIndex,\n showPoints: showPoints\n });\n });\n });\n });\n var tiles = rows.flat(2);\n return tiles;\n};\n\nexport default createPlainTiles;","import { PLAIN_TILES_TILE_MARGIN, PLAIN_TILES_TILE_SIZE } from 'parameters';\n\nvar getViewbox = function getViewbox(content) {\n var longestRowLength = content.reduce(function (result, words) {\n var wordsLength = words.reduce(function (sum, word) {\n return sum + word.length;\n }, 0);\n var rowLength = wordsLength + Math.max(words.length - 1, 0);\n return Math.max(result, rowLength);\n }, 0);\n var width = longestRowLength * (PLAIN_TILES_TILE_SIZE + PLAIN_TILES_TILE_MARGIN) - (longestRowLength === 0 ? 0 : PLAIN_TILES_TILE_MARGIN);\n var height = content.length * (PLAIN_TILES_TILE_SIZE + PLAIN_TILES_TILE_MARGIN) - (content.length === 0 ? 0 : PLAIN_TILES_TILE_MARGIN);\n return \"0 0 \".concat(width, \" \").concat(height);\n};\n\nexport default getViewbox;","export { default as createPlainTile } from './createPlainTile';\nexport { default as createPlainTiles } from './createPlainTiles';\nexport { default as getViewbox } from './getViewbox';\nexport { default as getX } from './getX';\nexport { default as getY } from './getY';\nexport { default as randomize } from './randomize';","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from 'react';\n\nvar Tile = function Tile(_ref) {\n var character = _ref.character,\n className = _ref.className,\n color = _ref.color,\n points = _ref.points,\n size = _ref.size,\n transform = _ref.transform,\n x = _ref.x,\n y = _ref.y;\n return /*#__PURE__*/_jsxs(\"g\", {\n className: className,\n transform: transform,\n children: [/*#__PURE__*/_jsx(\"rect\", {\n fill: color,\n height: size,\n width: size,\n x: x,\n y: y\n }), /*#__PURE__*/_jsx(\"text\", {\n dominantBaseline: \"central\",\n fontFamily: \"Open Sans\",\n fontSize: 0.6 * size,\n fontWeight: \"bold\",\n textAnchor: \"middle\",\n x: x + size / 2,\n y: y + size / 2,\n children: character\n }), typeof points === 'number' && /*#__PURE__*/_jsx(\"text\", {\n dominantBaseline: \"text-after-edge\",\n fontFamily: \"Open Sans\",\n fontSize: 0.25 * size,\n fontWeight: \"bold\",\n textAnchor: \"end\",\n x: x + size * 0.9,\n y: y + size * 0.95,\n children: points\n })]\n });\n};\n\nexport default Tile;","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport React, { useMemo } from 'react';\nimport { createPlainTiles, getViewbox } from './lib';\nimport styles from './PlainTiles.module.scss';\nimport Tile from './Tile';\n\nvar PlainTiles = function PlainTiles(_ref) {\n var _classNames;\n\n var className = _ref.className,\n color = _ref.color,\n content = _ref.content,\n dropShadow = _ref.dropShadow,\n showPoints = _ref.showPoints,\n style = _ref.style,\n wave = _ref.wave;\n var tiles = useMemo(function () {\n return createPlainTiles({\n color: color,\n content: content,\n showPoints: showPoints\n });\n }, [color, content, showPoints]);\n return /*#__PURE__*/_jsx(\"svg\", {\n className: classNames(className, (_classNames = {}, _defineProperty(_classNames, styles.dropShadow, dropShadow), _defineProperty(_classNames, styles.wave, wave), _classNames)),\n style: style,\n viewBox: getViewbox(content),\n xmlns: \"http://www.w3.org/2000/svg\",\n children: tiles.map(function (tile, index) {\n return /*#__PURE__*/_jsx(Tile, {\n character: tile.character,\n className: styles.tile,\n color: tile.color,\n points: tile.points,\n size: tile.size,\n transform: tile.transform,\n x: tile.x,\n y: tile.y\n }, index);\n })\n });\n};\n\nexport default PlainTiles;","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport React, { useMemo } from 'react';\nimport { COLOR_BLUE, COLOR_GREEN, COLOR_RED, COLOR_YELLOW } from 'parameters';\nimport { useTranslate } from 'state';\nimport PlainTiles from '../PlainTiles';\nimport styles from './EmptyState.module.scss';\nvar TITLE_KEY_PER_TYPE = {\n error: 'empty-state.error',\n info: 'empty-state.info',\n success: 'empty-state.success',\n warning: 'empty-state.warning'\n};\nvar COLORS_PER_TYPE = {\n error: COLOR_RED,\n info: COLOR_BLUE,\n success: COLOR_GREEN,\n warning: COLOR_YELLOW\n};\n\nvar EmptyState = function EmptyState(_ref) {\n var className = _ref.className,\n children = _ref.children,\n type = _ref.type;\n var translate = useTranslate();\n var title = useMemo(function () {\n return translate(TITLE_KEY_PER_TYPE[type]);\n }, [translate]);\n var content = useMemo(function () {\n return [[title.toUpperCase()]];\n }, [title]);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: classNames(styles.emptyState, className),\n children: [/*#__PURE__*/_jsx(PlainTiles, {\n className: styles.tiles,\n color: COLORS_PER_TYPE[type],\n content: content\n }), /*#__PURE__*/_jsx(\"div\", {\n className: styles.content,\n children: children\n })]\n });\n};\n\nexport default EmptyState;","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport React, { useMemo } from 'react';\nimport { useTranslate } from 'state';\nimport PlainTiles from '../PlainTiles';\nimport styles from './Loading.module.scss';\n\nvar Loading = function Loading(_ref) {\n var className = _ref.className,\n _ref$wave = _ref.wave,\n wave = _ref$wave === void 0 ? true : _ref$wave;\n var translate = useTranslate();\n var content = useMemo(function () {\n return [[translate('common.loading').toUpperCase()]];\n }, [translate]);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: classNames(styles.loading, className),\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: styles.dim\n }), /*#__PURE__*/_jsx(\"div\", {\n className: styles.logo,\n children: /*#__PURE__*/_jsx(PlainTiles, {\n className: classNames(styles.tiles),\n content: content,\n dropShadow: true,\n wave: wave\n })\n })]\n });\n};\n\nexport default Loading;","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport { selectDictionary, useTranslate, useTypedSelector } from 'state';\nimport EmptyState from '../EmptyState';\nimport Loading from '../Loading';\nimport styles from './Dictionary.module.scss';\n\nvar Dictionary = function Dictionary(_ref) {\n var _classNames;\n\n var className = _ref.className;\n var translate = useTranslate();\n\n var _useTypedSelector = useTypedSelector(selectDictionary),\n definitions = _useTypedSelector.definitions,\n isAllowed = _useTypedSelector.isAllowed,\n isLoading = _useTypedSelector.isLoading,\n word = _useTypedSelector.word;\n\n return /*#__PURE__*/_jsxs(\"div\", {\n className: classNames(styles.dictionary, className, (_classNames = {}, _defineProperty(_classNames, styles.isAllowed, isAllowed === true), _defineProperty(_classNames, styles.isNotAllowed, isAllowed === false), _classNames)),\n children: [typeof word === 'undefined' && /*#__PURE__*/_jsx(EmptyState, {\n type: \"info\",\n children: translate('dictionary.empty-state.uninitialized')\n }), typeof word !== 'undefined' && /*#__PURE__*/_jsxs(\"div\", {\n className: styles.content,\n children: [word && /*#__PURE__*/_jsx(\"h2\", {\n className: styles.word,\n children: word\n }), isAllowed === false && /*#__PURE__*/_jsx(\"div\", {\n children: translate('dictionary.empty-state.not-allowed')\n }), isAllowed === true && /*#__PURE__*/_jsxs(_Fragment, {\n children: [definitions.length === 0 && /*#__PURE__*/_jsx(\"div\", {\n children: translate('dictionary.empty-state.no-definitions')\n }), definitions.length > 0 && /*#__PURE__*/_jsx(\"ul\", {\n className: styles.definitions,\n children: definitions.map(function (result, index) {\n return /*#__PURE__*/_jsx(\"li\", {\n className: styles.definition,\n children: result\n }, index);\n })\n })]\n }), !isLoading && isAllowed === null && /*#__PURE__*/_jsx(\"div\", {\n children: translate('dictionary.empty-state.no-results')\n })]\n }), isLoading && /*#__PURE__*/_jsx(Loading, {})]\n });\n};\n\nexport default Dictionary;","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useDispatch } from 'react-redux';\nimport { dictionarySlice, selectDictionary, useTranslate, useTypedSelector } from 'state';\nimport styles from './DictionaryInput.module.scss';\n\nvar DictionaryInput = function DictionaryInput(_ref) {\n var className = _ref.className;\n var dispatch = useDispatch();\n var translate = useTranslate();\n\n var _useTypedSelector = useTypedSelector(selectDictionary),\n input = _useTypedSelector.input;\n\n var handleChange = function handleChange(event) {\n dispatch(dictionarySlice.actions.changeInput(event.target.value));\n };\n\n var handleSubmit = function handleSubmit(event) {\n event.preventDefault();\n dispatch(dictionarySlice.actions.submit());\n };\n\n return /*#__PURE__*/_jsx(\"form\", {\n className: classNames(styles.dictionaryInput, className),\n onSubmit: handleSubmit,\n children: /*#__PURE__*/_jsx(\"input\", {\n className: styles.input,\n placeholder: translate('dictionary.input.placeholder'),\n required: true,\n type: \"text\",\n value: input,\n onChange: handleChange\n })\n });\n};\n\nexport default DictionaryInput;","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport styles from './Key.module.scss';\n\nvar Key = function Key(_ref) {\n var children = _ref.children,\n className = _ref.className;\n return /*#__PURE__*/_jsx(\"kbd\", {\n className: classNames(styles.key, className),\n children: children\n });\n};\n\nexport default Key;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport classNames from 'classnames';\nimport React from 'react';\nimport SvgIcon from '../SvgIcon';\nimport { useTooltip } from '../Tooltip';\nimport styles from './SquareButton.module.scss';\n\nvar Link = function Link(_ref) {\n var className = _ref.className,\n icon = _ref.icon,\n tooltip = _ref.tooltip,\n props = _objectWithoutProperties(_ref, [\"className\", \"icon\", \"tooltip\"]);\n\n var triggerProps = useTooltip(tooltip, props);\n return /*#__PURE__*/_jsx(\"a\", _objectSpread(_objectSpread(_objectSpread({\n className: classNames(styles.squareButton, className),\n type: \"button\"\n }, props), triggerProps), {}, {\n children: /*#__PURE__*/_jsx(\"span\", {\n className: styles.content,\n children: /*#__PURE__*/_jsx(SvgIcon, {\n className: styles.icon,\n icon: icon\n })\n })\n }));\n};\n\nexport default Link;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport classNames from 'classnames';\nimport React from 'react';\nimport SvgIcon from '../SvgIcon';\nimport { useTooltip } from '../Tooltip';\nimport Link from './Link';\nimport styles from './SquareButton.module.scss';\n\nvar SquareButton = function SquareButton(_ref) {\n var className = _ref.className,\n icon = _ref.icon,\n tooltip = _ref.tooltip,\n props = _objectWithoutProperties(_ref, [\"className\", \"icon\", \"tooltip\"]);\n\n var triggerProps = useTooltip(tooltip, props);\n return /*#__PURE__*/_jsx(\"button\", _objectSpread(_objectSpread(_objectSpread({\n className: classNames(styles.squareButton, className),\n type: \"button\"\n }, props), triggerProps), {}, {\n children: /*#__PURE__*/_jsx(\"span\", {\n className: styles.content,\n children: /*#__PURE__*/_jsx(SvgIcon, {\n className: styles.icon,\n icon: icon\n })\n })\n }));\n};\n\nexport default Object.assign(SquareButton, {\n Link: Link\n});","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport styles from './Section.module.scss';\n\nvar Section = function Section(_ref) {\n var children = _ref.children,\n className = _ref.className,\n title = _ref.title;\n return /*#__PURE__*/_jsxs(\"section\", {\n className: classNames(styles.section, className),\n children: [/*#__PURE__*/_jsx(\"h2\", {\n className: styles.heading,\n children: title\n }), /*#__PURE__*/_jsx(\"div\", {\n children: children\n })]\n });\n};\n\nexport default Section;","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport Modal from 'react-modal';\nimport { cross } from 'icons';\nimport { TRANSITION_DURATION_LONG } from 'parameters';\nimport { useTranslate } from 'state';\nimport SquareButton from '../SquareButton';\nimport { Section } from './components';\nimport styles from './Sidebar.module.scss';\n\nvar Sidebar = function Sidebar(_ref) {\n var children = _ref.children,\n className = _ref.className,\n isOpen = _ref.isOpen,\n title = _ref.title,\n onClose = _ref.onClose;\n var translate = useTranslate();\n return /*#__PURE__*/_jsx(Modal, {\n className: {\n afterOpen: styles.afterOpen,\n base: styles.modal,\n beforeClose: styles.beforeClose\n },\n closeTimeoutMS: TRANSITION_DURATION_LONG,\n contentLabel: title,\n isOpen: isOpen,\n overlayClassName: styles.overlay,\n onRequestClose: onClose,\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: classNames(styles.sidebar, className),\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: styles.header,\n children: [/*#__PURE__*/_jsx(\"h1\", {\n className: styles.title,\n children: title\n }), /*#__PURE__*/_jsx(SquareButton, {\n className: styles.closeButton,\n icon: cross,\n tooltip: translate('common.close'),\n onClick: onClose\n })]\n }), /*#__PURE__*/_jsx(\"div\", {\n className: styles.content,\n children: children\n })]\n })\n });\n};\n\nexport default Object.assign(Sidebar, {\n Section: Section\n});","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport styles from './Mapping.module.scss';\n\nvar Mapping = function Mapping(_ref) {\n var className = _ref.className,\n description = _ref.description,\n mapping = _ref.mapping;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: classNames(styles.mapping, className),\n children: [/*#__PURE__*/_jsx(\"h3\", {\n className: styles.description,\n children: description\n }), /*#__PURE__*/_jsx(\"div\", {\n className: styles.keys,\n children: mapping.map(function (key, index) {\n return /*#__PURE__*/_jsx(\"div\", {\n className: styles.group,\n children: Array.isArray(key) ? /*#__PURE__*/_jsxs(_Fragment, {\n children: [key[0], /*#__PURE__*/_jsx(\"span\", {\n className: styles.plus,\n children: \"+\"\n }), key[1]]\n }) : key\n }, index);\n })\n })]\n });\n};\n\nexport default Mapping;","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from 'react';\nimport { arrowDown, arrowLeft, arrowRight, arrowUp } from 'icons';\nimport { isMac } from 'lib';\nimport Key from '../Key';\nimport SvgIcon from '../SvgIcon';\nexport var ARROW_DOWN = /*#__PURE__*/_jsx(Key, {\n children: /*#__PURE__*/_jsx(SvgIcon, {\n icon: arrowLeft\n })\n});\nexport var ARROW_LEFT = /*#__PURE__*/_jsx(Key, {\n children: /*#__PURE__*/_jsx(SvgIcon, {\n icon: arrowUp\n })\n});\nexport var ARROW_RIGHT = /*#__PURE__*/_jsx(Key, {\n children: /*#__PURE__*/_jsx(SvgIcon, {\n icon: arrowRight\n })\n});\nexport var ARROW_UP = /*#__PURE__*/_jsx(Key, {\n children: /*#__PURE__*/_jsx(SvgIcon, {\n icon: arrowDown\n })\n});\nexport var BACKSPACE = /*#__PURE__*/_jsx(Key, {\n children: \"\\u2190 Backspace\"\n});\nexport var CTRL = /*#__PURE__*/_jsx(Key, {\n children: isMac() ? '⌘' : 'Ctrl'\n});\nexport var DEL = /*#__PURE__*/_jsx(Key, {\n children: \"Del\"\n});\nexport var ENTER = /*#__PURE__*/_jsx(Key, {\n children: \"Enter \\u23CE\"\n});\nexport var ARROWS = /*#__PURE__*/_jsxs(_Fragment, {\n children: [ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP]\n});\nexport var SPACE = /*#__PURE__*/_jsx(Key, {\n children: \"\\u2423\"\n});","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from 'react';\nimport { selectConfig, useTranslate, useTypedSelector } from 'state';\nimport Key from '../Key';\nimport Sidebar from '../Sidebar';\nimport { Mapping } from './components';\nimport { ARROWS, BACKSPACE, CTRL, DEL, ENTER, SPACE } from './keys';\n\nvar KeyMap = function KeyMap(_ref) {\n var className = _ref.className,\n isOpen = _ref.isOpen,\n onClose = _ref.onClose;\n var translate = useTranslate();\n var config = useTypedSelector(selectConfig);\n return /*#__PURE__*/_jsxs(Sidebar, {\n className: className,\n isOpen: isOpen,\n title: translate('keyMap'),\n onClose: onClose,\n children: [/*#__PURE__*/_jsxs(Sidebar.Section, {\n title: translate('keyMap.board-and-rack'),\n children: [/*#__PURE__*/_jsx(Mapping, {\n description: translate('keyMap.board-and-rack.navigate'),\n mapping: [ARROWS]\n }), /*#__PURE__*/_jsx(Mapping, {\n description: translate('keyMap.board-and-rack.remove-tile'),\n mapping: [DEL, BACKSPACE]\n }), /*#__PURE__*/_jsx(Mapping, {\n description: translate('keyMap.board-and-rack.submit'),\n mapping: [ENTER]\n }), config.twoCharacterTiles.length > 0 && /*#__PURE__*/_jsx(Mapping, {\n description: translate('keyMap.board-and-rack.insert-two-letter-tile'),\n mapping: [[CTRL, /*#__PURE__*/_jsx(_Fragment, {\n children: config.twoCharacterTiles.map(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 1),\n firstLetter = _ref3[0];\n\n return /*#__PURE__*/_jsx(Key, {\n children: firstLetter.toUpperCase()\n }, firstLetter);\n })\n })]]\n })]\n }), /*#__PURE__*/_jsxs(Sidebar.Section, {\n title: translate('keyMap.board'),\n children: [/*#__PURE__*/_jsx(Mapping, {\n description: translate('keyMap.board.toggle-blank'),\n mapping: [[CTRL, /*#__PURE__*/_jsx(Key, {\n children: \"B\"\n }, \"b\")]]\n }), /*#__PURE__*/_jsx(Mapping, {\n description: translate('keyMap.board.toggle-direction'),\n mapping: [[CTRL, ARROWS]]\n })]\n }), /*#__PURE__*/_jsx(Sidebar.Section, {\n title: translate('keyMap.rack'),\n children: /*#__PURE__*/_jsx(Mapping, {\n description: translate('keyMap.rack.insert-blank'),\n mapping: [SPACE]\n })\n })]\n });\n};\n\nexport default KeyMap;","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from 'react';\nimport PlainTiles from '../PlainTiles';\nvar CONTENT = [['SCRABBLE'], ['SOLVER', '2']];\n\nvar Logo = function Logo(_ref) {\n var className = _ref.className,\n style = _ref.style;\n return /*#__PURE__*/_jsx(PlainTiles, {\n className: className,\n content: CONTENT,\n style: style\n });\n};\n\nexport default Logo;","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport { cog, eraser, github, keyboard, sack } from 'icons';\nimport { GITHUB_PROJECT_URL } from 'parameters';\nimport { selectHasOverusedTiles, useTranslate, useTypedSelector } from 'state';\nimport SquareButton from '../SquareButton';\nimport styles from './NavButtons.module.scss';\n\nvar NavButtons = function NavButtons(_ref) {\n var onClear = _ref.onClear,\n onShowKeyMap = _ref.onShowKeyMap,\n onShowRemainingTiles = _ref.onShowRemainingTiles,\n onShowSettings = _ref.onShowSettings;\n var translate = useTranslate();\n var hasOverusedTiles = useTypedSelector(selectHasOverusedTiles);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: styles.navButtons,\n children: [/*#__PURE__*/_jsx(SquareButton.Link, {\n className: styles.button,\n href: GITHUB_PROJECT_URL,\n icon: github,\n rel: \"noopener noreferrer\",\n target: \"_blank\",\n tooltip: translate('github')\n }), /*#__PURE__*/_jsx(\"div\", {\n className: styles.separator\n }), /*#__PURE__*/_jsx(SquareButton, {\n className: styles.button,\n icon: keyboard,\n tooltip: translate('keyMap'),\n onClick: onShowKeyMap\n }), /*#__PURE__*/_jsx(SquareButton, {\n className: classNames(styles.button, _defineProperty({}, styles.error, hasOverusedTiles)),\n icon: sack,\n tooltip: translate('remaining-tiles'),\n onClick: onShowRemainingTiles\n }), /*#__PURE__*/_jsx(\"div\", {\n className: styles.separator\n }), /*#__PURE__*/_jsx(SquareButton, {\n className: styles.button,\n icon: eraser,\n tooltip: translate('common.clear'),\n onClick: onClear\n }), /*#__PURE__*/_jsx(SquareButton, {\n className: styles.button,\n icon: cog,\n tooltip: translate('settings'),\n onClick: onShowSettings\n })]\n });\n};\n\nexport default NavButtons;","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport Link from 'next/link';\nimport React from 'react';\nimport { dashCircleFill } from 'icons';\nimport PlainTiles from '../PlainTiles';\nimport SvgIcon from '../SvgIcon';\nimport styles from './NotFound.module.scss';\nvar CONTENT = [['HTTP', '404']];\n\nvar NotFound = function NotFound() {\n return /*#__PURE__*/_jsx(\"div\", {\n className: styles.notFound,\n children: /*#__PURE__*/_jsx(Link, {\n href: \"/\",\n children: /*#__PURE__*/_jsxs(\"a\", {\n className: styles.link,\n children: [/*#__PURE__*/_jsx(SvgIcon, {\n className: styles.icon,\n icon: dashCircleFill\n }), /*#__PURE__*/_jsx(PlainTiles, {\n className: styles.tiles,\n content: CONTENT\n })]\n })\n })\n });\n};\n\nexport default NotFound;","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { BLANK } from '@scrabble-solver/constants';\nimport React, { useCallback, useMemo } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { createKeyboardNavigation, isCtrl } from 'lib';\nimport { TILE_SIZE } from 'parameters';\nimport { rackSlice, selectCharacterPoints, selectConfig, useTranslate, useTypedSelector } from 'state';\nimport Tile from '../Tile';\nimport styles from './Rack.module.scss';\n\nvar RackTile = function RackTile(_ref) {\n var activeIndexRef = _ref.activeIndexRef,\n character = _ref.character,\n index = _ref.index,\n inputRef = _ref.inputRef,\n tile = _ref.tile,\n _onKeyDown = _ref.onKeyDown;\n var dispatch = useDispatch();\n var translate = useTranslate();\n var config = useTypedSelector(selectConfig);\n var points = useTypedSelector(function (state) {\n return selectCharacterPoints(state, character);\n });\n var handleFocus = useCallback(function () {\n activeIndexRef.current = index;\n }, [index]);\n var handleCharacterChange = useCallback(function (value) {\n dispatch(rackSlice.actions.changeCharacter({\n character: value,\n index: index\n }));\n }, [index]);\n var handleKeyDown = useMemo(function () {\n return createKeyboardNavigation({\n onBackspace: function onBackspace() {\n return handleCharacterChange(null);\n },\n onDelete: function onDelete() {\n return handleCharacterChange(null);\n },\n onKeyDown: function onKeyDown(event) {\n var newCharacter = event.key.toLowerCase();\n var twoCharacterTile = config.getTwoCharacterTileByPrefix(newCharacter);\n\n if (isCtrl(event) && twoCharacterTile) {\n event.preventDefault();\n handleCharacterChange(twoCharacterTile);\n } else if (config.hasCharacter(newCharacter) || newCharacter === BLANK) {\n handleCharacterChange(newCharacter);\n }\n\n _onKeyDown(event);\n }\n });\n }, [config, handleCharacterChange, _onKeyDown]);\n return /*#__PURE__*/_jsx(Tile, {\n autoFocus: index === 0,\n className: styles.tile,\n character: character === null ? undefined : character,\n highlighted: tile !== null,\n inputRef: inputRef,\n isBlank: character === BLANK,\n placeholder: translate('rack.placeholder')[index],\n points: points,\n raised: true,\n size: TILE_SIZE,\n tabIndex: index === 0 ? undefined : -1,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown\n }, index);\n};\n\nexport default RackTile;","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { BLANK } from '@scrabble-solver/constants';\nimport classNames from 'classnames';\nimport React, { createRef, useCallback, useMemo, useRef } from 'react';\nimport { createArray, createKeyboardNavigation, zipCharactersAndTiles } from 'lib';\nimport { selectConfig, selectRack, selectResultCandidateTiles, useTypedSelector } from 'state';\nimport styles from './Rack.module.scss';\nimport RackTile from './RackTile';\n\nvar Rack = function Rack(_ref) {\n var className = _ref.className;\n var config = useTypedSelector(selectConfig);\n var rack = useTypedSelector(selectRack);\n var resultCandidateTiles = useTypedSelector(selectResultCandidateTiles);\n var tiles = useMemo(function () {\n return zipCharactersAndTiles(rack, resultCandidateTiles);\n }, [rack, resultCandidateTiles]);\n var tilesCount = tiles.length;\n var tilesRefs = useMemo(function () {\n return createArray(tilesCount).map(function () {\n return /*#__PURE__*/createRef();\n });\n }, [tilesCount]);\n var activeIndexRef = useRef();\n var changeActiveIndex = useCallback(function (offset) {\n var nextActiveIndex = Math.min(Math.max((activeIndexRef.current || 0) + offset, 0), tilesCount - 1);\n var tileRef = tilesRefs[nextActiveIndex].current;\n\n if (tileRef) {\n tileRef.focus();\n }\n\n activeIndexRef.current = nextActiveIndex;\n }, [activeIndexRef, tilesCount, tilesRefs]);\n var onKeyDown = useMemo(function () {\n return createKeyboardNavigation({\n onArrowLeft: function onArrowLeft(event) {\n event.preventDefault();\n changeActiveIndex(-1);\n },\n onArrowRight: function onArrowRight(event) {\n event.preventDefault();\n changeActiveIndex(1);\n },\n onBackspace: function onBackspace() {\n changeActiveIndex(-1);\n },\n onKeyDown: function onKeyDown(event) {\n var character = event.key.toLowerCase();\n\n if (config.hasCharacter(character) || character === BLANK) {\n changeActiveIndex(1);\n }\n }\n });\n }, [changeActiveIndex, config]);\n return /*#__PURE__*/_jsx(\"div\", {\n className: classNames(styles.rack, className),\n children: tiles.map(function (_ref2, index) {\n var character = _ref2.character,\n tile = _ref2.tile;\n return /*#__PURE__*/_jsx(RackTile, {\n activeIndexRef: activeIndexRef,\n character: character,\n index: index,\n inputRef: tilesRefs[index],\n tile: tile,\n onKeyDown: onKeyDown\n }, index);\n })\n });\n};\n\nexport default Rack;","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport styles from './Radio.module.scss';\n\nvar Radio = function Radio(_ref) {\n var checked = _ref.checked,\n children = _ref.children,\n className = _ref.className,\n disabled = _ref.disabled,\n id = _ref.id,\n name = _ref.name,\n value = _ref.value,\n onChange = _ref.onChange;\n return /*#__PURE__*/_jsxs(\"label\", {\n className: classNames(styles.radio, className, _defineProperty({}, styles.checked, checked)),\n htmlFor: id,\n children: [/*#__PURE__*/_jsx(\"input\", {\n checked: checked,\n className: styles.input,\n disabled: disabled,\n id: id,\n name: name,\n type: \"radio\",\n value: value,\n onChange: onChange\n }), /*#__PURE__*/_jsx(\"div\", {\n className: styles.icon\n }), /*#__PURE__*/_jsx(\"div\", {\n className: styles.content,\n children: children\n })]\n });\n};\n\nexport default Radio;","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { BLANK } from '@scrabble-solver/constants';\nimport classNames from 'classnames';\nimport React from 'react';\nimport { REMAINING_TILES_TILE_SIZE } from 'parameters';\nimport { selectCharacterPoints, useTypedSelector } from 'state';\nimport Tile from '../Tile';\nimport styles from './Character.module.scss';\n\nvar Character = function Character(_ref) {\n var _classNames;\n\n var tile = _ref.tile;\n var character = tile.character,\n count = tile.count,\n usedCount = tile.usedCount;\n var remainingCount = count - usedCount;\n var points = useTypedSelector(function (state) {\n return selectCharacterPoints(state, character);\n });\n return /*#__PURE__*/_jsxs(\"div\", {\n className: classNames(styles.character, (_classNames = {}, _defineProperty(_classNames, styles.finished, remainingCount <= 0), _defineProperty(_classNames, styles.overused, remainingCount < 0), _classNames)),\n children: [/*#__PURE__*/_jsx(Tile, {\n character: character,\n className: styles.tile,\n disabled: true,\n isBlank: character === BLANK,\n points: points,\n raised: true,\n size: REMAINING_TILES_TILE_SIZE\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: styles.count,\n children: [remainingCount, \" / \", count]\n })]\n }, character);\n};\n\nexport default Character;","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from 'react';\nimport { selectRemainingTilesGroups, useTranslate, useTypedSelector } from 'state';\nimport Sidebar from '../Sidebar';\nimport Character from './Character';\nimport styles from './RemainingTiles.module.scss';\n\nvar RemainingTiles = function RemainingTiles(_ref) {\n var className = _ref.className,\n isOpen = _ref.isOpen,\n onClose = _ref.onClose;\n var translate = useTranslate();\n var groups = useTypedSelector(selectRemainingTilesGroups);\n return /*#__PURE__*/_jsx(Sidebar, {\n className: className,\n isOpen: isOpen,\n title: translate('remaining-tiles'),\n onClose: onClose,\n children: groups.map(function (_ref2) {\n var remainingCount = _ref2.remainingCount,\n tiles = _ref2.tiles,\n translationKey = _ref2.translationKey,\n totalCount = _ref2.totalCount;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: styles.group,\n children: [/*#__PURE__*/_jsx(\"h2\", {\n className: styles.title,\n children: \"\".concat(translate(translationKey), \" (\").concat(remainingCount, \" / \").concat(totalCount, \")\")\n }), /*#__PURE__*/_jsx(\"div\", {\n className: styles.content,\n children: tiles.map(function (tile) {\n return /*#__PURE__*/_jsx(Character, {\n tile: tile\n }, tile.character);\n })\n })]\n }, translationKey);\n })\n });\n};\n\nexport default RemainingTiles;","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","function areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport memoizeOne from 'memoize-one';\nimport { createElement, PureComponent } from 'react';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\n\n// Animation frame based implementation of setTimeout.\n// Inspired by Joe Lambert, https://gist.github.com/joelambert/1002116#file-requesttimeout-js\nvar hasNativePerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\nvar now = hasNativePerformanceNow ? function () {\n return performance.now();\n} : function () {\n return Date.now();\n};\nfunction cancelTimeout(timeoutID) {\n cancelAnimationFrame(timeoutID.id);\n}\nfunction requestTimeout(callback, delay) {\n var start = now();\n\n function tick() {\n if (now() - start >= delay) {\n callback.call(null);\n } else {\n timeoutID.id = requestAnimationFrame(tick);\n }\n }\n\n var timeoutID = {\n id: requestAnimationFrame(tick)\n };\n return timeoutID;\n}\n\nvar size = -1; // This utility copied from \"dom-helpers\" package.\n\nfunction getScrollbarSize(recalculate) {\n if (recalculate === void 0) {\n recalculate = false;\n }\n\n if (size === -1 || recalculate) {\n var div = document.createElement('div');\n var style = div.style;\n style.width = '50px';\n style.height = '50px';\n style.overflow = 'scroll';\n document.body.appendChild(div);\n size = div.offsetWidth - div.clientWidth;\n document.body.removeChild(div);\n }\n\n return size;\n}\nvar cachedRTLResult = null; // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n// Chrome does not seem to adhere; its scrollLeft values are positive (measured relative to the left).\n// Safari's elastic bounce makes detecting this even more complicated wrt potential false positives.\n// The safest way to check this is to intentionally set a negative offset,\n// and then verify that the subsequent \"scroll\" event matches the negative offset.\n// If it does not match, then we can assume a non-standard RTL scroll implementation.\n\nfunction getRTLOffsetType(recalculate) {\n if (recalculate === void 0) {\n recalculate = false;\n }\n\n if (cachedRTLResult === null || recalculate) {\n var outerDiv = document.createElement('div');\n var outerStyle = outerDiv.style;\n outerStyle.width = '50px';\n outerStyle.height = '50px';\n outerStyle.overflow = 'scroll';\n outerStyle.direction = 'rtl';\n var innerDiv = document.createElement('div');\n var innerStyle = innerDiv.style;\n innerStyle.width = '100px';\n innerStyle.height = '100px';\n outerDiv.appendChild(innerDiv);\n document.body.appendChild(outerDiv);\n\n if (outerDiv.scrollLeft > 0) {\n cachedRTLResult = 'positive-descending';\n } else {\n outerDiv.scrollLeft = 1;\n\n if (outerDiv.scrollLeft === 0) {\n cachedRTLResult = 'negative';\n } else {\n cachedRTLResult = 'positive-ascending';\n }\n }\n\n document.body.removeChild(outerDiv);\n return cachedRTLResult;\n }\n\n return cachedRTLResult;\n}\n\nvar IS_SCROLLING_DEBOUNCE_INTERVAL = 150;\n\nvar defaultItemKey = function defaultItemKey(_ref) {\n var columnIndex = _ref.columnIndex,\n data = _ref.data,\n rowIndex = _ref.rowIndex;\n return rowIndex + \":\" + columnIndex;\n}; // In DEV mode, this Set helps us only log a warning once per component instance.\n// This avoids spamming the console every time a render happens.\n\n\nvar devWarningsOverscanCount = null;\nvar devWarningsOverscanRowsColumnsCount = null;\nvar devWarningsTagName = null;\n\nif (process.env.NODE_ENV !== 'production') {\n if (typeof window !== 'undefined' && typeof window.WeakSet !== 'undefined') {\n devWarningsOverscanCount =\n /*#__PURE__*/\n new WeakSet();\n devWarningsOverscanRowsColumnsCount =\n /*#__PURE__*/\n new WeakSet();\n devWarningsTagName =\n /*#__PURE__*/\n new WeakSet();\n }\n}\n\nfunction createGridComponent(_ref2) {\n var _class, _temp;\n\n var getColumnOffset = _ref2.getColumnOffset,\n getColumnStartIndexForOffset = _ref2.getColumnStartIndexForOffset,\n getColumnStopIndexForStartIndex = _ref2.getColumnStopIndexForStartIndex,\n getColumnWidth = _ref2.getColumnWidth,\n getEstimatedTotalHeight = _ref2.getEstimatedTotalHeight,\n getEstimatedTotalWidth = _ref2.getEstimatedTotalWidth,\n getOffsetForColumnAndAlignment = _ref2.getOffsetForColumnAndAlignment,\n getOffsetForRowAndAlignment = _ref2.getOffsetForRowAndAlignment,\n getRowHeight = _ref2.getRowHeight,\n getRowOffset = _ref2.getRowOffset,\n getRowStartIndexForOffset = _ref2.getRowStartIndexForOffset,\n getRowStopIndexForStartIndex = _ref2.getRowStopIndexForStartIndex,\n initInstanceProps = _ref2.initInstanceProps,\n shouldResetStyleCacheOnItemSizeChange = _ref2.shouldResetStyleCacheOnItemSizeChange,\n validateProps = _ref2.validateProps;\n return _temp = _class =\n /*#__PURE__*/\n function (_PureComponent) {\n _inheritsLoose(Grid, _PureComponent);\n\n // Always use explicit constructor for React components.\n // It produces less code after transpilation. (#26)\n // eslint-disable-next-line no-useless-constructor\n function Grid(props) {\n var _this;\n\n _this = _PureComponent.call(this, props) || this;\n _this._instanceProps = initInstanceProps(_this.props, _assertThisInitialized(_assertThisInitialized(_this)));\n _this._resetIsScrollingTimeoutId = null;\n _this._outerRef = void 0;\n _this.state = {\n instance: _assertThisInitialized(_assertThisInitialized(_this)),\n isScrolling: false,\n horizontalScrollDirection: 'forward',\n scrollLeft: typeof _this.props.initialScrollLeft === 'number' ? _this.props.initialScrollLeft : 0,\n scrollTop: typeof _this.props.initialScrollTop === 'number' ? _this.props.initialScrollTop : 0,\n scrollUpdateWasRequested: false,\n verticalScrollDirection: 'forward'\n };\n _this._callOnItemsRendered = void 0;\n _this._callOnItemsRendered = memoizeOne(function (overscanColumnStartIndex, overscanColumnStopIndex, overscanRowStartIndex, overscanRowStopIndex, visibleColumnStartIndex, visibleColumnStopIndex, visibleRowStartIndex, visibleRowStopIndex) {\n return _this.props.onItemsRendered({\n overscanColumnStartIndex: overscanColumnStartIndex,\n overscanColumnStopIndex: overscanColumnStopIndex,\n overscanRowStartIndex: overscanRowStartIndex,\n overscanRowStopIndex: overscanRowStopIndex,\n visibleColumnStartIndex: visibleColumnStartIndex,\n visibleColumnStopIndex: visibleColumnStopIndex,\n visibleRowStartIndex: visibleRowStartIndex,\n visibleRowStopIndex: visibleRowStopIndex\n });\n });\n _this._callOnScroll = void 0;\n _this._callOnScroll = memoizeOne(function (scrollLeft, scrollTop, horizontalScrollDirection, verticalScrollDirection, scrollUpdateWasRequested) {\n return _this.props.onScroll({\n horizontalScrollDirection: horizontalScrollDirection,\n scrollLeft: scrollLeft,\n scrollTop: scrollTop,\n verticalScrollDirection: verticalScrollDirection,\n scrollUpdateWasRequested: scrollUpdateWasRequested\n });\n });\n _this._getItemStyle = void 0;\n\n _this._getItemStyle = function (rowIndex, columnIndex) {\n var _this$props = _this.props,\n columnWidth = _this$props.columnWidth,\n direction = _this$props.direction,\n rowHeight = _this$props.rowHeight;\n\n var itemStyleCache = _this._getItemStyleCache(shouldResetStyleCacheOnItemSizeChange && columnWidth, shouldResetStyleCacheOnItemSizeChange && direction, shouldResetStyleCacheOnItemSizeChange && rowHeight);\n\n var key = rowIndex + \":\" + columnIndex;\n var style;\n\n if (itemStyleCache.hasOwnProperty(key)) {\n style = itemStyleCache[key];\n } else {\n var _offset = getColumnOffset(_this.props, columnIndex, _this._instanceProps);\n\n var isRtl = direction === 'rtl';\n itemStyleCache[key] = style = {\n position: 'absolute',\n left: isRtl ? undefined : _offset,\n right: isRtl ? _offset : undefined,\n top: getRowOffset(_this.props, rowIndex, _this._instanceProps),\n height: getRowHeight(_this.props, rowIndex, _this._instanceProps),\n width: getColumnWidth(_this.props, columnIndex, _this._instanceProps)\n };\n }\n\n return style;\n };\n\n _this._getItemStyleCache = void 0;\n _this._getItemStyleCache = memoizeOne(function (_, __, ___) {\n return {};\n });\n\n _this._onScroll = function (event) {\n var _event$currentTarget = event.currentTarget,\n clientHeight = _event$currentTarget.clientHeight,\n clientWidth = _event$currentTarget.clientWidth,\n scrollLeft = _event$currentTarget.scrollLeft,\n scrollTop = _event$currentTarget.scrollTop,\n scrollHeight = _event$currentTarget.scrollHeight,\n scrollWidth = _event$currentTarget.scrollWidth;\n\n _this.setState(function (prevState) {\n if (prevState.scrollLeft === scrollLeft && prevState.scrollTop === scrollTop) {\n // Scroll position may have been updated by cDM/cDU,\n // In which case we don't need to trigger another render,\n // And we don't want to update state.isScrolling.\n return null;\n }\n\n var direction = _this.props.direction; // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // It's also easier for this component if we convert offsets to the same format as they would be in for ltr.\n // So the simplest solution is to determine which browser behavior we're dealing with, and convert based on it.\n\n var calculatedScrollLeft = scrollLeft;\n\n if (direction === 'rtl') {\n switch (getRTLOffsetType()) {\n case 'negative':\n calculatedScrollLeft = -scrollLeft;\n break;\n\n case 'positive-descending':\n calculatedScrollLeft = scrollWidth - clientWidth - scrollLeft;\n break;\n }\n } // Prevent Safari's elastic scrolling from causing visual shaking when scrolling past bounds.\n\n\n calculatedScrollLeft = Math.max(0, Math.min(calculatedScrollLeft, scrollWidth - clientWidth));\n var calculatedScrollTop = Math.max(0, Math.min(scrollTop, scrollHeight - clientHeight));\n return {\n isScrolling: true,\n horizontalScrollDirection: prevState.scrollLeft < scrollLeft ? 'forward' : 'backward',\n scrollLeft: calculatedScrollLeft,\n scrollTop: calculatedScrollTop,\n verticalScrollDirection: prevState.scrollTop < scrollTop ? 'forward' : 'backward',\n scrollUpdateWasRequested: false\n };\n }, _this._resetIsScrollingDebounced);\n };\n\n _this._outerRefSetter = function (ref) {\n var outerRef = _this.props.outerRef;\n _this._outerRef = ref;\n\n if (typeof outerRef === 'function') {\n outerRef(ref);\n } else if (outerRef != null && typeof outerRef === 'object' && outerRef.hasOwnProperty('current')) {\n outerRef.current = ref;\n }\n };\n\n _this._resetIsScrollingDebounced = function () {\n if (_this._resetIsScrollingTimeoutId !== null) {\n cancelTimeout(_this._resetIsScrollingTimeoutId);\n }\n\n _this._resetIsScrollingTimeoutId = requestTimeout(_this._resetIsScrolling, IS_SCROLLING_DEBOUNCE_INTERVAL);\n };\n\n _this._resetIsScrolling = function () {\n _this._resetIsScrollingTimeoutId = null;\n\n _this.setState({\n isScrolling: false\n }, function () {\n // Clear style cache after state update has been committed.\n // This way we don't break pure sCU for items that don't use isScrolling param.\n _this._getItemStyleCache(-1);\n });\n };\n\n return _this;\n }\n\n Grid.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n validateSharedProps(nextProps, prevState);\n validateProps(nextProps);\n return null;\n };\n\n var _proto = Grid.prototype;\n\n _proto.scrollTo = function scrollTo(_ref3) {\n var scrollLeft = _ref3.scrollLeft,\n scrollTop = _ref3.scrollTop;\n\n if (scrollLeft !== undefined) {\n scrollLeft = Math.max(0, scrollLeft);\n }\n\n if (scrollTop !== undefined) {\n scrollTop = Math.max(0, scrollTop);\n }\n\n this.setState(function (prevState) {\n if (scrollLeft === undefined) {\n scrollLeft = prevState.scrollLeft;\n }\n\n if (scrollTop === undefined) {\n scrollTop = prevState.scrollTop;\n }\n\n if (prevState.scrollLeft === scrollLeft && prevState.scrollTop === scrollTop) {\n return null;\n }\n\n return {\n horizontalScrollDirection: prevState.scrollLeft < scrollLeft ? 'forward' : 'backward',\n scrollLeft: scrollLeft,\n scrollTop: scrollTop,\n scrollUpdateWasRequested: true,\n verticalScrollDirection: prevState.scrollTop < scrollTop ? 'forward' : 'backward'\n };\n }, this._resetIsScrollingDebounced);\n };\n\n _proto.scrollToItem = function scrollToItem(_ref4) {\n var _ref4$align = _ref4.align,\n align = _ref4$align === void 0 ? 'auto' : _ref4$align,\n columnIndex = _ref4.columnIndex,\n rowIndex = _ref4.rowIndex;\n var _this$props2 = this.props,\n columnCount = _this$props2.columnCount,\n height = _this$props2.height,\n rowCount = _this$props2.rowCount,\n width = _this$props2.width;\n var _this$state = this.state,\n scrollLeft = _this$state.scrollLeft,\n scrollTop = _this$state.scrollTop;\n var scrollbarSize = getScrollbarSize();\n\n if (columnIndex !== undefined) {\n columnIndex = Math.max(0, Math.min(columnIndex, columnCount - 1));\n }\n\n if (rowIndex !== undefined) {\n rowIndex = Math.max(0, Math.min(rowIndex, rowCount - 1));\n }\n\n var estimatedTotalHeight = getEstimatedTotalHeight(this.props, this._instanceProps);\n var estimatedTotalWidth = getEstimatedTotalWidth(this.props, this._instanceProps); // The scrollbar size should be considered when scrolling an item into view,\n // to ensure it's fully visible.\n // But we only need to account for its size when it's actually visible.\n\n var horizontalScrollbarSize = estimatedTotalWidth > width ? scrollbarSize : 0;\n var verticalScrollbarSize = estimatedTotalHeight > height ? scrollbarSize : 0;\n this.scrollTo({\n scrollLeft: columnIndex !== undefined ? getOffsetForColumnAndAlignment(this.props, columnIndex, align, scrollLeft, this._instanceProps, verticalScrollbarSize) : scrollLeft,\n scrollTop: rowIndex !== undefined ? getOffsetForRowAndAlignment(this.props, rowIndex, align, scrollTop, this._instanceProps, horizontalScrollbarSize) : scrollTop\n });\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var _this$props3 = this.props,\n initialScrollLeft = _this$props3.initialScrollLeft,\n initialScrollTop = _this$props3.initialScrollTop;\n\n if (this._outerRef != null) {\n var outerRef = this._outerRef;\n\n if (typeof initialScrollLeft === 'number') {\n outerRef.scrollLeft = initialScrollLeft;\n }\n\n if (typeof initialScrollTop === 'number') {\n outerRef.scrollTop = initialScrollTop;\n }\n }\n\n this._callPropsCallbacks();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n var direction = this.props.direction;\n var _this$state2 = this.state,\n scrollLeft = _this$state2.scrollLeft,\n scrollTop = _this$state2.scrollTop,\n scrollUpdateWasRequested = _this$state2.scrollUpdateWasRequested;\n\n if (scrollUpdateWasRequested && this._outerRef != null) {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // So we need to determine which browser behavior we're dealing with, and mimic it.\n var outerRef = this._outerRef;\n\n if (direction === 'rtl') {\n switch (getRTLOffsetType()) {\n case 'negative':\n outerRef.scrollLeft = -scrollLeft;\n break;\n\n case 'positive-ascending':\n outerRef.scrollLeft = scrollLeft;\n break;\n\n default:\n var clientWidth = outerRef.clientWidth,\n scrollWidth = outerRef.scrollWidth;\n outerRef.scrollLeft = scrollWidth - clientWidth - scrollLeft;\n break;\n }\n } else {\n outerRef.scrollLeft = Math.max(0, scrollLeft);\n }\n\n outerRef.scrollTop = Math.max(0, scrollTop);\n }\n\n this._callPropsCallbacks();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this._resetIsScrollingTimeoutId !== null) {\n cancelTimeout(this._resetIsScrollingTimeoutId);\n }\n };\n\n _proto.render = function render() {\n var _this$props4 = this.props,\n children = _this$props4.children,\n className = _this$props4.className,\n columnCount = _this$props4.columnCount,\n direction = _this$props4.direction,\n height = _this$props4.height,\n innerRef = _this$props4.innerRef,\n innerElementType = _this$props4.innerElementType,\n innerTagName = _this$props4.innerTagName,\n itemData = _this$props4.itemData,\n _this$props4$itemKey = _this$props4.itemKey,\n itemKey = _this$props4$itemKey === void 0 ? defaultItemKey : _this$props4$itemKey,\n outerElementType = _this$props4.outerElementType,\n outerTagName = _this$props4.outerTagName,\n rowCount = _this$props4.rowCount,\n style = _this$props4.style,\n useIsScrolling = _this$props4.useIsScrolling,\n width = _this$props4.width;\n var isScrolling = this.state.isScrolling;\n\n var _this$_getHorizontalR = this._getHorizontalRangeToRender(),\n columnStartIndex = _this$_getHorizontalR[0],\n columnStopIndex = _this$_getHorizontalR[1];\n\n var _this$_getVerticalRan = this._getVerticalRangeToRender(),\n rowStartIndex = _this$_getVerticalRan[0],\n rowStopIndex = _this$_getVerticalRan[1];\n\n var items = [];\n\n if (columnCount > 0 && rowCount) {\n for (var _rowIndex = rowStartIndex; _rowIndex <= rowStopIndex; _rowIndex++) {\n for (var _columnIndex = columnStartIndex; _columnIndex <= columnStopIndex; _columnIndex++) {\n items.push(createElement(children, {\n columnIndex: _columnIndex,\n data: itemData,\n isScrolling: useIsScrolling ? isScrolling : undefined,\n key: itemKey({\n columnIndex: _columnIndex,\n data: itemData,\n rowIndex: _rowIndex\n }),\n rowIndex: _rowIndex,\n style: this._getItemStyle(_rowIndex, _columnIndex)\n }));\n }\n }\n } // Read this value AFTER items have been created,\n // So their actual sizes (if variable) are taken into consideration.\n\n\n var estimatedTotalHeight = getEstimatedTotalHeight(this.props, this._instanceProps);\n var estimatedTotalWidth = getEstimatedTotalWidth(this.props, this._instanceProps);\n return createElement(outerElementType || outerTagName || 'div', {\n className: className,\n onScroll: this._onScroll,\n ref: this._outerRefSetter,\n style: _extends({\n position: 'relative',\n height: height,\n width: width,\n overflow: 'auto',\n WebkitOverflowScrolling: 'touch',\n willChange: 'transform',\n direction: direction\n }, style)\n }, createElement(innerElementType || innerTagName || 'div', {\n children: items,\n ref: innerRef,\n style: {\n height: estimatedTotalHeight,\n pointerEvents: isScrolling ? 'none' : undefined,\n width: estimatedTotalWidth\n }\n }));\n };\n\n _proto._callPropsCallbacks = function _callPropsCallbacks() {\n var _this$props5 = this.props,\n columnCount = _this$props5.columnCount,\n onItemsRendered = _this$props5.onItemsRendered,\n onScroll = _this$props5.onScroll,\n rowCount = _this$props5.rowCount;\n\n if (typeof onItemsRendered === 'function') {\n if (columnCount > 0 && rowCount > 0) {\n var _this$_getHorizontalR2 = this._getHorizontalRangeToRender(),\n _overscanColumnStartIndex = _this$_getHorizontalR2[0],\n _overscanColumnStopIndex = _this$_getHorizontalR2[1],\n _visibleColumnStartIndex = _this$_getHorizontalR2[2],\n _visibleColumnStopIndex = _this$_getHorizontalR2[3];\n\n var _this$_getVerticalRan2 = this._getVerticalRangeToRender(),\n _overscanRowStartIndex = _this$_getVerticalRan2[0],\n _overscanRowStopIndex = _this$_getVerticalRan2[1],\n _visibleRowStartIndex = _this$_getVerticalRan2[2],\n _visibleRowStopIndex = _this$_getVerticalRan2[3];\n\n this._callOnItemsRendered(_overscanColumnStartIndex, _overscanColumnStopIndex, _overscanRowStartIndex, _overscanRowStopIndex, _visibleColumnStartIndex, _visibleColumnStopIndex, _visibleRowStartIndex, _visibleRowStopIndex);\n }\n }\n\n if (typeof onScroll === 'function') {\n var _this$state3 = this.state,\n _horizontalScrollDirection = _this$state3.horizontalScrollDirection,\n _scrollLeft = _this$state3.scrollLeft,\n _scrollTop = _this$state3.scrollTop,\n _scrollUpdateWasRequested = _this$state3.scrollUpdateWasRequested,\n _verticalScrollDirection = _this$state3.verticalScrollDirection;\n\n this._callOnScroll(_scrollLeft, _scrollTop, _horizontalScrollDirection, _verticalScrollDirection, _scrollUpdateWasRequested);\n }\n }; // Lazily create and cache item styles while scrolling,\n // So that pure component sCU will prevent re-renders.\n // We maintain this cache, and pass a style prop rather than index,\n // So that List can clear cached styles and force item re-render if necessary.\n\n\n _proto._getHorizontalRangeToRender = function _getHorizontalRangeToRender() {\n var _this$props6 = this.props,\n columnCount = _this$props6.columnCount,\n overscanColumnCount = _this$props6.overscanColumnCount,\n overscanColumnsCount = _this$props6.overscanColumnsCount,\n overscanCount = _this$props6.overscanCount,\n rowCount = _this$props6.rowCount;\n var _this$state4 = this.state,\n horizontalScrollDirection = _this$state4.horizontalScrollDirection,\n isScrolling = _this$state4.isScrolling,\n scrollLeft = _this$state4.scrollLeft;\n var overscanCountResolved = overscanColumnCount || overscanColumnsCount || overscanCount || 1;\n\n if (columnCount === 0 || rowCount === 0) {\n return [0, 0, 0, 0];\n }\n\n var startIndex = getColumnStartIndexForOffset(this.props, scrollLeft, this._instanceProps);\n var stopIndex = getColumnStopIndexForStartIndex(this.props, startIndex, scrollLeft, this._instanceProps); // Overscan by one item in each direction so that tab/focus works.\n // If there isn't at least one extra item, tab loops back around.\n\n var overscanBackward = !isScrolling || horizontalScrollDirection === 'backward' ? Math.max(1, overscanCountResolved) : 1;\n var overscanForward = !isScrolling || horizontalScrollDirection === 'forward' ? Math.max(1, overscanCountResolved) : 1;\n return [Math.max(0, startIndex - overscanBackward), Math.max(0, Math.min(columnCount - 1, stopIndex + overscanForward)), startIndex, stopIndex];\n };\n\n _proto._getVerticalRangeToRender = function _getVerticalRangeToRender() {\n var _this$props7 = this.props,\n columnCount = _this$props7.columnCount,\n overscanCount = _this$props7.overscanCount,\n overscanRowCount = _this$props7.overscanRowCount,\n overscanRowsCount = _this$props7.overscanRowsCount,\n rowCount = _this$props7.rowCount;\n var _this$state5 = this.state,\n isScrolling = _this$state5.isScrolling,\n verticalScrollDirection = _this$state5.verticalScrollDirection,\n scrollTop = _this$state5.scrollTop;\n var overscanCountResolved = overscanRowCount || overscanRowsCount || overscanCount || 1;\n\n if (columnCount === 0 || rowCount === 0) {\n return [0, 0, 0, 0];\n }\n\n var startIndex = getRowStartIndexForOffset(this.props, scrollTop, this._instanceProps);\n var stopIndex = getRowStopIndexForStartIndex(this.props, startIndex, scrollTop, this._instanceProps); // Overscan by one item in each direction so that tab/focus works.\n // If there isn't at least one extra item, tab loops back around.\n\n var overscanBackward = !isScrolling || verticalScrollDirection === 'backward' ? Math.max(1, overscanCountResolved) : 1;\n var overscanForward = !isScrolling || verticalScrollDirection === 'forward' ? Math.max(1, overscanCountResolved) : 1;\n return [Math.max(0, startIndex - overscanBackward), Math.max(0, Math.min(rowCount - 1, stopIndex + overscanForward)), startIndex, stopIndex];\n };\n\n return Grid;\n }(PureComponent), _class.defaultProps = {\n direction: 'ltr',\n itemData: undefined,\n useIsScrolling: false\n }, _temp;\n}\n\nvar validateSharedProps = function validateSharedProps(_ref5, _ref6) {\n var children = _ref5.children,\n direction = _ref5.direction,\n height = _ref5.height,\n innerTagName = _ref5.innerTagName,\n outerTagName = _ref5.outerTagName,\n overscanColumnsCount = _ref5.overscanColumnsCount,\n overscanCount = _ref5.overscanCount,\n overscanRowsCount = _ref5.overscanRowsCount,\n width = _ref5.width;\n var instance = _ref6.instance;\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof overscanCount === 'number') {\n if (devWarningsOverscanCount && !devWarningsOverscanCount.has(instance)) {\n devWarningsOverscanCount.add(instance);\n console.warn('The overscanCount prop has been deprecated. ' + 'Please use the overscanColumnCount and overscanRowCount props instead.');\n }\n }\n\n if (typeof overscanColumnsCount === 'number' || typeof overscanRowsCount === 'number') {\n if (devWarningsOverscanRowsColumnsCount && !devWarningsOverscanRowsColumnsCount.has(instance)) {\n devWarningsOverscanRowsColumnsCount.add(instance);\n console.warn('The overscanColumnsCount and overscanRowsCount props have been deprecated. ' + 'Please use the overscanColumnCount and overscanRowCount props instead.');\n }\n }\n\n if (innerTagName != null || outerTagName != null) {\n if (devWarningsTagName && !devWarningsTagName.has(instance)) {\n devWarningsTagName.add(instance);\n console.warn('The innerTagName and outerTagName props have been deprecated. ' + 'Please use the innerElementType and outerElementType props instead.');\n }\n }\n\n if (children == null) {\n throw Error('An invalid \"children\" prop has been specified. ' + 'Value should be a React component. ' + (\"\\\"\" + (children === null ? 'null' : typeof children) + \"\\\" was specified.\"));\n }\n\n switch (direction) {\n case 'ltr':\n case 'rtl':\n // Valid values\n break;\n\n default:\n throw Error('An invalid \"direction\" prop has been specified. ' + 'Value should be either \"ltr\" or \"rtl\". ' + (\"\\\"\" + direction + \"\\\" was specified.\"));\n }\n\n if (typeof width !== 'number') {\n throw Error('An invalid \"width\" prop has been specified. ' + 'Grids must specify a number for width. ' + (\"\\\"\" + (width === null ? 'null' : typeof width) + \"\\\" was specified.\"));\n }\n\n if (typeof height !== 'number') {\n throw Error('An invalid \"height\" prop has been specified. ' + 'Grids must specify a number for height. ' + (\"\\\"\" + (height === null ? 'null' : typeof height) + \"\\\" was specified.\"));\n }\n }\n};\n\nvar DEFAULT_ESTIMATED_ITEM_SIZE = 50;\n\nvar getEstimatedTotalHeight = function getEstimatedTotalHeight(_ref, _ref2) {\n var rowCount = _ref.rowCount;\n var rowMetadataMap = _ref2.rowMetadataMap,\n estimatedRowHeight = _ref2.estimatedRowHeight,\n lastMeasuredRowIndex = _ref2.lastMeasuredRowIndex;\n var totalSizeOfMeasuredRows = 0; // Edge case check for when the number of items decreases while a scroll is in progress.\n // https://github.com/bvaughn/react-window/pull/138\n\n if (lastMeasuredRowIndex >= rowCount) {\n lastMeasuredRowIndex = rowCount - 1;\n }\n\n if (lastMeasuredRowIndex >= 0) {\n var itemMetadata = rowMetadataMap[lastMeasuredRowIndex];\n totalSizeOfMeasuredRows = itemMetadata.offset + itemMetadata.size;\n }\n\n var numUnmeasuredItems = rowCount - lastMeasuredRowIndex - 1;\n var totalSizeOfUnmeasuredItems = numUnmeasuredItems * estimatedRowHeight;\n return totalSizeOfMeasuredRows + totalSizeOfUnmeasuredItems;\n};\n\nvar getEstimatedTotalWidth = function getEstimatedTotalWidth(_ref3, _ref4) {\n var columnCount = _ref3.columnCount;\n var columnMetadataMap = _ref4.columnMetadataMap,\n estimatedColumnWidth = _ref4.estimatedColumnWidth,\n lastMeasuredColumnIndex = _ref4.lastMeasuredColumnIndex;\n var totalSizeOfMeasuredRows = 0; // Edge case check for when the number of items decreases while a scroll is in progress.\n // https://github.com/bvaughn/react-window/pull/138\n\n if (lastMeasuredColumnIndex >= columnCount) {\n lastMeasuredColumnIndex = columnCount - 1;\n }\n\n if (lastMeasuredColumnIndex >= 0) {\n var itemMetadata = columnMetadataMap[lastMeasuredColumnIndex];\n totalSizeOfMeasuredRows = itemMetadata.offset + itemMetadata.size;\n }\n\n var numUnmeasuredItems = columnCount - lastMeasuredColumnIndex - 1;\n var totalSizeOfUnmeasuredItems = numUnmeasuredItems * estimatedColumnWidth;\n return totalSizeOfMeasuredRows + totalSizeOfUnmeasuredItems;\n};\n\nvar getItemMetadata = function getItemMetadata(itemType, props, index, instanceProps) {\n var itemMetadataMap, itemSize, lastMeasuredIndex;\n\n if (itemType === 'column') {\n itemMetadataMap = instanceProps.columnMetadataMap;\n itemSize = props.columnWidth;\n lastMeasuredIndex = instanceProps.lastMeasuredColumnIndex;\n } else {\n itemMetadataMap = instanceProps.rowMetadataMap;\n itemSize = props.rowHeight;\n lastMeasuredIndex = instanceProps.lastMeasuredRowIndex;\n }\n\n if (index > lastMeasuredIndex) {\n var offset = 0;\n\n if (lastMeasuredIndex >= 0) {\n var itemMetadata = itemMetadataMap[lastMeasuredIndex];\n offset = itemMetadata.offset + itemMetadata.size;\n }\n\n for (var i = lastMeasuredIndex + 1; i <= index; i++) {\n var size = itemSize(i);\n itemMetadataMap[i] = {\n offset: offset,\n size: size\n };\n offset += size;\n }\n\n if (itemType === 'column') {\n instanceProps.lastMeasuredColumnIndex = index;\n } else {\n instanceProps.lastMeasuredRowIndex = index;\n }\n }\n\n return itemMetadataMap[index];\n};\n\nvar findNearestItem = function findNearestItem(itemType, props, instanceProps, offset) {\n var itemMetadataMap, lastMeasuredIndex;\n\n if (itemType === 'column') {\n itemMetadataMap = instanceProps.columnMetadataMap;\n lastMeasuredIndex = instanceProps.lastMeasuredColumnIndex;\n } else {\n itemMetadataMap = instanceProps.rowMetadataMap;\n lastMeasuredIndex = instanceProps.lastMeasuredRowIndex;\n }\n\n var lastMeasuredItemOffset = lastMeasuredIndex > 0 ? itemMetadataMap[lastMeasuredIndex].offset : 0;\n\n if (lastMeasuredItemOffset >= offset) {\n // If we've already measured items within this range just use a binary search as it's faster.\n return findNearestItemBinarySearch(itemType, props, instanceProps, lastMeasuredIndex, 0, offset);\n } else {\n // If we haven't yet measured this high, fallback to an exponential search with an inner binary search.\n // The exponential search avoids pre-computing sizes for the full set of items as a binary search would.\n // The overall complexity for this approach is O(log n).\n return findNearestItemExponentialSearch(itemType, props, instanceProps, Math.max(0, lastMeasuredIndex), offset);\n }\n};\n\nvar findNearestItemBinarySearch = function findNearestItemBinarySearch(itemType, props, instanceProps, high, low, offset) {\n while (low <= high) {\n var middle = low + Math.floor((high - low) / 2);\n var currentOffset = getItemMetadata(itemType, props, middle, instanceProps).offset;\n\n if (currentOffset === offset) {\n return middle;\n } else if (currentOffset < offset) {\n low = middle + 1;\n } else if (currentOffset > offset) {\n high = middle - 1;\n }\n }\n\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\n\nvar findNearestItemExponentialSearch = function findNearestItemExponentialSearch(itemType, props, instanceProps, index, offset) {\n var itemCount = itemType === 'column' ? props.columnCount : props.rowCount;\n var interval = 1;\n\n while (index < itemCount && getItemMetadata(itemType, props, index, instanceProps).offset < offset) {\n index += interval;\n interval *= 2;\n }\n\n return findNearestItemBinarySearch(itemType, props, instanceProps, Math.min(index, itemCount - 1), Math.floor(index / 2), offset);\n};\n\nvar getOffsetForIndexAndAlignment = function getOffsetForIndexAndAlignment(itemType, props, index, align, scrollOffset, instanceProps, scrollbarSize) {\n var size = itemType === 'column' ? props.width : props.height;\n var itemMetadata = getItemMetadata(itemType, props, index, instanceProps); // Get estimated total size after ItemMetadata is computed,\n // To ensure it reflects actual measurements instead of just estimates.\n\n var estimatedTotalSize = itemType === 'column' ? getEstimatedTotalWidth(props, instanceProps) : getEstimatedTotalHeight(props, instanceProps);\n var maxOffset = Math.max(0, Math.min(estimatedTotalSize - size, itemMetadata.offset));\n var minOffset = Math.max(0, itemMetadata.offset - size + scrollbarSize + itemMetadata.size);\n\n if (align === 'smart') {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n align = 'auto';\n } else {\n align = 'center';\n }\n }\n\n switch (align) {\n case 'start':\n return maxOffset;\n\n case 'end':\n return minOffset;\n\n case 'center':\n return Math.round(minOffset + (maxOffset - minOffset) / 2);\n\n case 'auto':\n default:\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset;\n } else if (minOffset > maxOffset) {\n // Because we only take into account the scrollbar size when calculating minOffset\n // this value can be larger than maxOffset when at the end of the list\n return minOffset;\n } else if (scrollOffset < minOffset) {\n return minOffset;\n } else {\n return maxOffset;\n }\n\n }\n};\n\nvar VariableSizeGrid =\n/*#__PURE__*/\ncreateGridComponent({\n getColumnOffset: function getColumnOffset(props, index, instanceProps) {\n return getItemMetadata('column', props, index, instanceProps).offset;\n },\n getColumnStartIndexForOffset: function getColumnStartIndexForOffset(props, scrollLeft, instanceProps) {\n return findNearestItem('column', props, instanceProps, scrollLeft);\n },\n getColumnStopIndexForStartIndex: function getColumnStopIndexForStartIndex(props, startIndex, scrollLeft, instanceProps) {\n var columnCount = props.columnCount,\n width = props.width;\n var itemMetadata = getItemMetadata('column', props, startIndex, instanceProps);\n var maxOffset = scrollLeft + width;\n var offset = itemMetadata.offset + itemMetadata.size;\n var stopIndex = startIndex;\n\n while (stopIndex < columnCount - 1 && offset < maxOffset) {\n stopIndex++;\n offset += getItemMetadata('column', props, stopIndex, instanceProps).size;\n }\n\n return stopIndex;\n },\n getColumnWidth: function getColumnWidth(props, index, instanceProps) {\n return instanceProps.columnMetadataMap[index].size;\n },\n getEstimatedTotalHeight: getEstimatedTotalHeight,\n getEstimatedTotalWidth: getEstimatedTotalWidth,\n getOffsetForColumnAndAlignment: function getOffsetForColumnAndAlignment(props, index, align, scrollOffset, instanceProps, scrollbarSize) {\n return getOffsetForIndexAndAlignment('column', props, index, align, scrollOffset, instanceProps, scrollbarSize);\n },\n getOffsetForRowAndAlignment: function getOffsetForRowAndAlignment(props, index, align, scrollOffset, instanceProps, scrollbarSize) {\n return getOffsetForIndexAndAlignment('row', props, index, align, scrollOffset, instanceProps, scrollbarSize);\n },\n getRowOffset: function getRowOffset(props, index, instanceProps) {\n return getItemMetadata('row', props, index, instanceProps).offset;\n },\n getRowHeight: function getRowHeight(props, index, instanceProps) {\n return instanceProps.rowMetadataMap[index].size;\n },\n getRowStartIndexForOffset: function getRowStartIndexForOffset(props, scrollTop, instanceProps) {\n return findNearestItem('row', props, instanceProps, scrollTop);\n },\n getRowStopIndexForStartIndex: function getRowStopIndexForStartIndex(props, startIndex, scrollTop, instanceProps) {\n var rowCount = props.rowCount,\n height = props.height;\n var itemMetadata = getItemMetadata('row', props, startIndex, instanceProps);\n var maxOffset = scrollTop + height;\n var offset = itemMetadata.offset + itemMetadata.size;\n var stopIndex = startIndex;\n\n while (stopIndex < rowCount - 1 && offset < maxOffset) {\n stopIndex++;\n offset += getItemMetadata('row', props, stopIndex, instanceProps).size;\n }\n\n return stopIndex;\n },\n initInstanceProps: function initInstanceProps(props, instance) {\n var _ref5 = props,\n estimatedColumnWidth = _ref5.estimatedColumnWidth,\n estimatedRowHeight = _ref5.estimatedRowHeight;\n var instanceProps = {\n columnMetadataMap: {},\n estimatedColumnWidth: estimatedColumnWidth || DEFAULT_ESTIMATED_ITEM_SIZE,\n estimatedRowHeight: estimatedRowHeight || DEFAULT_ESTIMATED_ITEM_SIZE,\n lastMeasuredColumnIndex: -1,\n lastMeasuredRowIndex: -1,\n rowMetadataMap: {}\n };\n\n instance.resetAfterColumnIndex = function (columnIndex, shouldForceUpdate) {\n if (shouldForceUpdate === void 0) {\n shouldForceUpdate = true;\n }\n\n instance.resetAfterIndices({\n columnIndex: columnIndex,\n shouldForceUpdate: shouldForceUpdate\n });\n };\n\n instance.resetAfterRowIndex = function (rowIndex, shouldForceUpdate) {\n if (shouldForceUpdate === void 0) {\n shouldForceUpdate = true;\n }\n\n instance.resetAfterIndices({\n rowIndex: rowIndex,\n shouldForceUpdate: shouldForceUpdate\n });\n };\n\n instance.resetAfterIndices = function (_ref6) {\n var columnIndex = _ref6.columnIndex,\n rowIndex = _ref6.rowIndex,\n _ref6$shouldForceUpda = _ref6.shouldForceUpdate,\n shouldForceUpdate = _ref6$shouldForceUpda === void 0 ? true : _ref6$shouldForceUpda;\n\n if (typeof columnIndex === 'number') {\n instanceProps.lastMeasuredColumnIndex = Math.min(instanceProps.lastMeasuredColumnIndex, columnIndex - 1);\n }\n\n if (typeof rowIndex === 'number') {\n instanceProps.lastMeasuredRowIndex = Math.min(instanceProps.lastMeasuredRowIndex, rowIndex - 1);\n } // We could potentially optimize further by only evicting styles after this index,\n // But since styles are only cached while scrolling is in progress-\n // It seems an unnecessary optimization.\n // It's unlikely that resetAfterIndex() will be called while a user is scrolling.\n\n\n instance._getItemStyleCache(-1);\n\n if (shouldForceUpdate) {\n instance.forceUpdate();\n }\n };\n\n return instanceProps;\n },\n shouldResetStyleCacheOnItemSizeChange: false,\n validateProps: function validateProps(_ref7) {\n var columnWidth = _ref7.columnWidth,\n rowHeight = _ref7.rowHeight;\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof columnWidth !== 'function') {\n throw Error('An invalid \"columnWidth\" prop has been specified. ' + 'Value should be a function. ' + (\"\\\"\" + (columnWidth === null ? 'null' : typeof columnWidth) + \"\\\" was specified.\"));\n } else if (typeof rowHeight !== 'function') {\n throw Error('An invalid \"rowHeight\" prop has been specified. ' + 'Value should be a function. ' + (\"\\\"\" + (rowHeight === null ? 'null' : typeof rowHeight) + \"\\\" was specified.\"));\n }\n }\n }\n});\n\nvar IS_SCROLLING_DEBOUNCE_INTERVAL$1 = 150;\n\nvar defaultItemKey$1 = function defaultItemKey(index, data) {\n return index;\n}; // In DEV mode, this Set helps us only log a warning once per component instance.\n// This avoids spamming the console every time a render happens.\n\n\nvar devWarningsDirection = null;\nvar devWarningsTagName$1 = null;\n\nif (process.env.NODE_ENV !== 'production') {\n if (typeof window !== 'undefined' && typeof window.WeakSet !== 'undefined') {\n devWarningsDirection =\n /*#__PURE__*/\n new WeakSet();\n devWarningsTagName$1 =\n /*#__PURE__*/\n new WeakSet();\n }\n}\n\nfunction createListComponent(_ref) {\n var _class, _temp;\n\n var getItemOffset = _ref.getItemOffset,\n getEstimatedTotalSize = _ref.getEstimatedTotalSize,\n getItemSize = _ref.getItemSize,\n getOffsetForIndexAndAlignment = _ref.getOffsetForIndexAndAlignment,\n getStartIndexForOffset = _ref.getStartIndexForOffset,\n getStopIndexForStartIndex = _ref.getStopIndexForStartIndex,\n initInstanceProps = _ref.initInstanceProps,\n shouldResetStyleCacheOnItemSizeChange = _ref.shouldResetStyleCacheOnItemSizeChange,\n validateProps = _ref.validateProps;\n return _temp = _class =\n /*#__PURE__*/\n function (_PureComponent) {\n _inheritsLoose(List, _PureComponent);\n\n // Always use explicit constructor for React components.\n // It produces less code after transpilation. (#26)\n // eslint-disable-next-line no-useless-constructor\n function List(props) {\n var _this;\n\n _this = _PureComponent.call(this, props) || this;\n _this._instanceProps = initInstanceProps(_this.props, _assertThisInitialized(_assertThisInitialized(_this)));\n _this._outerRef = void 0;\n _this._resetIsScrollingTimeoutId = null;\n _this.state = {\n instance: _assertThisInitialized(_assertThisInitialized(_this)),\n isScrolling: false,\n scrollDirection: 'forward',\n scrollOffset: typeof _this.props.initialScrollOffset === 'number' ? _this.props.initialScrollOffset : 0,\n scrollUpdateWasRequested: false\n };\n _this._callOnItemsRendered = void 0;\n _this._callOnItemsRendered = memoizeOne(function (overscanStartIndex, overscanStopIndex, visibleStartIndex, visibleStopIndex) {\n return _this.props.onItemsRendered({\n overscanStartIndex: overscanStartIndex,\n overscanStopIndex: overscanStopIndex,\n visibleStartIndex: visibleStartIndex,\n visibleStopIndex: visibleStopIndex\n });\n });\n _this._callOnScroll = void 0;\n _this._callOnScroll = memoizeOne(function (scrollDirection, scrollOffset, scrollUpdateWasRequested) {\n return _this.props.onScroll({\n scrollDirection: scrollDirection,\n scrollOffset: scrollOffset,\n scrollUpdateWasRequested: scrollUpdateWasRequested\n });\n });\n _this._getItemStyle = void 0;\n\n _this._getItemStyle = function (index) {\n var _this$props = _this.props,\n direction = _this$props.direction,\n itemSize = _this$props.itemSize,\n layout = _this$props.layout;\n\n var itemStyleCache = _this._getItemStyleCache(shouldResetStyleCacheOnItemSizeChange && itemSize, shouldResetStyleCacheOnItemSizeChange && layout, shouldResetStyleCacheOnItemSizeChange && direction);\n\n var style;\n\n if (itemStyleCache.hasOwnProperty(index)) {\n style = itemStyleCache[index];\n } else {\n var _offset = getItemOffset(_this.props, index, _this._instanceProps);\n\n var size = getItemSize(_this.props, index, _this._instanceProps); // TODO Deprecate direction \"horizontal\"\n\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var isRtl = direction === 'rtl';\n var offsetHorizontal = isHorizontal ? _offset : 0;\n itemStyleCache[index] = style = {\n position: 'absolute',\n left: isRtl ? undefined : offsetHorizontal,\n right: isRtl ? offsetHorizontal : undefined,\n top: !isHorizontal ? _offset : 0,\n height: !isHorizontal ? size : '100%',\n width: isHorizontal ? size : '100%'\n };\n }\n\n return style;\n };\n\n _this._getItemStyleCache = void 0;\n _this._getItemStyleCache = memoizeOne(function (_, __, ___) {\n return {};\n });\n\n _this._onScrollHorizontal = function (event) {\n var _event$currentTarget = event.currentTarget,\n clientWidth = _event$currentTarget.clientWidth,\n scrollLeft = _event$currentTarget.scrollLeft,\n scrollWidth = _event$currentTarget.scrollWidth;\n\n _this.setState(function (prevState) {\n if (prevState.scrollOffset === scrollLeft) {\n // Scroll position may have been updated by cDM/cDU,\n // In which case we don't need to trigger another render,\n // And we don't want to update state.isScrolling.\n return null;\n }\n\n var direction = _this.props.direction;\n var scrollOffset = scrollLeft;\n\n if (direction === 'rtl') {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // It's also easier for this component if we convert offsets to the same format as they would be in for ltr.\n // So the simplest solution is to determine which browser behavior we're dealing with, and convert based on it.\n switch (getRTLOffsetType()) {\n case 'negative':\n scrollOffset = -scrollLeft;\n break;\n\n case 'positive-descending':\n scrollOffset = scrollWidth - clientWidth - scrollLeft;\n break;\n }\n } // Prevent Safari's elastic scrolling from causing visual shaking when scrolling past bounds.\n\n\n scrollOffset = Math.max(0, Math.min(scrollOffset, scrollWidth - clientWidth));\n return {\n isScrolling: true,\n scrollDirection: prevState.scrollOffset < scrollLeft ? 'forward' : 'backward',\n scrollOffset: scrollOffset,\n scrollUpdateWasRequested: false\n };\n }, _this._resetIsScrollingDebounced);\n };\n\n _this._onScrollVertical = function (event) {\n var _event$currentTarget2 = event.currentTarget,\n clientHeight = _event$currentTarget2.clientHeight,\n scrollHeight = _event$currentTarget2.scrollHeight,\n scrollTop = _event$currentTarget2.scrollTop;\n\n _this.setState(function (prevState) {\n if (prevState.scrollOffset === scrollTop) {\n // Scroll position may have been updated by cDM/cDU,\n // In which case we don't need to trigger another render,\n // And we don't want to update state.isScrolling.\n return null;\n } // Prevent Safari's elastic scrolling from causing visual shaking when scrolling past bounds.\n\n\n var scrollOffset = Math.max(0, Math.min(scrollTop, scrollHeight - clientHeight));\n return {\n isScrolling: true,\n scrollDirection: prevState.scrollOffset < scrollOffset ? 'forward' : 'backward',\n scrollOffset: scrollOffset,\n scrollUpdateWasRequested: false\n };\n }, _this._resetIsScrollingDebounced);\n };\n\n _this._outerRefSetter = function (ref) {\n var outerRef = _this.props.outerRef;\n _this._outerRef = ref;\n\n if (typeof outerRef === 'function') {\n outerRef(ref);\n } else if (outerRef != null && typeof outerRef === 'object' && outerRef.hasOwnProperty('current')) {\n outerRef.current = ref;\n }\n };\n\n _this._resetIsScrollingDebounced = function () {\n if (_this._resetIsScrollingTimeoutId !== null) {\n cancelTimeout(_this._resetIsScrollingTimeoutId);\n }\n\n _this._resetIsScrollingTimeoutId = requestTimeout(_this._resetIsScrolling, IS_SCROLLING_DEBOUNCE_INTERVAL$1);\n };\n\n _this._resetIsScrolling = function () {\n _this._resetIsScrollingTimeoutId = null;\n\n _this.setState({\n isScrolling: false\n }, function () {\n // Clear style cache after state update has been committed.\n // This way we don't break pure sCU for items that don't use isScrolling param.\n _this._getItemStyleCache(-1, null);\n });\n };\n\n return _this;\n }\n\n List.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n validateSharedProps$1(nextProps, prevState);\n validateProps(nextProps);\n return null;\n };\n\n var _proto = List.prototype;\n\n _proto.scrollTo = function scrollTo(scrollOffset) {\n scrollOffset = Math.max(0, scrollOffset);\n this.setState(function (prevState) {\n if (prevState.scrollOffset === scrollOffset) {\n return null;\n }\n\n return {\n scrollDirection: prevState.scrollOffset < scrollOffset ? 'forward' : 'backward',\n scrollOffset: scrollOffset,\n scrollUpdateWasRequested: true\n };\n }, this._resetIsScrollingDebounced);\n };\n\n _proto.scrollToItem = function scrollToItem(index, align) {\n if (align === void 0) {\n align = 'auto';\n }\n\n var itemCount = this.props.itemCount;\n var scrollOffset = this.state.scrollOffset;\n index = Math.max(0, Math.min(index, itemCount - 1));\n this.scrollTo(getOffsetForIndexAndAlignment(this.props, index, align, scrollOffset, this._instanceProps));\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var _this$props2 = this.props,\n direction = _this$props2.direction,\n initialScrollOffset = _this$props2.initialScrollOffset,\n layout = _this$props2.layout;\n\n if (typeof initialScrollOffset === 'number' && this._outerRef != null) {\n var outerRef = this._outerRef; // TODO Deprecate direction \"horizontal\"\n\n if (direction === 'horizontal' || layout === 'horizontal') {\n outerRef.scrollLeft = initialScrollOffset;\n } else {\n outerRef.scrollTop = initialScrollOffset;\n }\n }\n\n this._callPropsCallbacks();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n var _this$props3 = this.props,\n direction = _this$props3.direction,\n layout = _this$props3.layout;\n var _this$state = this.state,\n scrollOffset = _this$state.scrollOffset,\n scrollUpdateWasRequested = _this$state.scrollUpdateWasRequested;\n\n if (scrollUpdateWasRequested && this._outerRef != null) {\n var outerRef = this._outerRef; // TODO Deprecate direction \"horizontal\"\n\n if (direction === 'horizontal' || layout === 'horizontal') {\n if (direction === 'rtl') {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // So we need to determine which browser behavior we're dealing with, and mimic it.\n switch (getRTLOffsetType()) {\n case 'negative':\n outerRef.scrollLeft = -scrollOffset;\n break;\n\n case 'positive-ascending':\n outerRef.scrollLeft = scrollOffset;\n break;\n\n default:\n var clientWidth = outerRef.clientWidth,\n scrollWidth = outerRef.scrollWidth;\n outerRef.scrollLeft = scrollWidth - clientWidth - scrollOffset;\n break;\n }\n } else {\n outerRef.scrollLeft = scrollOffset;\n }\n } else {\n outerRef.scrollTop = scrollOffset;\n }\n }\n\n this._callPropsCallbacks();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this._resetIsScrollingTimeoutId !== null) {\n cancelTimeout(this._resetIsScrollingTimeoutId);\n }\n };\n\n _proto.render = function render() {\n var _this$props4 = this.props,\n children = _this$props4.children,\n className = _this$props4.className,\n direction = _this$props4.direction,\n height = _this$props4.height,\n innerRef = _this$props4.innerRef,\n innerElementType = _this$props4.innerElementType,\n innerTagName = _this$props4.innerTagName,\n itemCount = _this$props4.itemCount,\n itemData = _this$props4.itemData,\n _this$props4$itemKey = _this$props4.itemKey,\n itemKey = _this$props4$itemKey === void 0 ? defaultItemKey$1 : _this$props4$itemKey,\n layout = _this$props4.layout,\n outerElementType = _this$props4.outerElementType,\n outerTagName = _this$props4.outerTagName,\n style = _this$props4.style,\n useIsScrolling = _this$props4.useIsScrolling,\n width = _this$props4.width;\n var isScrolling = this.state.isScrolling; // TODO Deprecate direction \"horizontal\"\n\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var onScroll = isHorizontal ? this._onScrollHorizontal : this._onScrollVertical;\n\n var _this$_getRangeToRend = this._getRangeToRender(),\n startIndex = _this$_getRangeToRend[0],\n stopIndex = _this$_getRangeToRend[1];\n\n var items = [];\n\n if (itemCount > 0) {\n for (var _index = startIndex; _index <= stopIndex; _index++) {\n items.push(createElement(children, {\n data: itemData,\n key: itemKey(_index, itemData),\n index: _index,\n isScrolling: useIsScrolling ? isScrolling : undefined,\n style: this._getItemStyle(_index)\n }));\n }\n } // Read this value AFTER items have been created,\n // So their actual sizes (if variable) are taken into consideration.\n\n\n var estimatedTotalSize = getEstimatedTotalSize(this.props, this._instanceProps);\n return createElement(outerElementType || outerTagName || 'div', {\n className: className,\n onScroll: onScroll,\n ref: this._outerRefSetter,\n style: _extends({\n position: 'relative',\n height: height,\n width: width,\n overflow: 'auto',\n WebkitOverflowScrolling: 'touch',\n willChange: 'transform',\n direction: direction\n }, style)\n }, createElement(innerElementType || innerTagName || 'div', {\n children: items,\n ref: innerRef,\n style: {\n height: isHorizontal ? '100%' : estimatedTotalSize,\n pointerEvents: isScrolling ? 'none' : undefined,\n width: isHorizontal ? estimatedTotalSize : '100%'\n }\n }));\n };\n\n _proto._callPropsCallbacks = function _callPropsCallbacks() {\n if (typeof this.props.onItemsRendered === 'function') {\n var itemCount = this.props.itemCount;\n\n if (itemCount > 0) {\n var _this$_getRangeToRend2 = this._getRangeToRender(),\n _overscanStartIndex = _this$_getRangeToRend2[0],\n _overscanStopIndex = _this$_getRangeToRend2[1],\n _visibleStartIndex = _this$_getRangeToRend2[2],\n _visibleStopIndex = _this$_getRangeToRend2[3];\n\n this._callOnItemsRendered(_overscanStartIndex, _overscanStopIndex, _visibleStartIndex, _visibleStopIndex);\n }\n }\n\n if (typeof this.props.onScroll === 'function') {\n var _this$state2 = this.state,\n _scrollDirection = _this$state2.scrollDirection,\n _scrollOffset = _this$state2.scrollOffset,\n _scrollUpdateWasRequested = _this$state2.scrollUpdateWasRequested;\n\n this._callOnScroll(_scrollDirection, _scrollOffset, _scrollUpdateWasRequested);\n }\n }; // Lazily create and cache item styles while scrolling,\n // So that pure component sCU will prevent re-renders.\n // We maintain this cache, and pass a style prop rather than index,\n // So that List can clear cached styles and force item re-render if necessary.\n\n\n _proto._getRangeToRender = function _getRangeToRender() {\n var _this$props5 = this.props,\n itemCount = _this$props5.itemCount,\n overscanCount = _this$props5.overscanCount;\n var _this$state3 = this.state,\n isScrolling = _this$state3.isScrolling,\n scrollDirection = _this$state3.scrollDirection,\n scrollOffset = _this$state3.scrollOffset;\n\n if (itemCount === 0) {\n return [0, 0, 0, 0];\n }\n\n var startIndex = getStartIndexForOffset(this.props, scrollOffset, this._instanceProps);\n var stopIndex = getStopIndexForStartIndex(this.props, startIndex, scrollOffset, this._instanceProps); // Overscan by one item in each direction so that tab/focus works.\n // If there isn't at least one extra item, tab loops back around.\n\n var overscanBackward = !isScrolling || scrollDirection === 'backward' ? Math.max(1, overscanCount) : 1;\n var overscanForward = !isScrolling || scrollDirection === 'forward' ? Math.max(1, overscanCount) : 1;\n return [Math.max(0, startIndex - overscanBackward), Math.max(0, Math.min(itemCount - 1, stopIndex + overscanForward)), startIndex, stopIndex];\n };\n\n return List;\n }(PureComponent), _class.defaultProps = {\n direction: 'ltr',\n itemData: undefined,\n layout: 'vertical',\n overscanCount: 2,\n useIsScrolling: false\n }, _temp;\n} // NOTE: I considered further wrapping individual items with a pure ListItem component.\n// This would avoid ever calling the render function for the same index more than once,\n// But it would also add the overhead of a lot of components/fibers.\n// I assume people already do this (render function returning a class component),\n// So my doing it would just unnecessarily double the wrappers.\n\nvar validateSharedProps$1 = function validateSharedProps(_ref2, _ref3) {\n var children = _ref2.children,\n direction = _ref2.direction,\n height = _ref2.height,\n layout = _ref2.layout,\n innerTagName = _ref2.innerTagName,\n outerTagName = _ref2.outerTagName,\n width = _ref2.width;\n var instance = _ref3.instance;\n\n if (process.env.NODE_ENV !== 'production') {\n if (innerTagName != null || outerTagName != null) {\n if (devWarningsTagName$1 && !devWarningsTagName$1.has(instance)) {\n devWarningsTagName$1.add(instance);\n console.warn('The innerTagName and outerTagName props have been deprecated. ' + 'Please use the innerElementType and outerElementType props instead.');\n }\n } // TODO Deprecate direction \"horizontal\"\n\n\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n\n switch (direction) {\n case 'horizontal':\n case 'vertical':\n if (devWarningsDirection && !devWarningsDirection.has(instance)) {\n devWarningsDirection.add(instance);\n console.warn('The direction prop should be either \"ltr\" (default) or \"rtl\". ' + 'Please use the layout prop to specify \"vertical\" (default) or \"horizontal\" orientation.');\n }\n\n break;\n\n case 'ltr':\n case 'rtl':\n // Valid values\n break;\n\n default:\n throw Error('An invalid \"direction\" prop has been specified. ' + 'Value should be either \"ltr\" or \"rtl\". ' + (\"\\\"\" + direction + \"\\\" was specified.\"));\n }\n\n switch (layout) {\n case 'horizontal':\n case 'vertical':\n // Valid values\n break;\n\n default:\n throw Error('An invalid \"layout\" prop has been specified. ' + 'Value should be either \"horizontal\" or \"vertical\". ' + (\"\\\"\" + layout + \"\\\" was specified.\"));\n }\n\n if (children == null) {\n throw Error('An invalid \"children\" prop has been specified. ' + 'Value should be a React component. ' + (\"\\\"\" + (children === null ? 'null' : typeof children) + \"\\\" was specified.\"));\n }\n\n if (isHorizontal && typeof width !== 'number') {\n throw Error('An invalid \"width\" prop has been specified. ' + 'Horizontal lists must specify a number for width. ' + (\"\\\"\" + (width === null ? 'null' : typeof width) + \"\\\" was specified.\"));\n } else if (!isHorizontal && typeof height !== 'number') {\n throw Error('An invalid \"height\" prop has been specified. ' + 'Vertical lists must specify a number for height. ' + (\"\\\"\" + (height === null ? 'null' : typeof height) + \"\\\" was specified.\"));\n }\n }\n};\n\nvar DEFAULT_ESTIMATED_ITEM_SIZE$1 = 50;\n\nvar getItemMetadata$1 = function getItemMetadata(props, index, instanceProps) {\n var _ref = props,\n itemSize = _ref.itemSize;\n var itemMetadataMap = instanceProps.itemMetadataMap,\n lastMeasuredIndex = instanceProps.lastMeasuredIndex;\n\n if (index > lastMeasuredIndex) {\n var offset = 0;\n\n if (lastMeasuredIndex >= 0) {\n var itemMetadata = itemMetadataMap[lastMeasuredIndex];\n offset = itemMetadata.offset + itemMetadata.size;\n }\n\n for (var i = lastMeasuredIndex + 1; i <= index; i++) {\n var size = itemSize(i);\n itemMetadataMap[i] = {\n offset: offset,\n size: size\n };\n offset += size;\n }\n\n instanceProps.lastMeasuredIndex = index;\n }\n\n return itemMetadataMap[index];\n};\n\nvar findNearestItem$1 = function findNearestItem(props, instanceProps, offset) {\n var itemMetadataMap = instanceProps.itemMetadataMap,\n lastMeasuredIndex = instanceProps.lastMeasuredIndex;\n var lastMeasuredItemOffset = lastMeasuredIndex > 0 ? itemMetadataMap[lastMeasuredIndex].offset : 0;\n\n if (lastMeasuredItemOffset >= offset) {\n // If we've already measured items within this range just use a binary search as it's faster.\n return findNearestItemBinarySearch$1(props, instanceProps, lastMeasuredIndex, 0, offset);\n } else {\n // If we haven't yet measured this high, fallback to an exponential search with an inner binary search.\n // The exponential search avoids pre-computing sizes for the full set of items as a binary search would.\n // The overall complexity for this approach is O(log n).\n return findNearestItemExponentialSearch$1(props, instanceProps, Math.max(0, lastMeasuredIndex), offset);\n }\n};\n\nvar findNearestItemBinarySearch$1 = function findNearestItemBinarySearch(props, instanceProps, high, low, offset) {\n while (low <= high) {\n var middle = low + Math.floor((high - low) / 2);\n var currentOffset = getItemMetadata$1(props, middle, instanceProps).offset;\n\n if (currentOffset === offset) {\n return middle;\n } else if (currentOffset < offset) {\n low = middle + 1;\n } else if (currentOffset > offset) {\n high = middle - 1;\n }\n }\n\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\n\nvar findNearestItemExponentialSearch$1 = function findNearestItemExponentialSearch(props, instanceProps, index, offset) {\n var itemCount = props.itemCount;\n var interval = 1;\n\n while (index < itemCount && getItemMetadata$1(props, index, instanceProps).offset < offset) {\n index += interval;\n interval *= 2;\n }\n\n return findNearestItemBinarySearch$1(props, instanceProps, Math.min(index, itemCount - 1), Math.floor(index / 2), offset);\n};\n\nvar getEstimatedTotalSize = function getEstimatedTotalSize(_ref2, _ref3) {\n var itemCount = _ref2.itemCount;\n var itemMetadataMap = _ref3.itemMetadataMap,\n estimatedItemSize = _ref3.estimatedItemSize,\n lastMeasuredIndex = _ref3.lastMeasuredIndex;\n var totalSizeOfMeasuredItems = 0; // Edge case check for when the number of items decreases while a scroll is in progress.\n // https://github.com/bvaughn/react-window/pull/138\n\n if (lastMeasuredIndex >= itemCount) {\n lastMeasuredIndex = itemCount - 1;\n }\n\n if (lastMeasuredIndex >= 0) {\n var itemMetadata = itemMetadataMap[lastMeasuredIndex];\n totalSizeOfMeasuredItems = itemMetadata.offset + itemMetadata.size;\n }\n\n var numUnmeasuredItems = itemCount - lastMeasuredIndex - 1;\n var totalSizeOfUnmeasuredItems = numUnmeasuredItems * estimatedItemSize;\n return totalSizeOfMeasuredItems + totalSizeOfUnmeasuredItems;\n};\n\nvar VariableSizeList =\n/*#__PURE__*/\ncreateListComponent({\n getItemOffset: function getItemOffset(props, index, instanceProps) {\n return getItemMetadata$1(props, index, instanceProps).offset;\n },\n getItemSize: function getItemSize(props, index, instanceProps) {\n return instanceProps.itemMetadataMap[index].size;\n },\n getEstimatedTotalSize: getEstimatedTotalSize,\n getOffsetForIndexAndAlignment: function getOffsetForIndexAndAlignment(props, index, align, scrollOffset, instanceProps) {\n var direction = props.direction,\n height = props.height,\n layout = props.layout,\n width = props.width; // TODO Deprecate direction \"horizontal\"\n\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var size = isHorizontal ? width : height;\n var itemMetadata = getItemMetadata$1(props, index, instanceProps); // Get estimated total size after ItemMetadata is computed,\n // To ensure it reflects actual measurements instead of just estimates.\n\n var estimatedTotalSize = getEstimatedTotalSize(props, instanceProps);\n var maxOffset = Math.max(0, Math.min(estimatedTotalSize - size, itemMetadata.offset));\n var minOffset = Math.max(0, itemMetadata.offset - size + itemMetadata.size);\n\n if (align === 'smart') {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n align = 'auto';\n } else {\n align = 'center';\n }\n }\n\n switch (align) {\n case 'start':\n return maxOffset;\n\n case 'end':\n return minOffset;\n\n case 'center':\n return Math.round(minOffset + (maxOffset - minOffset) / 2);\n\n case 'auto':\n default:\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset;\n } else if (scrollOffset < minOffset) {\n return minOffset;\n } else {\n return maxOffset;\n }\n\n }\n },\n getStartIndexForOffset: function getStartIndexForOffset(props, offset, instanceProps) {\n return findNearestItem$1(props, instanceProps, offset);\n },\n getStopIndexForStartIndex: function getStopIndexForStartIndex(props, startIndex, scrollOffset, instanceProps) {\n var direction = props.direction,\n height = props.height,\n itemCount = props.itemCount,\n layout = props.layout,\n width = props.width; // TODO Deprecate direction \"horizontal\"\n\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var size = isHorizontal ? width : height;\n var itemMetadata = getItemMetadata$1(props, startIndex, instanceProps);\n var maxOffset = scrollOffset + size;\n var offset = itemMetadata.offset + itemMetadata.size;\n var stopIndex = startIndex;\n\n while (stopIndex < itemCount - 1 && offset < maxOffset) {\n stopIndex++;\n offset += getItemMetadata$1(props, stopIndex, instanceProps).size;\n }\n\n return stopIndex;\n },\n initInstanceProps: function initInstanceProps(props, instance) {\n var _ref4 = props,\n estimatedItemSize = _ref4.estimatedItemSize;\n var instanceProps = {\n itemMetadataMap: {},\n estimatedItemSize: estimatedItemSize || DEFAULT_ESTIMATED_ITEM_SIZE$1,\n lastMeasuredIndex: -1\n };\n\n instance.resetAfterIndex = function (index, shouldForceUpdate) {\n if (shouldForceUpdate === void 0) {\n shouldForceUpdate = true;\n }\n\n instanceProps.lastMeasuredIndex = Math.min(instanceProps.lastMeasuredIndex, index - 1); // We could potentially optimize further by only evicting styles after this index,\n // But since styles are only cached while scrolling is in progress-\n // It seems an unnecessary optimization.\n // It's unlikely that resetAfterIndex() will be called while a user is scrolling.\n\n instance._getItemStyleCache(-1);\n\n if (shouldForceUpdate) {\n instance.forceUpdate();\n }\n };\n\n return instanceProps;\n },\n shouldResetStyleCacheOnItemSizeChange: false,\n validateProps: function validateProps(_ref5) {\n var itemSize = _ref5.itemSize;\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof itemSize !== 'function') {\n throw Error('An invalid \"itemSize\" prop has been specified. ' + 'Value should be a function. ' + (\"\\\"\" + (itemSize === null ? 'null' : typeof itemSize) + \"\\\" was specified.\"));\n }\n }\n }\n});\n\nvar FixedSizeGrid =\n/*#__PURE__*/\ncreateGridComponent({\n getColumnOffset: function getColumnOffset(_ref, index) {\n var columnWidth = _ref.columnWidth;\n return index * columnWidth;\n },\n getColumnWidth: function getColumnWidth(_ref2, index) {\n var columnWidth = _ref2.columnWidth;\n return columnWidth;\n },\n getRowOffset: function getRowOffset(_ref3, index) {\n var rowHeight = _ref3.rowHeight;\n return index * rowHeight;\n },\n getRowHeight: function getRowHeight(_ref4, index) {\n var rowHeight = _ref4.rowHeight;\n return rowHeight;\n },\n getEstimatedTotalHeight: function getEstimatedTotalHeight(_ref5) {\n var rowCount = _ref5.rowCount,\n rowHeight = _ref5.rowHeight;\n return rowHeight * rowCount;\n },\n getEstimatedTotalWidth: function getEstimatedTotalWidth(_ref6) {\n var columnCount = _ref6.columnCount,\n columnWidth = _ref6.columnWidth;\n return columnWidth * columnCount;\n },\n getOffsetForColumnAndAlignment: function getOffsetForColumnAndAlignment(_ref7, columnIndex, align, scrollLeft, instanceProps, scrollbarSize) {\n var columnCount = _ref7.columnCount,\n columnWidth = _ref7.columnWidth,\n width = _ref7.width;\n var lastColumnOffset = Math.max(0, columnCount * columnWidth - width);\n var maxOffset = Math.min(lastColumnOffset, columnIndex * columnWidth);\n var minOffset = Math.max(0, columnIndex * columnWidth - width + scrollbarSize + columnWidth);\n\n if (align === 'smart') {\n if (scrollLeft >= minOffset - width && scrollLeft <= maxOffset + width) {\n align = 'auto';\n } else {\n align = 'center';\n }\n }\n\n switch (align) {\n case 'start':\n return maxOffset;\n\n case 'end':\n return minOffset;\n\n case 'center':\n // \"Centered\" offset is usually the average of the min and max.\n // But near the edges of the list, this doesn't hold true.\n var middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2);\n\n if (middleOffset < Math.ceil(width / 2)) {\n return 0; // near the beginning\n } else if (middleOffset > lastColumnOffset + Math.floor(width / 2)) {\n return lastColumnOffset; // near the end\n } else {\n return middleOffset;\n }\n\n case 'auto':\n default:\n if (scrollLeft >= minOffset && scrollLeft <= maxOffset) {\n return scrollLeft;\n } else if (minOffset > maxOffset) {\n // Because we only take into account the scrollbar size when calculating minOffset\n // this value can be larger than maxOffset when at the end of the list\n return minOffset;\n } else if (scrollLeft < minOffset) {\n return minOffset;\n } else {\n return maxOffset;\n }\n\n }\n },\n getOffsetForRowAndAlignment: function getOffsetForRowAndAlignment(_ref8, rowIndex, align, scrollTop, instanceProps, scrollbarSize) {\n var rowHeight = _ref8.rowHeight,\n height = _ref8.height,\n rowCount = _ref8.rowCount;\n var lastRowOffset = Math.max(0, rowCount * rowHeight - height);\n var maxOffset = Math.min(lastRowOffset, rowIndex * rowHeight);\n var minOffset = Math.max(0, rowIndex * rowHeight - height + scrollbarSize + rowHeight);\n\n if (align === 'smart') {\n if (scrollTop >= minOffset - height && scrollTop <= maxOffset + height) {\n align = 'auto';\n } else {\n align = 'center';\n }\n }\n\n switch (align) {\n case 'start':\n return maxOffset;\n\n case 'end':\n return minOffset;\n\n case 'center':\n // \"Centered\" offset is usually the average of the min and max.\n // But near the edges of the list, this doesn't hold true.\n var middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2);\n\n if (middleOffset < Math.ceil(height / 2)) {\n return 0; // near the beginning\n } else if (middleOffset > lastRowOffset + Math.floor(height / 2)) {\n return lastRowOffset; // near the end\n } else {\n return middleOffset;\n }\n\n case 'auto':\n default:\n if (scrollTop >= minOffset && scrollTop <= maxOffset) {\n return scrollTop;\n } else if (minOffset > maxOffset) {\n // Because we only take into account the scrollbar size when calculating minOffset\n // this value can be larger than maxOffset when at the end of the list\n return minOffset;\n } else if (scrollTop < minOffset) {\n return minOffset;\n } else {\n return maxOffset;\n }\n\n }\n },\n getColumnStartIndexForOffset: function getColumnStartIndexForOffset(_ref9, scrollLeft) {\n var columnWidth = _ref9.columnWidth,\n columnCount = _ref9.columnCount;\n return Math.max(0, Math.min(columnCount - 1, Math.floor(scrollLeft / columnWidth)));\n },\n getColumnStopIndexForStartIndex: function getColumnStopIndexForStartIndex(_ref10, startIndex, scrollLeft) {\n var columnWidth = _ref10.columnWidth,\n columnCount = _ref10.columnCount,\n width = _ref10.width;\n var left = startIndex * columnWidth;\n var numVisibleColumns = Math.ceil((width + scrollLeft - left) / columnWidth);\n return Math.max(0, Math.min(columnCount - 1, startIndex + numVisibleColumns - 1 // -1 is because stop index is inclusive\n ));\n },\n getRowStartIndexForOffset: function getRowStartIndexForOffset(_ref11, scrollTop) {\n var rowHeight = _ref11.rowHeight,\n rowCount = _ref11.rowCount;\n return Math.max(0, Math.min(rowCount - 1, Math.floor(scrollTop / rowHeight)));\n },\n getRowStopIndexForStartIndex: function getRowStopIndexForStartIndex(_ref12, startIndex, scrollTop) {\n var rowHeight = _ref12.rowHeight,\n rowCount = _ref12.rowCount,\n height = _ref12.height;\n var top = startIndex * rowHeight;\n var numVisibleRows = Math.ceil((height + scrollTop - top) / rowHeight);\n return Math.max(0, Math.min(rowCount - 1, startIndex + numVisibleRows - 1 // -1 is because stop index is inclusive\n ));\n },\n initInstanceProps: function initInstanceProps(props) {// Noop\n },\n shouldResetStyleCacheOnItemSizeChange: true,\n validateProps: function validateProps(_ref13) {\n var columnWidth = _ref13.columnWidth,\n rowHeight = _ref13.rowHeight;\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof columnWidth !== 'number') {\n throw Error('An invalid \"columnWidth\" prop has been specified. ' + 'Value should be a number. ' + (\"\\\"\" + (columnWidth === null ? 'null' : typeof columnWidth) + \"\\\" was specified.\"));\n }\n\n if (typeof rowHeight !== 'number') {\n throw Error('An invalid \"rowHeight\" prop has been specified. ' + 'Value should be a number. ' + (\"\\\"\" + (rowHeight === null ? 'null' : typeof rowHeight) + \"\\\" was specified.\"));\n }\n }\n }\n});\n\nvar FixedSizeList =\n/*#__PURE__*/\ncreateListComponent({\n getItemOffset: function getItemOffset(_ref, index) {\n var itemSize = _ref.itemSize;\n return index * itemSize;\n },\n getItemSize: function getItemSize(_ref2, index) {\n var itemSize = _ref2.itemSize;\n return itemSize;\n },\n getEstimatedTotalSize: function getEstimatedTotalSize(_ref3) {\n var itemCount = _ref3.itemCount,\n itemSize = _ref3.itemSize;\n return itemSize * itemCount;\n },\n getOffsetForIndexAndAlignment: function getOffsetForIndexAndAlignment(_ref4, index, align, scrollOffset) {\n var direction = _ref4.direction,\n height = _ref4.height,\n itemCount = _ref4.itemCount,\n itemSize = _ref4.itemSize,\n layout = _ref4.layout,\n width = _ref4.width;\n // TODO Deprecate direction \"horizontal\"\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var size = isHorizontal ? width : height;\n var lastItemOffset = Math.max(0, itemCount * itemSize - size);\n var maxOffset = Math.min(lastItemOffset, index * itemSize);\n var minOffset = Math.max(0, index * itemSize - size + itemSize);\n\n if (align === 'smart') {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n align = 'auto';\n } else {\n align = 'center';\n }\n }\n\n switch (align) {\n case 'start':\n return maxOffset;\n\n case 'end':\n return minOffset;\n\n case 'center':\n {\n // \"Centered\" offset is usually the average of the min and max.\n // But near the edges of the list, this doesn't hold true.\n var middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2);\n\n if (middleOffset < Math.ceil(size / 2)) {\n return 0; // near the beginning\n } else if (middleOffset > lastItemOffset + Math.floor(size / 2)) {\n return lastItemOffset; // near the end\n } else {\n return middleOffset;\n }\n }\n\n case 'auto':\n default:\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset;\n } else if (scrollOffset < minOffset) {\n return minOffset;\n } else {\n return maxOffset;\n }\n\n }\n },\n getStartIndexForOffset: function getStartIndexForOffset(_ref5, offset) {\n var itemCount = _ref5.itemCount,\n itemSize = _ref5.itemSize;\n return Math.max(0, Math.min(itemCount - 1, Math.floor(offset / itemSize)));\n },\n getStopIndexForStartIndex: function getStopIndexForStartIndex(_ref6, startIndex, scrollOffset) {\n var direction = _ref6.direction,\n height = _ref6.height,\n itemCount = _ref6.itemCount,\n itemSize = _ref6.itemSize,\n layout = _ref6.layout,\n width = _ref6.width;\n // TODO Deprecate direction \"horizontal\"\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var offset = startIndex * itemSize;\n var size = isHorizontal ? width : height;\n var numVisibleItems = Math.ceil((size + scrollOffset - offset) / itemSize);\n return Math.max(0, Math.min(itemCount - 1, startIndex + numVisibleItems - 1 // -1 is because stop index is inclusive\n ));\n },\n initInstanceProps: function initInstanceProps(props) {// Noop\n },\n shouldResetStyleCacheOnItemSizeChange: true,\n validateProps: function validateProps(_ref7) {\n var itemSize = _ref7.itemSize;\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof itemSize !== 'number') {\n throw Error('An invalid \"itemSize\" prop has been specified. ' + 'Value should be a number. ' + (\"\\\"\" + (itemSize === null ? 'null' : typeof itemSize) + \"\\\" was specified.\"));\n }\n }\n }\n});\n\n// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(prev, next) {\n for (var attribute in prev) {\n if (!(attribute in next)) {\n return true;\n }\n }\n\n for (var _attribute in next) {\n if (prev[_attribute] !== next[_attribute]) {\n return true;\n }\n }\n\n return false;\n}\n\n// It knows to compare individual style props and ignore the wrapper object.\n// See https://reactjs.org/docs/react-api.html#reactmemo\n\nfunction areEqual(prevProps, nextProps) {\n var prevStyle = prevProps.style,\n prevRest = _objectWithoutPropertiesLoose(prevProps, [\"style\"]);\n\n var nextStyle = nextProps.style,\n nextRest = _objectWithoutPropertiesLoose(nextProps, [\"style\"]);\n\n return !shallowDiffers(prevStyle, nextStyle) && !shallowDiffers(prevRest, nextRest);\n}\n\n// It knows to compare individual style props and ignore the wrapper object.\n// See https://reactjs.org/docs/react-component.html#shouldcomponentupdate\n\nfunction shouldComponentUpdate(nextProps, nextState) {\n return !areEqual(this.props, nextProps) || shallowDiffers(this.state, nextState);\n}\n\nexport { VariableSizeGrid, VariableSizeList, FixedSizeGrid, FixedSizeList, areEqual, shouldComponentUpdate };\n//# sourceMappingURL=index.esm.js.map\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useDispatch } from 'react-redux';\nimport { resultsSlice, selectResultsQuery, useTranslate, useTypedSelector } from 'state';\nimport styles from './ResultsInput.module.scss';\n\nvar ResultsInput = function ResultsInput(_ref) {\n var className = _ref.className;\n var dispatch = useDispatch();\n var translate = useTranslate();\n var value = useTypedSelector(selectResultsQuery);\n\n var handleChange = function handleChange(event) {\n dispatch(resultsSlice.actions.changeQuery(event.target.value));\n };\n\n return /*#__PURE__*/_jsx(\"form\", {\n className: classNames(styles.resultsInput, className),\n children: /*#__PURE__*/_jsx(\"input\", {\n className: styles.input,\n placeholder: translate('results.input.placeholder'),\n type: \"text\",\n value: value,\n onChange: handleChange\n })\n });\n};\n\nexport default ResultsInput;","import { ResultColumn } from 'types';\nimport styles from './Results.module.scss';\nexport var COLUMNS = [{\n className: styles.word,\n id: ResultColumn.Word,\n translationKey: 'common.word'\n}, {\n className: styles.stat,\n id: ResultColumn.TilesCount,\n translationKey: 'common.tiles'\n}, {\n className: styles.stat,\n id: ResultColumn.ConsonantsCount,\n translationKey: 'common.consonants'\n}, {\n className: styles.stat,\n id: ResultColumn.VowelsCount,\n translationKey: 'common.vowels'\n}, {\n className: styles.stat,\n id: ResultColumn.BlanksCount,\n translationKey: 'common.blanks'\n}, {\n className: styles.stat,\n id: ResultColumn.WordsCount,\n translationKey: 'common.words'\n}, {\n className: styles.points,\n id: ResultColumn.Points,\n translationKey: 'common.points'\n}];","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useDispatch } from 'react-redux';\nimport { sortDown, sortUp } from 'icons';\nimport { resultsSlice, selectResultsSortColumn, selectResultsSortDirection, useTranslate, useTypedSelector } from 'state';\nimport { SortDirection } from 'types';\nimport SvgIcon from '../SvgIcon';\nimport { useTooltip } from '../Tooltip';\nimport styles from './Results.module.scss';\n\nvar HeaderButton = function HeaderButton(_ref) {\n var column = _ref.column;\n var dispatch = useDispatch();\n var translate = useTranslate();\n var sortColumn = useTypedSelector(selectResultsSortColumn);\n var sortDirection = useTypedSelector(selectResultsSortDirection);\n var triggerProps = useTooltip(translate(column.translationKey));\n\n var handleOrderChange = function handleOrderChange(columnId) {\n dispatch(resultsSlice.actions.sort(columnId));\n };\n\n return /*#__PURE__*/_jsx(\"button\", _objectSpread(_objectSpread({\n className: classNames(styles.headerButton, column.className),\n type: \"button\",\n onClick: function onClick() {\n return handleOrderChange(column.id);\n }\n }, triggerProps), {}, {\n children: /*#__PURE__*/_jsxs(\"span\", {\n className: styles.cell,\n children: [/*#__PURE__*/_jsx(\"span\", {\n className: styles.headerButtonLabel,\n children: translate(column.translationKey)\n }), sortColumn === column.id && /*#__PURE__*/_jsx(SvgIcon, {\n className: styles.sortIcon,\n icon: sortDirection === SortDirection.Ascending ? sortUp : sortDown\n })]\n })\n }), column.id);\n};\n\nexport default HeaderButton;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useTranslate } from 'state';\nimport { useTooltip } from '../Tooltip';\nimport styles from './Results.module.scss';\n\nvar Cell = function Cell(_ref) {\n var className = _ref.className,\n translationKey = _ref.translationKey,\n value = _ref.value;\n var translate = useTranslate();\n var triggerProps = useTooltip(\"\".concat(translate(translationKey), \": \").concat(value));\n return /*#__PURE__*/_jsx(\"span\", _objectSpread(_objectSpread({\n className: classNames(styles.cell, className)\n }, triggerProps), {}, {\n children: value\n }));\n};\n\nexport default Cell;","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from 'react';\nimport { useDispatch } from 'react-redux';\nimport { resultsSlice, selectSortedFilteredResults, useTypedSelector } from 'state';\nimport Cell from './Cell';\nimport styles from './Results.module.scss';\n\nvar Result = function Result(_ref) {\n var index = _ref.index,\n style = _ref.style;\n var dispatch = useDispatch(); // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\n var results = useTypedSelector(selectSortedFilteredResults);\n var result = results[index];\n\n var handleClick = function handleClick() {\n dispatch(resultsSlice.actions.applyResult(result));\n };\n\n var handleMouseEnter = function handleMouseEnter() {\n dispatch(resultsSlice.actions.changeResultCandidate(result));\n };\n\n var handleMouseLeave = function handleMouseLeave() {\n dispatch(resultsSlice.actions.changeResultCandidate(null));\n };\n\n var handleFocus = function handleFocus() {\n dispatch(resultsSlice.actions.changeResultCandidate(result));\n };\n\n var handleBlur = function handleBlur() {\n dispatch(resultsSlice.actions.changeResultCandidate(null));\n };\n\n return /*#__PURE__*/_jsx(\"button\", {\n className: styles.result,\n style: style,\n type: \"button\",\n onBlur: handleBlur,\n onClick: handleClick,\n onFocus: handleFocus,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n children: /*#__PURE__*/_jsxs(\"span\", {\n className: styles.resultContent,\n children: [/*#__PURE__*/_jsx(Cell, {\n className: styles.word,\n translationKey: \"common.word\",\n value: result.word\n }), /*#__PURE__*/_jsx(Cell, {\n className: styles.stat,\n translationKey: \"common.tiles\",\n value: result.numberOfTiles\n }), /*#__PURE__*/_jsx(Cell, {\n className: styles.stat,\n translationKey: \"common.consonants\",\n value: result.numberOfConsonants\n }), /*#__PURE__*/_jsx(Cell, {\n className: styles.stat,\n translationKey: \"common.vowels\",\n value: result.numberOfVowels\n }), /*#__PURE__*/_jsx(Cell, {\n className: styles.stat,\n translationKey: \"common.blanks\",\n value: result.numberOfBlanks\n }), /*#__PURE__*/_jsx(Cell, {\n className: styles.stat,\n translationKey: \"common.words\",\n value: result.numberOfWords\n }), /*#__PURE__*/_jsx(Cell, {\n className: styles.points,\n translationKey: \"common.points\",\n value: result.points\n })]\n })\n });\n};\n\nexport default Result;","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from 'react';\nimport { useDispatch } from 'react-redux';\nimport { play } from 'icons';\nimport { selectAreResultsOutdated, selectIsLoading, selectRack, solveSlice, useTranslate, useTypedSelector } from 'state';\nimport Button from '../Button';\nimport styles from './Results.module.scss';\n\nvar SolveButton = function SolveButton() {\n var dispatch = useDispatch();\n var translate = useTranslate();\n var isLoading = useTypedSelector(selectIsLoading);\n var rack = useTypedSelector(selectRack);\n var isOutdated = useTypedSelector(selectAreResultsOutdated);\n var hasTiles = rack.some(function (tile) {\n return tile !== null;\n });\n\n var handleRefresh = function handleRefresh() {\n dispatch(solveSlice.actions.submit());\n };\n\n return /*#__PURE__*/_jsx(Button, {\n className: styles.outdatedButton,\n disabled: isLoading || !isOutdated || !hasTiles,\n icon: play,\n type: \"submit\",\n onClick: handleRefresh,\n children: translate('results.solve')\n });\n};\n\nexport default SolveButton;","import { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport { FixedSizeList } from 'react-window';\nimport { RESULTS_HEADER_HEIGHT, RESULTS_INPUT_HEIGHT, RESULTS_ITEM_HEIGHT } from 'parameters';\nimport { selectAreResultsOutdated, selectIsLoading, selectSortedFilteredResults, selectSortedResults, useTranslate, useTypedSelector } from 'state';\nimport EmptyState from '../EmptyState';\nimport Loading from '../Loading';\nimport ResultsInput from '../ResultsInput';\nimport { COLUMNS } from './constants';\nimport HeaderButton from './HeaderButton';\nimport Result from './Result';\nimport styles from './Results.module.scss';\nimport SolveButton from './SolveButton';\n\nvar Results = function Results(_ref) {\n var height = _ref.height,\n width = _ref.width;\n var translate = useTranslate();\n var allResults = useTypedSelector(selectSortedResults);\n var results = useTypedSelector(selectSortedFilteredResults);\n var isLoading = useTypedSelector(selectIsLoading);\n var isOutdated = useTypedSelector(selectAreResultsOutdated);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: styles.results,\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: styles.header,\n children: COLUMNS.map(function (column) {\n return /*#__PURE__*/_jsx(HeaderButton, {\n column: column\n }, column.id);\n })\n }), typeof results === 'undefined' && /*#__PURE__*/_jsxs(EmptyState, {\n className: styles.emptyState,\n type: \"info\",\n children: [translate('results.empty-state.uninitialized'), /*#__PURE__*/_jsx(SolveButton, {})]\n }), typeof results !== 'undefined' && typeof allResults !== 'undefined' && /*#__PURE__*/_jsxs(_Fragment, {\n children: [isOutdated && /*#__PURE__*/_jsxs(EmptyState, {\n className: styles.emptyState,\n type: \"info\",\n children: [translate('results.empty-state.outdated'), /*#__PURE__*/_jsx(SolveButton, {})]\n }), !isOutdated && /*#__PURE__*/_jsxs(_Fragment, {\n children: [allResults.length === 0 && /*#__PURE__*/_jsx(EmptyState, {\n className: styles.emptyState,\n type: \"warning\",\n children: translate('results.empty-state.no-results')\n }), allResults.length > 0 && results.length === 0 && /*#__PURE__*/_jsx(EmptyState, {\n className: styles.emptyState,\n type: \"info\",\n children: translate('results.empty-state.no-filtered-results')\n }), allResults.length > 0 && results.length > 0 && /*#__PURE__*/_jsx(FixedSizeList, {\n className: classNames(styles.list, _defineProperty({}, styles.outdated, isOutdated)),\n height: height - RESULTS_HEADER_HEIGHT - RESULTS_INPUT_HEIGHT,\n itemCount: results.length,\n itemSize: RESULTS_ITEM_HEIGHT,\n width: width,\n children: Result\n }), allResults.length > 0 && /*#__PURE__*/_jsx(ResultsInput, {\n className: styles.input\n })]\n })]\n }), isLoading && /*#__PURE__*/_jsx(Loading, {})]\n });\n};\n\nexport default Results;","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport styles from './Screen.module.scss';\n\nvar Screen = function Screen(_ref) {\n var children = _ref.children,\n className = _ref.className,\n contentClassName = _ref.contentClassName,\n onAnimationEnd = _ref.onAnimationEnd;\n return /*#__PURE__*/_jsx(\"div\", {\n className: classNames(styles.screen, className),\n onAnimationEnd: onAnimationEnd,\n children: /*#__PURE__*/_jsx(\"div\", {\n className: classNames(styles.content, contentClassName),\n children: children\n })\n });\n};\n\nexport default Screen;","export var NULL_VALUE = 'null';","import { NULL_VALUE } from './constants';\nexport var parseValue = function parseValue(value) {\n if (value === 'left' || value === 'right') {\n return value;\n }\n\n if (value === NULL_VALUE) {\n return null;\n }\n\n throw new Error(\"\\\"\".concat(value, \"\\\" is not valid. Should be \\\"left\\\", \\\"right\\\", or \\\"\").concat(NULL_VALUE, \"\\\"\"));\n};","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from 'react';\nimport { useDispatch } from 'react-redux';\nimport { selectAutoGroupTiles, settingsSlice, useTranslate, useTypedSelector } from 'state';\nimport Radio from '../../../Radio';\nimport styles from './AutoGroupTilesSetting.module.scss';\nimport { NULL_VALUE } from './constants';\nimport { parseValue } from './lib';\n\nvar AutoGroupTilesSetting = function AutoGroupTilesSetting(_ref) {\n var className = _ref.className,\n disabled = _ref.disabled;\n var dispatch = useDispatch();\n var translate = useTranslate();\n var configId = useTypedSelector(selectAutoGroupTiles);\n var options = [{\n label: translate('settings.autoGroupTiles.left'),\n value: 'left'\n }, {\n label: translate('settings.autoGroupTiles.right'),\n value: 'right'\n }, {\n label: translate('settings.autoGroupTiles.null'),\n value: NULL_VALUE\n }];\n\n var handleChange = function handleChange(event) {\n var autoGroupTiles = parseValue(event.target.value);\n dispatch(settingsSlice.actions.changeAutoGroupTiles(autoGroupTiles));\n };\n\n return /*#__PURE__*/_jsx(\"div\", {\n className: className,\n children: options.map(function (option) {\n return /*#__PURE__*/_jsx(Radio, {\n checked: configId === parseValue(option.value),\n className: styles.option,\n disabled: disabled,\n id: \"autoGroupTiles\",\n name: \"autoGroupTiles\",\n value: option.value,\n onChange: handleChange,\n children: /*#__PURE__*/_jsx(\"div\", {\n className: styles.label,\n children: option.label\n })\n }, option.value);\n })\n });\n};\n\nexport default AutoGroupTilesSetting;","import { literaki, scrabble } from '@scrabble-solver/configs';\nvar options = [{\n label: scrabble.name,\n value: scrabble.id\n}, {\n label: literaki.name,\n value: literaki.id\n}];\nexport default options;","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from 'react';\nimport { useDispatch } from 'react-redux';\nimport { selectConfigId, settingsSlice, useTypedSelector } from 'state';\nimport Radio from '../../../Radio';\nimport styles from './ConfigSetting.module.scss';\nimport options from './options';\n\nvar ConfigSetting = function ConfigSetting(_ref) {\n var className = _ref.className,\n disabled = _ref.disabled;\n var dispatch = useDispatch();\n var configId = useTypedSelector(selectConfigId);\n\n var handleChange = function handleChange(event) {\n dispatch(settingsSlice.actions.changeConfigId(event.target.value));\n };\n\n return /*#__PURE__*/_jsx(\"div\", {\n className: className,\n children: options.map(function (option) {\n return /*#__PURE__*/_jsx(Radio, {\n checked: configId === option.value,\n className: styles.option,\n disabled: disabled,\n id: \"configId\",\n name: \"configId\",\n value: option.value,\n onChange: handleChange,\n children: /*#__PURE__*/_jsx(\"div\", {\n className: styles.label,\n children: option.label\n })\n }, option.value);\n })\n });\n};\n\nexport default ConfigSetting;","import { Locale } from '@scrabble-solver/types';\nimport { flagEs, flagFr, flagGb, flagPl, flagUs } from 'icons';\nimport styles from './LocaleSetting.module.scss';\nvar options = [{\n className: styles.gb,\n icon: flagGb,\n label: 'English (GB)',\n value: Locale.EN_GB\n}, {\n className: styles.us,\n icon: flagUs,\n label: 'English (US)',\n value: Locale.EN_US\n}, {\n className: styles.fr,\n icon: flagFr,\n label: 'Français',\n value: Locale.FR_FR\n}, {\n className: styles.pl,\n icon: flagPl,\n label: 'Polski',\n value: Locale.PL_PL\n}, {\n className: styles.es,\n icon: flagEs,\n label: 'Español',\n value: Locale.ES_ES\n}];\nexport default options;","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useDispatch } from 'react-redux';\nimport { selectLocale, settingsSlice, useTypedSelector } from 'state';\nimport Radio from '../../../Radio';\nimport SvgIcon from '../../../SvgIcon';\nimport styles from './LocaleSetting.module.scss';\nimport options from './options';\n\nvar LocaleSetting = function LocaleSetting(_ref) {\n var className = _ref.className,\n disabled = _ref.disabled;\n var dispatch = useDispatch();\n var locale = useTypedSelector(selectLocale);\n\n var handleChange = function handleChange(event) {\n var newLocale = event.target.value;\n dispatch(settingsSlice.actions.changeLocale(newLocale));\n };\n\n return /*#__PURE__*/_jsx(\"div\", {\n className: className,\n children: options.map(function (option) {\n return /*#__PURE__*/_jsx(Radio, {\n checked: locale === option.value,\n className: classNames(styles.option, className, _defineProperty({}, styles.checked, locale === option.value)),\n disabled: disabled,\n id: \"locale\",\n name: \"locale\",\n value: option.value,\n onChange: handleChange,\n children: /*#__PURE__*/_jsxs(\"span\", {\n className: styles.label,\n children: [/*#__PURE__*/_jsx(SvgIcon, {\n className: classNames(styles.flag, option.className),\n icon: option.icon\n }), /*#__PURE__*/_jsx(\"span\", {\n children: option.label\n })]\n })\n }, option.value);\n })\n });\n};\n\nexport default LocaleSetting;","export { default as AutoGroupTilesSetting } from './AutoGroupTilesSetting';\nexport { default as ConfigSetting } from './ConfigSetting';\nexport { default as LocaleSetting } from './LocaleSetting';","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from 'react';\nimport { useTranslate } from 'state';\nimport Sidebar from '../Sidebar';\nimport { AutoGroupTilesSetting, ConfigSetting, LocaleSetting } from './components';\n\nvar Settings = function Settings(_ref) {\n var className = _ref.className,\n isOpen = _ref.isOpen,\n onClose = _ref.onClose;\n var translate = useTranslate();\n return /*#__PURE__*/_jsxs(Sidebar, {\n className: className,\n isOpen: isOpen,\n title: translate('settings'),\n onClose: onClose,\n children: [/*#__PURE__*/_jsx(Sidebar.Section, {\n title: translate('settings.game'),\n children: /*#__PURE__*/_jsx(ConfigSetting, {\n disabled: !isOpen\n })\n }), /*#__PURE__*/_jsx(Sidebar.Section, {\n title: translate('settings.language'),\n children: /*#__PURE__*/_jsx(LocaleSetting, {\n disabled: !isOpen\n })\n }), /*#__PURE__*/_jsx(Sidebar.Section, {\n title: translate('settings.autoGroupTiles'),\n children: /*#__PURE__*/_jsx(AutoGroupTilesSetting, {\n disabled: !isOpen\n })\n })]\n });\n};\n\nexport default Settings;","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport Logo from '../Logo';\nimport Screen from '../Screen';\nimport styles from './Splash.module.scss';\n\nvar Splash = function Splash(_ref) {\n var className = _ref.className,\n forceShow = _ref.forceShow,\n onAnimationEnd = _ref.onAnimationEnd;\n return /*#__PURE__*/_jsxs(Screen, {\n className: classNames(styles.splash, className, _defineProperty({}, styles.animated, !forceShow)),\n onAnimationEnd: onAnimationEnd,\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: styles.logos,\n children: [/*#__PURE__*/_jsx(Logo, {\n className: styles.logoGrayscale\n }), /*#__PURE__*/_jsx(Logo, {\n className: styles.logoColor\n })]\n }), /*#__PURE__*/_jsx(\"h1\", {\n className: styles.author,\n children: \"by Kamil Mielnik\"\n })]\n });\n};\n\nexport default Splash;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport classNames from 'classnames';\nimport React, { forwardRef } from 'react';\nimport styles from './Well.module.scss';\nvar Well = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n className = _ref.className,\n props = _objectWithoutProperties(_ref, [\"children\", \"className\"]);\n\n return /*#__PURE__*/_jsx(\"div\", _objectSpread(_objectSpread({\n className: classNames(styles.well, className),\n ref: ref\n }, props), {}, {\n children: children\n }));\n});\nexport default Well;","export { default as Board } from './Board';\nexport { default as Button } from './Button';\nexport { default as Checkbox } from './Checkbox';\nexport { default as Dictionary } from './Dictionary';\nexport { default as DictionaryInput } from './DictionaryInput';\nexport { default as EmptyState } from './EmptyState';\nexport { default as Key } from './Key';\nexport { default as KeyMap } from './KeyMap';\nexport { default as Loading } from './Loading';\nexport { default as Logo } from './Logo';\nexport { default as NavButtons } from './NavButtons';\nexport { default as NotFound } from './NotFound';\nexport { default as PlainTiles } from './PlainTiles';\nexport { default as Rack } from './Rack';\nexport { default as Radio } from './Radio';\nexport { default as RemainingTiles } from './RemainingTiles';\nexport { default as Results } from './Results';\nexport { default as ResultsInput } from './ResultsInput';\nexport { default as Screen } from './Screen';\nexport { default as Settings } from './Settings';\nexport { default as Sidebar } from './Sidebar';\nexport { default as Splash } from './Splash';\nexport { default as SquareButton } from './SquareButton';\nexport { default as SvgIcon } from './SvgIcon';\nexport { default as Tile } from './Tile';\nexport { useTooltip } from './Tooltip';\nexport { default as Well } from './Well';","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"AutoGroupTilesSetting_option__iqYF_\",\"label\":\"AutoGroupTilesSetting_label__6_UJu\"};","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArrayLimit from \"@babel/runtime/helpers/esm/iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _focusManager = require(\"../helpers/focusManager\");\n\nvar focusManager = _interopRequireWildcard(_focusManager);\n\nvar _scopeTab = require(\"../helpers/scopeTab\");\n\nvar _scopeTab2 = _interopRequireDefault(_scopeTab);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _classList = require(\"../helpers/classList\");\n\nvar classList = _interopRequireWildcard(_classList);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _portalOpenInstances = require(\"../helpers/portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nrequire(\"../helpers/bodyTrap\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// so that our CSS is statically analyzable\nvar CLASS_NAMES = {\n overlay: \"ReactModal__Overlay\",\n content: \"ReactModal__Content\"\n};\n\nvar TAB_KEY = 9;\nvar ESC_KEY = 27;\n\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n _inherits(ModalPortal, _Component);\n\n function ModalPortal(props) {\n _classCallCheck(this, ModalPortal);\n\n var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n _this.setOverlayRef = function (overlay) {\n _this.overlay = overlay;\n _this.props.overlayRef && _this.props.overlayRef(overlay);\n };\n\n _this.setContentRef = function (content) {\n _this.content = content;\n _this.props.contentRef && _this.props.contentRef(content);\n };\n\n _this.afterClose = function () {\n var _this$props = _this.props,\n appElement = _this$props.appElement,\n ariaHideApp = _this$props.ariaHideApp,\n htmlOpenClassName = _this$props.htmlOpenClassName,\n bodyOpenClassName = _this$props.bodyOpenClassName;\n\n // Remove classes.\n\n bodyOpenClassName && classList.remove(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.remove(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n // Reset aria-hidden attribute if all modals have been removed\n if (ariaHideApp && ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus(_this.props.preventScroll);\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n\n _portalOpenInstances2.default.deregister(_this);\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen({\n overlayEl: _this.overlay,\n contentEl: _this.content\n });\n }\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus({ preventScroll: true });\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (event.keyCode === TAB_KEY) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.state.isOpen) {\n this.afterClose();\n }\n clearTimeout(this.closeTimer);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName;\n\n // Add classes.\n\n bodyOpenClassName && classList.add(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n\n _portalOpenInstances2.default.register(this);\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n id = _props2.id,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles,\n children = _props2.children;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n if (this.shouldBeClosed()) {\n return null;\n }\n\n var overlayProps = {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n };\n\n var contentProps = _extends({\n id: id,\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", _extends({ modal: true }, this.props.aria)), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n });\n\n var contentElement = this.props.contentElement(contentProps, children);\n return this.props.overlayElement(overlayProps, contentElement);\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","// extracted by mini-css-extract-plugin\nmodule.exports = {\"rack\":\"Rack_rack__19pRD\",\"tile\":\"Rack_tile__3eMqz\"};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var target = void 0;\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === document.activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n if (tail === document.activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === document.activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(document.activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n target = tabbable[x];\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof target === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n target.focus();\n}\nmodule.exports = exports[\"default\"];","// extracted by mini-css-extract-plugin\nmodule.exports = {\"screen\":\"Screen_screen__1JVwd\",\"closeButton\":\"Screen_closeButton__2eAGy\",\"content\":\"Screen_content__3Bn9G\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"Sidebar_modal__AVVNt\",\"afterOpen\":\"Sidebar_afterOpen__3qtCP\",\"sidebar\":\"Sidebar_sidebar__1BmXf\",\"beforeClose\":\"Sidebar_beforeClose__vU4tB\",\"overlay\":\"Sidebar_overlay__1Ccrb\",\"header\":\"Sidebar_header__VjKGT\",\"title\":\"Sidebar_title__2nqWj\",\"closeButton\":\"Sidebar_closeButton__2Yro_\",\"content\":\"Sidebar_content__1ezIJ\"};","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"board\":\"Board_board__ASOu2\",\"row\":\"Board_row__WXJ7Q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"resultsInput\":\"ResultsInput_resultsInput__1xGkX\",\"input\":\"ResultsInput_input__soybt\"};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Tracks portals that are open and emits events to subscribers\n\nvar PortalOpenInstances = function PortalOpenInstances() {\n var _this = this;\n\n _classCallCheck(this, PortalOpenInstances);\n\n this.register = function (openInstance) {\n if (_this.openInstances.indexOf(openInstance) !== -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Cannot register modal instance that's already open\");\n }\n return;\n }\n _this.openInstances.push(openInstance);\n _this.emit(\"register\");\n };\n\n this.deregister = function (openInstance) {\n var index = _this.openInstances.indexOf(openInstance);\n if (index === -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Unable to deregister \" + openInstance + \" as \" + \"it was never registered\");\n }\n return;\n }\n _this.openInstances.splice(index, 1);\n _this.emit(\"deregister\");\n };\n\n this.subscribe = function (callback) {\n _this.subscribers.push(callback);\n };\n\n this.emit = function (eventType) {\n _this.subscribers.forEach(function (subscriber) {\n return subscriber(eventType,\n // shallow copy to avoid accidental mutation\n _this.openInstances.slice());\n });\n };\n\n this.openInstances = [];\n this.subscribers = [];\n};\n\nvar portalOpenInstances = new PortalOpenInstances();\n\nexports.default = portalOpenInstances;\nmodule.exports = exports[\"default\"];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var preventScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus({ preventScroll: preventScroll });\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wave\":\"PlainTiles_wave__RkrSN\",\"tile\":\"PlainTiles_tile__3-ZhZ\",\"dropShadow\":\"PlainTiles_dropShadow__3ARSR\",\"hide\":\"PlainTiles_hide__17cvO\",\"progress\":\"PlainTiles_progress__3cL21\",\"pulse\":\"PlainTiles_pulse__3r1EF\"};","\"use strict\";\n\nvar _portalOpenInstances = require(\"./portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Body focus trap see Issue #742\n\nvar before = void 0,\n after = void 0,\n instances = [];\n\nfunction focusContent() {\n if (instances.length === 0) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Open instances > 0 expected\");\n }\n return;\n }\n instances[instances.length - 1].focusContent();\n}\n\nfunction bodyTrap(eventType, openInstances) {\n if (!before || !after) {\n before = document.createElement(\"div\");\n before.setAttribute(\"data-react-modal-body-trap\", \"\");\n before.style.position = \"absolute\";\n before.style.opacity = \"0\";\n before.setAttribute(\"tabindex\", \"0\");\n before.addEventListener(\"focus\", focusContent);\n after = before.cloneNode();\n after.addEventListener(\"focus\", focusContent);\n }\n\n instances = openInstances;\n\n if (instances.length > 0) {\n // Add focus trap\n if (document.body.firstChild !== before) {\n document.body.insertBefore(before, document.body.firstChild);\n }\n if (document.body.lastChild !== after) {\n document.body.appendChild(after);\n }\n } else {\n // Remove focus trap\n if (before.parentElement) {\n before.parentElement.removeChild(before);\n }\n if (after.parentElement) {\n after.parentElement.removeChild(after);\n }\n }\n}\n\n_portalOpenInstances2.default.subscribe(bodyTrap);","// extracted by mini-css-extract-plugin\nmodule.exports = {\"well\":\"Well_well__2rvZn\"};","module.exports = require('./dist/client/link')\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\nexports.resetForTesting = resetForTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = \"length\" in el ? el[0] : el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n if (!appElement && !globalElement) {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return false;\n }\n\n return true;\n}\n\nfunction hide(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).setAttribute(\"aria-hidden\", \"true\");\n }\n}\n\nfunction show(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).removeAttribute(\"aria-hidden\");\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}\n\nfunction resetForTesting() {\n globalElement = null;\n}","import isDeepEqualReact from 'fast-deep-equal/react';\nexport var isClient = typeof window === 'object';\nexport var on = function (obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return obj.addEventListener.apply(obj, args);\n};\nexport var off = function (obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return obj.removeEventListener.apply(obj, args);\n};\nexport var isDeepEqual = isDeepEqualReact;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar tabbableNode = /input|select|textarea|button|object/;\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n return zeroSize ? style.getPropertyValue(\"overflow\") !== \"visible\" ||\n // if 'overflow: visible' set, check if there is actually any overflow\n element.scrollWidth <= 0 && element.scrollHeight <= 0 : style.getPropertyValue(\"display\") == \"none\";\n}\n\nfunction visible(element) {\n var parentElement = element;\n while (parentElement) {\n if (parentElement === document.body) break;\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n return [].slice.call(element.querySelectorAll(\"*\"), 0).filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","import { useEffect } from 'react';\nvar useEffectOnce = function (effect) {\n useEffect(effect, []);\n};\nexport default useEffectOnce;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"group\":\"RemainingTiles_group__2AWTh\",\"title\":\"RemainingTiles_title__1zi0v\",\"content\":\"RemainingTiles_content__3xzgX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ARROW_SIZE\":\"4px\",\"PREVENT_OVERFLOW\":\"10px\",\"OFFSET\":\"2px\",\"tooltip\":\"Tooltip_tooltip__1uxCc\",\"top\":\"Tooltip_top__KFC44\",\"arrow\":\"Tooltip_arrow__AL6zf\",\"right\":\"Tooltip_right__swlOS\",\"bottom\":\"Tooltip_bottom__12rbo\",\"left\":\"Tooltip_left__2deQT\"};","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","\"use strict\";\n\nvar _slicedToArray = require(\"@babel/runtime/helpers/slicedToArray\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _router = require(\"../next-server/lib/router/router\");\n\nvar _router2 = require(\"./router\");\n\nvar _useIntersection = require(\"./use-intersection\");\n\nvar prefetched = {};\n\nfunction prefetch(router, href, as, options) {\n if (false || !router) return;\n if (!(0, _router.isLocalURL)(href)) return; // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n\n router.prefetch(href, as, options)[\"catch\"](function (err) {\n if (false) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n var curLocale = options && typeof options.locale !== 'undefined' ? options.locale : router && router.locale; // Join on an invalid URI character\n\n prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')] = true;\n}\n\nfunction isModifiedEvent(event) {\n var target = event.currentTarget.target;\n return target && target !== '_self' || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\n\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale) {\n var nodeName = e.currentTarget.nodeName;\n\n if (nodeName === 'A' && (isModifiedEvent(e) || !(0, _router.isLocalURL)(href))) {\n // ignore click for browser’s default behavior\n return;\n }\n\n e.preventDefault(); // avoid scroll for urls with anchor refs\n\n if (scroll == null) {\n scroll = as.indexOf('#') < 0;\n } // replace state instead of push if prop is present\n\n\n router[replace ? 'replace' : 'push'](href, as, {\n shallow: shallow,\n locale: locale,\n scroll: scroll\n }).then(function (success) {\n if (!success) return;\n\n if (scroll) {\n // FIXME: proper route announcing at Router level, not Link:\n document.body.focus();\n }\n });\n}\n\nfunction Link(props) {\n if (false) {\n var createPropError = function createPropError(args) {\n return new Error(\"Failed prop type: The prop `\".concat(args.key, \"` expects a \").concat(args.expected, \" in `<Link>`, but got `\").concat(args.actual, \"` instead.\") + (true ? \"\\nOpen your browser's console to view the Component stack trace.\" : ''));\n }; // TypeScript trick for type-guarding:\n\n\n var requiredPropsGuard = {\n href: true\n };\n var requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach(function (key) {\n if (key === 'href') {\n if (props[key] == null || typeof props[key] !== 'string' && typeof props[key] !== 'object') {\n throw createPropError({\n key: key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var _ = key;\n }\n }); // TypeScript trick for type-guarding:\n\n var optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true\n };\n var optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach(function (key) {\n var valType = typeof props[key];\n\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key: key,\n expected: '`string` or `object`',\n actual: valType\n });\n }\n } else if (key === 'locale') {\n if (props[key] && valType !== 'string') {\n throw createPropError({\n key: key,\n expected: '`string`',\n actual: valType\n });\n }\n } else if (key === 'replace' || key === 'scroll' || key === 'shallow' || key === 'passHref' || key === 'prefetch') {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key: key,\n expected: '`boolean`',\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var _ = key;\n }\n }); // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n\n var hasWarned = _react[\"default\"].useRef(false);\n\n if (props.prefetch && !hasWarned.current) {\n hasWarned.current = true;\n console.warn('Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://err.sh/vercel/next.js/prefetch-true-deprecated');\n }\n }\n\n var p = props.prefetch !== false;\n var router = (0, _router2.useRouter)();\n var pathname = router && router.pathname || '/';\n\n var _react$default$useMem = _react[\"default\"].useMemo(function () {\n var _ref = (0, _router.resolveHref)(pathname, props.href, true),\n _ref2 = _slicedToArray(_ref, 2),\n resolvedHref = _ref2[0],\n resolvedAs = _ref2[1];\n\n return {\n href: resolvedHref,\n as: props.as ? (0, _router.resolveHref)(pathname, props.as) : resolvedAs || resolvedHref\n };\n }, [pathname, props.href, props.as]),\n href = _react$default$useMem.href,\n as = _react$default$useMem.as;\n\n var children = props.children,\n replace = props.replace,\n shallow = props.shallow,\n scroll = props.scroll,\n locale = props.locale; // Deprecated. Warning shown by propType check. If the children provided is a string (<Link>example</Link>) we wrap it in an <a> tag\n\n if (typeof children === 'string') {\n children = /*#__PURE__*/_react[\"default\"].createElement(\"a\", null, children);\n } // This will return the first child, if multiple are provided it will throw an error\n\n\n var child = _react.Children.only(children);\n\n var childRef = child && typeof child === 'object' && child.ref;\n\n var _ref3 = (0, _useIntersection.useIntersection)({\n rootMargin: '200px'\n }),\n _ref4 = _slicedToArray(_ref3, 2),\n setIntersectionRef = _ref4[0],\n isVisible = _ref4[1];\n\n var setRef = _react[\"default\"].useCallback(function (el) {\n setIntersectionRef(el);\n\n if (childRef) {\n if (typeof childRef === 'function') childRef(el);else if (typeof childRef === 'object') {\n childRef.current = el;\n }\n }\n }, [childRef, setIntersectionRef]);\n\n (0, _react.useEffect)(function () {\n var shouldPrefetch = isVisible && p && (0, _router.isLocalURL)(href);\n var curLocale = typeof locale !== 'undefined' ? locale : router && router.locale;\n var isPrefetched = prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')];\n\n if (shouldPrefetch && !isPrefetched) {\n prefetch(router, href, as, {\n locale: curLocale\n });\n }\n }, [as, href, isVisible, locale, p, router]);\n var childProps = {\n ref: setRef,\n onClick: function onClick(e) {\n if (child.props && typeof child.props.onClick === 'function') {\n child.props.onClick(e);\n }\n\n if (!e.defaultPrevented) {\n linkClicked(e, router, href, as, replace, shallow, scroll, locale);\n }\n }\n };\n\n childProps.onMouseEnter = function (e) {\n if (!(0, _router.isLocalURL)(href)) return;\n\n if (child.props && typeof child.props.onMouseEnter === 'function') {\n child.props.onMouseEnter(e);\n }\n\n prefetch(router, href, as, {\n priority: true\n });\n }; // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user\n\n\n if (props.passHref || child.type === 'a' && !('href' in child.props)) {\n var curLocale = typeof locale !== 'undefined' ? locale : router && router.locale;\n var localeDomain = (0, _router.getDomainLocale)(as, curLocale, router && router.locales, router && router.domainLocales);\n childProps.href = localeDomain || (0, _router.addBasePath)((0, _router.addLocale)(as, curLocale, router && router.defaultLocale));\n }\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(child, childProps);\n}\n\nvar _default = Link;\nexports[\"default\"] = _default;","import { useEffect, useState } from 'react';\nimport { isClient } from './util';\nvar useMedia = function (query, defaultState) {\n if (defaultState === void 0) { defaultState = false; }\n var _a = useState(isClient ? function () { return window.matchMedia(query).matches; } : defaultState), state = _a[0], setState = _a[1];\n useEffect(function () {\n var mounted = true;\n var mql = window.matchMedia(query);\n var onChange = function () {\n if (!mounted) {\n return;\n }\n setState(!!mql.matches);\n };\n mql.addListener(onChange);\n setState(mql.matches);\n return function () {\n mounted = false;\n mql.removeListener(onChange);\n };\n }, [query]);\n return state;\n};\nexport default useMedia;\n","import { useMedia } from 'react-use';\n\nvar useIsTablet = function useIsTablet() {\n var isTabletHeight = useMedia('(max-height: 800px)');\n var isTabletWidth = useMedia('(max-width: 1024px)');\n var isTablet = isTabletHeight || isTabletWidth;\n return isTablet;\n};\n\nexport default useIsTablet;","import { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useEffectOnce } from 'react-use';\nimport { boardSlice, localStorage, selectBoard, useTypedSelector } from 'state';\n\nvar useLocalStorageBoard = function useLocalStorageBoard() {\n var dispatch = useDispatch();\n var board = useTypedSelector(selectBoard);\n useEffectOnce(function () {\n var persistedBoard = localStorage.getBoard();\n\n if (persistedBoard) {\n dispatch(boardSlice.actions.init(persistedBoard));\n }\n });\n useEffect(function () {\n if (board) {\n localStorage.setBoard(board);\n }\n }, [board]);\n};\n\nexport default useLocalStorageBoard;","import { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useEffectOnce } from 'react-use';\nimport { localStorage, selectConfigId, settingsSlice, useTypedSelector } from 'state';\n\nvar useLocalStorageConfigId = function useLocalStorageConfigId() {\n var dispatch = useDispatch();\n var configId = useTypedSelector(selectConfigId);\n useEffectOnce(function () {\n var persistedConfigId = localStorage.getConfigId();\n\n if (persistedConfigId) {\n dispatch(settingsSlice.actions.init({\n configId: persistedConfigId\n }));\n }\n });\n useEffect(function () {\n if (configId) {\n localStorage.setConfigId(configId);\n }\n }, [configId]);\n};\n\nexport default useLocalStorageConfigId;","import { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useEffectOnce } from 'react-use';\nimport { detectLocale } from 'lib';\nimport { localStorage, selectLocale, settingsSlice, useTypedSelector } from 'state';\n\nvar useLocalStorageLocale = function useLocalStorageLocale() {\n var dispatch = useDispatch();\n var locale = useTypedSelector(selectLocale);\n useEffectOnce(function () {\n var persistedLocale = localStorage.getLocale();\n\n if (persistedLocale) {\n dispatch(settingsSlice.actions.init({\n locale: persistedLocale\n }));\n } else {\n dispatch(settingsSlice.actions.init({\n locale: detectLocale()\n }));\n }\n });\n useEffect(function () {\n if (locale) {\n localStorage.setLocale(locale);\n }\n }, [locale]);\n};\n\nexport default useLocalStorageLocale;","import { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useEffectOnce } from 'react-use';\nimport { localStorage, rackSlice, selectRack, useTypedSelector } from 'state';\n\nvar useLocalStorageRack = function useLocalStorageRack() {\n var dispatch = useDispatch();\n var rack = useTypedSelector(selectRack);\n useEffectOnce(function () {\n var persistedRack = localStorage.getRack();\n\n if (persistedRack) {\n dispatch(rackSlice.actions.init(persistedRack));\n }\n });\n useEffect(function () {\n if (rack) {\n localStorage.setRack(rack);\n }\n }, [rack]);\n};\n\nexport default useLocalStorageRack;","import useLocalStorageBoard from './useLocalStorageBoard';\nimport useLocalStorageConfigId from './useLocalStorageConfigId';\nimport useLocalStorageLocale from './useLocalStorageLocale';\nimport useLocalStorageRack from './useLocalStorageRack';\n\nvar useLocalStorage = function useLocalStorage() {\n useLocalStorageRack(); // rack has to go first, see 14869a4\n\n useLocalStorageBoard();\n useLocalStorageConfigId();\n useLocalStorageLocale();\n};\n\nexport default useLocalStorage;","export var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport { canUseDOM } from './utils';\n\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n _classCallCheck(this, Portal);\n\n return _possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));\n }\n\n _createClass(Portal, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.defaultNode) {\n document.body.removeChild(this.defaultNode);\n }\n this.defaultNode = null;\n }\n }, {\n key: 'render',\n value: function render() {\n if (!canUseDOM) {\n return null;\n }\n if (!this.props.node && !this.defaultNode) {\n this.defaultNode = document.createElement('div');\n document.body.appendChild(this.defaultNode);\n }\n return ReactDOM.createPortal(this.props.children, this.props.node || this.defaultNode);\n }\n }]);\n\n return Portal;\n}(React.Component);\n\nPortal.propTypes = {\n children: PropTypes.node.isRequired,\n node: PropTypes.any\n};\n\nexport default Portal;","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// This file is a fallback for a consumer who is not yet on React 16\n// as createPortal was introduced in React 16\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\n\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n _classCallCheck(this, Portal);\n\n return _possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));\n }\n\n _createClass(Portal, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.renderPortal();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(props) {\n this.renderPortal();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n ReactDOM.unmountComponentAtNode(this.defaultNode || this.props.node);\n if (this.defaultNode) {\n document.body.removeChild(this.defaultNode);\n }\n this.defaultNode = null;\n this.portal = null;\n }\n }, {\n key: 'renderPortal',\n value: function renderPortal(props) {\n if (!this.props.node && !this.defaultNode) {\n this.defaultNode = document.createElement('div');\n document.body.appendChild(this.defaultNode);\n }\n\n var children = this.props.children;\n // https://gist.github.com/jimfb/d99e0678e9da715ccf6454961ef04d1b\n if (typeof this.props.children.type === 'function') {\n children = React.cloneElement(this.props.children);\n }\n\n this.portal = ReactDOM.unstable_renderSubtreeIntoContainer(this, children, this.props.node || this.defaultNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return null;\n }\n }]);\n\n return Portal;\n}(React.Component);\n\nexport default Portal;\n\n\nPortal.propTypes = {\n children: PropTypes.node.isRequired,\n node: PropTypes.any\n};","import ReactDOM from 'react-dom';\n\nimport Portalv4 from './Portal';\nimport LegacyPortal from './LegacyPortal';\n\nvar Portal = void 0;\n\nif (ReactDOM.createPortal) {\n Portal = Portalv4;\n} else {\n Portal = LegacyPortal;\n}\n\nexport default Portal;","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React, { useLayoutEffect, useMemo } from 'react';\nimport { render, unmountComponentAtNode } from 'react-dom';\nimport { Portal } from 'react-portal';\nimport { canUseDom, noop } from 'lib';\n\nvar usePortal = function usePortal(children) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$tagName = _ref.tagName,\n tagName = _ref$tagName === void 0 ? 'div' : _ref$tagName;\n\n var element = useMemo(function () {\n return document.createElement(tagName);\n }, [tagName]);\n useLayoutEffect(function () {\n if (disabled) {\n return noop;\n }\n\n document.body.appendChild(element);\n return function () {\n unmountComponentAtNode(element);\n document.body.removeChild(element);\n };\n }, [disabled, element]);\n useLayoutEffect(function () {\n if (!disabled) {\n render( /*#__PURE__*/_jsx(Portal, {\n children: children\n }), element);\n }\n }, [children, disabled, element]);\n};\n\nexport default canUseDom ? usePortal : noop;","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import { useRef } from 'react';\nimport { v4 } from 'uuid';\n\nvar useUniqueId = function useUniqueId() {\n var idRef = useRef(v4());\n return idRef.current;\n};\n\nexport default useUniqueId;","export { default as useIsTablet } from './useIsTablet';\nexport { default as useLocalStorage } from './useLocalStorage';\nexport { default as usePortal } from './usePortal';\nexport { default as useUniqueId } from './useUniqueId';","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dumpClassLists = dumpClassLists;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\nfunction dumpClassLists() {\n if (process.env.NODE_ENV !== \"production\") {\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += \"<html /> (\" + classes + \"):\\n\";\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n\";\n }\n\n classes = document.body.className;\n\n // eslint-disable-next-line max-len\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n\";\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n\";\n }\n\n buffer += \"\\n\";\n\n // eslint-disable-next-line no-console\n console.log(buffer);\n }\n}\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox\":\"Checkbox_checkbox__TMzB8\",\"icon\":\"Checkbox_icon__1x7ag\",\"checked\":\"Checkbox_checked__2Le1z\",\"input\":\"Checkbox_input__3o21M\",\"content\":\"Checkbox_content__1VcXS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"navButtons\":\"NavButtons_navButtons__1og2w\",\"button\":\"NavButtons_button__2YUcq\",\"separator\":\"NavButtons_separator__3dZKW\",\"error\":\"NavButtons_error___bS0g\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"notFound\":\"NotFound_notFound__3lall\",\"link\":\"NotFound_link__23_eH\",\"icon\":\"NotFound_icon__2qUrU\",\"tiles\":\"NotFound_tiles__1Qnr3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dictionary\":\"Dictionary_dictionary__2LVIo\",\"content\":\"Dictionary_content__35SFT\",\"word\":\"Dictionary_word__yTxK-\",\"isAllowed\":\"Dictionary_isAllowed__1pY0l\",\"isNotAllowed\":\"Dictionary_isNotAllowed__sGDpa\",\"definitions\":\"Dictionary_definitions__1B_VQ\",\"definition\":\"Dictionary_definition__1tU6g\"};","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n continue;\n }\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"splash\":\"Splash_splash__1fgIO\",\"animated\":\"Splash_animated__3KuaO\",\"hide\":\"Splash_hide__xGaFV\",\"logos\":\"Splash_logos__XgKlA\",\"pulse\":\"Splash_pulse__2k_vY\",\"logoColor\":\"Splash_logoColor__1R-9s\",\"progress\":\"Splash_progress__1OiT4\",\"logoGrayscale\":\"Splash_logoGrayscale__1Q8n_\",\"author\":\"Splash_author__10OKS\",\"wave\":\"Splash_wave__1o-S9\"};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bodyOpenClassName = exports.portalClassName = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ModalPortal = require(\"./ModalPortal\");\n\nvar _ModalPortal2 = _interopRequireDefault(_ModalPortal);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar portalClassName = exports.portalClassName = \"ReactModalPortal\";\nvar bodyOpenClassName = exports.bodyOpenClassName = \"ReactModal__Body--open\";\n\nvar isReact16 = _safeHTMLElement.canUseDOM && _reactDom2.default.createPortal !== undefined;\n\nvar getCreatePortal = function getCreatePortal() {\n return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer;\n};\n\nfunction getParentElement(parentSelector) {\n return parentSelector();\n}\n\nvar Modal = function (_Component) {\n _inherits(Modal, _Component);\n\n function Modal() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () {\n !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node);\n var parent = getParentElement(_this.props.parentSelector);\n if (parent && parent.contains(_this.node)) {\n parent.removeChild(_this.node);\n } else {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"parentSelector\" prop did not returned any DOM ' + \"element. Make sure that the parent element is unmounted to \" + \"avoid any memory leaks.\");\n }\n }, _this.portalRef = function (ref) {\n _this.portal = ref;\n }, _this.renderPortal = function (props) {\n var createPortal = getCreatePortal();\n var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node);\n _this.portalRef(portal);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_safeHTMLElement.canUseDOM) return;\n\n if (!isReact16) {\n this.node = document.createElement(\"div\");\n }\n this.node.className = this.props.portalClassName;\n\n var parent = getParentElement(this.props.parentSelector);\n parent.appendChild(this.node);\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n var prevParent = getParentElement(prevProps.parentSelector);\n var nextParent = getParentElement(this.props.parentSelector);\n return { prevParent: prevParent, nextParent: nextParent };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, _, snapshot) {\n if (!_safeHTMLElement.canUseDOM) return;\n var _props = this.props,\n isOpen = _props.isOpen,\n portalClassName = _props.portalClassName;\n\n\n if (prevProps.portalClassName !== portalClassName) {\n this.node.className = portalClassName;\n }\n\n var prevParent = snapshot.prevParent,\n nextParent = snapshot.nextParent;\n\n if (nextParent !== prevParent) {\n prevParent.removeChild(this.node);\n nextParent.appendChild(this.node);\n }\n\n // Stop unnecessary renders if modal is remaining closed\n if (!prevProps.isOpen && !isOpen) return;\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return;\n\n var state = this.portal.state;\n var now = Date.now();\n var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS);\n\n if (closesAt) {\n if (!state.beforeClose) {\n this.portal.closeWithTimeout();\n }\n\n setTimeout(this.removePortal, closesAt - now);\n } else {\n this.removePortal();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!_safeHTMLElement.canUseDOM || !isReact16) {\n return null;\n }\n\n if (!this.node && isReact16) {\n this.node = document.createElement(\"div\");\n }\n\n var createPortal = getCreatePortal();\n return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({\n ref: this.portalRef,\n defaultStyles: Modal.defaultStyles\n }, this.props)), this.node);\n }\n }], [{\n key: \"setAppElement\",\n value: function setAppElement(element) {\n ariaAppHider.setElement(element);\n }\n\n /* eslint-disable react/no-unused-prop-types */\n\n /* eslint-enable react/no-unused-prop-types */\n\n }]);\n\n return Modal;\n}(_react.Component);\n\nModal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n portalClassName: _propTypes2.default.string,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default),\n onAfterOpen: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n ariaHideApp: _propTypes2.default.bool,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n parentSelector: _propTypes2.default.func,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func\n};\nModal.defaultProps = {\n isOpen: false,\n portalClassName: portalClassName,\n bodyOpenClassName: bodyOpenClassName,\n role: \"dialog\",\n ariaHideApp: true,\n closeTimeoutMS: 0,\n shouldFocusAfterRender: true,\n shouldCloseOnEsc: true,\n shouldCloseOnOverlayClick: true,\n shouldReturnFocusAfterClose: true,\n preventScroll: false,\n parentSelector: function parentSelector() {\n return document.body;\n },\n overlayElement: function overlayElement(props, contentEl) {\n return _react2.default.createElement(\n \"div\",\n props,\n contentEl\n );\n },\n contentElement: function contentElement(props, children) {\n return _react2.default.createElement(\n \"div\",\n props,\n children\n );\n }\n};\nModal.defaultStyles = {\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(255, 255, 255, 0.75)\"\n },\n content: {\n position: \"absolute\",\n top: \"40px\",\n left: \"40px\",\n right: \"40px\",\n bottom: \"40px\",\n border: \"1px solid #ccc\",\n background: \"#fff\",\n overflow: \"auto\",\n WebkitOverflowScrolling: \"touch\",\n borderRadius: \"4px\",\n outline: \"none\",\n padding: \"20px\"\n }\n};\n\n\n(0, _reactLifecyclesCompat.polyfill)(Modal);\n\nexports.default = Modal;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tile\":\"Tile_tile__2zdlK\",\"raised\":\"Tile_raised__3bruO\",\"points1\":\"Tile_points1__3kQ_0\",\"points2\":\"Tile_points2__1TZdg\",\"points3\":\"Tile_points3__28-Zh\",\"points4\":\"Tile_points4__1HVw7\",\"points5\":\"Tile_points5___-zw4\",\"blank\":\"Tile_blank__MbmGr\",\"character\":\"Tile_character__3dEBi\",\"highlighted\":\"Tile_highlighted__1L53H\",\"points\":\"Tile_points__-wyIb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loading\":\"Loading_loading__1dXNE\",\"dim\":\"Loading_dim__2ewDS\",\"logo\":\"Loading_logo__2nlr3\",\"tiles\":\"Loading_tiles__gEhWd\"};","\"use strict\";\n\nvar _slicedToArray = require(\"@babel/runtime/helpers/slicedToArray\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.useIntersection = useIntersection;\n\nvar _react = require(\"react\");\n\nvar _requestIdleCallback = _interopRequireDefault(require(\"./request-idle-callback\"));\n\nvar hasIntersectionObserver = typeof IntersectionObserver !== 'undefined';\n\nfunction useIntersection(_ref) {\n var rootMargin = _ref.rootMargin,\n disabled = _ref.disabled;\n var isDisabled = disabled || !hasIntersectionObserver;\n var unobserve = (0, _react.useRef)();\n\n var _ref2 = (0, _react.useState)(false),\n _ref3 = _slicedToArray(_ref2, 2),\n visible = _ref3[0],\n setVisible = _ref3[1];\n\n var setRef = (0, _react.useCallback)(function (el) {\n if (unobserve.current) {\n unobserve.current();\n unobserve.current = undefined;\n }\n\n if (isDisabled || visible) return;\n\n if (el && el.tagName) {\n unobserve.current = observe(el, function (isVisible) {\n return isVisible && setVisible(isVisible);\n }, {\n rootMargin: rootMargin\n });\n }\n }, [isDisabled, rootMargin, visible]);\n (0, _react.useEffect)(function () {\n if (!hasIntersectionObserver) {\n if (!visible) (0, _requestIdleCallback[\"default\"])(function () {\n return setVisible(true);\n });\n }\n }, [visible]);\n return [setRef, visible];\n}\n\nfunction observe(element, callback, options) {\n var _createObserver = createObserver(options),\n id = _createObserver.id,\n observer = _createObserver.observer,\n elements = _createObserver.elements;\n\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements[\"delete\"](element);\n observer.unobserve(element); // Destroy observer when there's nothing left to watch:\n\n if (elements.size === 0) {\n observer.disconnect();\n observers[\"delete\"](id);\n }\n };\n}\n\nvar observers = new Map();\n\nfunction createObserver(options) {\n var id = options.rootMargin || '';\n var instance = observers.get(id);\n\n if (instance) {\n return instance;\n }\n\n var elements = new Map();\n var observer = new IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n var callback = elements.get(entry.target);\n var isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n observers.set(id, instance = {\n id: id,\n observer: observer,\n elements: elements\n });\n return instance;\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"section\":\"Section_section__o4HeJ\",\"heading\":\"Section_heading__2mcEO\"};"]}}