trackler 2.2.1.8 → 2.2.1.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +0 -6
  3. data/lib/trackler/version.rb +1 -1
  4. data/problem-specifications/exercises/palindrome-products/description.md +5 -5
  5. data/tracks/clojure/config/maintainers.json +45 -0
  6. data/tracks/coq/config.json +1 -1
  7. data/tracks/csharp/config.json +257 -253
  8. data/tracks/delphi/config/maintainers.json +1 -1
  9. data/tracks/erlang/exercises/accumulate/include/exercism.hrl +4 -4
  10. data/tracks/erlang/exercises/accumulate/src/accumulate.erl +8 -0
  11. data/tracks/erlang/exercises/all-your-base/include/exercism.hrl +4 -4
  12. data/tracks/erlang/exercises/all-your-base/src/all_your_base.erl +8 -0
  13. data/tracks/erlang/exercises/allergies/include/exercism.hrl +4 -4
  14. data/tracks/erlang/exercises/allergies/src/allergies.erl +8 -0
  15. data/tracks/erlang/exercises/anagram/include/exercism.hrl +4 -4
  16. data/tracks/erlang/exercises/anagram/src/anagram.erl +8 -0
  17. data/tracks/erlang/exercises/atbash-cipher/include/exercism.hrl +4 -4
  18. data/tracks/erlang/exercises/atbash-cipher/src/atbash_cipher.erl +11 -0
  19. data/tracks/erlang/exercises/bank-account/include/exercism.hrl +4 -4
  20. data/tracks/erlang/exercises/bank-account/src/bank_account.erl +23 -0
  21. data/tracks/erlang/exercises/beer-song/include/exercism.hrl +4 -4
  22. data/tracks/erlang/exercises/beer-song/src/beer_song.erl +14 -0
  23. data/tracks/erlang/exercises/bob/include/exercism.hrl +4 -4
  24. data/tracks/erlang/exercises/bob/src/bob.erl +8 -0
  25. data/tracks/erlang/exercises/circular-buffer/include/exercism.hrl +4 -4
  26. data/tracks/erlang/exercises/circular-buffer/src/circular_buffer.erl +20 -0
  27. data/tracks/erlang/exercises/clock/include/exercism.hrl +4 -4
  28. data/tracks/erlang/exercises/clock/src/clock.erl +17 -0
  29. data/tracks/erlang/exercises/collatz-conjecture/include/exercism.hrl +4 -4
  30. data/tracks/erlang/exercises/collatz-conjecture/src/collatz_conjecture.erl +9 -0
  31. data/tracks/erlang/exercises/difference-of-squares/include/exercism.hrl +4 -4
  32. data/tracks/erlang/exercises/difference-of-squares/src/difference_of_squares.erl +14 -0
  33. data/tracks/erlang/exercises/etl/include/exercism.hrl +4 -4
  34. data/tracks/erlang/exercises/etl/src/etl.erl +8 -0
  35. data/tracks/erlang/exercises/gigasecond/include/exercism.hrl +4 -4
  36. data/tracks/erlang/exercises/gigasecond/src/gigasecond.erl +8 -0
  37. data/tracks/erlang/exercises/grade-school/include/exercism.hrl +4 -4
  38. data/tracks/erlang/exercises/grade-school/src/grade_school.erl +17 -0
  39. data/tracks/erlang/exercises/grains/include/exercism.hrl +4 -4
  40. data/tracks/erlang/exercises/grains/src/grains.erl +11 -0
  41. data/tracks/erlang/exercises/hamming/include/exercism.hrl +4 -4
  42. data/tracks/erlang/exercises/hamming/src/hamming.erl +8 -0
  43. data/tracks/erlang/exercises/hello-world/include/exercism.hrl +4 -4
  44. data/tracks/erlang/exercises/hello-world/src/hello_world.erl +8 -0
  45. data/tracks/erlang/exercises/largest-series-product/include/exercism.hrl +4 -4
  46. data/tracks/erlang/exercises/largest-series-product/src/largest_series_product.erl +8 -0
  47. data/tracks/erlang/exercises/leap/include/exercism.hrl +4 -4
  48. data/tracks/erlang/exercises/leap/src/leap.erl +8 -0
  49. data/tracks/erlang/exercises/luhn/include/exercism.hrl +4 -4
  50. data/tracks/erlang/exercises/luhn/src/luhn.erl +11 -0
  51. data/tracks/erlang/exercises/meetup/include/exercism.hrl +4 -4
  52. data/tracks/erlang/exercises/meetup/src/meetup.erl +8 -0
  53. data/tracks/erlang/exercises/nucleotide-count/include/exercism.hrl +4 -4
  54. data/tracks/erlang/exercises/nucleotide-count/src/nucleotide_count.erl +11 -0
  55. data/tracks/erlang/exercises/parallel-letter-frequency/include/exercism.hrl +4 -4
  56. data/tracks/erlang/exercises/parallel-letter-frequency/src/parallel_letter_frequency.erl +8 -0
  57. data/tracks/erlang/exercises/phone-number/include/exercism.hrl +4 -4
  58. data/tracks/erlang/exercises/phone-number/src/phone_number.erl +14 -0
  59. data/tracks/erlang/exercises/rna-transcription/include/exercism.hrl +4 -4
  60. data/tracks/erlang/exercises/rna-transcription/src/rna_transcription.erl +8 -0
  61. data/tracks/erlang/exercises/robot-simulator/include/exercism.hrl +4 -4
  62. data/tracks/erlang/exercises/robot-simulator/src/robot_simulator.erl +29 -0
  63. data/tracks/erlang/exercises/roman-numerals/include/exercism.hrl +4 -4
  64. data/tracks/erlang/exercises/roman-numerals/src/roman_numerals.erl +8 -0
  65. data/tracks/erlang/exercises/rotational-cipher/include/exercism.hrl +4 -4
  66. data/tracks/erlang/exercises/rotational-cipher/src/rotational_cipher.erl +11 -0
  67. data/tracks/erlang/exercises/scrabble-score/include/exercism.hrl +4 -4
  68. data/tracks/erlang/exercises/scrabble-score/src/scrabble_score.erl +8 -0
  69. data/tracks/erlang/exercises/series/include/exercism.hrl +4 -4
  70. data/tracks/erlang/exercises/series/src/series.erl +8 -0
  71. data/tracks/erlang/exercises/space-age/include/exercism.hrl +4 -4
  72. data/tracks/erlang/exercises/space-age/src/space_age.erl +8 -0
  73. data/tracks/erlang/exercises/spiral-matrix/include/exercism.hrl +4 -4
  74. data/tracks/erlang/exercises/spiral-matrix/src/spiral_matrix.erl +8 -0
  75. data/tracks/erlang/exercises/strain/include/exercism.hrl +4 -4
  76. data/tracks/erlang/exercises/strain/src/strain.erl +11 -0
  77. data/tracks/erlang/exercises/sum-of-multiples/include/exercism.hrl +4 -4
  78. data/tracks/erlang/exercises/sum-of-multiples/src/sum_of_multiples.erl +8 -0
  79. data/tracks/erlang/exercises/triangle/include/exercism.hrl +4 -4
  80. data/tracks/erlang/exercises/triangle/src/triangle.erl +8 -0
  81. data/tracks/erlang/exercises/word-count/include/exercism.hrl +4 -4
  82. data/tracks/erlang/exercises/word-count/src/word_count.erl +8 -0
  83. data/tracks/erlang/exercises/zipper/include/exercism.hrl +4 -4
  84. data/tracks/erlang/exercises/zipper/src/example.erl +2 -6
  85. data/tracks/erlang/exercises/zipper/src/zipper.erl +37 -0
  86. data/tracks/erlang/exercises/zipper/test/zipper_tests.erl +1 -1
  87. data/tracks/factor/config/maintainers.json +15 -0
  88. data/tracks/fsharp/config.json +249 -248
  89. data/tracks/go/config.json +93 -34
  90. data/tracks/julia/README.md +3 -3
  91. data/tracks/julia/config/maintainers.json +15 -0
  92. data/tracks/rust/config.json +10 -0
  93. data/tracks/rust/exercises/accumulate/.meta/hints.md +10 -0
  94. data/tracks/rust/exercises/accumulate/Cargo.lock +4 -0
  95. data/tracks/rust/exercises/accumulate/Cargo.toml +6 -0
  96. data/tracks/rust/exercises/accumulate/README.md +79 -0
  97. data/tracks/rust/exercises/accumulate/example.rs +15 -0
  98. data/tracks/{chapel/docs/ABOUT.md → rust/exercises/accumulate/src/lib.rs} +0 -0
  99. data/tracks/rust/exercises/accumulate/tests/accumulate.rs +94 -0
  100. metadata +50 -30
  101. data/tracks/chapel/.git +0 -1
  102. data/tracks/chapel/.gitignore +0 -4
  103. data/tracks/chapel/.travis.yml +0 -5
  104. data/tracks/chapel/LICENSE +0 -21
  105. data/tracks/chapel/README.md +0 -11
  106. data/tracks/chapel/bin/fetch-configlet +0 -32
  107. data/tracks/chapel/config/exercise_readme.go.tmpl +0 -16
  108. data/tracks/chapel/config/maintainers.json +0 -5
  109. data/tracks/chapel/config.json +0 -11
  110. data/tracks/chapel/docs/EXERCISE_README_INSERT.md +0 -0
  111. data/tracks/chapel/docs/INSTALLATION.md +0 -0
  112. data/tracks/chapel/docs/LEARNING.md +0 -0
  113. data/tracks/chapel/docs/RESOURCES.md +0 -0
  114. data/tracks/chapel/docs/TESTS.md +0 -0
  115. data/tracks/chapel/exercises/.keep +0 -0
  116. data/tracks/chapel/img/.keep +0 -0
  117. data/tracks/nasm/.git +0 -1
  118. data/tracks/nasm/.gitignore +0 -2
  119. data/tracks/nasm/.travis.yml +0 -6
  120. data/tracks/nasm/LICENSE +0 -21
  121. data/tracks/nasm/README.md +0 -11
  122. data/tracks/nasm/bin/fetch-configlet +0 -32
  123. data/tracks/nasm/config/exercise_readme.go.tmpl +0 -16
  124. data/tracks/nasm/config.json +0 -11
  125. data/tracks/nasm/docs/EXERCISE_README_INSERT.md +0 -0
  126. data/tracks/nasm/exercises/.keep +0 -0
  127. data/tracks/nasm/img/icon.png +0 -0
