trackler 2.2.0.4 → 2.2.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (486) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/bash/config.json +10 -2
  4. data/tracks/bash/exercises/word-count/example.awk +12 -0
  5. data/tracks/bash/exercises/word-count/example.sh +21 -0
  6. data/tracks/c/config.json +0 -2
  7. data/tracks/ceylon/config.json +0 -2
  8. data/tracks/{erlang/exercises/all-your-base/.meta/readme.go.tmpl → clojure/config/exercise_readme.go.tmpl} +0 -1
  9. data/tracks/clojure/exercises/accumulate/README.md +35 -0
  10. data/tracks/clojure/exercises/acronym/README.md +15 -0
  11. data/tracks/clojure/exercises/all-your-base/README.md +35 -0
  12. data/tracks/clojure/exercises/allergies/README.md +37 -0
  13. data/tracks/clojure/exercises/anagram/README.md +13 -0
  14. data/tracks/clojure/exercises/atbash-cipher/README.md +34 -0
  15. data/tracks/clojure/exercises/bank-account/README.md +30 -0
  16. data/tracks/clojure/exercises/beer-song/README.md +327 -0
  17. data/tracks/clojure/exercises/binary/README.md +35 -0
  18. data/tracks/clojure/exercises/binary-search/README.md +41 -0
  19. data/tracks/clojure/exercises/binary-search-tree/README.md +60 -0
  20. data/tracks/clojure/exercises/bob/README.md +18 -0
  21. data/tracks/clojure/exercises/bracket-push/README.md +10 -0
  22. data/tracks/clojure/exercises/change/README.md +23 -0
  23. data/tracks/clojure/exercises/clock/README.md +13 -0
  24. data/tracks/clojure/exercises/crypto-square/README.md +74 -0
  25. data/tracks/clojure/exercises/difference-of-squares/README.md +19 -0
  26. data/tracks/clojure/exercises/etl/README.md +51 -0
  27. data/tracks/clojure/exercises/flatten-array/README.md +18 -0
  28. data/tracks/clojure/exercises/gigasecond/README.md +11 -0
  29. data/tracks/clojure/exercises/grade-school/README.md +42 -0
  30. data/tracks/clojure/exercises/grains/README.md +34 -0
  31. data/tracks/clojure/exercises/hamming/README.md +42 -0
  32. data/tracks/clojure/exercises/hello-world/README.md +51 -0
  33. data/tracks/clojure/exercises/hexadecimal/README.md +14 -0
  34. data/tracks/clojure/exercises/isogram/README.md +19 -0
  35. data/tracks/clojure/exercises/kindergarten-garden/README.md +66 -0
  36. data/tracks/clojure/exercises/largest-series-product/README.md +20 -0
  37. data/tracks/clojure/exercises/leap/README.md +33 -0
  38. data/tracks/clojure/exercises/luhn/README.md +71 -0
  39. data/tracks/clojure/exercises/meetup/README.md +30 -0
  40. data/tracks/clojure/exercises/minesweeper/README.md +30 -0
  41. data/tracks/clojure/exercises/nth-prime/README.md +15 -0
  42. data/tracks/clojure/exercises/nucleotide-count/README.md +33 -0
  43. data/tracks/clojure/exercises/octal/README.md +49 -0
  44. data/tracks/clojure/exercises/pangram/README.md +15 -0
  45. data/tracks/clojure/exercises/pascals-triangle/README.md +21 -0
  46. data/tracks/clojure/exercises/perfect-numbers/README.md +24 -0
  47. data/tracks/clojure/exercises/phone-number/README.md +34 -0
  48. data/tracks/clojure/exercises/pig-latin/README.md +24 -0
  49. data/tracks/clojure/exercises/pov/README.md +46 -0
  50. data/tracks/clojure/exercises/prime-factors/README.md +36 -0
  51. data/tracks/clojure/exercises/queen-attack/README.md +33 -0
  52. data/tracks/clojure/exercises/raindrops/README.md +24 -0
  53. data/tracks/clojure/exercises/rna-transcription/README.md +25 -0
  54. data/tracks/clojure/exercises/robot-name/README.md +22 -0
  55. data/tracks/clojure/exercises/robot-simulator/README.md +34 -0
  56. data/tracks/clojure/exercises/roman-numerals/README.md +49 -0
  57. data/tracks/clojure/exercises/rotational-cipher/README.md +36 -0
  58. data/tracks/clojure/exercises/scrabble-score/README.md +44 -0
  59. data/tracks/clojure/exercises/secret-handshake/README.md +35 -0
  60. data/tracks/clojure/exercises/sieve/README.md +34 -0
  61. data/tracks/clojure/exercises/space-age/README.md +24 -0
  62. data/tracks/clojure/exercises/strain/README.md +40 -0
  63. data/tracks/clojure/exercises/sublist/README.md +21 -0
  64. data/tracks/clojure/exercises/sum-of-multiples/README.md +18 -0
  65. data/tracks/clojure/exercises/triangle/README.md +26 -0
  66. data/tracks/clojure/exercises/trinary/README.md +28 -0
  67. data/tracks/clojure/exercises/word-count/README.md +19 -0
  68. data/tracks/clojure/exercises/wordy/README.md +63 -0
  69. data/tracks/{erlang/exercises/allergies/.meta/readme.go.tmpl → crystal/config/exercise_readme.go.tmpl} +0 -1
  70. data/tracks/crystal/config.json +0 -2
  71. data/tracks/crystal/exercises/acronym/README.md +38 -0
  72. data/tracks/crystal/exercises/anagram/README.md +36 -0
  73. data/tracks/crystal/exercises/atbash-cipher/README.md +57 -0
  74. data/tracks/crystal/exercises/binary/README.md +58 -0
  75. data/tracks/crystal/exercises/binary-search-tree/README.md +83 -0
  76. data/tracks/crystal/exercises/bob/README.md +41 -0
  77. data/tracks/crystal/exercises/bracket-push/README.md +33 -0
  78. data/tracks/crystal/exercises/difference-of-squares/README.md +42 -0
  79. data/tracks/crystal/exercises/flatten-array/README.md +41 -0
  80. data/tracks/crystal/exercises/forth/README.md +52 -0
  81. data/tracks/crystal/exercises/gigasecond/README.md +34 -0
  82. data/tracks/crystal/exercises/hamming/README.md +65 -0
  83. data/tracks/crystal/exercises/hello-world/README.md +78 -0
  84. data/tracks/crystal/exercises/largest-series-product/README.md +43 -0
  85. data/tracks/crystal/exercises/leap/README.md +56 -0
  86. data/tracks/crystal/exercises/pangram/README.md +38 -0
  87. data/tracks/crystal/exercises/pascals-triangle/README.md +44 -0
  88. data/tracks/crystal/exercises/raindrops/README.md +47 -0
  89. data/tracks/crystal/exercises/react/README.md +42 -0
  90. data/tracks/crystal/exercises/rna-transcription/README.md +48 -0
  91. data/tracks/crystal/exercises/roman-numerals/README.md +72 -0
  92. data/tracks/crystal/exercises/run-length-encoding/README.md +53 -0
  93. data/tracks/crystal/exercises/sieve/README.md +57 -0
  94. data/tracks/csharp/config.json +0 -2
  95. data/tracks/delphi/config.json +0 -2
  96. data/tracks/ecmascript/config.json +63 -2
  97. data/tracks/erlang/{exercises/anagram/.meta/readme.go.tmpl → config/exercise_readme.go.tmpl} +0 -1
  98. data/tracks/erlang/config.json +0 -2
  99. data/tracks/erlang/exercises/accumulate/README.md +0 -1
  100. data/tracks/erlang/exercises/all-your-base/README.md +0 -1
  101. data/tracks/erlang/exercises/allergies/README.md +0 -1
  102. data/tracks/erlang/exercises/anagram/README.md +0 -1
  103. data/tracks/erlang/exercises/atbash-cipher/README.md +0 -1
  104. data/tracks/erlang/exercises/bank-account/README.md +0 -1
  105. data/tracks/erlang/exercises/beer-song/README.md +0 -1
  106. data/tracks/erlang/exercises/bob/README.md +0 -1
  107. data/tracks/erlang/exercises/circular-buffer/README.md +0 -1
  108. data/tracks/erlang/exercises/clock/README.md +0 -1
  109. data/tracks/erlang/exercises/collatz-conjecture/README.md +0 -1
  110. data/tracks/erlang/exercises/difference-of-squares/README.md +0 -1
  111. data/tracks/erlang/exercises/etl/README.md +0 -1
  112. data/tracks/erlang/exercises/gigasecond/README.md +0 -1
  113. data/tracks/erlang/exercises/grade-school/README.md +0 -1
  114. data/tracks/erlang/exercises/grains/README.md +0 -1
  115. data/tracks/erlang/exercises/hamming/README.md +0 -1
  116. data/tracks/erlang/exercises/hello-world/README.md +0 -1
  117. data/tracks/erlang/exercises/largest-series-product/README.md +0 -1
  118. data/tracks/erlang/exercises/leap/README.md +0 -1
  119. data/tracks/erlang/exercises/luhn/README.md +0 -1
  120. data/tracks/erlang/exercises/meetup/README.md +0 -1
  121. data/tracks/erlang/exercises/nucleotide-count/README.md +0 -1
  122. data/tracks/erlang/exercises/parallel-letter-frequency/README.md +0 -1
  123. data/tracks/erlang/exercises/phone-number/README.md +0 -1
  124. data/tracks/erlang/exercises/rna-transcription/README.md +0 -1
  125. data/tracks/erlang/exercises/robot-simulator/README.md +0 -1
  126. data/tracks/erlang/exercises/roman-numerals/README.md +0 -1
  127. data/tracks/erlang/exercises/rotational-cipher/README.md +0 -1
  128. data/tracks/erlang/exercises/scrabble-score/README.md +0 -1
  129. data/tracks/erlang/exercises/series/README.md +0 -1
  130. data/tracks/erlang/exercises/space-age/README.md +0 -1
  131. data/tracks/erlang/exercises/spiral-matrix/README.md +0 -1
  132. data/tracks/erlang/exercises/strain/README.md +0 -1
  133. data/tracks/erlang/exercises/sum-of-multiples/README.md +0 -1
  134. data/tracks/erlang/exercises/triangle/README.md +0 -1
  135. data/tracks/erlang/exercises/word-count/README.md +0 -1
  136. data/tracks/erlang/exercises/zipper/README.md +0 -1
  137. data/tracks/factor/config.json +0 -2
  138. data/tracks/fsharp/config.json +0 -2
  139. data/tracks/go/config.json +12 -6
  140. data/tracks/go/exercises/bank-account/bank_account_test.go +60 -1
  141. data/tracks/go/exercises/error-handling/common.go +17 -0
  142. data/tracks/go/exercises/error-handling/error_handling_test.go +37 -4
  143. data/tracks/haskell/config.json +0 -2
  144. data/tracks/java/config.json +10 -2
  145. data/tracks/{erlang/exercises/accumulate → java/exercises/forth}/.meta/readme.go.tmpl +0 -0
  146. data/tracks/java/exercises/forth/README.md +41 -0
  147. data/tracks/java/exercises/forth/build.gradle +18 -0
  148. data/tracks/java/exercises/forth/src/example/java/ForthEvaluator.java +154 -0
  149. data/tracks/java/exercises/forth/src/example/java/Token.java +90 -0
  150. data/tracks/java/exercises/forth/src/main/java/.keep +0 -0
  151. data/tracks/java/exercises/forth/src/test/java/ForthEvaluatorTest.java +355 -0
  152. data/tracks/java/exercises/settings.gradle +1 -0
  153. data/tracks/javascript/config.json +0 -2
  154. data/tracks/kotlin/config.json +30 -2
  155. data/tracks/kotlin/exercises/forth/README.md +32 -0
  156. data/tracks/kotlin/exercises/forth/build.gradle +28 -0
  157. data/tracks/kotlin/exercises/forth/src/example/kotlin/ForthEvaluator.kt +138 -0
  158. data/tracks/kotlin/exercises/forth/src/main/kotlin/.keep +0 -0
  159. data/tracks/kotlin/exercises/forth/src/test/kotlin/ForthEvaluatorTest.kt +352 -0
  160. data/tracks/kotlin/exercises/meetup/README.md +33 -0
  161. data/tracks/kotlin/exercises/meetup/build.gradle +28 -0
  162. data/tracks/kotlin/exercises/meetup/src/example/kotlin/Meetup.kt +45 -0
  163. data/tracks/kotlin/exercises/meetup/src/example/kotlin/MeetupSchedule.kt +1 -0
  164. data/tracks/kotlin/exercises/meetup/src/main/kotlin/MeetupSchedule.kt +5 -0
  165. data/tracks/kotlin/exercises/meetup/src/test/kotlin/MeetupTest.kt +771 -0
  166. data/tracks/kotlin/exercises/say/README.md +72 -0
  167. data/tracks/kotlin/exercises/say/build.gradle +28 -0
  168. data/tracks/kotlin/exercises/say/src/example/kotlin/NumberSpeller.kt +88 -0
  169. data/tracks/kotlin/exercises/say/src/main/kotlin/.keep +0 -0
  170. data/tracks/kotlin/exercises/say/src/test/kotlin/NumberSpellerTest.kt +138 -0
  171. data/tracks/kotlin/exercises/settings.gradle +3 -0
  172. data/tracks/lua/config.json +0 -2
  173. data/tracks/mips/config.json +0 -2
  174. data/tracks/ocaml/config.json +0 -2
  175. data/tracks/perl5/config.json +262 -67
  176. data/tracks/perl6/config.json +98 -26
  177. data/tracks/php/docs/INSTALLATION.md +1 -1
  178. data/tracks/powershell/config.json +0 -2
  179. data/tracks/purescript/config.json +0 -2
  180. data/tracks/python/README.md +2 -2
  181. data/tracks/python/config/exercise_readme.go.tmpl +16 -0
  182. data/tracks/python/config.json +280 -15
  183. data/tracks/python/exercises/accumulate/README.md +46 -0
  184. data/tracks/python/exercises/acronym/README.md +26 -0
  185. data/tracks/python/exercises/all-your-base/README.md +46 -0
  186. data/tracks/python/exercises/allergies/README.md +48 -0
  187. data/tracks/python/exercises/alphametics/README.md +46 -0
  188. data/tracks/python/exercises/anagram/README.md +24 -0
  189. data/tracks/python/exercises/atbash-cipher/README.md +45 -0
  190. data/tracks/python/exercises/beer-song/README.md +338 -0
  191. data/tracks/python/exercises/binary/README.md +46 -0
  192. data/tracks/python/exercises/binary-search/README.md +52 -0
  193. data/tracks/python/exercises/bob/README.md +29 -0
  194. data/tracks/python/exercises/book-store/README.md +85 -0
  195. data/tracks/python/exercises/bracket-push/README.md +21 -0
  196. data/tracks/python/exercises/circular-buffer/README.md +61 -0
  197. data/tracks/python/exercises/clock/README.md +24 -0
  198. data/tracks/python/exercises/crypto-square/README.md +85 -0
  199. data/tracks/python/exercises/diamond/README.md +70 -0
  200. data/tracks/python/exercises/difference-of-squares/README.md +30 -0
  201. data/tracks/python/exercises/etl/README.md +62 -0
  202. data/tracks/python/exercises/flatten-array/README.md +29 -0
  203. data/tracks/python/exercises/gigasecond/README.md +22 -0
  204. data/tracks/python/exercises/grade-school/README.md +53 -0
  205. data/tracks/python/exercises/grains/README.md +45 -0
  206. data/tracks/python/exercises/grep/README.md +82 -0
  207. data/tracks/python/exercises/hamming/README.md +53 -0
  208. data/tracks/python/exercises/hello-world/README.md +32 -0
  209. data/tracks/python/exercises/hexadecimal/README.md +25 -0
  210. data/tracks/python/exercises/house/README.md +124 -0
  211. data/tracks/python/exercises/isogram/README.md +30 -0
  212. data/tracks/python/exercises/kindergarten-garden/README.md +77 -0
  213. data/tracks/python/exercises/largest-series-product/README.md +31 -0
  214. data/tracks/python/exercises/leap/README.md +44 -0
  215. data/tracks/python/exercises/linked-list/README.md +45 -0
  216. data/tracks/python/exercises/list-ops/README.md +21 -0
  217. data/tracks/python/exercises/luhn/README.md +82 -0
  218. data/tracks/python/exercises/matrix/README.md +56 -0
  219. data/tracks/python/exercises/meetup/README.md +41 -0
  220. data/tracks/python/exercises/minesweeper/README.md +41 -0
  221. data/tracks/python/exercises/nth-prime/README.md +26 -0
  222. data/tracks/python/exercises/nucleotide-count/README.md +44 -0
  223. data/tracks/python/exercises/ocr-numbers/README.md +96 -0
  224. data/tracks/python/exercises/octal/README.md +60 -0
  225. data/tracks/python/exercises/palindrome-products/README.md +51 -0
  226. data/tracks/python/exercises/pangram/README.md +26 -0
  227. data/tracks/python/exercises/pascals-triangle/README.md +32 -0
  228. data/tracks/python/exercises/perfect-numbers/README.md +35 -0
  229. data/tracks/python/exercises/phone-number/README.md +45 -0
  230. data/tracks/python/exercises/pig-latin/README.md +35 -0
  231. data/tracks/python/exercises/point-mutations/README.md +52 -0
  232. data/tracks/python/exercises/poker/README.md +23 -0
  233. data/tracks/python/exercises/prime-factors/README.md +47 -0
  234. data/tracks/python/exercises/protein-translation/README.md +60 -0
  235. data/tracks/python/exercises/proverb/README.md +29 -0
  236. data/tracks/python/exercises/pythagorean-triplet/README.md +35 -0
  237. data/tracks/python/exercises/queen-attack/README.md +44 -0
  238. data/tracks/python/exercises/rail-fence-cipher/README.md +71 -0
  239. data/tracks/python/exercises/raindrops/README.md +35 -0
  240. data/tracks/python/exercises/rectangles/README.md +78 -0
  241. data/tracks/python/exercises/rna-transcription/README.md +36 -0
  242. data/tracks/python/exercises/robot-name/README.md +33 -0
  243. data/tracks/python/exercises/robot-simulator/README.md +45 -0
  244. data/tracks/python/exercises/roman-numerals/README.md +60 -0
  245. data/tracks/python/exercises/rotational-cipher/README.md +47 -0
  246. data/tracks/python/exercises/run-length-encoding/README.md +41 -0
  247. data/tracks/python/exercises/saddle-points/README.md +44 -0
  248. data/tracks/python/exercises/say/README.md +80 -0
  249. data/tracks/python/exercises/scale-generator/README.md +71 -0
  250. data/tracks/python/exercises/scrabble-score/README.md +55 -0
  251. data/tracks/python/exercises/secret-handshake/README.md +46 -0
  252. data/tracks/python/exercises/series/README.md +38 -0
  253. data/tracks/python/exercises/sieve/README.md +45 -0
  254. data/tracks/python/exercises/simple-cipher/README.md +101 -0
  255. data/tracks/python/exercises/space-age/README.md +35 -0
  256. data/tracks/python/exercises/strain/README.md +51 -0
  257. data/tracks/python/exercises/sublist/README.md +32 -0
  258. data/tracks/python/exercises/sum-of-multiples/README.md +29 -0
  259. data/tracks/python/exercises/tournament/README.md +79 -0
  260. data/tracks/python/exercises/transpose/README.md +76 -0
  261. data/tracks/python/exercises/triangle/README.md +37 -0
  262. data/tracks/python/exercises/trinary/README.md +39 -0
  263. data/tracks/python/exercises/twelve-days/README.md +46 -0
  264. data/tracks/python/exercises/variable-length-quantity/README.md +50 -0
  265. data/tracks/python/exercises/word-count/README.md +30 -0
  266. data/tracks/python/exercises/word-search/README.md +41 -0
  267. data/tracks/python/exercises/wordy/README.md +74 -0
  268. data/tracks/python/exercises/zebra-puzzle/README.md +43 -0
  269. data/tracks/python/test/check-exercises.py +2 -3
  270. data/tracks/r/config.json +0 -2
  271. data/tracks/ruby/.travis.yml +1 -1
  272. data/tracks/ruby/config/exercise_readme.go.tmpl +16 -0
  273. data/tracks/ruby/config.json +265 -4
  274. data/tracks/ruby/exercises/accumulate/README.md +76 -0
  275. data/tracks/ruby/exercises/acronym/README.md +41 -0
  276. data/tracks/ruby/exercises/all-your-base/README.md +61 -0
  277. data/tracks/ruby/exercises/allergies/README.md +63 -0
  278. data/tracks/ruby/exercises/alphametics/README.md +61 -0
  279. data/tracks/ruby/exercises/anagram/README.md +39 -0
  280. data/tracks/ruby/exercises/atbash-cipher/README.md +60 -0
  281. data/tracks/ruby/exercises/beer-song/README.md +353 -0
  282. data/tracks/ruby/exercises/binary/README.md +61 -0
  283. data/tracks/ruby/exercises/binary-search/README.md +67 -0
  284. data/tracks/ruby/exercises/binary-search-tree/README.md +86 -0
  285. data/tracks/ruby/exercises/bob/README.md +44 -0
  286. data/tracks/ruby/exercises/bowling/README.md +79 -0
  287. data/tracks/ruby/exercises/bracket-push/README.md +36 -0
  288. data/tracks/ruby/exercises/circular-buffer/README.md +76 -0
  289. data/tracks/ruby/exercises/clock/README.md +39 -0
  290. data/tracks/ruby/exercises/collatz-conjecture/README.md +59 -0
  291. data/tracks/ruby/exercises/connect/README.md +60 -0
  292. data/tracks/ruby/exercises/crypto-square/README.md +100 -0
  293. data/tracks/ruby/exercises/custom-set/README.md +37 -0
  294. data/tracks/ruby/exercises/diamond/README.md +85 -0
  295. data/tracks/ruby/exercises/difference-of-squares/README.md +45 -0
  296. data/tracks/ruby/exercises/dominoes/README.md +44 -0
  297. data/tracks/ruby/exercises/etl/README.md +77 -0
  298. data/tracks/ruby/exercises/flatten-array/README.md +44 -0
  299. data/tracks/ruby/exercises/food-chain/README.md +96 -0
  300. data/tracks/ruby/exercises/gigasecond/README.md +37 -0
  301. data/tracks/ruby/exercises/grade-school/README.md +68 -0
  302. data/tracks/ruby/exercises/grains/README.md +60 -0
  303. data/tracks/ruby/exercises/hamming/README.md +68 -0
  304. data/tracks/ruby/exercises/hello-world/README.md +47 -0
  305. data/tracks/ruby/exercises/hexadecimal/README.md +40 -0
  306. data/tracks/ruby/exercises/house/README.md +139 -0
  307. data/tracks/ruby/exercises/isogram/README.md +45 -0
  308. data/tracks/ruby/exercises/kindergarten-garden/README.md +92 -0
  309. data/tracks/ruby/exercises/largest-series-product/README.md +46 -0
  310. data/tracks/ruby/exercises/leap/README.md +59 -0
  311. data/tracks/ruby/exercises/linked-list/README.md +60 -0
  312. data/tracks/ruby/exercises/list-ops/README.md +36 -0
  313. data/tracks/ruby/exercises/luhn/README.md +97 -0
  314. data/tracks/ruby/exercises/matrix/README.md +71 -0
  315. data/tracks/ruby/exercises/meetup/README.md +56 -0
  316. data/tracks/ruby/exercises/minesweeper/README.md +56 -0
  317. data/tracks/ruby/exercises/nth-prime/README.md +41 -0
  318. data/tracks/ruby/exercises/nucleotide-count/README.md +59 -0
  319. data/tracks/ruby/exercises/ocr-numbers/README.md +111 -0
  320. data/tracks/ruby/exercises/octal/README.md +75 -0
  321. data/tracks/ruby/exercises/palindrome-products/README.md +66 -0
  322. data/tracks/ruby/exercises/pangram/README.md +41 -0
  323. data/tracks/ruby/exercises/pascals-triangle/README.md +47 -0
  324. data/tracks/ruby/exercises/perfect-numbers/README.md +50 -0
  325. data/tracks/ruby/exercises/phone-number/README.md +60 -0
  326. data/tracks/ruby/exercises/pig-latin/README.md +50 -0
  327. data/tracks/ruby/exercises/point-mutations/README.md +67 -0
  328. data/tracks/ruby/exercises/poker/README.md +38 -0
  329. data/tracks/ruby/exercises/prime-factors/README.md +62 -0
  330. data/tracks/ruby/exercises/protein-translation/README.md +75 -0
  331. data/tracks/ruby/exercises/proverb/README.md +44 -0
  332. data/tracks/ruby/exercises/pythagorean-triplet/README.md +50 -0
  333. data/tracks/ruby/exercises/queen-attack/README.md +59 -0
  334. data/tracks/ruby/exercises/rail-fence-cipher/README.md +86 -0
  335. data/tracks/ruby/exercises/raindrops/README.md +50 -0
  336. data/tracks/ruby/exercises/rna-transcription/README.md +51 -0
  337. data/tracks/ruby/exercises/robot-name/README.md +57 -0
  338. data/tracks/ruby/exercises/robot-simulator/README.md +60 -0
  339. data/tracks/ruby/exercises/roman-numerals/README.md +75 -0
  340. data/tracks/ruby/exercises/run-length-encoding/README.md +56 -0
  341. data/tracks/ruby/exercises/saddle-points/README.md +59 -0
  342. data/tracks/ruby/exercises/say/README.md +95 -0
  343. data/tracks/ruby/exercises/scale-generator/README.md +86 -0
  344. data/tracks/ruby/exercises/scrabble-score/README.md +70 -0
  345. data/tracks/ruby/exercises/secret-handshake/README.md +61 -0
  346. data/tracks/ruby/exercises/series/README.md +53 -0
  347. data/tracks/ruby/exercises/sieve/README.md +60 -0
  348. data/tracks/ruby/exercises/simple-cipher/README.md +116 -0
  349. data/tracks/ruby/exercises/simple-linked-list/README.md +54 -0
  350. data/tracks/ruby/exercises/space-age/README.md +50 -0
  351. data/tracks/ruby/exercises/strain/README.md +66 -0
  352. data/tracks/ruby/exercises/sum-of-multiples/README.md +44 -0
  353. data/tracks/ruby/exercises/tournament/README.md +94 -0
  354. data/tracks/ruby/exercises/transpose/README.md +91 -0
  355. data/tracks/ruby/exercises/triangle/README.md +52 -0
  356. data/tracks/ruby/exercises/trinary/README.md +54 -0
  357. data/tracks/ruby/exercises/twelve-days/README.md +61 -0
  358. data/tracks/ruby/exercises/two-bucket/README.md +62 -0
  359. data/tracks/ruby/exercises/word-count/README.md +45 -0
  360. data/tracks/ruby/exercises/wordy/README.md +89 -0
  361. data/tracks/rust/README.md +3 -3
  362. data/tracks/rust/_test/WINDOWS_README.md +44 -0
  363. data/tracks/rust/config.json +9 -2
  364. data/tracks/rust/exercises/pig-latin/Cargo-example.toml +8 -0
  365. data/tracks/rust/exercises/pig-latin/Cargo.lock +4 -0
  366. data/tracks/rust/exercises/pig-latin/Cargo.toml +6 -0
  367. data/tracks/rust/exercises/pig-latin/README.md +56 -0
  368. data/tracks/rust/exercises/pig-latin/example.rs +28 -0
  369. data/tracks/rust/exercises/pig-latin/tests/pig-latin.rs +120 -0
  370. data/tracks/rust/problem_ordering.md +2 -2
  371. data/tracks/sml/config.json +0 -2
  372. data/tracks/swift/config/exercise_readme.go.tmpl +16 -0
  373. data/tracks/swift/config.json +304 -79
  374. data/tracks/swift/exercises/accumulate/README.md +43 -0
  375. data/tracks/swift/exercises/acronym/README.md +23 -0
  376. data/tracks/swift/exercises/all-your-base/README.md +43 -0
  377. data/tracks/swift/exercises/allergies/README.md +45 -0
  378. data/tracks/swift/exercises/anagram/README.md +21 -0
  379. data/tracks/swift/exercises/atbash-cipher/README.md +42 -0
  380. data/tracks/swift/exercises/beer-song/README.md +335 -0
  381. data/tracks/swift/exercises/binary/README.md +43 -0
  382. data/tracks/swift/exercises/binary-search/README.md +49 -0
  383. data/tracks/swift/exercises/binary-search-tree/README.md +68 -0
  384. data/tracks/swift/exercises/bob/README.md +26 -0
  385. data/tracks/swift/exercises/bowling/README.md +61 -0
  386. data/tracks/swift/exercises/bracket-push/README.md +18 -0
  387. data/tracks/swift/exercises/clock/README.md +21 -0
  388. data/tracks/swift/exercises/crypto-square/README.md +82 -0
  389. data/tracks/swift/exercises/custom-set/README.md +19 -0
  390. data/tracks/swift/exercises/difference-of-squares/README.md +27 -0
  391. data/tracks/swift/exercises/dominoes/README.md +26 -0
  392. data/tracks/swift/exercises/etl/README.md +59 -0
  393. data/tracks/swift/exercises/flatten-array/README.md +26 -0
  394. data/tracks/swift/exercises/food-chain/README.md +78 -0
  395. data/tracks/swift/exercises/gigasecond/README.md +19 -0
  396. data/tracks/swift/exercises/grade-school/README.md +50 -0
  397. data/tracks/swift/exercises/grains/README.md +42 -0
  398. data/tracks/swift/exercises/hamming/README.md +50 -0
  399. data/tracks/swift/exercises/hello-world/README.md +29 -0
  400. data/tracks/swift/exercises/hexadecimal/README.md +22 -0
  401. data/tracks/swift/exercises/house/README.md +121 -0
  402. data/tracks/swift/exercises/isogram/README.md +27 -0
  403. data/tracks/swift/exercises/kindergarten-garden/README.md +74 -0
  404. data/tracks/swift/exercises/largest-series-product/README.md +28 -0
  405. data/tracks/swift/exercises/leap/README.md +41 -0
  406. data/tracks/swift/exercises/linked-list/README.md +42 -0
  407. data/tracks/swift/exercises/luhn/README.md +79 -0
  408. data/tracks/swift/exercises/matrix/README.md +53 -0
  409. data/tracks/swift/exercises/meetup/README.md +38 -0
  410. data/tracks/swift/exercises/minesweeper/README.md +38 -0
  411. data/tracks/swift/exercises/nth-prime/README.md +23 -0
  412. data/tracks/swift/exercises/nucleotide-count/README.md +41 -0
  413. data/tracks/swift/exercises/ocr-numbers/README.md +93 -0
  414. data/tracks/swift/exercises/octal/README.md +57 -0
  415. data/tracks/swift/exercises/palindrome-products/README.md +48 -0
  416. data/tracks/swift/exercises/pangram/README.md +23 -0
  417. data/tracks/swift/exercises/pascals-triangle/README.md +29 -0
  418. data/tracks/swift/exercises/perfect-numbers/README.md +32 -0
  419. data/tracks/swift/exercises/phone-number/README.md +42 -0
  420. data/tracks/swift/exercises/pig-latin/README.md +32 -0
  421. data/tracks/swift/exercises/poker/README.md +20 -0
  422. data/tracks/swift/exercises/prime-factors/README.md +44 -0
  423. data/tracks/swift/exercises/pythagorean-triplet/README.md +32 -0
  424. data/tracks/swift/exercises/queen-attack/README.md +41 -0
  425. data/tracks/swift/exercises/raindrops/README.md +32 -0
  426. data/tracks/swift/exercises/rna-transcription/README.md +33 -0
  427. data/tracks/swift/exercises/robot-name/README.md +30 -0
  428. data/tracks/swift/exercises/robot-simulator/README.md +42 -0
  429. data/tracks/swift/exercises/roman-numerals/README.md +57 -0
  430. data/tracks/swift/exercises/run-length-encoding/README.md +38 -0
  431. data/tracks/swift/exercises/saddle-points/README.md +41 -0
  432. data/tracks/swift/exercises/scrabble-score/README.md +52 -0
  433. data/tracks/swift/exercises/secret-handshake/README.md +43 -0
  434. data/tracks/swift/exercises/series/README.md +35 -0
  435. data/tracks/swift/exercises/sieve/README.md +42 -0
  436. data/tracks/swift/exercises/simple-cipher/README.md +98 -0
  437. data/tracks/swift/exercises/simple-linked-list/README.md +36 -0
  438. data/tracks/swift/exercises/space-age/README.md +32 -0
  439. data/tracks/swift/exercises/strain/README.md +48 -0
  440. data/tracks/swift/exercises/sublist/README.md +29 -0
  441. data/tracks/swift/exercises/sum-of-multiples/README.md +26 -0
  442. data/tracks/swift/exercises/tournament/README.md +76 -0
  443. data/tracks/swift/exercises/transpose/README.md +73 -0
  444. data/tracks/swift/exercises/triangle/README.md +34 -0
  445. data/tracks/swift/exercises/trinary/README.md +36 -0
  446. data/tracks/swift/exercises/twelve-days/README.md +43 -0
  447. data/tracks/swift/exercises/word-count/README.md +27 -0
  448. data/tracks/swift/exercises/wordy/README.md +71 -0
  449. data/tracks/typescript/README.md +1 -1
  450. data/tracks/typescript/config.json +63 -3
  451. data/tracks/vimscript/config.json +0 -2
  452. metadata +371 -40
  453. data/tracks/erlang/exercises/atbash-cipher/.meta/readme.go.tmpl +0 -17
  454. data/tracks/erlang/exercises/bank-account/.meta/readme.go.tmpl +0 -17
  455. data/tracks/erlang/exercises/beer-song/.meta/readme.go.tmpl +0 -17
  456. data/tracks/erlang/exercises/bob/.meta/readme.go.tmpl +0 -17
  457. data/tracks/erlang/exercises/circular-buffer/.meta/readme.go.tmpl +0 -17
  458. data/tracks/erlang/exercises/clock/.meta/readme.go.tmpl +0 -17
  459. data/tracks/erlang/exercises/collatz-conjecture/.meta/readme.go.tmpl +0 -17
  460. data/tracks/erlang/exercises/difference-of-squares/.meta/readme.go.tmpl +0 -17
  461. data/tracks/erlang/exercises/etl/.meta/readme.go.tmpl +0 -17
  462. data/tracks/erlang/exercises/gigasecond/.meta/readme.go.tmpl +0 -17
  463. data/tracks/erlang/exercises/grade-school/.meta/readme.go.tmpl +0 -17
  464. data/tracks/erlang/exercises/grains/.meta/readme.go.tmpl +0 -17
  465. data/tracks/erlang/exercises/hamming/.meta/readme.go.tmpl +0 -17
  466. data/tracks/erlang/exercises/hello-world/.meta/readme.go.tmpl +0 -17
  467. data/tracks/erlang/exercises/largest-series-product/.meta/readme.go.tmpl +0 -17
  468. data/tracks/erlang/exercises/leap/.meta/readme.go.tmpl +0 -17
  469. data/tracks/erlang/exercises/luhn/.meta/readme.go.tmpl +0 -17
  470. data/tracks/erlang/exercises/meetup/.meta/readme.go.tmpl +0 -17
  471. data/tracks/erlang/exercises/nucleotide-count/.meta/readme.go.tmpl +0 -17
  472. data/tracks/erlang/exercises/parallel-letter-frequency/.meta/readme.go.tmpl +0 -17
  473. data/tracks/erlang/exercises/phone-number/.meta/readme.go.tmpl +0 -17
  474. data/tracks/erlang/exercises/rna-transcription/.meta/readme.go.tmpl +0 -17
  475. data/tracks/erlang/exercises/robot-simulator/.meta/readme.go.tmpl +0 -17
  476. data/tracks/erlang/exercises/roman-numerals/.meta/readme.go.tmpl +0 -17
  477. data/tracks/erlang/exercises/rotational-cipher/.meta/readme.go.tmpl +0 -17
  478. data/tracks/erlang/exercises/scrabble-score/.meta/readme.go.tmpl +0 -17
  479. data/tracks/erlang/exercises/series/.meta/readme.go.tmpl +0 -17
  480. data/tracks/erlang/exercises/space-age/.meta/readme.go.tmpl +0 -17
  481. data/tracks/erlang/exercises/spiral-matrix/.meta/readme.go.tmpl +0 -17
  482. data/tracks/erlang/exercises/strain/.meta/readme.go.tmpl +0 -17
  483. data/tracks/erlang/exercises/sum-of-multiples/.meta/readme.go.tmpl +0 -17
  484. data/tracks/erlang/exercises/triangle/.meta/readme.go.tmpl +0 -17
  485. data/tracks/erlang/exercises/word-count/.meta/readme.go.tmpl +0 -17
  486. data/tracks/erlang/exercises/zipper/.meta/readme.go.tmpl +0 -17
