trackler 2.2.0.0 → 2.2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/CONTRIBUTING.md +1 -1
  4. data/tracks/bash/.travis.yml +1 -1
  5. data/tracks/bash/config.json +30 -3
  6. data/tracks/c/README.md +1 -1
  7. data/tracks/c/config.json +131 -39
  8. data/tracks/ceylon/README.md +6 -6
  9. data/tracks/ceylon/config.json +21 -3
  10. data/tracks/chapel/.travis.yml +1 -1
  11. data/tracks/clojurescript/.travis.yml +1 -1
  12. data/tracks/clojurescript/README.md +6 -6
  13. data/tracks/clojurescript/exercises/.keep +0 -0
  14. data/tracks/coffeescript/.travis.yml +1 -1
  15. data/tracks/coldfusion/.travis.yml +1 -1
  16. data/tracks/coq/.travis.yml +1 -1
  17. data/tracks/cpp/CMakeLists.txt +1 -0
  18. data/tracks/cpp/README.md +1 -1
  19. data/tracks/cpp/config.json +8 -0
  20. data/tracks/cpp/exercises/atbash-cipher/CMakeLists.txt +52 -0
  21. data/tracks/cpp/exercises/atbash-cipher/atbash_cipher_test.cpp +68 -0
  22. data/tracks/cpp/exercises/atbash-cipher/example.cpp +54 -0
  23. data/tracks/cpp/exercises/atbash-cipher/example.h +13 -0
  24. data/tracks/csharp/config.json +315 -6
  25. data/tracks/d/.travis.yml +1 -1
  26. data/tracks/dart/README.md +2 -2
  27. data/tracks/dart/config.json +21 -3
  28. data/tracks/delphi/README.md +1 -1
  29. data/tracks/delphi/config.json +83 -1
  30. data/tracks/ecmascript/config.json +10 -0
  31. data/tracks/ecmascript/exercises/accumulate/accumulate.spec.js +3 -9
  32. data/tracks/ecmascript/exercises/acronym/acronym.spec.js +2 -2
  33. data/tracks/ecmascript/exercises/all-your-base/all-your-base.spec.js +131 -133
  34. data/tracks/ecmascript/exercises/all-your-base/example.js +1 -3
  35. data/tracks/ecmascript/exercises/allergies/allergies.spec.js +8 -10
  36. data/tracks/ecmascript/exercises/allergies/example.js +3 -5
  37. data/tracks/ecmascript/exercises/alphametics/alphametics.spec.js +61 -63
  38. data/tracks/ecmascript/exercises/alphametics/example.js +99 -99
  39. data/tracks/ecmascript/exercises/anagram/anagram.spec.js +35 -37
  40. data/tracks/ecmascript/exercises/anagram/example.js +1 -3
  41. data/tracks/ecmascript/exercises/atbash-cipher/atbash-cipher.spec.js +1 -3
  42. data/tracks/ecmascript/exercises/atbash-cipher/example.js +3 -3
  43. data/tracks/ecmascript/exercises/beer-song/beer-song.spec.js +0 -2
  44. data/tracks/ecmascript/exercises/beer-song/example.js +9 -9
  45. data/tracks/ecmascript/exercises/binary/binary.spec.js +1 -2
  46. data/tracks/ecmascript/exercises/binary/example.js +3 -3
  47. data/tracks/ecmascript/exercises/binary-search/binary-search.spec.js +1 -3
  48. data/tracks/ecmascript/exercises/binary-search-tree/binary-search-tree.spec.js +13 -15
  49. data/tracks/ecmascript/exercises/binary-search-tree/example.js +2 -2
  50. data/tracks/ecmascript/exercises/bob/bob.spec.js +1 -3
  51. data/tracks/ecmascript/exercises/bob/example.js +3 -3
  52. data/tracks/ecmascript/exercises/bracket-push/example.js +2 -2
  53. data/tracks/ecmascript/exercises/circular-buffer/circular-buffer.spec.js +10 -12
  54. data/tracks/ecmascript/exercises/circular-buffer/example.js +12 -11
  55. data/tracks/ecmascript/exercises/clock/clock.spec.js +0 -8
  56. data/tracks/ecmascript/exercises/clock/example.js +11 -11
  57. data/tracks/ecmascript/exercises/connect/connect.spec.js +75 -77
  58. data/tracks/ecmascript/exercises/connect/example.js +27 -29
  59. data/tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js +11 -11
  60. data/tracks/ecmascript/exercises/crypto-square/example.js +11 -10
  61. data/tracks/ecmascript/exercises/custom-set/custom-set.spec.js +2 -4
  62. data/tracks/ecmascript/exercises/custom-set/example.js +1 -1
  63. data/tracks/ecmascript/exercises/diamond/diamond.spec.js +20 -21
  64. data/tracks/ecmascript/exercises/diamond/example.js +12 -13
  65. data/tracks/ecmascript/exercises/difference-of-squares/difference-of-squares.spec.js +0 -5
  66. data/tracks/ecmascript/exercises/diffie-hellman/diffie-hellman.spec.js +7 -28
  67. data/tracks/ecmascript/exercises/etl/etl.spec.js +36 -18
  68. data/tracks/ecmascript/exercises/etl/example.js +3 -3
  69. data/tracks/ecmascript/exercises/flatten-array/example.js +1 -1
  70. data/tracks/ecmascript/exercises/flatten-array/flatten-array.spec.js +2 -3
  71. data/tracks/ecmascript/exercises/food-chain/example.js +12 -12
  72. data/tracks/ecmascript/exercises/food-chain/food-chain.spec.js +0 -1
  73. data/tracks/ecmascript/exercises/gigasecond/example.js +1 -1
  74. data/tracks/ecmascript/exercises/gigasecond/gigasecond.spec.js +0 -1
  75. data/tracks/ecmascript/exercises/grade-school/grade-school.spec.js +18 -19
  76. data/tracks/ecmascript/exercises/grains/grains.spec.js +0 -1
  77. data/tracks/ecmascript/exercises/hamming/example.js +3 -3
  78. data/tracks/ecmascript/exercises/hamming/hamming.spec.js +5 -6
  79. data/tracks/ecmascript/exercises/hello-world/example.js +1 -1
  80. data/tracks/ecmascript/exercises/hello-world/hello-world.spec.js +1 -1
  81. data/tracks/ecmascript/exercises/hexadecimal/example.js +2 -2
  82. data/tracks/ecmascript/exercises/hexadecimal/hexadecimal.spec.js +9 -11
  83. data/tracks/ecmascript/exercises/isogram/isogram.spec.js +22 -23
  84. data/tracks/ecmascript/exercises/kindergarten-garden/example.js +7 -7
  85. data/tracks/ecmascript/exercises/kindergarten-garden/kindergarten-garden.spec.js +0 -5
  86. data/tracks/ecmascript/exercises/largest-series-product/example.js +4 -8
  87. data/tracks/ecmascript/exercises/largest-series-product/largest-series-product.spec.js +5 -7
  88. data/tracks/ecmascript/exercises/leap/leap.spec.js +4 -6
  89. data/tracks/ecmascript/exercises/linked-list/example.js +2 -2
  90. data/tracks/ecmascript/exercises/list-ops/example.js +19 -19
  91. data/tracks/ecmascript/exercises/list-ops/list-ops.spec.js +2 -18
  92. data/tracks/ecmascript/exercises/luhn/example.js +1 -1
  93. data/tracks/ecmascript/exercises/luhn/luhn.spec.js +1 -3
  94. data/tracks/ecmascript/exercises/matrix/example.js +2 -4
  95. data/tracks/ecmascript/exercises/matrix/matrix.spec.js +0 -2
  96. data/tracks/ecmascript/exercises/meetup/example.js +12 -15
  97. data/tracks/ecmascript/exercises/meetup/meetup.spec.js +0 -2
  98. data/tracks/ecmascript/exercises/minesweeper/example.js +60 -0
  99. data/tracks/ecmascript/exercises/minesweeper/minesweeper.spec.js +174 -0
  100. data/tracks/ecmascript/exercises/minesweeper/package.json +69 -0
  101. data/tracks/ecmascript/exercises/nth-prime/example.js +3 -2
  102. data/tracks/ecmascript/exercises/nth-prime/nth-prime.spec.js +0 -1
  103. data/tracks/ecmascript/exercises/ocr-numbers/example.js +3 -3
  104. data/tracks/ecmascript/exercises/ocr-numbers/ocr-numbers.spec.js +16 -18
  105. data/tracks/ecmascript/exercises/octal/example.js +1 -1
  106. data/tracks/ecmascript/exercises/octal/octal.spec.js +0 -2
  107. data/tracks/ecmascript/exercises/palindrome-products/example.js +14 -11
  108. data/tracks/ecmascript/exercises/palindrome-products/palindrome-products.spec.js +15 -18
  109. data/tracks/ecmascript/exercises/pangram/example.js +6 -5
  110. data/tracks/ecmascript/exercises/pangram/pangram.spec.js +10 -12
  111. data/tracks/ecmascript/exercises/pascals-triangle/example.js +2 -2
  112. data/tracks/ecmascript/exercises/pascals-triangle/pascals-triangle.spec.js +6 -8
  113. data/tracks/ecmascript/exercises/perfect-numbers/example.js +3 -5
  114. data/tracks/ecmascript/exercises/perfect-numbers/perfect-numbers.spec.js +0 -10
  115. data/tracks/ecmascript/exercises/phone-number/example.js +2 -2
  116. data/tracks/ecmascript/exercises/phone-number/phone-number.spec.js +0 -2
  117. data/tracks/ecmascript/exercises/pig-latin/example.js +4 -4
  118. data/tracks/ecmascript/exercises/pig-latin/pig-latin.spec.js +0 -1
  119. data/tracks/ecmascript/exercises/prime-factors/example.js +2 -2
  120. data/tracks/ecmascript/exercises/prime-factors/prime-factors.spec.js +0 -2
  121. data/tracks/ecmascript/exercises/pythagorean-triplet/pythagorean-triplet.spec.js +3 -11
  122. data/tracks/ecmascript/exercises/queen-attack/example.js +17 -17
  123. data/tracks/ecmascript/exercises/queen-attack/queen-attack.spec.js +7 -8
  124. data/tracks/ecmascript/exercises/raindrops/example.js +1 -1
  125. data/tracks/ecmascript/exercises/raindrops/raindrops.spec.js +1 -2
  126. data/tracks/ecmascript/exercises/rna-transcription/example.js +5 -5
  127. data/tracks/ecmascript/exercises/rna-transcription/rna-transcription.spec.js +4 -5
  128. data/tracks/ecmascript/exercises/robot-name/example.js +6 -6
  129. data/tracks/ecmascript/exercises/robot-name/robot-name.spec.js +10 -11
  130. data/tracks/ecmascript/exercises/robot-simulator/example.js +1 -1
  131. data/tracks/ecmascript/exercises/robot-simulator/robot-simulator.spec.js +31 -32
  132. data/tracks/ecmascript/exercises/roman-numerals/example.js +16 -16
  133. data/tracks/ecmascript/exercises/saddle-points/saddle-points.spec.js +3 -3
  134. data/tracks/ecmascript/exercises/say/example.js +25 -25
  135. data/tracks/ecmascript/exercises/say/say.spec.js +2 -3
  136. data/tracks/ecmascript/exercises/scrabble-score/example.js +27 -9
  137. data/tracks/ecmascript/exercises/scrabble-score/scrabble-score.spec.js +6 -7
  138. data/tracks/ecmascript/exercises/secret-handshake/example.js +2 -3
  139. data/tracks/ecmascript/exercises/secret-handshake/secret-handshake.spec.js +3 -5
  140. data/tracks/ecmascript/exercises/series/series.spec.js +1 -3
  141. data/tracks/ecmascript/exercises/sieve/example.js +4 -3
  142. data/tracks/ecmascript/exercises/sieve/sieve.spec.js +0 -2
  143. data/tracks/ecmascript/exercises/simple-cipher/example.js +8 -9
  144. data/tracks/ecmascript/exercises/simple-cipher/simple-cipher.spec.js +4 -4
  145. data/tracks/ecmascript/exercises/space-age/example.js +1 -1
  146. data/tracks/ecmascript/exercises/space-age/space-age.spec.js +9 -11
  147. data/tracks/ecmascript/exercises/strain/example.js +4 -4
  148. data/tracks/ecmascript/exercises/strain/strain.spec.js +14 -16
  149. data/tracks/ecmascript/exercises/sum-of-multiples/example.js +4 -4
  150. data/tracks/ecmascript/exercises/triangle/triangle.spec.js +2 -4
  151. data/tracks/ecmascript/exercises/trinary/example.js +3 -3
  152. data/tracks/ecmascript/exercises/trinary/trinary.spec.js +0 -2
  153. data/tracks/ecmascript/exercises/two-bucket/example.js +30 -27
  154. data/tracks/ecmascript/exercises/two-bucket/two-bucket.spec.js +4 -8
  155. data/tracks/ecmascript/exercises/word-count/example.js +2 -2
  156. data/tracks/ecmascript/exercises/word-count/word-count.spec.js +2 -3
  157. data/tracks/ecmascript/exercises/wordy/example.js +6 -6
  158. data/tracks/ecmascript/exercises/wordy/wordy.spec.js +2 -4
  159. data/tracks/factor/config.json +15 -6
  160. data/tracks/fortran/.travis.yml +1 -1
  161. data/tracks/fsharp/config.json +312 -10
  162. data/tracks/go/README.md +1 -1
  163. data/tracks/go/config.json +523 -155
  164. data/tracks/haskell/README.md +2 -2
  165. data/tracks/haskell/config.json +256 -7
  166. data/tracks/haxe/.travis.yml +1 -1
  167. data/tracks/haxe/Makefile +2 -2
  168. data/tracks/haxe/config.json +8 -5
  169. data/tracks/java/CONTRIBUTING.md +2 -2
  170. data/tracks/java/config.json +277 -17
  171. data/tracks/java/exercises/rotational-cipher/build.gradle +17 -0
  172. data/tracks/java/exercises/rotational-cipher/src/example/java/RotationalCipher.java +37 -0
  173. data/tracks/java/exercises/rotational-cipher/src/main/java/.keep +0 -0
  174. data/tracks/java/exercises/rotational-cipher/src/test/java/RotationalCipherTest.java +81 -0
  175. data/tracks/java/exercises/settings.gradle +1 -0
  176. data/tracks/java/exercises/twelve-days/src/main/java/TwelveDays.java +4 -0
  177. data/tracks/julia/.travis.yml +1 -1
  178. data/tracks/julia/README.md +1 -1
  179. data/tracks/kotlin/README.md +2 -2
  180. data/tracks/kotlin/exercises/hello-world/TUTORIAL.md +3 -3
  181. data/tracks/lisp/config.json +97 -3
  182. data/tracks/lisp/exercises/pascals-triangle/example.lisp +21 -0
  183. data/tracks/lisp/exercises/pascals-triangle/pascal.lisp +7 -0
  184. data/tracks/lisp/exercises/pascals-triangle/pascals-triangle-test.lisp +34 -0
  185. data/tracks/lua/.travis.yml +1 -1
  186. data/tracks/lua/README.md +1 -1
  187. data/tracks/mips/.travis.yml +1 -1
  188. data/tracks/mips/config.json +56 -17
  189. data/tracks/nasm/.travis.yml +1 -1
  190. data/tracks/nim/.travis.yml +1 -1
  191. data/tracks/ocaml/README.md +3 -3
  192. data/tracks/ocaml/config.json +130 -4
  193. data/tracks/perl5/docs/TESTS.md +40 -26
  194. data/tracks/plsql/.travis.yml +1 -1
  195. data/tracks/plsql/config.json +40 -13
  196. data/tracks/pony/.travis.yml +1 -1
  197. data/tracks/pony/bin/install-deps +4 -3
  198. data/tracks/prolog/.travis.yml +1 -1
  199. data/tracks/r/README.md +5 -5
  200. data/tracks/r/config.json +102 -30
  201. data/tracks/rust/.travis.yml +1 -1
  202. data/tracks/rust/config.json +172 -4
  203. data/tracks/rust/docs/EXERCISE_README_INSERT.md +1 -1
  204. data/tracks/sml/config.json +26 -3
  205. data/tracks/vimscript/config.json +60 -3
  206. metadata +16 -1