@@ -5,28 +5,28 @@
5
5
  {
6
6
  "uuid": "302312cc-bd15-4ba0-8f2f-cbf411c40186",
7
7
  "slug": "hello-world",
8
- "core": false,
8
+ "core": true,
9
9
  "unlocked_by": null,
10
10
  "difficulty": 1,
11
11
  "topics": [
12
- "Text formatting",
13
- "Optional values"
12
+ "Strings"
14
13
  ]
15
14
  },
16
15
  {
17
16
  "uuid": "66d974b5-18fc-4993-b5f2-7beda4f4afa3",
18
17
  "slug": "leap",
19
- "core": false,
18
+ "core": true,
20
19
  "unlocked_by": null,
21
20
  "difficulty": 1,
22
21
  "topics": [
23
- "Integers"
22
+ "Integers",
23
+ "Control-flow (if-else statements)"
24
24
  ]
25
25
  },
26
26
  {
27
27
  "uuid": "b3c4d578-10c8-47bc-b0ae-149ed8da530a",
28
28
  "slug": "bob",
29
- "core": false,
29
+ "core": true,
30
30
  "unlocked_by": null,
31
31
  "difficulty": 1,
32
32
  "topics": [
@@ -35,171 +35,260 @@
35
35
  ]
36
36
  },
37
37
  {
38
- "uuid": "1d377268-8892-460b-a84b-011fde1ff06b",
39
- "slug": "gigasecond",
40
- "core": false,
38
+ "uuid": "e702b75e-4c9e-40ef-bcb1-674a87222c23",
39
+ "slug": "sum-of-multiples",
40
+ "core": true,
41
41
  "unlocked_by": null,
42
42
  "difficulty": 1,
43
43
  "topics": [
44
- "Dates"
44
+ "Lists",
45
+ "Transforming"
45
46
  ]
46
47
  },
47
48
  {
48
- "uuid": "3969fb29-5997-4050-adb0-8c6e95f48013",
49
- "slug": "difference-of-squares",
50
- "core": false,
49
+ "uuid": "277d05db-0ba0-4de6-b5f8-090c251afffc",
50
+ "slug": "space-age",
51
+ "core": true,
51
52
  "unlocked_by": null,
52
53
  "difficulty": 1,
53
54
  "topics": [
54
- "Integers"
55
+ "Discriminated unions",
56
+ "Floating-point numbers"
55
57
  ]
56
58
  },
57
59
  {
58
- "uuid": "3a015501-58bf-427c-8c4c-2197321f4a34",
59
- "slug": "rna-transcription",
60
- "core": false,
60
+ "uuid": "0c953a84-e726-4b9f-a964-1950ac2f95f2",
61
+ "slug": "raindrops",
62
+ "core": true,
61
63
  "unlocked_by": null,
62
- "difficulty": 1,
64
+ "difficulty": 2,
63
65
  "topics": [
64
- "Strings",
65
- "Transforming"
66
+ "Text formatting",
67
+ "Filtering"
66
68
  ]
67
69
  },
68
70
  {
69
- "uuid": "e702b75e-4c9e-40ef-bcb1-674a87222c23",
70
- "slug": "sum-of-multiples",
71
- "core": false,
71
+ "uuid": "e7085050-1611-4773-9032-0e0ffb56c20e",
72
+ "slug": "accumulate",
73
+ "core": true,
72
74
  "unlocked_by": null,
73
- "difficulty": 1,
75
+ "difficulty": 2,
74
76
  "topics": [
75
- "Lists",
77
+ "Recursion",
76
78
  "Transforming"
77
79
  ]
78
80
  },