@@ -4,454 +4,649 @@
4
4
  "repository": "https://github.com/exercism/perl5",
5
5
  "active": true,
6
6
  "test_pattern": ".*\\.t$",
7
- "deprecated": [
8
- "binary",
9
- "point-mutations"
10
- ],
11
7
  "foregone": [
12
8
 
13
9
  ],
14
10
  "exercises": [
15
11
  {
16
- "difficulty": 1,
12
+ "uuid": "e436ce92-78b9-4b3b-b87e-581fa54cdc65",
17
13
  "slug": "hello-world",
14
+ "core": false,
15
+ "unlocked_by": null,
16
+ "difficulty": 1,
18
17
  "topics": [
19
18
 
20
19
  ]
21
20
  },
22
21
  {
23
- "difficulty": 1,
22
+ "uuid": "835a4c46-c837-4684-a1ed-7d257c786d77",
24
23
  "slug": "bob",
24
+ "core": false,
25
+ "unlocked_by": null,
26
+ "difficulty": 1,
25
27
  "topics": [
26
28
 
27
29
  ]
28
30
  },
29
31
  {
30
- "difficulty": 1,
32
+ "uuid": "0b512415-2dcf-4dfb-a58f-2765f9a1427b",
31
33
  "slug": "leap",
34
+ "core": false,
35
+ "unlocked_by": null,
36
+ "difficulty": 1,
32
37
  "topics": [
33
38
 
34
39
  ]
35
40
  },
36
41
  {
37
- "difficulty": 1,
42
+ "uuid": "55316f62-e3b0-4be7-a478-9fc5ea827d15",
38
43
  "slug": "grains",
44
+ "core": false,
45
+ "unlocked_by": null,
46
+ "difficulty": 1,
39
47
  "topics": [
40
48
 
41
49
  ]
42
50
  },
43
51
  {
44
- "difficulty": 1,
52
+ "uuid": "85154a10-06e3-4543-8513-4de30b43d015",
45
53
  "slug": "raindrops",
54
+ "core": false,
55
+ "unlocked_by": null,
56
+ "difficulty": 1,
46
57
  "topics": [
47
58
 
48
59
  ]
49
60
  },
50
61
  {
51
- "difficulty": 1,
62
+ "uuid": "5c35f654-8689-4fb3-af81-71fbe0c165f9",
52
63
  "slug": "hamming",
64
+ "core": false,
65
+ "unlocked_by": null,
66
+ "difficulty": 1,
53
67
  "topics": [
54
68
 
55
69
  ]
56
70
  },
57
71
  {
58
- "difficulty": 1,
72
+ "uuid": "e193fb19-5122-405f-88e0-59e5ee94f64b",
59
73
  "slug": "etl",
74
+ "core": false,
75
+ "unlocked_by": null,
76
+ "difficulty": 1,
60
77
  "topics": [
61
78
 
62
79
  ]
63
80
  },
64
81
  {
65
- "difficulty": 1,
82
+ "uuid": "332370f1-a782-4ffb-a41a-867bf392f05f",
66
83
  "slug": "scrabble-score",
84
+ "core": false,
85
+ "unlocked_by": null,
86
+ "difficulty": 1,
67
87
  "topics": [
68
88
 
69
89
  ]
70
90
  },
71
91
  {
72
- "difficulty": 1,
92
+ "uuid": "4693c5a5-948b-4650-9a37-9eb8ee2cfa6d",
73
93
  "slug": "word-count",
94
+ "core": false,
95
+ "unlocked_by": null,
96
+ "difficulty": 1,
74
97
  "topics": [
75
98
 
76
99
  ]
77
100
  },
78
101
  {
79
- "difficulty": 1,
102
+ "uuid": "c95418a3-d868-42dc-b39d-2505d255fecf",
80
103
  "slug": "anagram",
104
+ "core": false,
105
+ "unlocked_by": null,
106
+ "difficulty": 1,
81
107
  "topics": [
82
108
 
83
109
  ]
84
110
  },
85
111
  {
86
- "difficulty": 1,
112
+ "uuid": "590270ac-b638-4292-bbdc-eee1705904f1",
87
113
  "slug": "difference-of-squares",
114
+ "core": false,
115
+ "unlocked_by": null,
116
+ "difficulty": 1,
88
117
  "topics": [
89
118
 
90
119
  ]
91
120
  },
92
121
  {
93
- "difficulty": 1,
122
+ "uuid": "9aad3797-7001-424b-b38d-1e9db7a99581",
94
123
  "slug": "proverb",
124
+ "core": false,
125
+ "unlocked_by": null,
126
+ "difficulty": 1,
95
127
  "topics": [
96
128
 
97
129
  ]
98
130
  },
99
131
  {
100
- "difficulty": 1,
132
+ "uuid": "8f6d6a60-426c-4da0-af4e-7395b2c880d3",
101
133
  "slug": "space-age",
134
+ "core": false,
135
+ "unlocked_by": null,
136
+ "difficulty": 1,
102
137
  "topics": [
103
138
 
104
139
  ]
105
140
  },
106
141
  {
107
- "difficulty": 1,
142
+ "uuid": "c1eb4de7-41fe-4395-b5ef-a79a8187e727",
108
143
  "slug": "roman-numerals",
144
+ "core": false,
145
+ "unlocked_by": null,
146
+ "difficulty": 1,
109
147
  "topics": [
110
148
 
111
149
  ]
112
150
  },
113
151
  {
114
- "difficulty": 1,
152
+ "uuid": "163f929c-206b-430b-8ac7-ad7b5c062f3d",
115
153
  "slug": "clock",
154
+ "core": false,
155
+ "unlocked_by": null,
156
+ "difficulty": 1,
116
157
  "topics": [
117
158
 
118
159
  ]
119
160
  },
120
161
  {
121
- "difficulty": 1,
162
+ "uuid": "bcfc5046-ec4e-4b6e-a5c6-811883f021a0",
122
163
  "slug": "prime-factors",
164
+ "core": false,
165
+ "unlocked_by": null,
166
+ "difficulty": 1,
123
167
  "topics": [
124
168
 
125
169
  ]
126
170
  },
127
171
  {
128
- "difficulty": 1,
172
+ "uuid": "1384080d-d9db-4de7-a1db-090fd15ed7e6",
129
173
  "slug": "triangle",
174
+ "core": false,
175
+ "unlocked_by": null,
176
+ "difficulty": 1,
130
177
  "topics": [
131
178
 
132
179
  ]
133
180
  },
134
181
  {
135
- "difficulty": 1,
182
+ "uuid": "70eaa806-235f-4513-aaff-c827ed80a1ad",
136
183
  "slug": "beer-song",
184
+ "core": false,
185
+ "unlocked_by": null,
186
+ "difficulty": 1,
137
187
  "topics": [
138
188
 
139
189
  ]
140
190
  },
141
191
  {
142
- "difficulty": 1,
192
+ "uuid": "802e2ef6-68e5-4116-a94a-ae0ddb33406d",
143
193
  "slug": "phone-number",
194
+ "core": false,
195
+ "unlocked_by": null,
196
+ "difficulty": 1,
144
197
  "topics": [
145
198
 
146
199
  ]
147
200
  },
148
201
  {
149
- "difficulty": 1,
202
+ "uuid": "3029f30c-77b6-49a3-909f-26ca868e5b22",
150
203
  "slug": "robot-name",
204
+ "core": false,
205
+ "unlocked_by": null,
206
+ "difficulty": 1,
151
207
  "topics": [
152
208
 
153
209
  ]
154
210
  },
155
211
  {
156
- "difficulty": 1,
212
+ "uuid": "4b9872a8-bb21-4b1a-952b-032efa13b1da",
157
213
  "slug": "atbash-cipher",
214
+ "core": false,
215
+ "unlocked_by": null,
216
+ "difficulty": 1,
158
217
  "topics": [
159
218
 
160
219
  ]
161
220
  },
162
221
  {
163
- "difficulty": 1,
222
+ "uuid": "f9fcab93-a6d8-4e36-aee5-3333a1c874ce",
164
223
  "slug": "accumulate",
224
+ "core": false,
225
+ "unlocked_by": null,
226
+ "difficulty": 1,
165
227
  "topics": [
166
228
 
167
229
  ]
168
230
  },
169
231
  {
170
- "difficulty": 1,
232
+ "uuid": "39defad0-2828-4d3e-991f-5e624c68a37e",
171
233
  "slug": "crypto-square",
234
+ "core": false,
235
+ "unlocked_by": null,
236
+ "difficulty": 1,
172
237
  "topics": [
173
238
 
174
239
  ]
175
240
  },
176
241
  {
177
- "difficulty": 1,
242
+ "uuid": "88643b77-3889-4395-81a0-c73526ce879a",
178
243
  "slug": "trinary",
244
+ "core": false,
245
+ "unlocked_by": null,
246
+ "difficulty": 1,
179
247
  "topics": [
180
248
 
181
249
  ]
182
250
  },
183
251
  {
184
- "difficulty": 1,
252
+ "uuid": "08343954-918c-4383-a6b8-b8d3d6ef836c",
185
253
  "slug": "rna-transcription",
254
+ "core": false,
255
+ "unlocked_by": null,
256
+ "difficulty": 1,
186
257
  "topics": [
187
258
 
188
259
  ]
189
260
  },
190
261
  {
191
- "difficulty": 1,
262
+ "uuid": "7fd51712-d08f-475b-86c8-2945d054dc54",
192
263
  "slug": "allergies",
264
+ "core": false,
265
+ "unlocked_by": null,
266
+ "difficulty": 1,
193
267
  "topics": [
194
268
 
195
269
  ]
196
270
  },
197
271
  {
198
- "difficulty": 1,
272
+ "uuid": "80c6212c-6b25-45b9-b09f-4c085d02f561",
199
273
  "slug": "simple-cipher",
274
+ "core": false,
275
+ "unlocked_by": null,
276
+ "difficulty": 1,
200
277
  "topics": [
201
278
 
202
279
  ]
203
280
  },
204
281
  {
205
- "difficulty": 1,
282
+ "uuid": "35e90496-58a6-48be-ad55-14e3a145bd5c",
206
283
  "slug": "series",
284
+ "core": false,
285
+ "unlocked_by": null,
286
+ "difficulty": 1,
207
287
  "topics": [
208
288
 
209
289
  ]
210
290
  },
211
291
  {
212
- "difficulty": 1,
292
+ "uuid": "d5f021a7-d797-4561-aef9-1d5c7a9610d8",
213
293
  "slug": "luhn",
294
+ "core": false,
295
+ "unlocked_by": null,
296
+ "difficulty": 1,
214
297
  "topics": [
215
298
 
216
299
  ]
217
300
  },
218
301
  {
219
- "difficulty": 1,
302
+ "uuid": "5ab75e9e-39ae-4f7c-9cc8-e9ddd9d78415",
220
303
  "slug": "house",
304
+ "core": false,
305
+ "unlocked_by": null,
306
+ "difficulty": 1,
221
307
  "topics": [
222
308
 
223
309
  ]
224
310
  },
225
311
  {
226
- "difficulty": 1,
312
+ "uuid": "0f2e5082-9d97-414d-aa82-d03aed48d81a",
227
313
  "slug": "gigasecond",
314
+ "core": false,
315
+ "unlocked_by": null,
316
+ "difficulty": 1,
228
317
  "topics": [
229
318
 
230
319
  ]
231
320
  },
232
321
  {
233
- "difficulty": 1,
322
+ "uuid": "fe458d54-f002-4a96-a49f-1ca40e679f72",
234
323
  "slug": "strain",
324
+ "core": false,
325
+ "unlocked_by": null,
326
+ "difficulty": 1,
235
327
  "topics": [
236
328
 
237
329
  ]
238
330
  },
239
331
  {
240
- "difficulty": 1,
332
+ "uuid": "64c1e2fd-1d47-4734-8d45-206fb5bd1f57",
241
333
  "slug": "pig-latin",
334
+ "core": false,
335
+ "unlocked_by": null,
336
+ "difficulty": 1,
242
337
  "topics": [
243
338
 
244
339
  ]
245
340
  },
246
341
  {
247
- "difficulty": 1,
342
+ "uuid": "7b8c4795-4317-4145-8240-6c3c19c1067c",
248
343
  "slug": "linked-list",
344
+ "core": false,
345
+ "unlocked_by": null,
346
+ "difficulty": 1,
249
347
  "topics": [
250
348
 
251
349
  ]
252
350
  },
253
351
  {
254
- "difficulty": 1,
352
+ "uuid": "21c90e54-55b3-4f23-af90-00323964027b",
255
353
  "slug": "list-ops",
354
+ "core": false,
355
+ "unlocked_by": null,
356
+ "difficulty": 1,
256
357
  "topics": [
257
358
 
258
359
  ]
259
360
  },
260
361
  {
261
- "difficulty": 1,
362
+ "uuid": "b2c9b704-0266-4c16-a2f7-54294789a7f1",
262
363
  "slug": "wordy",
364
+ "core": false,
365
+ "unlocked_by": null,
366
+ "difficulty": 1,
263
367
  "topics": [
264
368
 
265
369
  ]
266
370
  },
267
371
  {
268
- "difficulty": 1,
372
+ "uuid": "a13a649a-3ce8-4bbb-ae93-41441e699c8a",
269
373
  "slug": "largest-series-product",
374
+ "core": false,
375
+ "unlocked_by": null,
376
+ "difficulty": 1,
270
377
  "topics": [
271
378
 
272
379
  ]
273
380
  },
274
381
  {
275
- "difficulty": 1,
382
+ "uuid": "742bccfd-20f9-44f1-8935-e84384807088",
276
383
  "slug": "hexadecimal",
384
+ "core": false,
385
+ "unlocked_by": null,
386
+ "difficulty": 1,
277
387
  "topics": [
278
388
 
279
389
  ]
280
390
  },
281
391
  {
282
- "difficulty": 1,
392
+ "uuid": "46e78725-bc28-4536-9149-9d001033be07",
283
393
  "slug": "secret-handshake",
394
+ "core": false,
395
+ "unlocked_by": null,
396
+ "difficulty": 1,
284
397
  "topics": [
285
398
 
286
399
  ]
287
400
  },
288
401
  {
289
- "difficulty": 1,
402
+ "uuid": "ab72941e-040b-4254-8908-1832b602f4ee",
290
403
  "slug": "kindergarten-garden",
404
+ "core": false,
405
+ "unlocked_by": null,
406
+ "difficulty": 1,
291
407
  "topics": [
292
408
 
293
409
  ]
294
410
  },
295
411
  {
296
- "difficulty": 1,
412
+ "uuid": "2e7e50a5-9790-4479-a26a-0e57823b00de",
297
413
  "slug": "nucleotide-count",
414
+ "core": false,
415
+ "unlocked_by": null,
416
+ "difficulty": 1,
298
417
  "topics": [
299
418
 
300
419
  ]
301
420
  },
302
421
  {
303
- "difficulty": 1,
422
+ "uuid": "9393df8b-f005-4972-a1b9-f9c55dc906bd",
304
423
  "slug": "binary-search",
424
+ "core": false,
425
+ "unlocked_by": null,
426
+ "difficulty": 1,
305
427
  "topics": [
306
428
 
307
429
  ]
308
430
  },
309
431
  {
310
- "difficulty": 1,
432
+ "uuid": "ee231adc-6770-47b0-88b2-6a7cf3140224",
311
433
  "slug": "matrix",
434
+ "core": false,
435
+ "unlocked_by": null,
436
+ "difficulty": 1,
312
437
  "topics": [
313
438
 
314
439
  ]
315
440
  },
316
441
  {
317
- "difficulty": 1,
442
+ "uuid": "3fc3e55d-ecf0-4c5b-8612-937c96a0cb45",
318
443
  "slug": "pascals-triangle",
444
+ "core": false,
445
+ "unlocked_by": null,
446
+ "difficulty": 1,
319
447
  "topics": [
320
448
 
321
449
  ]
322
450
  },
323
451
  {
324
- "difficulty": 1,
452
+ "uuid": "72f91fb8-88f3-43e3-8a4a-8ad258fa161c",
325
453
  "slug": "say",
454
+ "core": false,
455
+ "unlocked_by": null,
456
+ "difficulty": 1,
326
457
  "topics": [
327
458
 
328
459
  ]
329
460
  },
330
461
  {
331
- "difficulty": 1,
462
+ "uuid": "89a265f6-37b9-47fb-9ea5-5dba09852e48",
332
463
  "slug": "grade-school",
464
+ "core": false,
465
+ "unlocked_by": null,
466
+ "difficulty": 1,
333
467
  "topics": [
334
468
 
335
469
  ]
336
470
  },
337
471
  {
338
- "difficulty": 1,
472
+ "uuid": "bd880111-6a69-4310-a79f-13735471c8ef",
339
473
  "slug": "meetup",
474
+ "core": false,
475
+ "unlocked_by": null,
476
+ "difficulty": 1,
340
477
  "topics": [
341
478
 
342
479
  ]
343
480
  },
344
481
  {
345
- "difficulty": 1,
482
+ "uuid": "b190f24e-134f-402b-b2b4-98b3a6f84465",
346
483
  "slug": "queen-attack",
484
+ "core": false,
485
+ "unlocked_by": null,
486
+ "difficulty": 1,
347
487
  "topics": [
348
488
 
349
489
  ]
350
490
  },
351
491
  {
352
- "difficulty": 1,
492
+ "uuid": "70c36cde-e574-4b6d-9f71-3d284694ecb1",
353
493
  "slug": "ocr-numbers",
494
+ "core": false,
495
+ "unlocked_by": null,
496
+ "difficulty": 1,
354
497
  "topics": [
355
498
 
356
499
  ]
357
500
  },
358
501
  {
359
- "difficulty": 1,
502
+ "uuid": "4866701e-bd9c-41f9-a3e2-43c0ef39ad57",
360
503
  "slug": "palindrome-products",
504
+ "core": false,
505
+ "unlocked_by": null,
506
+ "difficulty": 1,
361
507
  "topics": [
362
508
 
363
509
  ]
364
510
  },
365
511
  {
366
- "difficulty": 1,
512
+ "uuid": "5e93b912-3e08-425a-999d-48dca196a442",
367
513
  "slug": "twelve-days",
514
+ "core": false,
515
+ "unlocked_by": null,
516
+ "difficulty": 1,
368
517
  "topics": [
369
518
 
370
519
  ]
371
520
  },
372
521
  {
373
- "difficulty": 1,
522
+ "uuid": "a0832961-e751-4f51-b1d4-e0c5bc5acf27",
374
523
  "slug": "binary-search-tree",
524
+ "core": false,
525
+ "unlocked_by": null,
526
+ "difficulty": 1,
375
527
  "topics": [
376
528
 
377
529
  ]
378
530
  },
379
531
  {
380
- "difficulty": 1,
532
+ "uuid": "9c855ef0-08b4-4810-9a58-285a44082b94",
381
533
  "slug": "sum-of-multiples",
534
+ "core": false,
535
+ "unlocked_by": null,
536
+ "difficulty": 1,
382
537
  "topics": [
383
538
 
384
539
  ]
385
540
  },
386
541
  {
387
- "difficulty": 1,
542
+ "uuid": "edcec766-70fb-41bd-a2fd-09815a01d76e",
388
543
  "slug": "sieve",
544
+ "core": false,
545
+ "unlocked_by": null,
546
+ "difficulty": 1,
389
547
  "topics": [
390
548
 
391
549
  ]
392
550
  },
393
551
  {
394
- "difficulty": 1,
552
+ "uuid": "43a4799d-5bdf-47af-b6e0-fdc74277589d",
395
553
  "slug": "food-chain",
554
+ "core": false,
555
+ "unlocked_by": null,
556
+ "difficulty": 1,
396
557
  "topics": [
397
558
 
398
559
  ]
399
560
  },
400
561
  {
401
- "difficulty": 1,
562
+ "uuid": "239a4e5e-9a09-4a2d-af2d-252dcf36a3a7",
402
563
  "slug": "pythagorean-triplet",
564
+ "core": false,
565
+ "unlocked_by": null,
566
+ "difficulty": 1,
403
567
  "topics": [
404
568
 
405
569
  ]
406
570
  },
407
571
  {
408
- "difficulty": 1,
572
+ "uuid": "ea8450d8-85a3-4530-a5cc-7314abe554eb",
409
573
  "slug": "saddle-points",
574
+ "core": false,
575
+ "unlocked_by": null,
576
+ "difficulty": 1,
410
577
  "topics": [
411
578
 
412
579
  ]
413
580
  },
414
581
  {
415
- "difficulty": 1,
582
+ "uuid": "9986bde0-92cc-434a-b32c-663f789bd41d",
416
583
  "slug": "robot-simulator",
584
+ "core": false,
585
+ "unlocked_by": null,
586
+ "difficulty": 1,
417
587
  "topics": [
418
588
 
419
589
  ]
420
590
  },
421
591
  {
422
- "difficulty": 1,
592
+ "uuid": "8cbf6c2c-6f89-4e2e-a63f-5ea5af41f033",
423
593
  "slug": "minesweeper",
594
+ "core": false,
595
+ "unlocked_by": null,
596
+ "difficulty": 1,
424
597
  "topics": [
425
598
 
426
599
  ]
427
600
  },
428
601
  {
429
- "difficulty": 1,
602
+ "uuid": "500cf4b8-d442-423a-957a-b95325b8a718",
430
603
  "slug": "custom-set",
604
+ "core": false,
605
+ "unlocked_by": null,
606
+ "difficulty": 1,
431
607
  "topics": [
432
608
 
433
609
  ]
434
610
  },
435
611
  {
436
- "difficulty": 1,
612
+ "uuid": "b615b598-d69a-4ba9-9052-79243b292734",
437
613
  "slug": "simple-linked-list",
614
+ "core": false,
615
+ "unlocked_by": null,
616
+ "difficulty": 1,
438
617
  "topics": [
439
618
 
440
619
  ]
441
620
  },
442
621
  {
443
- "difficulty": 1,
622
+ "uuid": "4e2c69bc-b83f-45b4-872b-43bbdc559ece",
444
623
  "slug": "sublist",
624
+ "core": false,
625
+ "unlocked_by": null,
626
+ "difficulty": 1,
445
627
  "topics": [
446
628
 
447
629
  ]
448
630
  },
449
631
  {
450
- "difficulty": 1,
632
+ "uuid": "2e604b17-7886-47ad-83a5-1199dc1838a4",
451
633
  "slug": "all-your-base",
634
+ "core": false,
635
+ "unlocked_by": null,
636
+ "difficulty": 1,
452
637
  "topics": [
453
638
 
454
639
  ]
640
+ },
641
+ {
642
+ "uuid": "2e74fa26-f946-4b79-87b9-27f60f03af8f",
643
+ "slug": "binary",
644
+ "deprecated": true
645
+ },
646
+ {
647
+ "uuid": "a6f46028-7334-4504-877e-eda8ebdd9ea9",
648
+ "slug": "point-mutations",
649
+ "deprecated": true
455
650
  }
456
651
  ]
457
652
  }