trackler 2.2.0.2 → 2.2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. checksums.yaml +4 -4
  2. data/fixtures/deprecation-fixtures/tracks/repo-nope/config.json +2 -0
  3. data/fixtures/deprecation-fixtures/tracks/repo-yepp/config.json +3 -0
  4. data/lib/trackler/track.rb +1 -1
  5. data/lib/trackler/version.rb +1 -1
  6. data/tracks/csharp/config/exercise_readme.go.tmpl +16 -0
  7. data/tracks/csharp/exercises/accumulate/README.md +44 -0
  8. data/tracks/csharp/exercises/acronym/README.md +21 -0
  9. data/tracks/csharp/exercises/all-your-base/README.md +41 -0
  10. data/tracks/csharp/exercises/allergies/README.md +46 -0
  11. data/tracks/csharp/exercises/alphametics/README.md +48 -0
  12. data/tracks/csharp/exercises/anagram/README.md +19 -0
  13. data/tracks/csharp/exercises/atbash-cipher/README.md +40 -0
  14. data/tracks/csharp/exercises/bank-account/README.md +41 -0
  15. data/tracks/csharp/exercises/beer-song/README.md +336 -0
  16. data/tracks/csharp/exercises/binary-search-tree/README.md +66 -0
  17. data/tracks/csharp/exercises/binary-search/README.md +47 -0
  18. data/tracks/csharp/exercises/bob/README.md +24 -0
  19. data/tracks/csharp/exercises/book-store/README.md +80 -0
  20. data/tracks/csharp/exercises/bowling/README.md +59 -0
  21. data/tracks/csharp/exercises/bracket-push/README.md +16 -0
  22. data/tracks/csharp/exercises/change/README.md +29 -0
  23. data/tracks/csharp/exercises/circular-buffer/README.md +56 -0
  24. data/tracks/csharp/exercises/clock/README.md +25 -0
  25. data/tracks/csharp/exercises/connect/README.md +40 -0
  26. data/tracks/csharp/exercises/crypto-square/README.md +80 -0
  27. data/tracks/csharp/exercises/custom-set/README.md +23 -0
  28. data/tracks/csharp/exercises/diamond/README.md +75 -0
  29. data/tracks/csharp/exercises/difference-of-squares/README.md +30 -0
  30. data/tracks/csharp/exercises/diffie-hellman/README.md +55 -0
  31. data/tracks/csharp/exercises/dominoes/README.md +24 -0
  32. data/tracks/csharp/exercises/dot-dsl/README.md +37 -0
  33. data/tracks/csharp/exercises/error-handling/README.md +19 -0
  34. data/tracks/csharp/exercises/etl/README.md +57 -0
  35. data/tracks/csharp/exercises/flatten-array/README.md +24 -0
  36. data/tracks/csharp/exercises/food-chain/README.md +80 -0
  37. data/tracks/csharp/exercises/forth/README.md +39 -0
  38. data/tracks/csharp/exercises/gigasecond/README.md +17 -0
  39. data/tracks/csharp/exercises/go-counting/README.md +43 -0
  40. data/tracks/csharp/exercises/grade-school/README.md +48 -0
  41. data/tracks/csharp/exercises/grains/README.md +40 -0
  42. data/tracks/csharp/exercises/grep/README.md +77 -0
  43. data/tracks/csharp/exercises/hamming/README.md +48 -0
  44. data/tracks/csharp/exercises/hangman/README.md +32 -0
  45. data/tracks/csharp/exercises/hello-world/README.md +27 -0
  46. data/tracks/csharp/exercises/house/README.md +123 -0
  47. data/tracks/csharp/exercises/isogram/README.md +25 -0
  48. data/tracks/csharp/exercises/kindergarten-garden/README.md +72 -0
  49. data/tracks/csharp/exercises/largest-series-product/README.md +26 -0
  50. data/tracks/csharp/exercises/leap/README.md +39 -0
  51. data/tracks/csharp/exercises/ledger/README.md +24 -0
  52. data/tracks/csharp/exercises/linked-list/README.md +40 -0
  53. data/tracks/csharp/exercises/list-ops/README.md +19 -0
  54. data/tracks/csharp/exercises/luhn/README.md +77 -0
  55. data/tracks/csharp/exercises/markdown/README.md +28 -0
  56. data/tracks/csharp/exercises/matrix/README.md +51 -0
  57. data/tracks/csharp/exercises/meetup/README.md +36 -0
  58. data/tracks/csharp/exercises/minesweeper/README.md +36 -0
  59. data/tracks/csharp/exercises/nth-prime/README.md +29 -0
  60. data/tracks/csharp/exercises/nucleotide-count/README.md +43 -0
  61. data/tracks/csharp/exercises/ocr-numbers/README.md +91 -0
  62. data/tracks/csharp/exercises/palindrome-products/README.md +51 -0
  63. data/tracks/csharp/exercises/pangram/README.md +21 -0
  64. data/tracks/csharp/exercises/parallel-letter-frequency/README.md +17 -0
  65. data/tracks/csharp/exercises/pascals-triangle/README.md +27 -0
  66. data/tracks/csharp/exercises/perfect-numbers/README.md +30 -0
  67. data/tracks/csharp/exercises/phone-number/README.md +40 -0
  68. data/tracks/csharp/exercises/pig-latin/README.md +30 -0
  69. data/tracks/csharp/exercises/poker/README.md +18 -0
  70. data/tracks/csharp/exercises/pov/README.md +52 -0
  71. data/tracks/csharp/exercises/prime-factors/README.md +42 -0
  72. data/tracks/csharp/exercises/protein-translation/README.md +55 -0
  73. data/tracks/csharp/exercises/proverb/README.md +28 -0
  74. data/tracks/csharp/exercises/pythagorean-triplet/README.md +30 -0
  75. data/tracks/csharp/exercises/queen-attack/README.md +39 -0
  76. data/tracks/csharp/exercises/rail-fence-cipher/README.md +66 -0
  77. data/tracks/csharp/exercises/raindrops/README.md +30 -0
  78. data/tracks/csharp/exercises/react/README.md +29 -0
  79. data/tracks/csharp/exercises/rectangles/README.md +73 -0
  80. data/tracks/csharp/exercises/rna-transcription/README.md +31 -0
  81. data/tracks/csharp/exercises/robot-name/README.md +28 -0
  82. data/tracks/csharp/exercises/robot-simulator/README.md +40 -0
  83. data/tracks/csharp/exercises/roman-numerals/README.md +59 -0
  84. data/tracks/csharp/exercises/rotational-cipher/README.md +42 -0
  85. data/tracks/csharp/exercises/run-length-encoding/README.md +36 -0
  86. data/tracks/csharp/exercises/saddle-points/README.md +44 -0
  87. data/tracks/csharp/exercises/say/README.md +75 -0
  88. data/tracks/csharp/exercises/scale-generator/README.md +66 -0
  89. data/tracks/csharp/exercises/scrabble-score/README.md +50 -0
  90. data/tracks/csharp/exercises/secret-handshake/README.md +41 -0
  91. data/tracks/csharp/exercises/series/README.md +33 -0
  92. data/tracks/csharp/exercises/sgf-parsing/README.md +78 -0
  93. data/tracks/csharp/exercises/sieve/README.md +40 -0
  94. data/tracks/csharp/exercises/simple-cipher/README.md +96 -0
  95. data/tracks/csharp/exercises/simple-linked-list/README.md +38 -0
  96. data/tracks/csharp/exercises/space-age/README.md +30 -0
  97. data/tracks/csharp/exercises/strain/README.md +46 -0
  98. data/tracks/csharp/exercises/sublist/README.md +32 -0
  99. data/tracks/csharp/exercises/sum-of-multiples/README.md +28 -0
  100. data/tracks/csharp/exercises/tournament/README.md +74 -0
  101. data/tracks/csharp/exercises/transpose/README.md +71 -0
  102. data/tracks/csharp/exercises/tree-building/README.md +36 -0
  103. data/tracks/csharp/exercises/triangle/README.md +32 -0
  104. data/tracks/csharp/exercises/twelve-days/README.md +45 -0
  105. data/tracks/csharp/exercises/two-bucket/README.md +42 -0
  106. data/tracks/csharp/exercises/variable-length-quantity/README.md +50 -0
  107. data/tracks/csharp/exercises/word-count/README.md +25 -0
  108. data/tracks/csharp/exercises/word-search/README.md +43 -0
  109. data/tracks/csharp/exercises/wordy/README.md +73 -0
  110. data/tracks/csharp/exercises/zebra-puzzle/README.md +43 -0
  111. data/tracks/csharp/exercises/zipper/README.md +41 -0
  112. data/tracks/dart/config/exercise_readme.go.tmpl +16 -0
  113. data/tracks/dart/exercises/bob/README.md +18 -0
  114. data/tracks/dart/exercises/difference-of-squares/README.md +19 -0
  115. data/tracks/dart/exercises/gigasecond/README.md +11 -0
  116. data/tracks/dart/exercises/hamming/README.md +42 -0
  117. data/tracks/dart/exercises/hello-world/README.md +21 -0
  118. data/tracks/dart/exercises/leap/README.md +33 -0
  119. data/tracks/dart/exercises/rna-transcription/README.md +25 -0
  120. data/tracks/delphi/config.json +25 -32
  121. data/tracks/elixir/config.json +255 -3
  122. data/tracks/elixir/config/exercise_readme.go.tmpl +16 -0
  123. data/tracks/elixir/exercises/accumulate/README.md +72 -0
  124. data/tracks/elixir/exercises/acronym/README.md +52 -0
  125. data/tracks/elixir/exercises/all-your-base/README.md +72 -0
  126. data/tracks/elixir/exercises/allergies/README.md +74 -0
  127. data/tracks/elixir/exercises/anagram/README.md +50 -0
  128. data/tracks/elixir/exercises/atbash-cipher/README.md +71 -0
  129. data/tracks/elixir/exercises/bank-account/README.md +67 -0
  130. data/tracks/elixir/exercises/beer-song/README.md +364 -0
  131. data/tracks/elixir/exercises/binary-search/README.md +78 -0
  132. data/tracks/elixir/exercises/binary/README.md +72 -0
  133. data/tracks/elixir/exercises/bob/README.md +55 -0
  134. data/tracks/elixir/exercises/bowling/README.md +90 -0
  135. data/tracks/elixir/exercises/bowling/bowling_test.exs +91 -18
  136. data/tracks/elixir/exercises/bowling/example.exs +4 -4
  137. data/tracks/elixir/exercises/bracket-push/README.md +47 -0
  138. data/tracks/elixir/exercises/change/README.md +60 -0
  139. data/tracks/elixir/exercises/clock/README.md +50 -0
  140. data/tracks/elixir/exercises/collatz-conjecture/README.md +70 -0
  141. data/tracks/elixir/exercises/connect/README.md +71 -0
  142. data/tracks/elixir/exercises/crypto-square/README.md +111 -0
  143. data/tracks/elixir/exercises/custom-set/README.md +48 -0
  144. data/tracks/elixir/exercises/diamond/README.md +96 -0
  145. data/tracks/elixir/exercises/difference-of-squares/README.md +56 -0
  146. data/tracks/elixir/exercises/diffie-hellman/README.md +93 -0
  147. data/tracks/elixir/exercises/dominoes/README.md +55 -0
  148. data/tracks/elixir/exercises/dot-dsl/README.md +65 -0
  149. data/tracks/elixir/exercises/etl/README.md +88 -0
  150. data/tracks/elixir/exercises/flatten-array/README.md +55 -0
  151. data/tracks/elixir/exercises/forth/README.md +66 -0
  152. data/tracks/elixir/exercises/gigasecond/README.md +48 -0
  153. data/tracks/elixir/exercises/grade-school/README.md +79 -0
  154. data/tracks/elixir/exercises/grains/README.md +71 -0
  155. data/tracks/elixir/exercises/grep/README.md +108 -0
  156. data/tracks/elixir/exercises/hamming/README.md +79 -0
  157. data/tracks/elixir/exercises/hello-world/README.md +58 -0
  158. data/tracks/elixir/exercises/hexadecimal/README.md +51 -0
  159. data/tracks/elixir/exercises/isogram/README.md +56 -0
  160. data/tracks/elixir/exercises/kindergarten-garden/README.md +103 -0
  161. data/tracks/elixir/exercises/largest-series-product/README.md +57 -0
  162. data/tracks/elixir/exercises/leap/README.md +70 -0
  163. data/tracks/elixir/exercises/list-ops/README.md +47 -0
  164. data/tracks/elixir/exercises/luhn/README.md +108 -0
  165. data/tracks/elixir/exercises/markdown/README.md +55 -0
  166. data/tracks/elixir/exercises/matrix/README.md +82 -0
  167. data/tracks/elixir/exercises/meetup/README.md +67 -0
  168. data/tracks/elixir/exercises/minesweeper/README.md +67 -0
  169. data/tracks/elixir/exercises/nth-prime/README.md +52 -0
  170. data/tracks/elixir/exercises/nucleotide-count/README.md +70 -0
  171. data/tracks/elixir/exercises/ocr-numbers/README.md +122 -0
  172. data/tracks/elixir/exercises/palindrome-products/README.md +77 -0
  173. data/tracks/elixir/exercises/pangram/README.md +52 -0
  174. data/tracks/elixir/exercises/parallel-letter-frequency/README.md +48 -0
  175. data/tracks/elixir/exercises/pascals-triangle/README.md +58 -0
  176. data/tracks/elixir/exercises/perfect-numbers/README.md +61 -0
  177. data/tracks/elixir/exercises/phone-number/README.md +71 -0
  178. data/tracks/elixir/exercises/pig-latin/README.md +61 -0
  179. data/tracks/elixir/exercises/poker/README.md +49 -0
  180. data/tracks/elixir/exercises/prime-factors/README.md +73 -0
  181. data/tracks/elixir/exercises/protein-translation/README.md +86 -0
  182. data/tracks/elixir/exercises/pythagorean-triplet/README.md +61 -0
  183. data/tracks/elixir/exercises/queen-attack/README.md +70 -0
  184. data/tracks/elixir/exercises/rail-fence-cipher/README.md +97 -0
  185. data/tracks/elixir/exercises/raindrops/README.md +61 -0
  186. data/tracks/elixir/exercises/rna-transcription/README.md +62 -0
  187. data/tracks/elixir/exercises/robot-simulator/README.md +71 -0
  188. data/tracks/elixir/exercises/roman-numerals/README.md +86 -0
  189. data/tracks/elixir/exercises/rotational-cipher/README.md +73 -0
  190. data/tracks/elixir/exercises/run-length-encoding/README.md +67 -0
  191. data/tracks/elixir/exercises/saddle-points/README.md +70 -0
  192. data/tracks/elixir/exercises/say/README.md +106 -0
  193. data/tracks/elixir/exercises/scale-generator/README.md +97 -0
  194. data/tracks/elixir/exercises/scrabble-score/README.md +81 -0
  195. data/tracks/elixir/exercises/secret-handshake/README.md +94 -0
  196. data/tracks/elixir/exercises/series/README.md +64 -0
  197. data/tracks/elixir/exercises/sieve/README.md +71 -0
  198. data/tracks/elixir/exercises/simple-cipher/README.md +127 -0
  199. data/tracks/elixir/exercises/simple-linked-list/README.md +65 -0
  200. data/tracks/elixir/exercises/space-age/README.md +61 -0
  201. data/tracks/elixir/exercises/strain/README.md +80 -0
  202. data/tracks/elixir/exercises/sublist/README.md +58 -0
  203. data/tracks/elixir/exercises/sum-of-multiples/README.md +55 -0
  204. data/tracks/elixir/exercises/tournament/README.md +110 -0
  205. data/tracks/elixir/exercises/triangle/README.md +63 -0
  206. data/tracks/elixir/exercises/twelve-days/README.md +72 -0
  207. data/tracks/elixir/exercises/word-count/README.md +56 -0
  208. data/tracks/elixir/exercises/wordy/README.md +100 -0
  209. data/tracks/elixir/exercises/zipper/README.md +68 -0
  210. data/tracks/fsharp/config/exercise_readme.go.tmpl +16 -0
  211. data/tracks/fsharp/exercises/accumulate/README.md +40 -0
  212. data/tracks/fsharp/exercises/acronym/README.md +15 -0
  213. data/tracks/fsharp/exercises/all-your-base/README.md +35 -0
  214. data/tracks/fsharp/exercises/allergies/README.md +37 -0
  215. data/tracks/fsharp/exercises/alphametics/README.md +41 -0
  216. data/tracks/fsharp/exercises/anagram/README.md +13 -0
  217. data/tracks/fsharp/exercises/atbash-cipher/README.md +34 -0
  218. data/tracks/fsharp/exercises/bank-account/README.md +30 -0
  219. data/tracks/fsharp/exercises/beer-song/README.md +331 -0
  220. data/tracks/fsharp/exercises/binary-search-tree/README.md +60 -0
  221. data/tracks/fsharp/exercises/binary-search/README.md +41 -0
  222. data/tracks/fsharp/exercises/bob/README.md +18 -0
  223. data/tracks/fsharp/exercises/book-store/README.md +74 -0
  224. data/tracks/fsharp/exercises/bowling/README.md +53 -0
  225. data/tracks/fsharp/exercises/bracket-push/README.md +10 -0
  226. data/tracks/fsharp/exercises/change/README.md +23 -0
  227. data/tracks/fsharp/exercises/circular-buffer/README.md +50 -0
  228. data/tracks/fsharp/exercises/clock/README.md +13 -0
  229. data/tracks/fsharp/exercises/connect/README.md +34 -0
  230. data/tracks/fsharp/exercises/crypto-square/README.md +74 -0
  231. data/tracks/fsharp/exercises/custom-set/README.md +11 -0
  232. data/tracks/fsharp/exercises/diamond/README.md +62 -0
  233. data/tracks/fsharp/exercises/difference-of-squares/README.md +25 -0
  234. data/tracks/fsharp/exercises/diffie-hellman/README.md +49 -0
  235. data/tracks/fsharp/exercises/dominoes/README.md +18 -0
  236. data/tracks/fsharp/exercises/dot-dsl/README.md +28 -0
  237. data/tracks/fsharp/exercises/error-handling/README.md +13 -0
  238. data/tracks/fsharp/exercises/etl/README.md +51 -0
  239. data/tracks/fsharp/exercises/food-chain/README.md +74 -0
  240. data/tracks/fsharp/exercises/forth/README.md +29 -0
  241. data/tracks/fsharp/exercises/gigasecond/README.md +15 -0
  242. data/tracks/fsharp/exercises/go-counting/README.md +37 -0
  243. data/tracks/fsharp/exercises/grade-school/README.md +47 -0
  244. data/tracks/fsharp/exercises/grains/README.md +39 -0
  245. data/tracks/fsharp/exercises/grep/README.md +71 -0
  246. data/tracks/fsharp/exercises/hamming/README.md +42 -0
  247. data/tracks/fsharp/exercises/hangman/README.md +21 -0
  248. data/tracks/fsharp/exercises/hello-world/README.md +21 -0
  249. data/tracks/fsharp/exercises/house/README.md +117 -0
  250. data/tracks/fsharp/exercises/isogram/README.md +19 -0
  251. data/tracks/fsharp/exercises/kindergarten-garden/README.md +66 -0
  252. data/tracks/fsharp/exercises/largest-series-product/README.md +20 -0
  253. data/tracks/fsharp/exercises/leap/README.md +33 -0
  254. data/tracks/fsharp/exercises/ledger/README.md +18 -0
  255. data/tracks/fsharp/exercises/lens-person/README.md +15 -0
  256. data/tracks/fsharp/exercises/linked-list/README.md +50 -0
  257. data/tracks/fsharp/exercises/list-ops/README.md +10 -0
  258. data/tracks/fsharp/exercises/luhn/README.md +71 -0
  259. data/tracks/fsharp/exercises/markdown/README.md +18 -0
  260. data/tracks/fsharp/exercises/matrix/README.md +45 -0
  261. data/tracks/fsharp/exercises/meetup/README.md +30 -0
  262. data/tracks/fsharp/exercises/minesweeper/README.md +30 -0
  263. data/tracks/fsharp/exercises/nth-prime/README.md +21 -0
  264. data/tracks/fsharp/exercises/nucleotide-count/README.md +33 -0
  265. data/tracks/fsharp/exercises/ocr-numbers/README.md +85 -0
  266. data/tracks/fsharp/exercises/palindrome-products/README.md +44 -0
  267. data/tracks/fsharp/exercises/pangram/README.md +15 -0
  268. data/tracks/fsharp/exercises/parallel-letter-frequency/README.md +15 -0
  269. data/tracks/fsharp/exercises/pascals-triangle/README.md +21 -0
  270. data/tracks/fsharp/exercises/perfect-numbers/README.md +24 -0
  271. data/tracks/fsharp/exercises/phone-number/README.md +34 -0
  272. data/tracks/fsharp/exercises/pig-latin/README.md +24 -0
  273. data/tracks/fsharp/exercises/poker/README.md +15 -0
  274. data/tracks/fsharp/exercises/pov/README.md +46 -0
  275. data/tracks/fsharp/exercises/prime-factors/README.md +36 -0
  276. data/tracks/fsharp/exercises/protein-translation/README.md +49 -0
  277. data/tracks/fsharp/exercises/proverb/README.md +22 -0
  278. data/tracks/fsharp/exercises/pythagorean-triplet/README.md +24 -0
  279. data/tracks/fsharp/exercises/queen-attack/README.md +33 -0
  280. data/tracks/fsharp/exercises/rail-fence-cipher/README.md +60 -0
  281. data/tracks/fsharp/exercises/raindrops/README.md +27 -0
  282. data/tracks/fsharp/exercises/react/README.md +19 -0
  283. data/tracks/fsharp/exercises/rectangles/README.md +67 -0
  284. data/tracks/fsharp/exercises/rna-transcription/README.md +29 -0
  285. data/tracks/fsharp/exercises/robot-name/README.md +22 -0
  286. data/tracks/fsharp/exercises/robot-simulator/README.md +34 -0
  287. data/tracks/fsharp/exercises/roman-numerals/README.md +49 -0
  288. data/tracks/fsharp/exercises/run-length-encoding/README.md +30 -0
  289. data/tracks/fsharp/exercises/saddle-points/README.md +33 -0
  290. data/tracks/fsharp/exercises/say/README.md +69 -0
  291. data/tracks/fsharp/exercises/scale-generator/README.md +60 -0
  292. data/tracks/fsharp/exercises/scrabble-score/README.md +44 -0
  293. data/tracks/fsharp/exercises/secret-handshake/README.md +35 -0
  294. data/tracks/fsharp/exercises/series/README.md +27 -0
  295. data/tracks/fsharp/exercises/sgf-parsing/README.md +68 -0
  296. data/tracks/fsharp/exercises/sieve/README.md +34 -0
  297. data/tracks/fsharp/exercises/simple-cipher/README.md +90 -0
  298. data/tracks/fsharp/exercises/simple-linked-list/README.md +28 -0
  299. data/tracks/fsharp/exercises/space-age/README.md +28 -0
  300. data/tracks/fsharp/exercises/strain/README.md +40 -0
  301. data/tracks/fsharp/exercises/sublist/README.md +21 -0
  302. data/tracks/fsharp/exercises/sum-of-multiples/README.md +18 -0
  303. data/tracks/fsharp/exercises/tournament/README.md +68 -0
  304. data/tracks/fsharp/exercises/transpose/README.md +65 -0
  305. data/tracks/fsharp/exercises/tree-building/README.md +30 -0
  306. data/tracks/fsharp/exercises/triangle/README.md +26 -0
  307. data/tracks/fsharp/exercises/twelve-days/README.md +39 -0
  308. data/tracks/fsharp/exercises/two-bucket/README.md +36 -0
  309. data/tracks/fsharp/exercises/variable-length-quantity/README.md +39 -0
  310. data/tracks/fsharp/exercises/word-count/README.md +19 -0
  311. data/tracks/fsharp/exercises/word-search/README.md +30 -0
  312. data/tracks/fsharp/exercises/wordy/README.md +68 -0
  313. data/tracks/fsharp/exercises/zebra-puzzle/README.md +32 -0
  314. data/tracks/fsharp/exercises/zipper/README.md +31 -0
  315. data/tracks/haskell/README.md +2 -2
  316. data/tracks/javascript/config.json +232 -4
  317. data/tracks/kotlin/config.json +8 -1
  318. data/tracks/kotlin/exercises/rotational-cipher/build.gradle +28 -0
  319. data/tracks/kotlin/exercises/rotational-cipher/src/example/kotlin/RotationalCipher.kt +18 -0
  320. data/tracks/kotlin/exercises/rotational-cipher/src/main/kotlin/.keep +0 -0
  321. data/tracks/kotlin/exercises/rotational-cipher/src/test/kotlin/RotationalCipherTest.kt +81 -0
  322. data/tracks/kotlin/exercises/settings.gradle +1 -0
  323. data/tracks/powershell/config/exercise_readme.go.tmpl +16 -0
  324. data/tracks/powershell/exercises/hamming/README.md +42 -0
  325. data/tracks/powershell/exercises/hello-world/README.md +21 -0
  326. data/tracks/purescript/README.md +4 -4
  327. data/tracks/scala/config.json +266 -6
  328. data/tracks/scala/config/exercise_readme.go.tmpl +16 -0
  329. data/tracks/scala/exercises/accumulate/README.md +46 -0
  330. data/tracks/scala/exercises/acronym/README.md +26 -0
  331. data/tracks/scala/exercises/all-your-base/README.md +46 -0
  332. data/tracks/scala/exercises/allergies/README.md +48 -0
  333. data/tracks/scala/exercises/alphametics/README.md +46 -0
  334. data/tracks/scala/exercises/anagram/README.md +24 -0
  335. data/tracks/scala/exercises/atbash-cipher/README.md +45 -0
  336. data/tracks/scala/exercises/bank-account/README.md +54 -0
  337. data/tracks/scala/exercises/beer-song/README.md +338 -0
  338. data/tracks/scala/exercises/binary-search-tree/README.md +71 -0
  339. data/tracks/scala/exercises/binary-search/README.md +52 -0
  340. data/tracks/scala/exercises/binary/README.md +46 -0
  341. data/tracks/scala/exercises/bob/README.md +29 -0
  342. data/tracks/scala/exercises/book-store/README.md +85 -0
  343. data/tracks/scala/exercises/bowling/README.md +64 -0
  344. data/tracks/scala/exercises/bracket-push/README.md +21 -0
  345. data/tracks/scala/exercises/change/README.md +34 -0
  346. data/tracks/scala/exercises/clock/README.md +24 -0
  347. data/tracks/scala/exercises/connect/README.md +53 -0
  348. data/tracks/scala/exercises/crypto-square/README.md +85 -0
  349. data/tracks/scala/exercises/custom-set/README.md +22 -0
  350. data/tracks/scala/exercises/difference-of-squares/README.md +30 -0
  351. data/tracks/scala/exercises/dominoes/README.md +29 -0
  352. data/tracks/scala/exercises/etl/README.md +62 -0
  353. data/tracks/scala/exercises/food-chain/README.md +81 -0
  354. data/tracks/scala/exercises/forth/README.md +40 -0
  355. data/tracks/scala/exercises/gigasecond/README.md +26 -0
  356. data/tracks/scala/exercises/grade-school/README.md +53 -0
  357. data/tracks/scala/exercises/grains/README.md +45 -0
  358. data/tracks/scala/exercises/hamming/README.md +112 -0
  359. data/tracks/scala/exercises/hello-world/README.md +38 -0
  360. data/tracks/scala/exercises/hexadecimal/README.md +25 -0
  361. data/tracks/scala/exercises/house/README.md +124 -0
  362. data/tracks/scala/exercises/isogram/README.md +30 -0
  363. data/tracks/scala/exercises/kindergarten-garden/README.md +77 -0
  364. data/tracks/scala/exercises/largest-series-product/README.md +31 -0
  365. data/tracks/scala/exercises/leap/README.md +50 -0
  366. data/tracks/scala/exercises/lens-person/README.md +11 -7
  367. data/tracks/scala/exercises/linked-list/README.md +45 -0
  368. data/tracks/scala/exercises/luhn/README.md +82 -0
  369. data/tracks/scala/exercises/matrix/README.md +56 -0
  370. data/tracks/scala/exercises/meetup/README.md +41 -0
  371. data/tracks/scala/exercises/minesweeper/README.md +41 -0
  372. data/tracks/scala/exercises/nth-prime/README.md +26 -0
  373. data/tracks/scala/exercises/nucleotide-count/README.md +107 -0
  374. data/tracks/scala/exercises/ocr-numbers/README.md +96 -0
  375. data/tracks/scala/exercises/octal/README.md +60 -0
  376. data/tracks/scala/exercises/palindrome-products/README.md +51 -0
  377. data/tracks/scala/exercises/pangram/README.md +26 -0
  378. data/tracks/scala/exercises/parallel-letter-frequency/README.md +50 -0
  379. data/tracks/scala/exercises/pascals-triangle/README.md +32 -0
  380. data/tracks/scala/exercises/perfect-numbers/README.md +35 -0
  381. data/tracks/scala/exercises/phone-number/README.md +56 -0
  382. data/tracks/scala/exercises/pig-latin/README.md +35 -0
  383. data/tracks/scala/exercises/prime-factors/README.md +47 -0
  384. data/tracks/scala/exercises/protein-translation/README.md +60 -0
  385. data/tracks/scala/exercises/pythagorean-triplet/README.md +35 -0
  386. data/tracks/scala/exercises/queen-attack/README.md +44 -0
  387. data/tracks/scala/exercises/rail-fence-cipher/README.md +71 -0
  388. data/tracks/scala/exercises/raindrops/README.md +35 -0
  389. data/tracks/scala/exercises/rna-transcription/README.md +36 -0
  390. data/tracks/scala/exercises/robot-name/README.md +40 -0
  391. data/tracks/scala/exercises/robot-simulator/README.md +45 -0
  392. data/tracks/scala/exercises/roman-numerals/README.md +72 -0
  393. data/tracks/scala/exercises/run-length-encoding/README.md +41 -0
  394. data/tracks/scala/exercises/saddle-points/README.md +44 -0
  395. data/tracks/scala/exercises/say/README.md +80 -0
  396. data/tracks/scala/exercises/scrabble-score/README.md +55 -0
  397. data/tracks/scala/exercises/secret-handshake/README.md +46 -0
  398. data/tracks/scala/exercises/series/README.md +38 -0
  399. data/tracks/scala/exercises/sgf-parsing/README.md +79 -0
  400. data/tracks/scala/exercises/sieve/README.md +45 -0
  401. data/tracks/scala/exercises/simple-cipher/README.md +101 -0
  402. data/tracks/scala/exercises/simple-linked-list/README.md +39 -0
  403. data/tracks/scala/exercises/space-age/README.md +35 -0
  404. data/tracks/scala/exercises/spiral-matrix/README.md +41 -0
  405. data/tracks/scala/exercises/strain/README.md +51 -0
  406. data/tracks/scala/exercises/sublist/README.md +32 -0
  407. data/tracks/scala/exercises/sum-of-multiples/README.md +29 -0
  408. data/tracks/scala/exercises/triangle/README.md +37 -0
  409. data/tracks/scala/exercises/trinary/README.md +39 -0
  410. data/tracks/scala/exercises/variable-length-quantity/README.md +54 -0
  411. data/tracks/scala/exercises/word-count/README.md +30 -0
  412. data/tracks/scala/exercises/wordy/README.md +74 -0
  413. data/tracks/scala/exercises/zebra-puzzle/README.md +43 -0
  414. data/tracks/scala/exercises/zipper/README.md +42 -0
  415. metadata +401 -1