79
81
  {
80
- "uuid": "277d05db-0ba0-4de6-b5f8-090c251afffc",
81
- "slug": "space-age",
82
- "core": false,
82
+ "uuid": "cf058dc8-db6f-4034-ac5b-22f1d8d0decc",
83
+ "slug": "grade-school",
84
+ "core": true,
83
85
  "unlocked_by": null,
84
- "difficulty": 1,
86
+ "difficulty": 2,
85
87
  "topics": [
86
- "Discriminated unions",
87
- "Floating-point numbers"
88
+ "Maps",
89
+ "Sorting"
88
90
  ]
89
91
  },
90
92
  {
91
- "uuid": "e3751098-5a15-4350-bf5d-507583de3386",
92
- "slug": "grains",
93
- "core": false,
93
+ "uuid": "30c3a38e-1e44-4711-887e-fca301c26c1b",
94
+ "slug": "clock",
95
+ "core": true,
94
96
  "unlocked_by": null,
95
- "difficulty": 2,
97
+ "difficulty": 3,
96
98
  "topics": [
97
- "Integers"
99
+ "Time",
100
+ "Structural equality"
98
101
  ]
99
102
  },
100
103
  {
101
- "uuid": "1dadf8c0-b15c-413f-987e-187d043910f0",
102
- "slug": "hamming",
103
- "core": false,
104
+ "uuid": "0ea0d92f-5510-4ba9-b419-3f5ad029b74f",
105
+ "slug": "beer-song",
106
+ "core": true,
107
+ "unlocked_by": "raindrops",
108
+ "difficulty": 3,
109
+ "topics": [
110
+ "Text formatting",
111
+ "Algorithms"
112
+ ]
113
+ },
114
+ {
115
+ "uuid": "cf64cddf-63e2-4c71-ac15-0af617f82856",
116
+ "slug": "kindergarten-garden",
117
+ "core": true,
104
118
  "unlocked_by": null,
105
- "difficulty": 2,
119
+ "difficulty": 3,
106
120
  "topics": [
107
- "Strings",
121
+ "Parsing",
122
+ "Enumerations"
123
+ ]
124
+ },
125
+ {
126
+ "uuid": "528a0023-8687-4524-8318-516d1e432d0d",
127
+ "slug": "queen-attack",
128
+ "core": true,
129
+ "unlocked_by": null,
130
+ "difficulty": 3,
131
+ "topics": [
132
+ "Tuples"
133
+ ]
134
+ },
135
+ {
136
+ "uuid": "ecae4faa-c516-4a71-8d55-9c53403d8826",
137
+ "slug": "robot-simulator",
138
+ "core": true,
139
+ "unlocked_by": null,
140
+ "difficulty": 3,
141
+ "topics": [
142
+ "Records",
143
+ "Tuples"
144
+ ]
145
+ },
146
+ {
147
+ "uuid": "221dff26-0495-4d4b-9363-14a5d7263271",
148
+ "slug": "allergies",
149
+ "core": true,
150
+ "unlocked_by": "kindergarten-garden",
151
+ "difficulty": 4,
152
+ "topics": [
153
+ "Enumerations",
154
+ "Bitwise operations",
108
155
  "Filtering"
109
156
  ]
110
157
  },
111
158
  {
112
- "uuid": "e6f92e96-b26a-4eba-8759-e8976a8a9097",
113
- "slug": "nucleotide-count",
114
- "core": false,
159
+ "uuid": "eca7e334-f549-4601-a515-9d1467d3d0ea",
160
+ "slug": "ocr-numbers",
161
+ "core": true,
115
162
  "unlocked_by": null,
116
- "difficulty": 2,
163
+ "difficulty": 5,
117
164
  "topics": [
118
- "Maps",
119
- "Strings"
165
+ "Parsing",
166
+ "Pattern recognition"
120
167
  ]
121
168
  },
122
169
  {
123
- "uuid": "e7085050-1611-4773-9032-0e0ffb56c20e",
124
- "slug": "accumulate",
125
- "core": false,
170
+ "uuid": "a53fa908-f983-4da5-b1c1-3989bd2ea2f9",
171
+ "slug": "tree-building",
172
+ "core": true,
126
173
  "unlocked_by": null,
127
- "difficulty": 2,
174
+ "difficulty": 5,
128
175
  "topics": [
129
- "Recursion",
176
+ "Trees",
177
+ "Refactoring"
178
+ ]
179
+ },
180
+ {
181
+ "uuid": "4e786e56-2658-445f-ac91-64dd9c38dbb3",
182
+ "slug": "binary-search-tree",
183
+ "core": true,
184
+ "unlocked_by": null,
185
+ "difficulty": 5,
186
+ "topics": [
187
+ "Searching",
188
+ "Trees",
189
+ "Optional values"
190
+ ]
191
+ },
192
+ {
193
+ "uuid": "a002e3db-8e9c-4cbf-b00f-f2090bae5d5a",
194
+ "slug": "pig-latin",
195
+ "core": true,
196
+ "unlocked_by": null,
197
+ "difficulty": 6,
198
+ "topics": [
199
+ "Strings",
130
200
  "Transforming"
131
201
  ]
132
202
  },
133
203
  {
134
- "uuid": "0c953a84-e726-4b9f-a964-1950ac2f95f2",
135
- "slug": "raindrops",
204
+ "uuid": "3969fb29-5997-4050-adb0-8c6e95f48013",
205
+ "slug": "difference-of-squares",
136
206
  "core": false,
137
207
  "unlocked_by": null,
138
- "difficulty": 2,
208
+ "difficulty": 1,
139
209
  "topics": [
140
- "Text formatting",
141
- "Filtering"
210
+ "Integers"
142
211
  ]
143
212
  },
144
213
  {
145
- "uuid": "cf058dc8-db6f-4034-ac5b-22f1d8d0decc",
146
- "slug": "grade-school",
214
+ "uuid": "1d377268-8892-460b-a84b-011fde1ff06b",
215
+ "slug": "gigasecond",
147
216
  "core": false,
148
217
  "unlocked_by": null,
149
- "difficulty": 2,
218
+ "difficulty": 1,
150
219
  "topics": [
151
- "Maps",
152
- "Sorting"
220
+ "Dates"
153
221
  ]
154
222
  },
155
223
  {
156
- "uuid": "dc133087-0548-49b4-8f17-0c26cf53bcdf",
157
- "slug": "pangram",
224
+ "uuid": "3a015501-58bf-427c-8c4c-2197321f4a34",
225
+ "slug": "rna-transcription",
158
226
  "core": false,
159
227
  "unlocked_by": null,
228
+ "difficulty": 1,
229
+ "topics": [
230
+ "Strings",
231
+ "Transforming"
232
+ ]
233
+ },
234
+ {
235
+ "uuid": "e3751098-5a15-4350-bf5d-507583de3386",
236
+ "slug": "grains",
237
+ "core": false,
238
+ "unlocked_by": "leap",
160
239
  "difficulty": 2,
161
240
  "topics": [
162
- "Strings"
241
+ "Integers"
163
242
  ]
164
243
  },
