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
@@ -1,11 +1,12 @@
1
1
  {
2
- "slug": "python",
3
2
  "language": "Python",
4
- "repository": "https://github.com/exercism/python",
5
3
  "active": true,
6
4
  "exercises": [
7
5
  {
6
+ "uuid": "f458c48a-4a05-4809-9168-8edd55179349",
8
7
  "slug": "hello-world",
8
+ "core": false,
9
+ "unlocked_by": null,
9
10
  "difficulty": 1,
10
11
  "topics": [
11
12
  "control-flow (if-else statements)",
@@ -14,7 +15,10 @@
14
15
  ]
15
16
  },
16
17
  {
18
+ "uuid": "b6acda85-5f62-4d9c-bb4f-42b7a360355a",
17
19
  "slug": "leap",
20
+ "core": false,
21
+ "unlocked_by": null,
18
22
  "difficulty": 1,
19
23
  "topics": [
20
24
  "control-flow (if-else statements)",
@@ -23,14 +27,20 @@
23
27
  ]
24
28
  },
25
29
  {
30
+ "uuid": "d1a98c79-d3cc-4035-baab-0e334d2b6a57",
26
31
  "slug": "isogram",
32
+ "core": false,
33
+ "unlocked_by": null,
27
34
  "difficulty": 1,
28
35
  "topics": [
29
36
 
30
37
  ]
31
38
  },
32
39
  {
40
+ "uuid": "bebf7ae6-1c35-48bc-926b-e053a975eb10",
33
41
  "slug": "pangram",
42
+ "core": false,
43
+ "unlocked_by": null,
34
44
  "difficulty": 1,
35
45
  "topics": [
36
46
  "control-flow (loops)",
@@ -42,7 +52,10 @@
42
52
  ]
43
53
  },
44
54
  {
55
+ "uuid": "ca7c5ef1-5135-4fb4-8e68-669ef0f2a51a",
45
56
  "slug": "rna-transcription",
57
+ "core": false,
58
+ "unlocked_by": null,
46
59
  "difficulty": 1,
47
60
  "topics": [
48
61
  "control-flow (if-else statements)",
@@ -54,7 +67,10 @@
54
67
  ]
55
68
  },
56
69
  {
70
+ "uuid": "8648fa0c-d85f-471b-a3ae-0f8c05222c89",
57
71
  "slug": "hamming",
72
+ "core": false,
73
+ "unlocked_by": null,
58
74
  "difficulty": 1,
59
75
  "topics": [
60
76
  "control-flow (if-else statements)",
@@ -68,7 +84,10 @@
68
84
  ]
69
85
  },
70
86
  {
87
+ "uuid": "04316811-0bc3-4377-8ff5-5a300ba41d61",
71
88
  "slug": "word-count",
89
+ "core": false,
90
+ "unlocked_by": null,
72
91
  "difficulty": 3,
73
92
  "topics": [
74
93
  "strings",
@@ -79,35 +98,50 @@
79
98
  ]
80
99
  },
81
100
  {
101
+ "uuid": "22606e91-57f3-44cf-ab2d-94f6ee6402e8",
82
102
  "slug": "gigasecond",
103
+ "core": false,
104
+ "unlocked_by": null,
83
105
  "difficulty": 1,
84
106
  "topics": [
85
107
 
86
108
  ]
87
109
  },
88
110
  {
111
+ "uuid": "009a80e2-7901-4d3b-9af2-cdcbcc0b49ae",
89
112
  "slug": "bob",
113
+ "core": false,
114
+ "unlocked_by": null,
90
115
  "difficulty": 1,
91
116
  "topics": [
92
117
 
93
118
  ]
94
119
  },
95
120
  {
121
+ "uuid": "505e7bdb-e18d-45fd-9849-0bf33492efd9",
96
122
  "slug": "run-length-encoding",
123
+ "core": false,
124
+ "unlocked_by": null,
97
125
  "difficulty": 1,
98
126
  "topics": [
99
127
 
100
128
  ]
101
129
  },
102
130
  {
131
+ "uuid": "a5aff23f-7829-403f-843a-d3312dca31e8",
103
132
  "slug": "meetup",
133
+ "core": false,
134
+ "unlocked_by": null,
104
135
  "difficulty": 1,
105
136
  "topics": [
106
137
 
107
138
  ]
108
139
  },
109
140
  {
141
+ "uuid": "4c408aab-80b9-475d-9c06-b01cd0fcd08f",
110
142
  "slug": "rotational-cipher",
143
+ "core": false,
144
+ "unlocked_by": null,
111
145
  "difficulty": 1,
112
146
  "topics": [
113
147
  "strings",
@@ -116,392 +150,560 @@
116
150
  ]
117
151
  },
118
152
  {
153
+ "uuid": "913b6099-d75a-4c27-8243-476081752c31",
119
154
  "slug": "difference-of-squares",
155
+ "core": false,
156
+ "unlocked_by": null,
120
157
  "difficulty": 1,
121
158
  "topics": [
122
159
 
123
160
  ]
124
161
  },
125
162
  {
163
+ "uuid": "43eaf8bd-0b4d-4ea9-850a-773f013325ef",
126
164
  "slug": "anagram",
165
+ "core": false,
166
+ "unlocked_by": null,
127
167
  "difficulty": 1,
128
168
  "topics": [
129
169
 
130
170
  ]
131
171
  },
132
172
  {
173
+ "uuid": "83627e35-4689-4d9b-a81b-284c2c084466",
133
174
  "slug": "allergies",
175
+ "core": false,
176
+ "unlocked_by": null,
134
177
  "difficulty": 1,
135
178
  "topics": [
136
179
 
137
180
  ]
138
181
  },
139
182
  {
183
+ "uuid": "aa4c2e85-b8f8-4309-9708-d8ff805054c2",
140
184
  "slug": "series",
185
+ "core": false,
186
+ "unlocked_by": null,
141
187
  "difficulty": 1,
142
188
  "topics": [
143
189
 
144
190
  ]
145
191
  },
146
192
  {
193
+ "uuid": "ca474c47-57bb-4995-bf9a-b6937479de29",
147
194
  "slug": "robot-simulator",
195
+ "core": false,
196
+ "unlocked_by": null,
148
197
  "difficulty": 1,
149
198
  "topics": [
150
199
 
151
200
  ]
152
201
  },
153
202
  {
203
+ "uuid": "ad0192e6-7742-4922-a53e-791e25eb9ba3",
154
204
  "slug": "sieve",
205
+ "core": false,
206
+ "unlocked_by": null,
155
207
  "difficulty": 1,
156
208
  "topics": [
157
209
 
158
210
  ]
159
211
  },
160
212
  {
213
+ "uuid": "02b91a90-244d-479e-a039-0e1d328c0be9",
161
214
  "slug": "atbash-cipher",
215
+ "core": false,
216
+ "unlocked_by": null,
162
217
  "difficulty": 1,
163
218
  "topics": [
164
219
 
165
220
  ]
166
221
  },
167
222
  {
223
+ "uuid": "6e0caa0a-6a1a-4f03-bf0f-e07711f4b069",
168
224
  "slug": "sum-of-multiples",
225
+ "core": false,
226
+ "unlocked_by": null,
169
227
  "difficulty": 1,
170
228
  "topics": [
171
229
 
172
230
  ]
173
231
  },
174
232
  {
233
+ "uuid": "038c7f7f-02f6-496f-9e16-9372621cc4cd",
175
234
  "slug": "acronym",
235
+ "core": false,
236
+ "unlocked_by": null,
176
237
  "difficulty": 1,
177
238
  "topics": [
178
239
 
179
240
  ]
180
241
  },
181
242
  {
243
+ "uuid": "2f86ce8e-47c7-4858-89fc-e7729feb0f2f",
182
244
  "slug": "say",
245
+ "core": false,
246
+ "unlocked_by": null,
183
247
  "difficulty": 1,
184
248
  "topics": [
185
249
 
186
250
  ]
187
251
  },
188
252
  {
253
+ "uuid": "21624a3e-6e43-4c0e-94b0-dee5cdaaf2aa",
189
254
  "slug": "largest-series-product",
255
+ "core": false,
256
+ "unlocked_by": null,
190
257
  "difficulty": 1,
191
258
  "topics": [
192
259
 
193
260
  ]
194
261
  },
195
262
  {
263
+ "uuid": "42a2916c-ef03-44ac-b6d8-7eda375352c2",
196
264
  "slug": "kindergarten-garden",
265
+ "core": false,
266
+ "unlocked_by": null,
197
267
  "difficulty": 1,
198
268
  "topics": [
199
269
 
200
270
  ]
201
271
  },
202
272
  {
273
+ "uuid": "aadde1a8-ed7a-4242-bfc0-6dddfd382cf3",
203
274
  "slug": "grade-school",
275
+ "core": false,
276
+ "unlocked_by": null,
204
277
  "difficulty": 1,
205
278
  "topics": [
206
279
 
207
280
  ]
208
281
  },
209
282
  {
283
+ "uuid": "07481204-fe88-4aa2-995e-d40d1ae15070",
210
284
  "slug": "flatten-array",
285
+ "core": false,
286
+ "unlocked_by": null,
211
287
  "difficulty": 1,
212
288
  "topics": [
213
289
 
214
290
  ]
215
291
  },
216
292
  {
293
+ "uuid": "bffe2007-717a-44ee-b628-b9c86a5001e8",
217
294
  "slug": "roman-numerals",
295
+ "core": false,
296
+ "unlocked_by": null,
218
297
  "difficulty": 1,
219
298
  "topics": [
220
299
 
221
300
  ]
222
301
  },
223
302
  {
303
+ "uuid": "f8303c4d-bbbb-495b-b61b-0f617f7c9a13",
224
304
  "slug": "space-age",
305
+ "core": false,
306
+ "unlocked_by": null,
225
307
  "difficulty": 1,
226
308
  "topics": [
227
309
 
228
310
  ]
229
311
  },
230
312
  {
313
+ "uuid": "a24e6d34-9952-44f4-a0cd-02c7fedb4875",
231
314
  "slug": "grains",
315
+ "core": false,
316
+ "unlocked_by": null,
232
317
  "difficulty": 1,
233
318
  "topics": [
234
319
 
235
320
  ]
236
321
  },
237
322
  {
323
+ "uuid": "34dde040-672e-472f-bf2e-b87b6f9933c0",
238
324
  "slug": "luhn",
325
+ "core": false,
326
+ "unlocked_by": null,
239
327
  "difficulty": 1,
240
328
  "topics": [
241
329
 
242
330
  ]
243
331
  },
244
332
  {
333
+ "uuid": "a3b24ef2-303a-494e-8804-e52a67ef406b",
245
334
  "slug": "etl",
335
+ "core": false,
336
+ "unlocked_by": null,
246
337
  "difficulty": 1,
247
338
  "topics": [
248
339
 
249
340
  ]
250
341
  },
251
342
  {
343
+ "uuid": "41dd9178-76b4-4f78-b71a-b5ff8d12645b",
252
344
  "slug": "prime-factors",
345
+ "core": false,
346
+ "unlocked_by": null,
253
347
  "difficulty": 1,
254
348
  "topics": [
255
349
 
256
350
  ]
257
351
  },
258
352
  {
353
+ "uuid": "a5bc16da-8d55-4840-9523-686aebbaaa7e",
259
354
  "slug": "pig-latin",
355
+ "core": false,
356
+ "unlocked_by": null,
260
357
  "difficulty": 1,
261
358
  "topics": [
262
359
 
263
360
  ]
264
361
  },
265
362
  {
363
+ "uuid": "09b2f396-00d7-4d89-ac47-5c444e00dd99",
266
364
  "slug": "simple-cipher",
365
+ "core": false,
366
+ "unlocked_by": null,
267
367
  "difficulty": 1,
268
368
  "topics": [
269
369
 
270
370
  ]
271
371
  },
272
372
  {
373
+ "uuid": "d081446b-f26b-41a2-ab7f-dd7f6736ecfe",
273
374
  "slug": "scrabble-score",
375
+ "core": false,
376
+ "unlocked_by": null,
274
377
  "difficulty": 1,
275
378
  "topics": [
276
379
 
277
380
  ]
278
381
  },
279
382
  {
383
+ "uuid": "e8685468-8006-480f-87c6-6295700def38",
280
384
  "slug": "crypto-square",
385
+ "core": false,
386
+ "unlocked_by": null,
281
387
  "difficulty": 1,
282
388
  "topics": [
283
389
 
284
390
  ]
285
391
  },
286
392
  {
393
+ "uuid": "cc5eb848-09bc-458c-8fb6-3a17687cb4eb",
287
394
  "slug": "sublist",
395
+ "core": false,
396
+ "unlocked_by": null,
288
397
  "difficulty": 1,
289
398
  "topics": [
290
399
 
291
400
  ]
292
401
  },
293
402
  {
403
+ "uuid": "7b53865e-a981-46e0-8e47-6f8e1f3854b3",
294
404
  "slug": "pythagorean-triplet",
405
+ "core": false,
406
+ "unlocked_by": null,
295
407
  "difficulty": 1,
296
408
  "topics": [
297
409
 
298
410
  ]
299
411
  },
300
412
  {
413
+ "uuid": "77ee3b0e-a4e9-4257-bcfc-ff2c8f1477ab",
301
414
  "slug": "circular-buffer",
415
+ "core": false,
416
+ "unlocked_by": null,
302
417
  "difficulty": 1,
303
418
  "topics": [
304
419
 
305
420
  ]
306
421
  },
307
422
  {
423
+ "uuid": "bf30b17f-6b71-4bb5-815a-88f8181b89ae",
308
424
  "slug": "robot-name",
425
+ "core": false,
426
+ "unlocked_by": null,
309
427
  "difficulty": 1,
310
428
  "topics": [
311
429
 
312
430
  ]
313
431
  },
314
432
  {
433
+ "uuid": "b564927a-f08f-4287-9e8d-9bd5daa7081f",
315
434
  "slug": "matrix",
435
+ "core": false,
436
+ "unlocked_by": null,
316
437
  "difficulty": 1,
317
438
  "topics": [
318
439
 
319
440
  ]
320
441
  },
321
442
  {
443
+ "uuid": "6434cc19-1ea3-43dd-9580-72267ec76b80",
322
444
  "slug": "rail-fence-cipher",
445
+ "core": false,
446
+ "unlocked_by": null,
323
447
  "difficulty": 1,
324
448
  "topics": [
325
449
 
326
450
  ]
327
451
  },
328
452
  {
453
+ "uuid": "a20924d2-fe6d-4714-879f-3239feb9d2f2",
329
454
  "slug": "nth-prime",
455
+ "core": false,
456
+ "unlocked_by": null,
330
457
  "difficulty": 1,
331
458
  "topics": [
332
459
 
333
460
  ]
334
461
  },
335
462
  {
463
+ "uuid": "71c96c5f-f3b6-4358-a9c6-fc625e2edda2",
336
464
  "slug": "saddle-points",
465
+ "core": false,
466
+ "unlocked_by": null,
337
467
  "difficulty": 1,
338
468
  "topics": [
339
469
 
340
470
  ]
341
471
  },
342
472
  {
473
+ "uuid": "b7984882-65df-4993-a878-7872c776592a",
343
474
  "slug": "beer-song",
475
+ "core": false,
476
+ "unlocked_by": null,
344
477
  "difficulty": 1,
345
478
  "topics": [
346
479
 
347
480
  ]
348
481
  },
349
482
  {
483
+ "uuid": "c23ae7a3-3095-4608-8720-ee9ce8938f26",
350
484
  "slug": "perfect-numbers",
485
+ "core": false,
486
+ "unlocked_by": null,
351
487
  "difficulty": 1,
352
488
  "topics": [
353
489
 
354
490
  ]
355
491
  },
356
492
  {
493
+ "uuid": "0d5b2a0e-31ff-4c8c-a155-0406f7dca3ae",
357
494
  "slug": "secret-handshake",
495
+ "core": false,
496
+ "unlocked_by": null,
358
497
  "difficulty": 1,
359
498
  "topics": [
360
499
 
361
500
  ]
362
501
  },
363
502
  {
503
+ "uuid": "d41238ce-359c-4a9a-81ea-ca5d2c4bb50d",
364
504
  "slug": "twelve-days",
505
+ "core": false,
506
+ "unlocked_by": null,
365
507
  "difficulty": 1,
366
508
  "topics": [
367
509
 
368
510
  ]
369
511
  },
370
512
  {
513
+ "uuid": "fa795dcc-d390-4e98-880c-6e8e638485e3",
371
514
  "slug": "palindrome-products",
515
+ "core": false,
516
+ "unlocked_by": null,
372
517
  "difficulty": 1,
373
518
  "topics": [
374
519
 
375
520
  ]
376
521
  },
377
522
  {
523
+ "uuid": "45229a7c-6703-4240-8287-16645881a043",
378
524
  "slug": "bracket-push",
525
+ "core": false,
526
+ "unlocked_by": null,
379
527
  "difficulty": 1,
380
528
  "topics": [
381
529
 
382
530
  ]
383
531
  },
384
532
  {
533
+ "uuid": "7e768b54-4591-4a30-9ddb-66ca13400ca3",
385
534
  "slug": "minesweeper",
535
+ "core": false,
536
+ "unlocked_by": null,
386
537
  "difficulty": 1,
387
538
  "topics": [
388
539
 
389
540
  ]
390
541
  },
391
542
  {
543
+ "uuid": "b280c252-5320-4e53-8294-1385d564eb02",
392
544
  "slug": "queen-attack",
545
+ "core": false,
546
+ "unlocked_by": null,
393
547
  "difficulty": 1,
394
548
  "topics": [
395
549
 
396
550
  ]
397
551
  },
398
552
  {
553
+ "uuid": "af50bb9a-e400-49ce-966f-016c31720be1",
399
554
  "slug": "wordy",
555
+ "core": false,
556
+ "unlocked_by": null,
400
557
  "difficulty": 1,
401
558
  "topics": [
402
559
 
403
560
  ]
404
561
  },
405
562
  {
563
+ "uuid": "f384c6f8-987d-41a2-b504-e50506585526",
406
564
  "slug": "phone-number",
565
+ "core": false,
566
+ "unlocked_by": null,
407
567
  "difficulty": 1,
408
568
  "topics": [
409
569
 
410
570
  ]
411
571
  },
412
572
  {
573
+ "uuid": "98ca48ed-5818-442c-bce1-308c8b3b3b77",
413
574
  "slug": "ocr-numbers",
575
+ "core": false,
576
+ "unlocked_by": null,
414
577
  "difficulty": 1,
415
578
  "topics": [
416
579
 
417
580
  ]
418
581
  },
419
582
  {
583
+ "uuid": "7c2e93ae-d265-4481-b583-a496608c6031",
420
584
  "slug": "house",
585
+ "core": false,
586
+ "unlocked_by": null,
421
587
  "difficulty": 1,
422
588
  "topics": [
423
589
 
424
590
  ]
425
591
  },
426
592
  {
593
+ "uuid": "f0bc144f-3226-4e53-93ee-e60316b29e31",
427
594
  "slug": "triangle",
595
+ "core": false,
596
+ "unlocked_by": null,
428
597
  "difficulty": 1,
429
598
  "topics": [
430
599
 
431
600
  ]
432
601
  },
433
602
  {
603
+ "uuid": "dc6e61a2-e9b9-4406-ba5c-188252afbba1",
434
604
  "slug": "transpose",
605
+ "core": false,
606
+ "unlocked_by": null,
435
607
  "difficulty": 1,
436
608
  "topics": [
437
609
 
438
610
  ]
439
611
  },
440
612
  {
613
+ "uuid": "dcc0ee26-e384-4bd4-8c4b-613fa0bb8188",
441
614
  "slug": "poker",
615
+ "core": false,
616
+ "unlocked_by": null,
442
617
  "difficulty": 1,
443
618
  "topics": [
444
619
 
445
620
  ]
446
621
  },
447
622
  {
623
+ "uuid": "7e1d90d5-dbc9-47e0-8e26-c3ff83b73c2b",
448
624
  "slug": "zebra-puzzle",
625
+ "core": false,
626
+ "unlocked_by": null,
449
627
  "difficulty": 1,
450
628
  "topics": [
451
629
 
452
630
  ]
453
631
  },
454
632
  {
633
+ "uuid": "4bebdd8d-a032-4993-85c5-7cc74fc89312",
455
634
  "slug": "rectangles",
635
+ "core": false,
636
+ "unlocked_by": null,
456
637
  "difficulty": 1,
457
638
  "topics": [
458
639
 
459
640
  ]
460
641
  },
461
642
  {
643
+ "uuid": "a8288e93-93c5-4e0f-896c-2a376f6f6e5e",
462
644
  "slug": "binary-search",
645
+ "core": false,
646
+ "unlocked_by": null,
463
647
  "difficulty": 1,
464
648
  "topics": [
465
649
 
466
650
  ]
467
651
  },
468
652
  {
653
+ "uuid": "818c6472-b734-4ff4-8016-ce540141faec",
469
654
  "slug": "list-ops",
655
+ "core": false,
656
+ "unlocked_by": null,
470
657
  "difficulty": 1,
471
658
  "topics": [
472
659
 
473
660
  ]
474
661
  },
475
662
  {
663
+ "uuid": "4899b2ef-675f-4d14-b68a-1a457de91276",
476
664
  "slug": "book-store",
665
+ "core": false,
666
+ "unlocked_by": null,
477
667
  "difficulty": 1,
478
668
  "topics": [
479
669
 
480
670
  ]
481
671
  },
482
672
  {
673
+ "uuid": "ca7a8b16-e5d5-4211-84f0-2f8e35b4a665",
483
674
  "slug": "linked-list",
675
+ "core": false,
676
+ "unlocked_by": null,
484
677
  "difficulty": 1,
485
678
  "topics": [
486
679
 
487
680
  ]
488
681
  },
489
682
  {
683
+ "uuid": "a7bc6837-59e4-46a1-89a2-a5aa44f5e66e",
490
684
  "slug": "diamond",
685
+ "core": false,
686
+ "unlocked_by": null,
491
687
  "difficulty": 1,
492
688
  "topics": [
493
689
 
494
690
  ]
495
691
  },
496
692
  {
693
+ "uuid": "aa4332bd-fc38-47a4-8bff-e1b660798418",
497
694
  "slug": "variable-length-quantity",
695
+ "core": false,
696
+ "unlocked_by": null,
498
697
  "difficulty": 1,
499
698
  "topics": [
500
699
 
501
700
  ]
502
701
  },
503
702
  {
703
+ "uuid": "a2ff75f9-8b2c-4c4b-975d-913711def9ab",
504
704
  "slug": "all-your-base",
705
+ "core": false,
706
+ "unlocked_by": null,
505
707
  "difficulty": 4,
506
708
  "topics": [
507
709
  "integers",
@@ -509,7 +711,10 @@
509
711
  ]
510
712
  },
511
713
  {
714
+ "uuid": "459fda78-851e-4bb0-a416-953528f46bd7",
512
715
  "slug": "clock",
716
+ "core": false,
717
+ "unlocked_by": null,
513
718
  "difficulty": 2,
514
719
  "topics": [
515
720
  "classes",
@@ -520,7 +725,10 @@
520
725
  ]
521
726
  },
522
727
  {
728
+ "uuid": "ecc97fc6-2e72-4325-9b67-b56c83b13a91",
523
729
  "slug": "grep",
730
+ "core": false,
731
+ "unlocked_by": null,
524
732
  "difficulty": 4,
525
733
  "topics": [
526
734
  "files",
@@ -529,7 +737,10 @@
529
737
  ]
530
738
  },
531
739
  {
740
+ "uuid": "dc2917d5-aaa9-43d9-b9f4-a32919fdbe18",
532
741
  "slug": "word-search",
742
+ "core": false,
743
+ "unlocked_by": null,
533
744
  "difficulty": 6,
534
745
  "topics": [
535
746
  "strings",
@@ -537,21 +748,30 @@
537
748
  ]
538
749
  },
539
750
  {
751
+ "uuid": "66466141-485c-470d-b73b-0a3d5a957c3d",
540
752
  "slug": "alphametics",
753
+ "core": false,
754
+ "unlocked_by": null,
541
755
  "difficulty": 6,
542
756
  "topics": [
543
757
 
544
758
  ]
545
759
  },
546
760
  {
761
+ "uuid": "49377a3f-38ba-4d61-b94c-a54cfc9034d0",
547
762
  "slug": "tournament",
763
+ "core": false,
764
+ "unlocked_by": null,
548
765
  "difficulty": 1,
549
766
  "topics": [
550
767
 
551
768
  ]
552
769
  },
553
770
  {
771
+ "uuid": "8cd58325-61fc-46fd-85f9-425b4c41f3de",
554
772
  "slug": "scale-generator",
773
+ "core": false,
774
+ "unlocked_by": null,
555
775
  "difficulty": 3,
556
776
  "topics": [
557
777
  "strings",
@@ -559,27 +779,72 @@
559
779
  ]
560
780
  },
561
781
  {
782
+ "uuid": "c89243f3-703e-4fe0-8e43-f200eedf2825",
562
783
  "slug": "protein-translation",
784
+ "core": false,
785
+ "unlocked_by": null,
563
786
  "difficulty": 3,
564
787
  "topics": [
565
788
  "strings",
566
789
  "pattern matching"
567
790
  ]
791
+ },
792
+ {
793
+ "uuid": "e7351e8e-d3ff-4621-b818-cd55cf05bffd",
794
+ "slug": "accumulate",
795
+ "deprecated": true
796
+ },
797
+ {
798
+ "uuid": "105f25ec-7ce2-4797-893e-05e3792ebd91",
799
+ "slug": "nucleotide-count",
800
+ "deprecated": true
801
+ },
802
+ {
803
+ "uuid": "4094d27f-4d03-4308-9fd7-9f3de312afec",
804
+ "slug": "octal",
805
+ "deprecated": true
806
+ },
807
+ {
808
+ "uuid": "e1e1c7d7-c1d9-4027-b90d-fad573182419",
809
+ "slug": "pascals-triangle",
810
+ "deprecated": true
811
+ },
812
+ {
813
+ "uuid": "d85ec4f2-c201-4eff-9f3a-831a0cc38e8d",
814
+ "slug": "point-mutations",
815
+ "deprecated": true
816
+ },
817
+ {
818
+ "uuid": "9fd94229-f974-45bb-97ea-8bfe484f6eb3",
819
+ "slug": "proverb",
820
+ "deprecated": true
821
+ },
822
+ {
823
+ "uuid": "82d82e32-cb30-4119-8862-d019563dd1e3",
824
+ "slug": "raindrops",
825
+ "deprecated": true
826
+ },
827
+ {
828
+ "uuid": "b50b29a1-782d-4277-a4d4-23f635fbdaa6",
829
+ "slug": "strain",
830
+ "deprecated": true
831
+ },
832
+ {
833
+ "uuid": "061a6543-d51d-4619-891b-16f92c6435ca",
834
+ "slug": "trinary",
835
+ "deprecated": true
836
+ },
837
+ {
838
+ "uuid": "49127efa-1124-4f27-bee4-99992e3433de",
839
+ "slug": "binary",
840
+ "deprecated": true
841
+ },
842
+ {
843
+ "uuid": "6b7f7b1f-c388-4f4c-b924-84535cc5e1a0",
844
+ "slug": "hexadecimal",
845
+ "deprecated": true
568
846
  }
569
847
  ],
570
- "deprecated": [
571
- "accumulate",
572
- "nucleotide-count",
573
- "octal",
574
- "pascals-triangle",
575
- "point-mutations",
576
- "proverb",
577
- "raindrops",
578
- "strain",
579
- "trinary",
580
- "binary",
581
- "hexadecimal"
582
- ],
583
848
  "foregone": [
584
849
 
585
850
  ]