@@ -5,448 +5,640 @@
5
5
  "active": true,
6
6
  "exercises": [
7
7
  {
8
+ "uuid": "f77dc7e3-35a8-4300-a7c8-2c1765e9644d",
8
9
  "slug": "hello-world",
10
+ "core": false,
11
+ "unlocked_by": null,
9
12
  "difficulty": 1,
10
13
  "topics": [
11
14
 
12
15
  ]
13
16
  },
14
17
  {
18
+ "uuid": "74515d45-565b-4be2-96c4-77e58efa9257",
15
19
  "slug": "two-fer",
20
+ "core": false,
21
+ "unlocked_by": null,
16
22
  "difficulty": 1,
17
23
  "topics": [
18
24
 
19
25
  ]
20
26
  },
21
27
  {
28
+ "uuid": "8e983ed2-62f7-439a-a144-fb8fdbdf4d30",
22
29
  "slug": "rna-transcription",
30
+ "core": false,
31
+ "unlocked_by": null,
23
32
  "difficulty": 2,
24
33
  "topics": [
25
34
 
26
35
  ]
27
36
  },
28
37
  {
38
+ "uuid": "133b0f84-bdc7-4508-a0a1-5732a7db81ef",
29
39
  "slug": "pangram",
40
+ "core": false,
41
+ "unlocked_by": null,
30
42
  "difficulty": 3,
31
43
  "topics": [
32
44
 
33
45
  ]
34
46
  },
35
47
  {
48
+ "uuid": "ce899ca6-9cc7-47ba-b76f-1bbcf2630b76",
36
49
  "slug": "hamming",
50
+ "core": false,
51
+ "unlocked_by": null,
37
52
  "difficulty": 3,
38
53
  "topics": [
39
54
 
40
55
  ]
41
56
  },
42
57
  {
58
+ "uuid": "bf1641c8-dc0d-4d38-9cfe-b4c132ea3553",
43
59
  "slug": "gigasecond",
60
+ "core": false,
61
+ "unlocked_by": null,
44
62
  "difficulty": 3,
45
63
  "topics": [
46
64
 
47
65
  ]
48
66
  },
49
67
  {
68
+ "uuid": "e5b524cd-3a1c-468a-8981-13e8eeccb29d",
50
69
  "slug": "space-age",
70
+ "core": false,
71
+ "unlocked_by": null,
51
72
  "difficulty": 3,
52
73
  "topics": [
53
74
 
54
75
  ]
55
76
  },
56
77
  {
78
+ "uuid": "c31bbc6d-bdcf-44f7-bf35-5f98752e38d0",
57
79
  "slug": "acronym",
80
+ "core": false,
81
+ "unlocked_by": null,
58
82
  "difficulty": 3,
59
83
  "topics": [
60
84
 
61
85
  ]
62
86
  },
63
87
  {
88
+ "uuid": "afae9f2d-8baf-4bd7-8d7c-d486337f7c97",
64
89
  "slug": "scrabble-score",
90
+ "core": false,
91
+ "unlocked_by": null,
65
92
  "difficulty": 3,
66
93
  "topics": [
67
94
 
68
95
  ]
69
96
  },
70
97
  {
98
+ "uuid": "d916e4f8-fda1-41c0-ab24-79e8fc3f1272",
71
99
  "slug": "raindrops",
100
+ "core": false,
101
+ "unlocked_by": null,
72
102
  "difficulty": 3,
73
103
  "topics": [
74
104
 
75
105
  ]
76
106
  },
77
107
  {
108
+ "uuid": "b0da59c6-1b55-405c-b163-007ebf09f5e8",
78
109
  "slug": "difference-of-squares",
110
+ "core": false,
111
+ "unlocked_by": null,
79
112
  "difficulty": 3,
80
113
  "topics": [
81
114
 
82
115
  ]
83
116
  },
84
117
  {
118
+ "uuid": "71c7c174-7e2c-43c2-bdd6-7515fcb12a91",
85
119
  "slug": "secret-handshake",
120
+ "core": false,
121
+ "unlocked_by": null,
86
122
  "difficulty": 3,
87
123
  "topics": [
88
124
 
89
125
  ]
90
126
  },
91
127
  {
128
+ "uuid": "d0dcc898-ec38-4822-9e3c-1a1829c9b2d9",
92
129
  "slug": "perfect-numbers",
130
+ "core": false,
131
+ "unlocked_by": null,
93
132
  "difficulty": 3,
94
133
  "topics": [
95
134
 
96
135
  ]
97
136
  },
98
137
  {
138
+ "uuid": "2f244afc-3e7b-4f89-92af-e2b427f4ef35",
99
139
  "slug": "sum-of-multiples",
140
+ "core": false,
141
+ "unlocked_by": null,
100
142
  "difficulty": 4,
101
143
  "topics": [
102
144
 
103
145
  ]
104
146
  },
105
147
  {
148
+ "uuid": "5227a76c-8ecb-4e5f-b023-6af65a057c41",
106
149
  "slug": "luhn",
150
+ "core": false,
151
+ "unlocked_by": null,
107
152
  "difficulty": 4,
108
153
  "topics": [
109
154
 
110
155
  ]
111
156
  },
112
157
  {
158
+ "uuid": "c1d4e0b4-6a0f-4be9-8222-345966621f53",
113
159
  "slug": "matrix",
160
+ "core": false,
161
+ "unlocked_by": null,
114
162
  "difficulty": 4,
115
163
  "topics": [
116
164
 
117
165
  ]
118
166
  },
119
167
  {
168
+ "uuid": "ec268d8e-997b-4553-8c67-8bdfa1ecb888",
120
169
  "slug": "triangle",
170
+ "core": false,
171
+ "unlocked_by": null,
121
172
  "difficulty": 4,
122
173
  "topics": [
123
174
 
124
175
  ]
125
176
  },
126
177
  {
178
+ "uuid": "b7310b6e-435c-4d5f-b2bd-31e586d0f238",
127
179
  "slug": "largest-series-product",
180
+ "core": false,
181
+ "unlocked_by": null,
128
182
  "difficulty": 4,
129
183
  "topics": [
130
184
 
131
185
  ]
132
186
  },
133
187
  {
188
+ "uuid": "6791d01f-bae4-4b63-ae76-86529ac49e36",
134
189
  "slug": "sieve",
190
+ "core": false,
191
+ "unlocked_by": null,
135
192
  "difficulty": 4,
136
193
  "topics": [
137
194
 
138
195
  ]
139
196
  },
140
197
  {
198
+ "uuid": "581afdbb-dfb6-4dc5-9554-a025b5469a3c",
141
199
  "slug": "twelve-days",
200
+ "core": false,
201
+ "unlocked_by": null,
142
202
  "difficulty": 4,
143
203
  "topics": [
144
204
 
145
205
  ]
146
206
  },
147
207
  {
208
+ "uuid": "0b92ffee-c092-4ab1-ad78-76c8cf80e1b5",
148
209
  "slug": "kindergarten-garden",
210
+ "core": false,
211
+ "unlocked_by": null,
149
212
  "difficulty": 4,
150
213
  "topics": [
151
214
 
152
215
  ]
153
216
  },
154
217
  {
218
+ "uuid": "1500d39a-c9d9-4d3a-9e77-fdc1837fc6ad",
155
219
  "slug": "collatz-conjecture",
220
+ "core": false,
221
+ "unlocked_by": null,
156
222
  "difficulty": 4,
157
223
  "topics": [
158
224
 
159
225
  ]
160
226
  },
161
227
  {
228
+ "uuid": "2c69db99-648d-4bd7-8012-1fbdeff6ca0a",
162
229
  "slug": "nth-prime",
230
+ "core": false,
231
+ "unlocked_by": null,
163
232
  "difficulty": 4,
164
233
  "topics": [
165
234
 
166
235
  ]
167
236
  },
168
237
  {
238
+ "uuid": "8dfc2f0d-1141-46e9-95e2-6f35ccf6f160",
169
239
  "slug": "saddle-points",
240
+ "core": false,
241
+ "unlocked_by": null,
170
242
  "difficulty": 4,
171
243
  "topics": [
172
244
 
173
245
  ]
174
246
  },
175
247
  {
248
+ "uuid": "ecbd997b-86f4-4e11-9ff0-706ac2899415",
176
249
  "slug": "diamond",
250
+ "core": false,
251
+ "unlocked_by": null,
177
252
  "difficulty": 4,
178
253
  "topics": [
179
254
 
180
255
  ]
181
256
  },
182
257
  {
258
+ "uuid": "c3e89c7c-3a8a-4ddc-b653-9b0ff9e1d7d8",
183
259
  "slug": "isogram",
260
+ "core": false,
261
+ "unlocked_by": null,
184
262
  "difficulty": 4,
185
263
  "topics": [
186
264
 
187
265
  ]
188
266
  },
189
267
  {
268
+ "uuid": "a732a838-8170-458a-a85e-d6b4c46f97a1",
190
269
  "slug": "flatten-array",
270
+ "core": false,
271
+ "unlocked_by": null,
191
272
  "difficulty": 5,
192
273
  "topics": [
193
274
 
194
275
  ]
195
276
  },
196
277
  {
278
+ "uuid": "38bc80ae-d842-4c04-a797-48edf322504d",
197
279
  "slug": "pig-latin",
280
+ "core": false,
281
+ "unlocked_by": null,
198
282
  "difficulty": 5,
199
283
  "topics": [
200
284
 
201
285
  ]
202
286
  },
203
287
  {
288
+ "uuid": "5f9139e7-9fbb-496a-a0d7-a946283033de",
204
289
  "slug": "phone-number",
290
+ "core": false,
291
+ "unlocked_by": null,
205
292
  "difficulty": 5,
206
293
  "topics": [
207
294
 
208
295
  ]
209
296
  },
210
297
  {
298
+ "uuid": "2d80fdfc-5bd7-4b67-9fbe-8ab820d89051",
211
299
  "slug": "nucleotide-count",
300
+ "core": false,
301
+ "unlocked_by": null,
212
302
  "difficulty": 5,
213
303
  "topics": [
214
304
 
215
305
  ]
216
306
  },
217
307
  {
308
+ "uuid": "3603b770-87a5-4758-91f3-b4d1f9075bc1",
218
309
  "slug": "word-count",
310
+ "core": false,
311
+ "unlocked_by": null,
219
312
  "difficulty": 5,
220
313
  "topics": [
221
314
 
222
315
  ]
223
316
  },
224
317
  {
318
+ "uuid": "4499a3f9-73a7-48bf-8753-d5b6abf588c9",
225
319
  "slug": "run-length-encoding",
320
+ "core": false,
321
+ "unlocked_by": null,
226
322
  "difficulty": 5,
227
323
  "topics": [
228
324
 
229
325
  ]
230
326
  },
231
327
  {
328
+ "uuid": "d7c2eed9-64c7-4c4a-b45d-c787d460337f",
232
329
  "slug": "robot-name",
330
+ "core": false,
331
+ "unlocked_by": null,
233
332
  "difficulty": 5,
234
333
  "topics": [
235
334
 
236
335
  ]
237
336
  },
238
337
  {
338
+ "uuid": "599c08ec-7338-46ed-99f8-a76f78f724e6",
239
339
  "slug": "prime-factors",
340
+ "core": false,
341
+ "unlocked_by": null,
240
342
  "difficulty": 5,
241
343
  "topics": [
242
344
 
243
345
  ]
244
346
  },
245
347
  {
348
+ "uuid": "6a617ddb-04e3-451c-bb30-27ccd0be9125",
246
349
  "slug": "allergies",
350
+ "core": false,
351
+ "unlocked_by": null,
247
352
  "difficulty": 5,
248
353
  "topics": [
249
354
 
250
355
  ]
251
356
  },
252
357
  {
358
+ "uuid": "34cd328c-cd96-492b-abd4-2b8716cdcd9a",
253
359
  "slug": "bob",
360
+ "core": false,
361
+ "unlocked_by": null,
254
362
  "difficulty": 5,
255
363
  "topics": [
256
364
 
257
365
  ]
258
366
  },
259
367
  {
368
+ "uuid": "d2a76905-1c8c-4b03-b4f7-4fbff19329f3",
260
369
  "slug": "pascals-triangle",
370
+ "core": false,
371
+ "unlocked_by": null,
261
372
  "difficulty": 5,
262
373
  "topics": [
263
374
 
264
375
  ]
265
376
  },
266
377
  {
378
+ "uuid": "85aa50ac-0141-49eb-bc6f-62f3f7a97647",
267
379
  "slug": "bracket-push",
380
+ "core": false,
381
+ "unlocked_by": null,
268
382
  "difficulty": 5,
269
383
  "topics": [
270
384
 
271
385
  ]
272
386
  },
273
387
  {
388
+ "uuid": "af80d7f4-c7d0-4d0b-9c30-09da120f6bb9",
274
389
  "slug": "series",
390
+ "core": false,
391
+ "unlocked_by": null,
275
392
  "difficulty": 5,
276
393
  "topics": [
277
394
 
278
395
  ]
279
396
  },
280
397
  {
398
+ "uuid": "d36ce010-210f-4e9a-9d6c-cb933e0a59af",
281
399
  "slug": "atbash-cipher",
400
+ "core": false,
401
+ "unlocked_by": null,
282
402
  "difficulty": 5,
283
403
  "topics": [
284
404
 
285
405
  ]
286
406
  },
287
407
  {
408
+ "uuid": "163fcc6b-c054-4232-a88b-0aded846a6eb",
288
409
  "slug": "spiral-matrix",
410
+ "core": false,
411
+ "unlocked_by": null,
289
412
  "difficulty": 6,
290
413
  "topics": [
291
414
 
292
415
  ]
293
416
  },
294
417
  {
418
+ "uuid": "3e728cd4-5e5f-4c69-8a53-bc36d020fcdb",
295
419
  "slug": "roman-numerals",
420
+ "core": false,
421
+ "unlocked_by": null,
296
422
  "difficulty": 6,
297
423
  "topics": [
298
424
 
299
425
  ]
300
426
  },
301
427
  {
428
+ "uuid": "57b76837-4610-466f-9373-d5c2697625f1",
302
429
  "slug": "transpose",
430
+ "core": false,
431
+ "unlocked_by": null,
303
432
  "difficulty": 6,
304
433
  "topics": [
305
434
 
306
435
  ]
307
436
  },
308
437
  {
438
+ "uuid": "dd3e6fd6-5359-4978-acd7-c39374cead4d",
309
439
  "slug": "food-chain",
440
+ "core": false,
441
+ "unlocked_by": null,
310
442
  "difficulty": 6,
311
443
  "topics": [
312
444
 
313
445
  ]
314
446
  },
315
447
  {
448
+ "uuid": "56943095-de76-40bf-b42b-fa3e70f8df5e",
316
449
  "slug": "beer-song",
450
+ "core": false,
451
+ "unlocked_by": null,
317
452
  "difficulty": 6,
318
453
  "topics": [
319
454
 
320
455
  ]
321
456
  },
322
457
  {
458
+ "uuid": "5404109e-3ed9-4691-8eaf-af8b36024a44",
323
459
  "slug": "queen-attack",
460
+ "core": false,
461
+ "unlocked_by": null,
324
462
  "difficulty": 6,
325
463
  "topics": [
326
464
 
327
465
  ]
328
466
  },
329
467
  {
468
+ "uuid": "76d28d97-75d3-47eb-bb77-3d347b76f1b6",
330
469
  "slug": "etl",
470
+ "core": false,
471
+ "unlocked_by": null,
331
472
  "difficulty": 6,
332
473
  "topics": [
333
474
 
334
475
  ]
335
476
  },
336
477
  {
478
+ "uuid": "7ba5084d-3b75-4406-a0d7-87c26387f9c0",
337
479
  "slug": "linked-list",
480
+ "core": false,
481
+ "unlocked_by": null,
338
482
  "difficulty": 6,
339
483
  "topics": [
340
484
 
341
485
  ]
342
486
  },
343
487
  {
488
+ "uuid": "b4af5da1-601f-4b0f-bfb8-4a381851090c",
344
489
  "slug": "grade-school",
490
+ "core": false,
491
+ "unlocked_by": null,
345
492
  "difficulty": 6,
346
493
  "topics": [
347
494
 
348
495
  ]
349
496
  },
350
497
  {
498
+ "uuid": "993bde9d-7774-4e7a-a381-9eee75f28ecb",
351
499
  "slug": "robot-simulator",
500
+ "core": false,
501
+ "unlocked_by": null,
352
502
  "difficulty": 6,
353
503
  "topics": [
354
504
 
355
505
  ]
356
506
  },
357
507
  {
508
+ "uuid": "50136dc3-caf7-4fa1-b7bd-0cba1bea9176",
358
509
  "slug": "binary-search",
510
+ "core": false,
511
+ "unlocked_by": null,
359
512
  "difficulty": 6,
360
513
  "topics": [
361
514
 
362
515
  ]
363
516
  },
364
517
  {
518
+ "uuid": "416a1489-12af-4593-8540-0f55285c96b4",
365
519
  "slug": "minesweeper",
520
+ "core": false,
521
+ "unlocked_by": null,
366
522
  "difficulty": 6,
367
523
  "topics": [
368
524
 
369
525
  ]
370
526
  },
371
527
  {
528
+ "uuid": "3310a3cd-c0cb-45fa-8c51-600178be904a",
372
529
  "slug": "wordy",
530
+ "core": false,
531
+ "unlocked_by": null,
373
532
  "difficulty": 6,
374
533
  "topics": [
375
534
 
376
535
  ]
377
536
  },
378
537
  {
538
+ "uuid": "f7c2e4b5-1995-4dfe-b827-c9aff8ac5332",
379
539
  "slug": "all-your-base",
540
+ "core": false,
541
+ "unlocked_by": null,
380
542
  "difficulty": 6,
381
543
  "topics": [
382
544
 
383
545
  ]
384
546
  },
385
547
  {
386
- "slug": "bank-account",
387
- "difficulty": 6,
388
- "topics": [
548
+ "uuid": "a242efc5-159d-492b-861d-12a1459fb334",
549
+ "slug": "bank-account",
550
+ "core": false,
551
+ "unlocked_by": null,
552
+ "difficulty": 6,
553
+ "topics": [
389
554
 
390
- ]
555
+ ]
391
556
  },
392
557
  {
393
- "slug": "bowling",
394
- "difficulty": 6,
395
- "topics": [
558
+ "uuid": "4b3f7771-c642-4278-a3d9-2fb958f26361",
559
+ "slug": "bowling",
560
+ "core": false,
561
+ "unlocked_by": null,
562
+ "difficulty": 6,
563
+ "topics": [
396
564
 
397
- ]
565
+ ]
398
566
  },
399
567
  {
568
+ "uuid": "fb10dc2f-0ba1-44b6-8365-5e48e86d1283",
400
569
  "slug": "anagram",
570
+ "core": false,
571
+ "unlocked_by": null,
401
572
  "difficulty": 7,
402
573
  "topics": [
403
574
 
404
575
  ]
405
576
  },
406
577
  {
578
+ "uuid": "d2aedbd7-092a-43d0-8a5e-ae3ebd5b9c7f",
407
579
  "slug": "sublist",
580
+ "core": false,
581
+ "unlocked_by": null,
408
582
  "difficulty": 7,
409
583
  "topics": [
410
584
 
411
585
  ]
412
586
  },
413
587
  {
588
+ "uuid": "b53bde52-cb5f-4d43-86ec-18aa509d62f9",
414
589
  "slug": "word-search",
590
+ "core": false,
591
+ "unlocked_by": null,
415
592
  "difficulty": 7,
416
593
  "topics": [
417
594
 
418
595
  ]
419
596
  },
420
597
  {
598
+ "uuid": "e3e5ffe5-cfc1-467e-a28a-da0302130144",
421
599
  "slug": "simple-linked-list",
600
+ "core": false,
601
+ "unlocked_by": null,
422
602
  "difficulty": 7,
423
603
  "topics": [
424
604
 
425
605
  ]
426
606
  },
427
607
  {
608
+ "uuid": "0a2d18aa-7b5e-4401-a952-b93d2060694f",
428
609
  "slug": "binary-search-tree",
610
+ "core": false,
611
+ "unlocked_by": null,
429
612
  "difficulty": 7,
430
613
  "topics": [
431
614
 
432
615
  ]
433
616
  },
434
617
  {
618
+ "uuid": "602511d5-7e89-4def-b072-4dd311816810",
435
619
  "slug": "meetup",
620
+ "core": false,
621
+ "unlocked_by": null,
436
622
  "difficulty": 7,
437
623
  "topics": [
438
624
 
439
625
  ]
440
626
  },
441
627
  {
628
+ "uuid": "162bebdc-9bf2-43c0-8460-a91f5fc16147",
442
629
  "slug": "crypto-square",
630
+ "core": false,
631
+ "unlocked_by": null,
443
632
  "difficulty": 7,
444
633
  "topics": [
445
634
 
446
635
  ]
447
636
  },
448
637
  {
638
+ "uuid": "57eeac00-741c-4843-907a-51f0ac5ea4cb",
449
639
  "slug": "poker",
640
+ "core": false,
641
+ "unlocked_by": null,
450
642
  "difficulty": 7,
451
643
  "topics": [
452
644
  "Parsing",
@@ -455,21 +647,30 @@
455
647
  ]
456
648
  },
457
649
  {
650
+ "uuid": "97c8fcd4-85b6-41cb-9de2-b4e1b4951222",
458
651
  "slug": "clock",
652
+ "core": false,
653
+ "unlocked_by": null,
459
654
  "difficulty": 7,
460
655
  "topics": [
461
656
 
462
657
  ]
463
658
  },
464
659
  {
660
+ "uuid": "5cbc6a67-3a53-4aad-ae68-ff469525437f",
465
661
  "slug": "ocr-numbers",
662
+ "core": false,
663
+ "unlocked_by": null,
466
664
  "difficulty": 8,
467
665
  "topics": [
468
666
 
469
667
  ]
470
668
  },
471
669
  {
670
+ "uuid": "626dc25a-062c-4053-a8c1-788e4dc44ca0",
472
671
  "slug": "circular-buffer",
672
+ "core": false,
673
+ "unlocked_by": null,
473
674
  "difficulty": 8,
474
675
  "topics": [
475
676
  "Queues",
@@ -478,77 +679,136 @@
478
679
  ]
479
680
  },
480
681
  {
682
+ "uuid": "64cda115-919a-4eef-9a45-9ec5d1af98cc",
481
683
  "slug": "rectangles",
684
+ "core": false,
685
+ "unlocked_by": null,
482
686
  "difficulty": 8,
483
687
  "topics": [
484
688
 
485
689
  ]
486
690
  },
487
691
  {
692
+ "uuid": "e5f05d00-fe5b-4d78-b2fa-934c1c9afb32",
488
693
  "slug": "book-store",
694
+ "core": false,
695
+ "unlocked_by": null,
489
696
  "difficulty": 8,
490
697
  "topics": [
491
698
 
492
699
  ]
493
700
  },
494
701
  {
702
+ "uuid": "f654831f-c34b-44f5-9dd5-054efbb486f2",
495
703
  "slug": "simple-cipher",
704
+ "core": false,
705
+ "unlocked_by": null,
496
706
  "difficulty": 8,
497
707
  "topics": [
498
708
 
499
709
  ]
500
710
  },
501
711
  {
712
+ "uuid": "52d11278-0d65-4b5b-b387-1374fced3243",
502
713
  "slug": "complex-numbers",
714
+ "core": false,
715
+ "unlocked_by": null,
503
716
  "difficulty": 8,
504
717
  "topics": [
505
718
 
506
719
  ]
507
720
  },
508
721
  {
722
+ "uuid": "a9836565-5c39-4285-b83a-53408be36ccc",
509
723
  "slug": "list-ops",
724
+ "core": false,
725
+ "unlocked_by": null,
510
726
  "difficulty": 8,
511
727
  "topics": [
512
-
728
+
513
729
  ]
514
730
  },
515
731
  {
732
+ "uuid": "bac1f4bc-eea9-43c1-8e95-097347f5925e",
516
733
  "slug": "change",
734
+ "core": false,
735
+ "unlocked_by": null,
517
736
  "difficulty": 8,
518
737
  "topics": [
519
738
 
520
739
  ]
521
740
  },
522
741
  {
742
+ "uuid": "873c05de-b5f5-4c5b-97f0-d1ede8a82832",
523
743
  "slug": "palindrome-products",
744
+ "core": false,
745
+ "unlocked_by": null,
524
746
  "difficulty": 8,
525
747
  "topics": [
526
748
 
527
749
  ]
528
750
  },
529
751
  {
752
+ "uuid": "88505f95-89e5-4a08-8ed2-208eb818cdf1",
530
753
  "slug": "pythagorean-triplet",
754
+ "core": false,
755
+ "unlocked_by": null,
531
756
  "difficulty": 9,
532
757
  "topics": [
533
758
 
534
759
  ]
535
760
  },
536
761
  {
762
+ "uuid": "377fe38b-08ad-4f3a-8118-a43c10f7b9b2",
537
763
  "slug": "custom-set",
764
+ "core": false,
765
+ "unlocked_by": null,
538
766
  "difficulty": 10,
539
767
  "topics": [
540
768
 
541
769
  ]
770
+ },
771
+ {
772
+ "uuid": "9eb41883-55ef-4681-b5ac-5c2259302772",
773
+ "slug": "rotational-cipher",
774
+ "core": false,
775
+ "unlocked_by": null,
776
+ "difficulty": 1,
777
+ "topics": [
778
+
779
+ ]
780
+ },
781
+ {
782
+ "uuid": "e58c29d2-80a7-40ef-bed0-4a184ae35f34",
783
+ "slug": "accumulate",
784
+ "deprecated": true
785
+ },
786
+ {
787
+ "uuid": "9ea6e0fa-b91d-4d17-ac8f-6d2dc30fdd44",
788
+ "slug": "binary",
789
+ "deprecated": true
790
+ },
791
+ {
792
+ "uuid": "6fe53a08-c123-465d-864a-ef18217203c4",
793
+ "slug": "hexadecimal",
794
+ "deprecated": true
795
+ },
796
+ {
797
+ "uuid": "14a29e82-f9b1-4662-b678-06992e306c01",
798
+ "slug": "octal",
799
+ "deprecated": true
800
+ },
801
+ {
802
+ "uuid": "2d195cd9-1814-490a-8dd6-a2c676f1d4cd",
803
+ "slug": "strain",
804
+ "deprecated": true
805
+ },
806
+ {
807
+ "uuid": "ee3a8abe-6b19-4b47-9cf6-4d39ae915fb7",
808
+ "slug": "trinary",
809
+ "deprecated": true
542
810
  }
543
811
  ],
544
- "deprecated": [
545
- "accumulate",
546
- "binary",
547
- "hexadecimal",
548
- "octal",
549
- "strain",
550
- "trinary"
551
- ],
552
812
  "foregone": [
553
813
  "leap",
554
814
  "grains",