165
244
  {
166
- "uuid": "95e592a8-6663-4b07-894a-86a5cc310c67",
167
- "slug": "etl",
245
+ "uuid": "1dadf8c0-b15c-413f-987e-187d043910f0",
246
+ "slug": "hamming",
168
247
  "core": false,
169
- "unlocked_by": null,
248
+ "unlocked_by": "hello-world",
249
+ "difficulty": 2,
250
+ "topics": [
251
+ "Strings",
252
+ "Filtering"
253
+ ]
254
+ },
255
+ {
256
+ "uuid": "e6f92e96-b26a-4eba-8759-e8976a8a9097",
257
+ "slug": "nucleotide-count",
258
+ "core": false,
259
+ "unlocked_by": "grade-school",
170
260
  "difficulty": 2,
171
261
  "topics": [
172
262
  "Maps",
173
- "Transforming"
263
+ "Strings"
174
264
  ]
175
265
  },
176
266
  {
177
- "uuid": "30c3a38e-1e44-4711-887e-fca301c26c1b",
178
- "slug": "clock",
267
+ "uuid": "dc133087-0548-49b4-8f17-0c26cf53bcdf",
268
+ "slug": "pangram",
179
269
  "core": false,
180
- "unlocked_by": null,
181
- "difficulty": 3,
270
+ "unlocked_by": "hello-world",
271
+ "difficulty": 2,
182
272
  "topics": [
183
- "Time",
184
- "Structural equality"
273
+ "Strings"
185
274
  ]
186
275
  },
187
276
  {
188
- "uuid": "0ea0d92f-5510-4ba9-b419-3f5ad029b74f",
189
- "slug": "beer-song",
277
+ "uuid": "95e592a8-6663-4b07-894a-86a5cc310c67",
278
+ "slug": "etl",
190
279
  "core": false,
191
- "unlocked_by": null,
192
- "difficulty": 3,
280
+ "unlocked_by": "grade-school",
281
+ "difficulty": 2,
193
282
  "topics": [
194
- "Text formatting",
195
- "Algorithms"
283
+ "Maps",
284
+ "Transforming"
196
285
  ]
197
286
  },