@@ -5,14 +5,20 @@
5
5
  "active": true,
6
6
  "exercises": [
7
7
  {
8
+ "uuid": "cc96d65d-1c79-40d0-8fd2-9a6665a43b01",
8
9
  "slug": "hello-world",
10
+ "core": false,
11
+ "unlocked_by": null,
9
12
  "difficulty": 1,
10
13
  "topics": [
11
14
  "strings"
12
15
  ]
13
16
  },
14
17
  {
18
+ "uuid": "7404e885-747a-46fc-be0c-c53f4b0e162f",
15
19
  "slug": "nucleotide-count",
20
+ "core": false,
21
+ "unlocked_by": null,
16
22
  "difficulty": 2,
17
23
  "topics": [
18
24
  "maps",
@@ -21,28 +27,40 @@
21
27
  ]
22
28
  },
23
29
  {
30
+ "uuid": "ea7da409-6bda-4cff-b26e-0909ba36f4f5",
24
31
  "slug": "secret-handshake",
32
+ "core": false,
33
+ "unlocked_by": null,
25
34
  "difficulty": 2,
26
35
  "topics": [
27
36
  "binary representation"
28
37
  ]
29
38
  },
30
39
  {
40
+ "uuid": "99b344ff-b74c-4af5-9952-7738b493ee7b",
31
41
  "slug": "rotational-cipher",
42
+ "core": false,
43
+ "unlocked_by": null,
32
44
  "difficulty": 2,
33
45
  "topics": [
34
46
  "string processing"
35
47
  ]
36
48
  },
37
49
  {
50
+ "uuid": "d51edc8a-893b-4b05-912f-759e0d85123b",
38
51
  "slug": "strain",
52
+ "core": false,
53
+ "unlocked_by": null,
39
54
  "difficulty": 2,
40
55
  "topics": [
41
56
  "collections"
42
57
  ]
43
58
  },
44
59
  {
60
+ "uuid": "84af7be8-8f90-4990-9d48-b5324a0d4354",
45
61
  "slug": "protein-translation",
62
+ "core": false,
63
+ "unlocked_by": null,
46
64
  "difficulty": 2,
47
65
  "topics": [
48
66
  "pattern matching",
@@ -50,7 +68,10 @@
50
68
  ]
51
69
  },
52
70
  {
71
+ "uuid": "3aa45a2b-d3bc-4763-b11d-5d41a1cf505c",
53
72
  "slug": "pig-latin",
73
+ "core": false,
74
+ "unlocked_by": null,
54
75
  "difficulty": 2,
55
76
  "topics": [
56
77
  "pattern matching",
@@ -58,7 +79,10 @@
58
79
  ]
59
80
  },
60
81
  {
82
+ "uuid": "1d02554e-15f3-46aa-9f14-60b4049f3100",
61
83
  "slug": "space-age",
84
+ "core": false,
85
+ "unlocked_by": null,
62
86
  "difficulty": 2,
63
87
  "topics": [
64
88
  "pattern matching",
@@ -66,7 +90,10 @@
66
90
  ]
67
91
  },
68
92
  {
93
+ "uuid": "d20b49dc-cb6d-45fc-a168-78d002072c75",
69
94
  "slug": "bob",
95
+ "core": false,
96
+ "unlocked_by": null,
70
97
  "difficulty": 2,
71
98
  "topics": [
72
99
  "control flow",
@@ -74,7 +101,10 @@
74
101
  ]
75
102
  },
76
103
  {
104
+ "uuid": "9dfb5dfc-1123-492b-9383-2a4312c219a4",
77
105
  "slug": "twelve-days",
106
+ "core": false,
107
+ "unlocked_by": null,
78
108
  "difficulty": 3,
79
109
  "topics": [
80
110
  "enumerations",
@@ -83,7 +113,10 @@
83
113
  ]
84
114
  },
85
115
  {
116
+ "uuid": "4a24ba2f-ae92-4095-be53-64bc881422ea",
86
117
  "slug": "word-count",
118
+ "core": false,
119
+ "unlocked_by": null,
87
120
  "difficulty": 2,
88
121
  "topics": [
89
122
  "maps",
@@ -92,7 +125,10 @@
92
125
  ]
93
126
  },
94
127
  {
128
+ "uuid": "e7c6a0d2-6aaf-4d55-99e2-8ffa65a5e8f0",
95
129
  "slug": "accumulate",
130
+ "core": false,
131
+ "unlocked_by": null,
96
132
  "difficulty": 2,
97
133
  "topics": [
98
134
  "reduce",
@@ -100,56 +136,80 @@
100
136
  ]
101
137
  },
102
138
  {
139
+ "uuid": "23989815-1b3f-4377-b6bf-ce9536432517",
103
140
  "slug": "acronym",
141
+ "core": false,
142
+ "unlocked_by": null,
104
143
  "difficulty": 2,
105
144
  "topics": [
106
145
 
107
146
  ]
108
147
  },
109
148
  {
149
+ "uuid": "4a084cb7-335d-41f1-8148-5d3abbce8ab0",
110
150
  "slug": "series",
151
+ "core": false,
152
+ "unlocked_by": null,
111
153
  "difficulty": 2,
112
154
  "topics": [
113
155
  "string processing"
114
156
  ]
115
157
  },
116
158
  {
159
+ "uuid": "4522b139-6f0c-4172-a4fa-6a6adef33a9e",
117
160
  "slug": "raindrops",
161
+ "core": false,
162
+ "unlocked_by": null,
118
163
  "difficulty": 2,
119
164
  "topics": [
120
165
 
121
166
  ]
122
167
  },
123
168
  {
169
+ "uuid": "f4f759ea-53e1-42d6-a580-6e7b7d6a99a0",
124
170
  "slug": "run-length-encoding",
171
+ "core": false,
172
+ "unlocked_by": null,
125
173
  "difficulty": 2,
126
174
  "topics": [
127
175
 
128
176
  ]
129
177
  },
130
178
  {
179
+ "uuid": "146dd0ed-5210-4b3c-bb4b-8d0a8e832aab",
131
180
  "slug": "sublist",
181
+ "core": false,
182
+ "unlocked_by": null,
132
183
  "difficulty": 2,
133
184
  "topics": [
134
185
 
135
186
  ]
136
187
  },
137
188
  {
189
+ "uuid": "cc198564-72e6-444b-93b6-6b7ecf4d1759",
138
190
  "slug": "scrabble-score",
191
+ "core": false,
192
+ "unlocked_by": null,
139
193
  "difficulty": 2,
140
194
  "topics": [
141
195
 
142
196
  ]
143
197
  },
144
198
  {
199
+ "uuid": "5b8eece1-845f-4a5a-8a2f-fe2bf66f5e57",
145
200
  "slug": "sum-of-multiples",
201
+ "core": false,
202
+ "unlocked_by": null,
146
203
  "difficulty": 2,
147
204
  "topics": [
148
205
 
149
206
  ]
150
207
  },
151
208
  {
209
+ "uuid": "20a0bbf8-751c-477a-a2cb-dd7cf4e4896c",
152
210
  "slug": "pangram",
211
+ "core": false,
212
+ "unlocked_by": null,
153
213
  "difficulty": 2,
154
214
  "topics": [
155
215
  "Strings",
@@ -157,21 +217,30 @@
157
217
  ]
158
218
  },
159
219
  {
220
+ "uuid": "e5d2386a-3021-4329-a4b7-6164e49df776",
160
221
  "slug": "simple-linked-list",
222
+ "core": false,
223
+ "unlocked_by": null,
161
224
  "difficulty": 1,
162
225
  "topics": [
163
226
  "Recursion"
164
227
  ]
165
228
  },
166
229
  {
230
+ "uuid": "21e70267-097e-476f-aaff-233483514802",
167
231
  "slug": "anagram",
232
+ "core": false,
233
+ "unlocked_by": null,
168
234
  "difficulty": 2,
169
235
  "topics": [
170
236
 
171
237
  ]
172
238
  },
173
239
  {
240
+ "uuid": "f0df392c-8ace-4639-b555-5e61e54a854e",
174
241
  "slug": "matrix",
242
+ "core": false,
243
+ "unlocked_by": null,
175
244
  "difficulty": 3,
176
245
  "topics": [
177
246
  "structs",
@@ -179,84 +248,120 @@
179
248
  ]
180
249
  },
181
250
  {
251
+ "uuid": "cf0084a0-7b1d-4714-b7b2-618e3ad6e147",
182
252
  "slug": "bracket-push",
253
+ "core": false,
254
+ "unlocked_by": null,
183
255
  "difficulty": 3,
184
256
  "topics": [
185
257
 
186
258
  ]
187
259
  },
188
260
  {
261
+ "uuid": "a4629a60-752f-4234-99f1-6b3ac0b4ba18",
189
262
  "slug": "rna-transcription",
263
+ "core": false,
264
+ "unlocked_by": null,
190
265
  "difficulty": 2,
191
266
  "topics": [
192
267
 
193
268
  ]
194
269
  },
195
270
  {
271
+ "uuid": "e8b049b7-6648-412c-8a11-0c95a15e2641",
196
272
  "slug": "phone-number",
273
+ "core": false,
274
+ "unlocked_by": null,
197
275
  "difficulty": 3,
198
276
  "topics": [
199
277
 
200
278
  ]
201
279
  },
202
280
  {
281
+ "uuid": "6d0c0785-3514-44fc-9b5a-0758989d1c6a",
203
282
  "slug": "nth-prime",
283
+ "core": false,
284
+ "unlocked_by": null,
204
285
  "difficulty": 2,
205
286
  "topics": [
206
287
 
207
288
  ]
208
289
  },
209
290
  {
291
+ "uuid": "4c0ece49-5710-43a1-88b3-2fb149de8552",
210
292
  "slug": "roman-numerals",
293
+ "core": false,
294
+ "unlocked_by": null,
211
295
  "difficulty": 2,
212
296
  "topics": [
213
297
 
214
298
  ]
215
299
  },
216
300
  {
301
+ "uuid": "f71d5f38-fcc9-4044-ade9-f779a8686c69",
217
302
  "slug": "all-your-base",
303
+ "core": false,
304
+ "unlocked_by": null,
218
305
  "difficulty": 2,
219
306
  "topics": [
220
307
 
221
308
  ]
222
309
  },
223
310
  {
311
+ "uuid": "aca03bcb-eb70-4646-be34-8c1a44026e9b",
224
312
  "slug": "hamming",
313
+ "core": false,
314
+ "unlocked_by": null,
225
315
  "difficulty": 2,
226
316
  "topics": [
227
317
 
228
318
  ]
229
319
  },
230
320
  {
321
+ "uuid": "546d92c7-c57b-4cbb-a721-9c393817a193",
231
322
  "slug": "triangle",
323
+ "core": false,
324
+ "unlocked_by": null,
232
325
  "difficulty": 2,
233
326
  "topics": [
234
327
 
235
328
  ]
236
329
  },
237
330
  {
331
+ "uuid": "24db624b-7c80-409d-97d5-e1177f025c67",
238
332
  "slug": "beer-song",
333
+ "core": false,
334
+ "unlocked_by": null,
239
335
  "difficulty": 3,
240
336
  "topics": [
241
337
 
242
338
  ]
243
339
  },
244
340
  {
341
+ "uuid": "55a20a0f-0131-4e4e-b14f-f3cb49e3cc04",
245
342
  "slug": "isogram",
343
+ "core": false,
344
+ "unlocked_by": null,
246
345
  "difficulty": 3,
247
346
  "topics": [
248
347
 
249
348
  ]
250
349
  },
251
350
  {
351
+ "uuid": "4e6d3ddf-b696-40dc-ba02-ed998e595be7",
252
352
  "slug": "grade-school",
353
+ "core": false,
354
+ "unlocked_by": null,
253
355
  "difficulty": 3,
254
356
  "topics": [
255
357
 
256
358
  ]
257
359
  },
258
360
  {
361
+ "uuid": "29a6f3f4-0d20-4447-8916-b98270780e0e",
259
362
  "slug": "tournament",
363
+ "core": false,
364
+ "unlocked_by": null,
260
365
  "difficulty": 4,
261
366
  "topics": [
262
367
  "string processing",
@@ -265,77 +370,110 @@
265
370
  ]
266
371
  },
267
372
  {
373
+ "uuid": "86658a31-d401-401b-80df-2c4df35f9b15",
268
374
  "slug": "list-ops",
375
+ "core": false,
376
+ "unlocked_by": null,
269
377
  "difficulty": 4,
270
378
  "topics": [
271
379
 
272
380
  ]
273
381
  },
274
382
  {
383
+ "uuid": "0aae3af1-7c35-4d7c-aecf-8f89c7fbc300",
275
384
  "slug": "flatten-array",
385
+ "core": false,
386
+ "unlocked_by": null,
276
387
  "difficulty": 3,
277
388
  "topics": [
278
389
 
279
390
  ]
280
391
  },
281
392
  {
393
+ "uuid": "3d0d82d7-fdff-4dd5-b720-7246317bb023",
282
394
  "slug": "leap",
395
+ "core": false,
396
+ "unlocked_by": null,
283
397
  "difficulty": 3,
284
398
  "topics": [
285
399
 
286
400
  ]
287
401
  },
288
402
  {
403
+ "uuid": "ae72ff68-e4c9-472c-8a86-7adaaa9086ee",
289
404
  "slug": "kindergarten-garden",
405
+ "core": false,
406
+ "unlocked_by": null,
290
407
  "difficulty": 3,
291
408
  "topics": [
292
409
 
293
410
  ]
294
411
  },
295
412
  {
413
+ "uuid": "b3a4c561-344a-403e-b5b3-3533d51e65f4",
296
414
  "slug": "etl",
415
+ "core": false,
416
+ "unlocked_by": null,
297
417
  "difficulty": 2,
298
418
  "topics": [
299
419
 
300
420
  ]
301
421
  },
302
422
  {
423
+ "uuid": "68fee2cd-a5bc-40f2-8936-a3bb10463498",
303
424
  "slug": "meetup",
425
+ "core": false,
426
+ "unlocked_by": null,
304
427
  "difficulty": 4,
305
428
  "topics": [
306
429
 
307
430
  ]
308
431
  },
309
432
  {
433
+ "uuid": "b030fa38-8935-4665-98c3-77f8434a6ea1",
310
434
  "slug": "grains",
435
+ "core": false,
436
+ "unlocked_by": null,
311
437
  "difficulty": 3,
312
438
  "topics": [
313
439
 
314
440
  ]
315
441
  },
316
442
  {
443
+ "uuid": "14bddd31-a68f-4a16-830f-6e8ecf8199f2",
317
444
  "slug": "change",
445
+ "core": false,
446
+ "unlocked_by": null,
318
447
  "difficulty": 3,
319
448
  "topics": [
320
449
 
321
450
  ]
322
451
  },
323
452
  {
453
+ "uuid": "1992eaf7-7fbe-4176-ad46-01e325c27bcb",
324
454
  "slug": "parallel-letter-frequency",
455
+ "core": false,
456
+ "unlocked_by": null,
325
457
  "difficulty": 4,
326
458
  "topics": [
327
459
 
328
460
  ]
329
461
  },
330
462
  {
463
+ "uuid": "29c3c9ff-c7f3-4646-9612-7cd768d237ab",
331
464
  "slug": "binary",
465
+ "core": false,
466
+ "unlocked_by": null,
332
467
  "difficulty": 3,
333
468
  "topics": [
334
469
 
335
470
  ]
336
471
  },
337
472
  {
473
+ "uuid": "94de8b3f-79d7-4367-821c-e239c95e32ca",
338
474
  "slug": "scale-generator",
475
+ "core": false,
476
+ "unlocked_by": null,
339
477
  "difficulty": 5,
340
478
  "topics": [
341
479
  "enumerations",
@@ -343,119 +481,170 @@
343
481
  ]
344
482
  },
345
483
  {
484
+ "uuid": "c38ca1a8-9f0e-49de-81f9-5712ce459839",
346
485
  "slug": "luhn",
486
+ "core": false,
487
+ "unlocked_by": null,
347
488
  "difficulty": 5,
348
489
  "topics": [
349
490
 
350
491
  ]
351
492
  },
352
493
  {
494
+ "uuid": "5dfa24bf-e77c-47c6-88e1-e50cbeecd159",
353
495
  "slug": "markdown",
496
+ "core": false,
497
+ "unlocked_by": null,
354
498
  "difficulty": 5,
355
499
  "topics": [
356
500
 
357
501
  ]
358
502
  },
359
503
  {
504
+ "uuid": "287331a4-64d5-4b35-b4c1-a1171dc338e1",
360
505
  "slug": "gigasecond",
506
+ "core": false,
507
+ "unlocked_by": null,
361
508
  "difficulty": 3,
362
509
  "topics": [
363
510
 
364
511
  ]
365
512
  },
366
513
  {
514
+ "uuid": "5bc0d877-ad13-461e-bdbd-cd262b875dbb",
367
515
  "slug": "queen-attack",
516
+ "core": false,
517
+ "unlocked_by": null,
368
518
  "difficulty": 7,
369
519
  "topics": [
370
520
 
371
521
  ]
372
522
  },
373
523
  {
524
+ "uuid": "b85c37c7-a76e-41fa-9ce6-abcdba2bd683",
374
525
  "slug": "pascals-triangle",
526
+ "core": false,
527
+ "unlocked_by": null,
375
528
  "difficulty": 3,
376
529
  "topics": [
377
530
 
378
531
  ]
379
532
  },
380
533
  {
534
+ "uuid": "8e5c050a-ff42-4a23-ba32-84595b7476f4",
381
535
  "slug": "saddle-points",
536
+ "core": false,
537
+ "unlocked_by": null,
382
538
  "difficulty": 5,
383
539
  "topics": [
384
540
 
385
541
  ]
386
542
  },
387
543
  {
544
+ "uuid": "8154a099-5d6f-4e71-83fe-45ab23475778",
388
545
  "slug": "hexadecimal",
546
+ "core": false,
547
+ "unlocked_by": null,
389
548
  "difficulty": 3,
390
549
  "topics": [
391
550
 
392
551
  ]
393
552
  },
394
553
  {
554
+ "uuid": "89633764-ace4-4ad5-a1aa-22cae7be7d18",
395
555
  "slug": "diamond",
556
+ "core": false,
557
+ "unlocked_by": null,
396
558
  "difficulty": 5,
397
559
  "topics": [
398
560
 
399
561
  ]
400
562
  },
401
563
  {
564
+ "uuid": "89204af8-3914-404b-8984-39a8d60362c4",
402
565
  "slug": "binary-search",
566
+ "core": false,
567
+ "unlocked_by": null,
403
568
  "difficulty": 3,
404
569
  "topics": [
405
570
 
406
571
  ]
407
572
  },
408
573
  {
574
+ "uuid": "47328272-b2f6-42e4-a5a3-a5d276bfbdee",
409
575
  "slug": "prime-factors",
576
+ "core": false,
577
+ "unlocked_by": null,
410
578
  "difficulty": 3,
411
579
  "topics": [
412
580
 
413
581
  ]
414
582
  },
415
583
  {
584
+ "uuid": "cf4816a5-8cee-4a85-8bbb-236c0676123c",
416
585
  "slug": "perfect-numbers",
586
+ "core": false,
587
+ "unlocked_by": null,
417
588
  "difficulty": 3,
418
589
  "topics": [
419
590
 
420
591
  ]
421
592
  },
422
593
  {
594
+ "uuid": "92caf2b9-3fca-401c-8daa-aaa0193e704f",
423
595
  "slug": "diffie-hellman",
596
+ "core": false,
597
+ "unlocked_by": null,
424
598
  "difficulty": 4,
425
599
  "topics": [
426
600
  "math"
427
601
  ]
428
602
  },
429
603
  {
604
+ "uuid": "78cfa21b-bc7f-426b-9ef3-57b8639e887b",
430
605
  "slug": "sieve",
606
+ "core": false,
607
+ "unlocked_by": null,
431
608
  "difficulty": 5,
432
609
  "topics": [
433
610
 
434
611
  ]
435
612
  },
436
613
  {
614
+ "uuid": "087940a2-5372-4ff3-aa9f-ce2eb982d91c",
437
615
  "slug": "wordy",
616
+ "core": false,
617
+ "unlocked_by": null,
438
618
  "difficulty": 6,
439
619
  "topics": [
440
620
 
441
621
  ]
442
622
  },
443
623
  {
624
+ "uuid": "e5e55560-852f-4551-b4da-c9f4a3141470",
444
625
  "slug": "robot-simulator",
626
+ "core": false,
627
+ "unlocked_by": null,
445
628
  "difficulty": 6,
446
629
  "topics": [
447
630
 
448
631
  ]
449
632
  },
450
633
  {
634
+ "uuid": "eab8a96f-74af-4e3d-8039-d1d74714f72b",
451
635
  "slug": "atbash-cipher",
636
+ "core": false,
637
+ "unlocked_by": null,
452
638
  "difficulty": 3,
453
639
  "topics": [
454
640
 
455
641
  ]
456
642
  },
457
643
  {
644
+ "uuid": "dbea6e3b-1c0c-471f-9af3-f8fd3cbb957a",
458
645
  "slug": "simple-cipher",
646
+ "core": false,
647
+ "unlocked_by": null,
459
648
  "difficulty": 3,
460
649
  "topics": [
461
650
  "string processing",
@@ -463,119 +652,170 @@
463
652
  ]
464
653
  },
465
654
  {
655
+ "uuid": "5d5e0f6c-f4b7-418e-88f8-4b1d0f99bfb0",
466
656
  "slug": "bank-account",
657
+ "core": false,
658
+ "unlocked_by": null,
467
659
  "difficulty": 7,
468
660
  "topics": [
469
661
 
470
662
  ]
471
663
  },
472
664
  {
665
+ "uuid": "79525094-76dd-4cf0-8956-fdd33de855e2",
473
666
  "slug": "largest-series-product",
667
+ "core": false,
668
+ "unlocked_by": null,
474
669
  "difficulty": 4,
475
670
  "topics": [
476
671
 
477
672
  ]
478
673
  },
479
674
  {
675
+ "uuid": "132981c5-d3cd-426a-8a93-8a72b1cd8564",
480
676
  "slug": "crypto-square",
677
+ "core": false,
678
+ "unlocked_by": null,
481
679
  "difficulty": 4,
482
680
  "topics": [
483
681
 
484
682
  ]
485
683
  },
486
684
  {
685
+ "uuid": "087a2a3b-71e2-4473-ab2f-3be5240567b5",
487
686
  "slug": "pythagorean-triplet",
687
+ "core": false,
688
+ "unlocked_by": null,
488
689
  "difficulty": 5,
489
690
  "topics": [
490
691
 
491
692
  ]
492
693
  },
493
694
  {
695
+ "uuid": "9a1b599c-3175-4166-9b53-491a2f565db6",
494
696
  "slug": "allergies",
697
+ "core": false,
698
+ "unlocked_by": null,
495
699
  "difficulty": 4,
496
700
  "topics": [
497
701
 
498
702
  ]
499
703
  },
500
704
  {
705
+ "uuid": "5ab8275f-bf1d-472d-9545-8ac622ce6f5d",
501
706
  "slug": "palindrome-products",
707
+ "core": false,
708
+ "unlocked_by": null,
502
709
  "difficulty": 5,
503
710
  "topics": [
504
711
 
505
712
  ]
506
713
  },
507
714
  {
715
+ "uuid": "3daeb229-0638-443f-9ae2-222ebb88c11a",
508
716
  "slug": "rail-fence-cipher",
717
+ "core": false,
718
+ "unlocked_by": null,
509
719
  "difficulty": 6,
510
720
  "topics": [
511
721
 
512
722
  ]
513
723
  },
514
724
  {
725
+ "uuid": "bc315734-051c-4735-9a8a-3aacb094d2ca",
515
726
  "slug": "zipper",
727
+ "core": false,
728
+ "unlocked_by": null,
516
729
  "difficulty": 8,
517
730
  "topics": [
518
731
 
519
732
  ]
520
733
  },
521
734
  {
735
+ "uuid": "8d665135-31dc-490a-8f6d-51c6654099bd",
522
736
  "slug": "minesweeper",
737
+ "core": false,
738
+ "unlocked_by": null,
523
739
  "difficulty": 7,
524
740
  "topics": [
525
741
 
526
742
  ]
527
743
  },
528
744
  {
745
+ "uuid": "c36fd67a-a370-49b7-b778-9a542e2c5a75",
529
746
  "slug": "connect",
747
+ "core": false,
748
+ "unlocked_by": null,
530
749
  "difficulty": 7,
531
750
  "topics": [
532
751
 
533
752
  ]
534
753
  },
535
754
  {
755
+ "uuid": "bb9b24da-1ee6-42fb-936f-5fc41d97ee27",
536
756
  "slug": "difference-of-squares",
757
+ "core": false,
758
+ "unlocked_by": null,
537
759
  "difficulty": 4,
538
760
  "topics": [
539
761
 
540
762
  ]
541
763
  },
542
764
  {
765
+ "uuid": "53d67dde-5a53-4d89-b77c-027d144135b9",
543
766
  "slug": "poker",
767
+ "core": false,
768
+ "unlocked_by": null,
544
769
  "difficulty": 7,
545
770
  "topics": [
546
771
  "sorting"
547
772
  ]
548
773
  },
549
774
  {
775
+ "uuid": "3b252cc6-cc55-4187-891e-c10aaabac81f",
550
776
  "slug": "bowling",
777
+ "core": false,
778
+ "unlocked_by": null,
551
779
  "difficulty": 8,
552
780
  "topics": [
553
781
 
554
782
  ]
555
783
  },
556
784
  {
785
+ "uuid": "c316b8ef-7b2d-43d4-b402-f7d28b0cdaa7",
557
786
  "slug": "dot-dsl",
787
+ "core": false,
788
+ "unlocked_by": null,
558
789
  "difficulty": 8,
559
790
  "topics": [
560
791
 
561
792
  ]
562
793
  },
563
794
  {
795
+ "uuid": "1219528b-3438-4313-84c5-a9c1bbb6ffd3",
564
796
  "slug": "custom-set",
797
+ "core": false,
798
+ "unlocked_by": null,
565
799
  "difficulty": 5,
566
800
  "topics": [
567
801
 
568
802
  ]
569
803
  },
570
804
  {
805
+ "uuid": "2abfa3e5-d358-4a07-91f9-d4ad04eb719d",
571
806
  "slug": "forth",
807
+ "core": false,
808
+ "unlocked_by": null,
572
809
  "difficulty": 10,
573
810
  "topics": [
574
811
 
575
812
  ]
576
813
  },
577
814
  {
815
+ "uuid": "e7cb9cd0-5893-4ebb-b801-f5d548945531",
578
816
  "slug": "clock",
817
+ "core": false,
818
+ "unlocked_by": null,
579
819
  "difficulty": 5,
580
820
  "topics": [
581
821
  "Protocols",
@@ -586,7 +826,10 @@
586
826
  ]
587
827
  },
588
828
  {
829
+ "uuid": "b2630a58-6ee1-4b3b-ad5c-e09b8bfe2a30",
589
830
  "slug": "grep",
831
+ "core": false,
832
+ "unlocked_by": null,
590
833
  "difficulty": 1,
591
834
  "topics": [
592
835
  "Strings",
@@ -594,14 +837,20 @@
594
837
  ]
595
838
  },
596
839
  {
840
+ "uuid": "5ecbe1c9-12e3-42b6-921a-bc2d32011930",
597
841
  "slug": "say",
842
+ "core": false,
843
+ "unlocked_by": null,
598
844
  "difficulty": 3,
599
845
  "topics": [
600
846
  "Pattern Matching"
601
847
  ]
602
848
  },
603
849
  {
850
+ "uuid": "3f321191-afb1-4aa1-995b-204aa460269e",
604
851
  "slug": "ocr-numbers",
852
+ "core": false,
853
+ "unlocked_by": null,
605
854
  "difficulty": 6,
606
855
  "topics": [
607
856
  "Strings",
@@ -609,14 +858,20 @@
609
858
  ]
610
859
  },
611
860
  {
861
+ "uuid": "01f7ce73-ad6a-42bb-a401-cbd485c081d4",
612
862
  "slug": "collatz-conjecture",
863
+ "core": false,
864
+ "unlocked_by": null,
613
865
  "difficulty": 2,
614
866
  "topics": [
615
867
  "Recursion"
616
868
  ]
617
869
  },
618
870
  {
871
+ "uuid": "9fdeb525-90d8-45ca-9a24-ca46b4363e03",
619
872
  "slug": "dominoes",
873
+ "core": false,
874
+ "unlocked_by": null,
620
875
  "difficulty": 4,
621
876
  "topics": [
622
877
  "Recursion",
@@ -626,9 +881,6 @@
626
881
  "Sorting"
627
882
  ]
628
883
  }
629
- ],
630
- "deprecated": [
631
-
632
884
  ],
633
885
  "foregone": [
634
886
  "robot-name"