198
287
  {
199
288
  "uuid": "47fd8f98-20d3-43fe-825f-27745e13908d",
200
289
  "slug": "triangle",
201
290
  "core": false,
202
- "unlocked_by": null,
291
+ "unlocked_by": "space-age",
203
292
  "difficulty": 3,
204
293
  "topics": [
205
294
  "Integers",
@@ -210,7 +299,7 @@
210
299
  "uuid": "3fbd466a-caf4-48ac-9a1e-796bc406ff1e",
211
300
  "slug": "robot-name",
212
301
  "core": false,
213
- "unlocked_by": null,
302
+ "unlocked_by": "hello-world",
214
303
  "difficulty": 3,
215
304
  "topics": [
216
305
  "Randomness",
@@ -221,7 +310,7 @@
221
310
  "uuid": "fc7935f9-bffa-4eb1-b447-49379b45aac7",
222
311
  "slug": "error-handling",
223
312
  "core": false,
224
- "unlocked_by": null,
313
+ "unlocked_by": "space-age",
225
314
  "difficulty": 3,
226
315
  "topics": [
227
316
  "Exception handling",
@@ -233,7 +322,7 @@
233
322
  "uuid": "e22fcca5-b23c-4feb-972f-9795dd1bd946",
234
323
  "slug": "scrabble-score",
235
324
  "core": false,
236
- "unlocked_by": null,
325
+ "unlocked_by": "clock",
237
326
  "difficulty": 3,
238
327
  "topics": [
239
328
  "Transforming"
@@ -243,7 +332,7 @@
243
332
  "uuid": "5ca0e0ba-20ac-4d48-b2dc-0cdde06a8f3e",
244
333
  "slug": "proverb",
245
334
  "core": false,
246
- "unlocked_by": null,
335
+ "unlocked_by": "bob",
247
336
  "difficulty": 3,
248
337
  "topics": [
249
338
  "Text formatting",
@@ -254,7 +343,7 @@
254
343
  "uuid": "612395a5-238e-4be0-8ce0-4ac66f57056e",
255
344
  "slug": "protein-translation",
256
345
  "core": false,
257
- "unlocked_by": null,
346
+ "unlocked_by": "sum-of-multiples",
258
347
  "difficulty": 3,
259
348
  "topics": [
260
349
  "Strings",
@@ -262,32 +351,11 @@
262
351
  "Transforming"
263
352
  ]
264
353
  },
265
- {
266
- "uuid": "cf64cddf-63e2-4c71-ac15-0af617f82856",
267
- "slug": "kindergarten-garden",
268
- "core": false,
269
- "unlocked_by": null,
270
- "difficulty": 3,
271
- "topics": [
272
- "Parsing",
273
- "Enumerations"
274
- ]
275
- },
276
- {
277
- "uuid": "528a0023-8687-4524-8318-516d1e432d0d",
278
- "slug": "queen-attack",
279
- "core": false,
280
- "unlocked_by": null,
281
- "difficulty": 3,
282
- "topics": [
283
- "Tuples"
284
- ]
285
- },
286
354
  {
287
355
  "uuid": "48ac8887-28db-4566-a415-c2d338dea104",
288
356
  "slug": "strain",
289
357
  "core": false,
290
- "unlocked_by": null,
358
+ "unlocked_by": "raindrops",
291
359
  "difficulty": 3,
292
360
  "topics": [
293
361
  "Sequences",
@@ -298,7 +366,7 @@
298
366
  "uuid": "61404a27-62c3-43dc-93b7-7e4547e0a0d9",
299
367
  "slug": "isogram",
300
368
  "core": false,
301
- "unlocked_by": null,
369
+ "unlocked_by": "hello-world",
302
370
  "difficulty": 3,
303
371
  "topics": [
304
372
  "Strings",
@@ -309,7 +377,7 @@
309
377
  "uuid": "a6511471-bc2c-4734-92fe-c6c5cf447efd",
310
378
  "slug": "sieve",
311
379
  "core": false,
312
- "unlocked_by": null,
380
+ "unlocked_by": "raindrops",
313
381
  "difficulty": 3,
314
382
  "topics": [
315
383
  "Filtering",
@@ -320,7 +388,7 @@
320
388
  "uuid": "929f98e4-a16c-464b-ac6c-59ca86dbd2b6",
321
389
  "slug": "phone-number",
322
390
  "core": false,
323
- "unlocked_by": null,
391
+ "unlocked_by": "hello-world",
324
392
  "difficulty": 3,
325
393
  "topics": [
326
394
  "Parsing",
@@ -331,29 +399,18 @@
331
399
  "uuid": "45fcf742-1b3a-422a-b476-5ee81d80057a",
332
400
  "slug": "perfect-numbers",
333
401
  "core": false,
334
- "unlocked_by": null,
402
+ "unlocked_by": "space-age",
335
403
  "difficulty": 3,
336
404
  "topics": [
337
405
  "Integers",
338
406
  "Discriminated unions"
339
407
  ]
340
408
  },
341
- {
342
- "uuid": "ecae4faa-c516-4a71-8d55-9c53403d8826",
343
- "slug": "robot-simulator",
344
- "core": false,
345
- "unlocked_by": null,
346
- "difficulty": 3,
347
- "topics": [
348
- "Records",
349
- "Tuples"
350
- ]
351
- },
352
409
  {
353
410
  "uuid": "c5b38251-14ba-4d98-a420-7a930f06167f",
354
411
  "slug": "binary-search",
355
412
  "core": false,
356
- "unlocked_by": null,
413
+ "unlocked_by": "sum-of-multiples",
357
414
  "difficulty": 3,
358
415
  "topics": [
359
416
  "Searching",
@@ -364,7 +421,7 @@
364
421
  "uuid": "ae78a960-2c55-44cb-9fd0-49b4bd5729c5",
365
422
  "slug": "secret-handshake",
366
423
  "core": false,
367
- "unlocked_by": null,
424
+ "unlocked_by": "allergies",
368
425
  "difficulty": 3,
369
426
  "topics": [
370
427
  "Bitwise operations",
@@ -375,7 +432,7 @@
375
432
  "uuid": "0c7a2f06-1e53-4043-9e1a-386e90e945b4",
376
433
  "slug": "word-count",
377
434
  "core": false,
378
- "unlocked_by": null,
435
+ "unlocked_by": "grade-school",
379
436
  "difficulty": 4,
380
437
  "topics": [
381
438
  "Strings",
@@ -383,23 +440,11 @@
383
440
  "Transforming"
384
441
  ]
385
442
  },
386
- {
387
- "uuid": "221dff26-0495-4d4b-9363-14a5d7263271",
388
- "slug": "allergies",
389
- "core": false,
390
- "unlocked_by": null,
391
- "difficulty": 4,
392
- "topics": [
393
- "Enumerations",
394
- "Bitwise operations",
395
- "Filtering"
396
- ]
397
- },
398
443
  {
399
444
  "uuid": "89cd6eb1-9671-42bd-a619-59013fb721b0",
400
445
  "slug": "twelve-days",
401
446
  "core": false,
402
- "unlocked_by": null,
447
+ "unlocked_by": "hello-world",
403
448
  "difficulty": 4,
404
449
  "topics": [
405
450
  "Text formatting",
@@ -410,7 +455,7 @@
410
455
  "uuid": "3ce04665-95d1-4608-9763-5ee1b5f2584c",
411
456
  "slug": "meetup",
412
457
  "core": false,
413
- "unlocked_by": null,
458
+ "unlocked_by": "clock",
414
459
  "difficulty": 4,
415
460
  "topics": [
416
461
  "Dates"
@@ -420,7 +465,7 @@
420
465
  "uuid": "cffcb076-295f-497f-8ef1-059a8fa65536",
421
466
  "slug": "anagram",
422
467
  "core": false,
423
- "unlocked_by": null,
468
+ "unlocked_by": "bob",
424
469
  "difficulty": 4,
425
470
  "topics": [
426
471
  "Strings",
@@ -431,7 +476,7 @@
431
476
  "uuid": "4b07842c-dcef-4be0-a842-0b3b7a30c499",
432
477
  "slug": "series",
433
478
  "core": false,
434
- "unlocked_by": null,
479
+ "unlocked_by": "bob",
435
480
  "difficulty": 4,
436
481
  "topics": [
437
482
  "Strings",
@@ -443,7 +488,7 @@
443
488
  "uuid": "e86e88a0-802c-41f4-b2a1-c7a81b8e87de",
444
489
  "slug": "simple-linked-list",
445
490
  "core": false,
446
- "unlocked_by": null,
491
+ "unlocked_by": "sum-of-multiples",
447
492
  "difficulty": 4,
448
493
  "topics": [
449
494
  "Lists"
@@ -453,7 +498,7 @@
453
498
  "uuid": "926f9309-e0bb-457a-8f1d-8fa947ed5ce7",
454
499
  "slug": "acronym",
455
500
  "core": false,
456
- "unlocked_by": null,
501
+ "unlocked_by": "bob",
457
502
  "difficulty": 4,
458
503
  "topics": [
459
504
  "Strings",
@@ -464,7 +509,7 @@
464
509
  "uuid": "632417fa-7bf7-4228-9b71-dbdd6738b223",
465
510
  "slug": "matrix",
466
511
  "core": false,
467
- "unlocked_by": null,
512
+ "unlocked_by": "kindergarten-garden",
468
513
  "difficulty": 4,
469
514
  "topics": [
470
515
  "Matrices",
@@ -475,7 +520,7 @@
475
520
  "uuid": "01e394ee-23d5-44e6-a37e-149ffaf5375e",
476
521
  "slug": "all-your-base",
477
522
  "core": false,
478
- "unlocked_by": null,
523
+ "unlocked_by": "leap",
479
524
  "difficulty": 4,
480
525
  "topics": [
481
526
  "Integers",
@@ -486,7 +531,7 @@
486
531
  "uuid": "b3643992-583b-4e7a-a970-94bc7ae6739a",
487
532
  "slug": "largest-series-product",
488
533
  "core": false,
489
- "unlocked_by": null,
534
+ "unlocked_by": "leap",
490
535
  "difficulty": 4,
491
536
  "topics": [
492
537
  "Strings",
@@ -498,7 +543,7 @@
498
543
  "uuid": "7d339c98-74ea-49d5-a97c-c0417e28468a",
499
544
  "slug": "house",
500
545
  "core": false,
501
- "unlocked_by": null,
546
+ "unlocked_by": "bob",
502
547
  "difficulty": 4,
503
548
  "topics": [
504
549
  "Text formatting",
@@ -509,7 +554,7 @@
509
554
  "uuid": "6bcde851-71ad-4985-b335-8ca67f99c22f",
510
555
  "slug": "pythagorean-triplet",
511
556
  "core": false,
512
- "unlocked_by": null,
557
+ "unlocked_by": "robot-simulator",
513
558
  "difficulty": 4,
514
559
  "topics": [
515
560
  "Records",
@@ -521,7 +566,7 @@
521
566
  "uuid": "526fc5b4-e96b-419a-8987-9b78e9bddc19",
522
567
  "slug": "saddle-points",
523
568
  "core": false,
524
- "unlocked_by": null,
569
+ "unlocked_by": "sum-of-multiples",
525
570
  "difficulty": 4,
526
571
  "topics": [
527
572
  "Matrices",
@@ -532,7 +577,7 @@
532
577
  "uuid": "fef76c19-db3c-442d-b2f5-b0dfae19ee43",
533
578
  "slug": "pascals-triangle",
534
579
  "core": false,
535
- "unlocked_by": null,
580
+ "unlocked_by": "accumulate",
536
581
  "difficulty": 4,
537
582
  "topics": [
538
583
  "Recursion",
@@ -544,7 +589,7 @@
544
589
  "uuid": "47602465-a92d-43a5-9e9a-8ef09ce2104d",
545
590
  "slug": "list-ops",
546
591
  "core": false,
547
- "unlocked_by": null,
592
+ "unlocked_by": "accumulate",
548
593
  "difficulty": 4,
549
594
  "topics": [
550
595
  "Lists",
@@ -555,7 +600,7 @@
555
600
  "uuid": "18652e46-6dd2-4030-84af-be0965c92991",
556
601
  "slug": "prime-factors",
557
602
  "core": false,
558
- "unlocked_by": null,
603
+ "unlocked_by": "robot-simulator",
559
604
  "difficulty": 4,
560
605
  "topics": [
561
606
  "Integers",
@@ -566,40 +611,18 @@
566
611
  "uuid": "2e88193d-9f80-4d83-901b-bb5ac4b0804c",
567
612
  "slug": "roman-numerals",
568
613
  "core": false,
569
- "unlocked_by": null,
614
+ "unlocked_by": "accumulate",
570
615
  "difficulty": 5,
571
616
  "topics": [
572
617
  "Recursion",
573
618
  "Transforming"
574
619
  ]
575
620
  },
576
- {
577
- "uuid": "4e786e56-2658-445f-ac91-64dd9c38dbb3",
578
- "slug": "binary-search-tree",
579
- "core": false,
580
- "unlocked_by": null,
581
- "difficulty": 5,
582
- "topics": [
583
- "Searching",
584
- "Trees"
585
- ]
586
- },
587
- {
588
- "uuid": "eca7e334-f549-4601-a515-9d1467d3d0ea",
589
- "slug": "ocr-numbers",
590
- "core": false,
591
- "unlocked_by": null,
592
- "difficulty": 5,
593
- "topics": [
594
- "Parsing",
595
- "Pattern recognition"
596
- ]
597
- },
598
621
  {
599
622
  "uuid": "dc50364b-b5b6-4e0b-ba58-32fb7d60a93b",
600
623
  "slug": "dot-dsl",
601
624
  "core": false,
602
- "unlocked_by": null,
625
+ "unlocked_by": "clock",
603
626
  "difficulty": 5,
604
627
  "topics": [
605
628
  "Domain-specific languages"
@@ -609,7 +632,7 @@
609
632
  "uuid": "c0d0ae0f-83fb-433a-8778-d38e8a6645aa",
610
633
  "slug": "parallel-letter-frequency",
611
634
  "core": false,
612
- "unlocked_by": null,
635
+ "unlocked_by": "clock",
613
636
  "difficulty": 5,
614
637
  "topics": [
615
638
  "Parallellism",
@@ -620,7 +643,7 @@
620
643
  "uuid": "253f040d-35c2-4e1c-8651-d7a7410d7d0d",
621
644
  "slug": "linked-list",
622
645
  "core": false,
623
- "unlocked_by": null,
646
+ "unlocked_by": "sum-of-multiples",
624
647
  "difficulty": 5,
625
648
  "topics": [
626
649
  "Lists"
@@ -630,7 +653,7 @@
630
653
  "uuid": "df6f311b-9deb-4d07-9a29-3d881556513e",
631
654
  "slug": "simple-cipher",
632
655
  "core": false,
633
- "unlocked_by": null,
656
+ "unlocked_by": "beer-song",
634
657
  "difficulty": 5,
635
658
  "topics": [
636
659
  "Strings",
@@ -638,22 +661,11 @@
638
661
  "Transforming"
639
662
  ]
640
663
  },
641
- {
642
- "uuid": "a53fa908-f983-4da5-b1c1-3989bd2ea2f9",
643
- "slug": "tree-building",
644
- "core": false,
645
- "unlocked_by": null,
646
- "difficulty": 5,
647
- "topics": [
648
- "Trees",
649
- "Refactoring"
650
- ]
651
- },
652
664
  {
653
665
  "uuid": "02a8e767-7449-48a9-8d6b-f2cac708de50",
654
666
  "slug": "scale-generator",
655
667
  "core": false,
656
- "unlocked_by": null,
668
+ "unlocked_by": "kindergarten-garden",
657
669
  "difficulty": 5,
658
670
  "topics": [
659
671
  "Parsing",
@@ -664,7 +676,7 @@
664
676
  "uuid": "3fb37bef-a754-4a64-8493-ba4254518017",
665
677
  "slug": "atbash-cipher",
666
678
  "core": false,
667
- "unlocked_by": null,
679
+ "unlocked_by": "beer-song",
668
680
  "difficulty": 5,
669
681
  "topics": [
670
682
  "Strings",
@@ -676,7 +688,7 @@
676
688
  "uuid": "f4dee9ea-fcdf-4623-8ae1-13bdf995f2cb",
677
689
  "slug": "food-chain",
678
690
  "core": false,
679
- "unlocked_by": null,
691
+ "unlocked_by": "raindrops",
680
692
  "difficulty": 5,
681
693
  "topics": [
682
694
  "Text formatting",
@@ -687,7 +699,7 @@
687
699
  "uuid": "da48b422-1c23-4272-87a4-415620d4e857",
688
700
  "slug": "grep",
689
701
  "core": false,
690
- "unlocked_by": null,
702
+ "unlocked_by": "raindrops",
691
703
  "difficulty": 5,
692
704
  "topics": [
693
705
  "Text formatting",
@@ -699,7 +711,7 @@
699
711
  "uuid": "ecee74aa-41f5-42aa-b99e-31e9589378e3",
700
712
  "slug": "custom-set",
701
713
  "core": false,
702
- "unlocked_by": null,
714
+ "unlocked_by": "queen-attack",
703
715
  "difficulty": 5,
704
716
  "topics": [
705
717
  "Sets"
@@ -709,7 +721,7 @@
709
721
  "uuid": "8d381a54-04a1-45d3-84d3-933b0d94f440",
710
722
  "slug": "crypto-square",
711
723
  "core": false,
712
- "unlocked_by": null,
724
+ "unlocked_by": "beer-song",
713
725
  "difficulty": 5,
714
726
  "topics": [
715
727
  "Strings",
@@ -721,7 +733,7 @@
721
733
  "uuid": "e860ad86-cd1f-474b-9e8e-d8a72ff4315c",
722
734
  "slug": "ledger",
723
735
  "core": false,
724
- "unlocked_by": null,
736
+ "unlocked_by": "raindrops",
725
737
  "difficulty": 5,
726
738
  "topics": [
727
739
  "Globalization",
@@ -733,7 +745,7 @@
733
745
  "uuid": "b62f8574-9bac-4b95-a76c-f13789ae2663",
734
746
  "slug": "circular-buffer",
735
747
  "core": false,
736
- "unlocked_by": null,
748
+ "unlocked_by": "robot-simulator",
737
749
  "difficulty": 5,
738
750
  "topics": [
739
751
  "Queues",
@@ -744,7 +756,7 @@
744
756
  "uuid": "85ab318f-7842-486d-88de-f0ff7fbef069",
745
757
  "slug": "luhn",
746
758
  "core": false,
747
- "unlocked_by": null,
759
+ "unlocked_by": "beer-song",
748
760
  "difficulty": 5,
749
761
  "topics": [
750
762
  "Strings",
@@ -756,7 +768,7 @@
756
768
  "uuid": "cb629d30-0351-4023-bd51-423267164c24",
757
769
  "slug": "bank-account",
758
770
  "core": false,
759
- "unlocked_by": null,
771
+ "unlocked_by": "binary-search-tree",
760
772
  "difficulty": 5,
761
773
  "topics": [
762
774
  "Optional values",
@@ -767,7 +779,7 @@
767
779
  "uuid": "0688eb10-9581-45c0-a69a-13f20d534cb0",
768
780
  "slug": "markdown",
769
781
  "core": false,
770
- "unlocked_by": null,
782
+ "unlocked_by": "kindergarten-garden",
771
783
  "difficulty": 5,
772
784
  "topics": [
773
785
  "Parsing",
@@ -779,7 +791,7 @@
779
791
  "uuid": "0a10cd0b-ea37-4c78-a6a4-223203ac1c37",
780
792
  "slug": "run-length-encoding",
781
793
  "core": false,
782
- "unlocked_by": null,
794
+ "unlocked_by": "queen-attack",
783
795
  "difficulty": 5,
784
796
  "topics": [
785
797
  "Algorithms",
@@ -790,7 +802,7 @@
790
802
  "uuid": "3741977a-adff-47bb-a9c5-c2e444805bac",
791
803
  "slug": "book-store",
792
804
  "core": false,
793
- "unlocked_by": null,
805
+ "unlocked_by": "accumulate",
794
806
  "difficulty": 5,
795
807
  "topics": [
796
808
  "Recursion"
@@ -800,7 +812,7 @@
800
812
  "uuid": "b5672a0c-aac5-4274-a458-39d018b74750",
801
813
  "slug": "tournament",
802
814
  "core": false,
803
- "unlocked_by": null,
815
+ "unlocked_by": "beer-song",
804
816
  "difficulty": 6,
805
817
  "topics": [
806
818
  "Text formatting",
@@ -811,7 +823,7 @@
811
823
  "uuid": "8f8a79d1-78ed-4cdd-adcc-5cd6c6781dcd",
812
824
  "slug": "word-search",
813
825
  "core": false,
814
- "unlocked_by": null,
826
+ "unlocked_by": "queen-attack",
815
827
  "difficulty": 6,
816
828
  "topics": [
817
829
  "Searching",
@@ -823,7 +835,7 @@
823
835
  "uuid": "1c8ad2ca-4aec-47af-94b1-ef7e2830b463",
824
836
  "slug": "bowling",
825
837
  "core": false,
826
- "unlocked_by": null,
838
+ "unlocked_by": "clock",
827
839
  "difficulty": 6,
828
840
  "topics": [
829
841
  "Algorithms"
@@ -833,7 +845,7 @@
833
845
  "uuid": "3dfedd37-8159-446d-a332-e9d356f484ca",
834
846
  "slug": "transpose",
835
847
  "core": false,
836
- "unlocked_by": null,
848
+ "unlocked_by": "pig-latin",
837
849
  "difficulty": 6,
838
850
  "topics": [
839
851
  "Strings",
@@ -844,7 +856,7 @@
844
856
  "uuid": "220cbe7e-e781-4ab9-84ec-2b89a3c97670",
845
857
  "slug": "nth-prime",
846
858
  "core": false,
847
- "unlocked_by": null,
859
+ "unlocked_by": "leap",
848
860
  "difficulty": 6,
849
861
  "topics": [
850
862
  "Mathematics"
@@ -854,7 +866,7 @@
854
866
  "uuid": "471c89f9-8b27-4898-8e98-58e4b2921616",
855
867
  "slug": "palindrome-products",
856
868
  "core": false,
857
- "unlocked_by": null,
869
+ "unlocked_by": "queen-attack",
858
870
  "difficulty": 6,
859
871
  "topics": [
860
872
  "Strings",
@@ -862,22 +874,11 @@
862
874
  "Algorithms"
863
875
  ]
864
876
  },
865
- {
866
- "uuid": "a002e3db-8e9c-4cbf-b00f-f2090bae5d5a",
867
- "slug": "pig-latin",
868
- "core": false,
869
- "unlocked_by": null,
870
- "difficulty": 6,
871
- "topics": [
872
- "Strings",
873
- "Transforming"
874
- ]
875
- },
876
877
  {
877
878
  "uuid": "c418bba8-2185-4b45-92f1-0cfafbbe8ce5",
878
879
  "slug": "rail-fence-cipher",
879
880
  "core": false,
880
- "unlocked_by": null,
881
+ "unlocked_by": "pig-latin",
881
882
  "difficulty": 6,
882
883
  "topics": [
883
884
  "Strings",
@@ -889,7 +890,7 @@
889
890
  "uuid": "677ca063-70fe-4cfc-8112-c5d78bd1ea44",
890
891
  "slug": "bracket-push",
891
892
  "core": false,
892
- "unlocked_by": null,
893
+ "unlocked_by": "kindergarten-garden",
893
894
  "difficulty": 7,
894
895
  "topics": [
895
896
  "Parsing",
@@ -900,7 +901,7 @@
900
901
  "uuid": "d17b0c35-49a7-4ea6-b68c-7b2b56dc5968",
901
902
  "slug": "sublist",
902
903
  "core": false,
903
- "unlocked_by": null,
904
+ "unlocked_by": "tree-building",
904
905
  "difficulty": 7,
905
906
  "topics": [
906
907
  "Lists",
@@ -911,7 +912,7 @@
911
912
  "uuid": "03a1c773-5c48-4f70-a2de-b742197fa9d2",
912
913
  "slug": "change",
913
914
  "core": false,
914
- "unlocked_by": null,
915
+ "unlocked_by": "accumulate",
915
916
  "difficulty": 7,
916
917
  "topics": [
917
918
  "Integers",
@@ -922,7 +923,7 @@
922
923
  "uuid": "9e3fc78d-ac3b-4195-ad4c-9f99b0ee2678",
923
924
  "slug": "minesweeper",
924
925
  "core": false,
925
- "unlocked_by": null,
926
+ "unlocked_by": "kindergarten-garden",
926
927
  "difficulty": 7,
927
928
  "topics": [
928
929
  "Parsing",
@@ -933,7 +934,7 @@
933
934
  "uuid": "2a7e3e78-ab94-40f3-8f16-1d5aa84c2f85",
934
935
  "slug": "diffie-hellman",
935
936
  "core": false,
936
- "unlocked_by": null,
937
+ "unlocked_by": "leap",
937
938
  "difficulty": 7,
938
939
  "topics": [
939
940
  "Integers",
@@ -945,7 +946,7 @@
945
946
  "uuid": "f09d34d3-f12c-4c9a-9083-68172478278e",
946
947
  "slug": "dominoes",
947
948
  "core": false,
948
- "unlocked_by": null,
949
+ "unlocked_by": "queen-attack",
949
950
  "difficulty": 7,
950
951
  "topics": [
951
952
  "Lists",
@@ -956,7 +957,7 @@
956
957
  "uuid": "d3f364e0-9866-4ec4-8197-dc248b96042b",
957
958
  "slug": "rectangles",
958
959
  "core": false,
959
- "unlocked_by": null,
960
+ "unlocked_by": "kindergarten-garden",
960
961
  "difficulty": 7,
961
962
  "topics": [
962
963
  "Parsing",
@@ -967,7 +968,7 @@
967
968
  "uuid": "c721b3f2-4afc-4a30-bad5-77bd002c2819",
968
969
  "slug": "wordy",
969
970
  "core": false,
970
- "unlocked_by": null,
971
+ "unlocked_by": "kindergarten-garden",
971
972
  "difficulty": 7,
972
973
  "topics": [
973
974
  "Parsing",
@@ -979,7 +980,7 @@
979
980
  "uuid": "ab0f1b66-011f-4aa3-89c5-c89427121279",
980
981
  "slug": "hangman",
981
982
  "core": false,
982
- "unlocked_by": null,
983
+ "unlocked_by": "tree-building",
983
984
  "difficulty": 8,
984
985
  "topics": [
985
986
  "Reactive programming"
@@ -989,7 +990,7 @@
989
990
  "uuid": "ee021156-5520-4386-8b5d-9c648f30287c",
990
991
  "slug": "zebra-puzzle",
991
992
  "core": false,
992
- "unlocked_by": null,
993
+ "unlocked_by": "robot-simulator",
993
994
  "difficulty": 8,
994
995
  "topics": [
995
996
  "Logic"
@@ -999,7 +1000,7 @@
999
1000
  "uuid": "411b93d0-214d-4d46-9081-16b9dd376174",
1000
1001
  "slug": "poker",
1001
1002
  "core": false,
1002
- "unlocked_by": null,
1003
+ "unlocked_by": "space-age",
1003
1004
  "difficulty": 8,
1004
1005
  "topics": [
1005
1006
  "Discriminated unions",
@@ -1012,7 +1013,7 @@
1012
1013
  "uuid": "736a470f-412c-41fc-b92d-9bd59ef3bcce",
1013
1014
  "slug": "diamond",
1014
1015
  "core": false,
1015
- "unlocked_by": null,
1016
+ "unlocked_by": "beer-song",
1016
1017
  "difficulty": 8,
1017
1018
  "topics": [
1018
1019
  "Text formatting",
@@ -1023,7 +1024,7 @@
1023
1024
  "uuid": "78472676-26f0-4bef-813b-9b958c4c35df",
1024
1025
  "slug": "two-bucket",
1025
1026
  "core": false,
1026
- "unlocked_by": null,
1027
+ "unlocked_by": "robot-simulator",
1027
1028
  "difficulty": 8,
1028
1029
  "topics": [
1029
1030
  "Logic"
@@ -1033,7 +1034,7 @@
1033
1034
  "uuid": "dead8124-6942-4205-9ea8-3cb926c0dc47",
1034
1035
  "slug": "connect",
1035
1036
  "core": false,
1036
- "unlocked_by": null,
1037
+ "unlocked_by": "ocr-numbers",
1037
1038
  "difficulty": 8,
1038
1039
  "topics": [
1039
1040
  "Parsing",
@@ -1044,7 +1045,7 @@
1044
1045
  "uuid": "7af901ca-24ea-4c24-a660-99b1f4338e01",
1045
1046
  "slug": "say",
1046
1047
  "core": false,
1047
- "unlocked_by": null,
1048
+ "unlocked_by": "robot-simulator",
1048
1049
  "difficulty": 8,
1049
1050
  "topics": [
1050
1051
  "Strings",
@@ -1056,7 +1057,7 @@
1056
1057
  "uuid": "8eef5619-f331-46b3-a2c1-d581f523a815",
1057
1058
  "slug": "react",
1058
1059
  "core": false,
1059
- "unlocked_by": null,
1060
+ "unlocked_by": "tree-building",
1060
1061
  "difficulty": 9,
1061
1062
  "topics": [
1062
1063
  "Reactive programming",
@@ -1068,7 +1069,7 @@
1068
1069
  "uuid": "ef86703b-9e78-43f8-aa4c-203492ac622c",
1069
1070
  "slug": "variable-length-quantity",
1070
1071
  "core": false,
1071
- "unlocked_by": null,
1072
+ "unlocked_by": "allergies",
1072
1073
  "difficulty": 9,
1073
1074
  "topics": [
1074
1075
  "Bitwise operations",
@@ -1079,7 +1080,7 @@
1079
1080
  "uuid": "01ffa95c-1966-4031-b0d2-64f254d85b82",
1080
1081
  "slug": "go-counting",
1081
1082
  "core": false,
1082
- "unlocked_by": null,
1083
+ "unlocked_by": "ocr-numbers",
1083
1084
  "difficulty": 9,
1084
1085
  "topics": [
1085
1086
  "Parsing",
@@ -1091,7 +1092,7 @@
1091
1092
  "uuid": "443fdb8c-1a97-4086-be6a-b541faa961a5",
1092
1093
  "slug": "lens-person",
1093
1094
  "core": false,
1094
- "unlocked_by": null,
1095
+ "unlocked_by": "tree-building",
1095
1096
  "difficulty": 9,
1096
1097
  "topics": [
1097
1098
  "Lenses"
@@ -1101,7 +1102,7 @@
1101
1102
  "uuid": "fe0e98b3-d0d3-4bf6-bfaa-8aa0e61aa625",
1102
1103
  "slug": "sgf-parsing",
1103
1104
  "core": false,
1104
- "unlocked_by": null,
1105
+ "unlocked_by": "ocr-numbers",
1105
1106
  "difficulty": 9,
1106
1107
  "topics": [
1107
1108
  "Parsing",
@@ -1112,7 +1113,7 @@
1112
1113
  "uuid": "3d682945-5fa1-4121-9d5b-7bac60660de9",
1113
1114
  "slug": "alphametics",
1114
1115
  "core": false,
1115
- "unlocked_by": null,
1116
+ "unlocked_by": "ocr-numbers",
1116
1117
  "difficulty": 9,
1117
1118
  "topics": [
1118
1119
  "Parsing",
@@ -1123,7 +1124,7 @@
1123
1124
  "uuid": "5369eea9-00c8-4044-b272-1ce8d0590ecf",
1124
1125
  "slug": "zipper",
1125
1126
  "core": false,
1126
- "unlocked_by": null,
1127
+ "unlocked_by": "binary-search-tree",
1127
1128
  "difficulty": 10,
1128
1129
  "topics": [
1129
1130
  "Trees",
@@ -1135,7 +1136,7 @@
1135
1136
  "uuid": "533981a1-632c-4ca8-a4ae-05f3ad1a810b",
1136
1137
  "slug": "forth",
1137
1138
  "core": false,
1138
- "unlocked_by": null,
1139
+ "unlocked_by": "ocr-numbers",
1139
1140
  "difficulty": 10,
1140
1141
  "topics": [
1141
1142
  "Parsing",
@@ -1146,7 +1147,7 @@
1146
1147
  "uuid": "a6082751-98ca-45dc-aeed-cdd19a8da0ca",
1147
1148
  "slug": "pov",
1148
1149
  "core": false,
1149
- "unlocked_by": null,
1150
+ "unlocked_by": "binary-search-tree",
1150
1151
  "difficulty": 10,
1151
1152
  "topics": [
1152
1153
  "Graphs",
@@ -1162,4 +1163,4 @@
1162
1163
  "point-mutations",
1163
1164
  "counter"
1164
1165
  ]
1165
- }
1166
+ }