trackler 2.0.6.14 → 2.0.6.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/ceylon/.travis.yml +1 -0
  4. data/tracks/ceylon/bin/compile-all-stubs +16 -0
  5. data/tracks/ceylon/config.json +11 -0
  6. data/tracks/ceylon/exercises/react/example/Reactor.ceylon +96 -0
  7. data/tracks/ceylon/exercises/react/example/module.ceylon +4 -0
  8. data/tracks/ceylon/exercises/react/source/react/Reactor.ceylon +29 -0
  9. data/tracks/ceylon/exercises/react/source/react/ReactorTest.ceylon +195 -0
  10. data/tracks/ceylon/exercises/react/source/react/module.ceylon +3 -0
  11. data/tracks/csharp/config.json +9 -0
  12. data/tracks/csharp/exercises/pov/Example.cs +17 -17
  13. data/tracks/csharp/exercises/zipper/Example.cs +137 -0
  14. data/tracks/csharp/exercises/zipper/ZipperTest.cs +83 -0
  15. data/tracks/go/config.json +9 -0
  16. data/tracks/go/exercises/transpose/cases_test.go +247 -0
  17. data/tracks/go/exercises/transpose/example.go +25 -0
  18. data/tracks/go/exercises/transpose/example_gen.go +54 -0
  19. data/tracks/go/exercises/transpose/transpose_test.go +39 -0
  20. data/tracks/go/exercises/triangle/triangle.go +1 -1
  21. data/tracks/haskell/.travis.yml +2 -2
  22. data/tracks/haskell/common/stack.yaml +1 -1
  23. data/tracks/haskell/exercises/accumulate/stack.yaml +1 -1
  24. data/tracks/haskell/exercises/all-your-base/stack.yaml +1 -1
  25. data/tracks/haskell/exercises/allergies/stack.yaml +1 -1
  26. data/tracks/haskell/exercises/alphametics/stack.yaml +1 -1
  27. data/tracks/haskell/exercises/anagram/stack.yaml +1 -1
  28. data/tracks/haskell/exercises/atbash-cipher/stack.yaml +1 -1
  29. data/tracks/haskell/exercises/bank-account/stack.yaml +1 -1
  30. data/tracks/haskell/exercises/beer-song/stack.yaml +1 -1
  31. data/tracks/haskell/exercises/binary-search-tree/stack.yaml +1 -1
  32. data/tracks/haskell/exercises/binary/stack.yaml +1 -1
  33. data/tracks/haskell/exercises/bob/stack.yaml +1 -1
  34. data/tracks/haskell/exercises/bowling/stack.yaml +1 -1
  35. data/tracks/haskell/exercises/change/stack.yaml +1 -1
  36. data/tracks/haskell/exercises/clock/stack.yaml +1 -1
  37. data/tracks/haskell/exercises/connect/stack.yaml +1 -1
  38. data/tracks/haskell/exercises/crypto-square/stack.yaml +1 -1
  39. data/tracks/haskell/exercises/custom-set/stack.yaml +1 -1
  40. data/tracks/haskell/exercises/difference-of-squares/stack.yaml +1 -1
  41. data/tracks/haskell/exercises/dominoes/stack.yaml +1 -1
  42. data/tracks/haskell/exercises/etl/stack.yaml +1 -1
  43. data/tracks/haskell/exercises/food-chain/stack.yaml +1 -1
  44. data/tracks/haskell/exercises/forth/stack.yaml +1 -1
  45. data/tracks/haskell/exercises/gigasecond/stack.yaml +1 -1
  46. data/tracks/haskell/exercises/go-counting/stack.yaml +1 -1
  47. data/tracks/haskell/exercises/grade-school/stack.yaml +1 -1
  48. data/tracks/haskell/exercises/grains/stack.yaml +1 -1
  49. data/tracks/haskell/exercises/hamming/stack.yaml +1 -1
  50. data/tracks/haskell/exercises/hexadecimal/stack.yaml +1 -1
  51. data/tracks/haskell/exercises/house/stack.yaml +1 -1
  52. data/tracks/haskell/exercises/kindergarten-garden/stack.yaml +1 -1
  53. data/tracks/haskell/exercises/largest-series-product/stack.yaml +1 -1
  54. data/tracks/haskell/exercises/leap/stack.yaml +1 -1
  55. data/tracks/haskell/exercises/lens-person/stack.yaml +1 -1
  56. data/tracks/haskell/exercises/linked-list/stack.yaml +1 -1
  57. data/tracks/haskell/exercises/list-ops/stack.yaml +1 -1
  58. data/tracks/haskell/exercises/luhn/stack.yaml +1 -1
  59. data/tracks/haskell/exercises/matrix/stack.yaml +1 -1
  60. data/tracks/haskell/exercises/meetup/stack.yaml +1 -1
  61. data/tracks/haskell/exercises/minesweeper/stack.yaml +1 -1
  62. data/tracks/haskell/exercises/nth-prime/stack.yaml +1 -1
  63. data/tracks/haskell/exercises/nucleotide-count/stack.yaml +1 -1
  64. data/tracks/haskell/exercises/ocr-numbers/stack.yaml +1 -1
  65. data/tracks/haskell/exercises/octal/stack.yaml +1 -1
  66. data/tracks/haskell/exercises/palindrome-products/stack.yaml +1 -1
  67. data/tracks/haskell/exercises/parallel-letter-frequency/stack.yaml +1 -1
  68. data/tracks/haskell/exercises/pascals-triangle/stack.yaml +1 -1
  69. data/tracks/haskell/exercises/phone-number/stack.yaml +1 -1
  70. data/tracks/haskell/exercises/pig-latin/stack.yaml +1 -1
  71. data/tracks/haskell/exercises/pov/stack.yaml +1 -1
  72. data/tracks/haskell/exercises/prime-factors/stack.yaml +1 -1
  73. data/tracks/haskell/exercises/pythagorean-triplet/stack.yaml +1 -1
  74. data/tracks/haskell/exercises/queen-attack/stack.yaml +1 -1
  75. data/tracks/haskell/exercises/raindrops/stack.yaml +1 -1
  76. data/tracks/haskell/exercises/rna-transcription/stack.yaml +1 -1
  77. data/tracks/haskell/exercises/robot-name/stack.yaml +1 -1
  78. data/tracks/haskell/exercises/robot-simulator/stack.yaml +1 -1
  79. data/tracks/haskell/exercises/roman-numerals/stack.yaml +1 -1
  80. data/tracks/haskell/exercises/run-length-encoding/stack.yaml +1 -1
  81. data/tracks/haskell/exercises/saddle-points/stack.yaml +1 -1
  82. data/tracks/haskell/exercises/say/stack.yaml +1 -1
  83. data/tracks/haskell/exercises/scrabble-score/stack.yaml +1 -1
  84. data/tracks/haskell/exercises/secret-handshake/stack.yaml +1 -1
  85. data/tracks/haskell/exercises/series/stack.yaml +1 -1
  86. data/tracks/haskell/exercises/sgf-parsing/stack.yaml +1 -1
  87. data/tracks/haskell/exercises/sieve/stack.yaml +1 -1
  88. data/tracks/haskell/exercises/simple-cipher/stack.yaml +1 -1
  89. data/tracks/haskell/exercises/simple-linked-list/stack.yaml +1 -1
  90. data/tracks/haskell/exercises/space-age/stack.yaml +1 -1
  91. data/tracks/haskell/exercises/strain/stack.yaml +1 -1
  92. data/tracks/haskell/exercises/sublist/stack.yaml +1 -1
  93. data/tracks/haskell/exercises/sum-of-multiples/stack.yaml +1 -1
  94. data/tracks/haskell/exercises/triangle/stack.yaml +1 -1
  95. data/tracks/haskell/exercises/trinary/stack.yaml +1 -1
  96. data/tracks/haskell/exercises/word-count/stack.yaml +1 -1
  97. data/tracks/haskell/exercises/wordy/stack.yaml +1 -1
  98. data/tracks/haskell/exercises/zebra-puzzle/stack.yaml +1 -1
  99. data/tracks/haskell/exercises/zipper/stack.yaml +1 -1
  100. data/tracks/lua/exercises/list-ops/list-ops_spec.lua +1 -1
  101. data/tracks/objective-c/config.json +9 -0
  102. data/tracks/objective-c/exercises/beer-song/BeerSongExample.h +7 -0
  103. data/tracks/objective-c/exercises/beer-song/BeerSongExample.m +56 -0
  104. data/tracks/objective-c/exercises/beer-song/BeerSongTest.m +51 -0
  105. data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/project.pbxproj +23 -1
  106. data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/xcshareddata/xcschemes/OCLint.xcscheme +1 -1
  107. data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/xcshareddata/xcschemes/xobjectivecTest.xcscheme +1 -1
  108. data/tracks/perl6/config.json +5 -0
  109. data/tracks/perl6/exercises/grade-school/Example.pm +17 -0
  110. data/tracks/perl6/exercises/grade-school/grade-school.t +32 -0
  111. data/tracks/scala/config.json +6 -0
  112. data/tracks/scala/exercises/rna-transcription/build.sbt +2 -2
  113. data/tracks/scala/exercises/sublist/build.sbt +2 -2
  114. data/tracks/scala/exercises/sublist/src/test/scala/SublistTest.scala +1 -1
  115. metadata +19 -2
@@ -0,0 +1,137 @@
1
+ using System;
2
+ using System.Collections.Generic;
3
+ using System.Linq;
4
+
5
+ public class BinTree<T> : IEquatable<BinTree<T>>
6
+ {
7
+ public BinTree(T value, BinTree<T> left, BinTree<T> right)
8
+ {
9
+ Value = value;
10
+ Left = left;
11
+ Right = right;
12
+ }
13
+
14
+ public BinTree(BinTree<T> tree) : this(tree.Value, tree.Left, tree.Right)
15
+ {
16
+ }
17
+
18
+ public T Value { get; }
19
+ public BinTree<T> Left { get; }
20
+ public BinTree<T> Right { get; }
21
+
22
+ public bool Equals(BinTree<T> other)
23
+ {
24
+ if (other == null || !Equals(Value, other.Value))
25
+ return false;
26
+
27
+ if (!ReferenceEquals(Left, other.Left) && (!Left?.Equals(other.Left) ?? false))
28
+ return false;
29
+
30
+ if (!ReferenceEquals(Right, other.Right) && (!Right?.Equals(other.Right) ?? false))
31
+ return false;
32
+
33
+ return true;
34
+ }
35
+ }
36
+
37
+ public abstract class BinTreeCrumb<T>
38
+ {
39
+ public BinTreeCrumb(T value, BinTree<T> tree)
40
+ {
41
+ Value = value;
42
+ Tree = tree;
43
+ }
44
+
45
+ public T Value { get; }
46
+ public BinTree<T> Tree { get; }
47
+ }
48
+
49
+ public class BinTreeLeftCrumb<T> : BinTreeCrumb<T>
50
+ {
51
+ public BinTreeLeftCrumb(T value, BinTree<T> tree) : base(value, tree)
52
+ {
53
+ }
54
+ }
55
+
56
+ public class BinTreeRightCrumb<T> : BinTreeCrumb<T>
57
+ {
58
+ public BinTreeRightCrumb(T value, BinTree<T> tree) : base(value, tree)
59
+ {
60
+ }
61
+ }
62
+
63
+ public class Zipper<T>
64
+ {
65
+ private readonly T value;
66
+ private readonly BinTree<T> left;
67
+ private readonly BinTree<T> right;
68
+ private readonly List<BinTreeCrumb<T>> crumbs;
69
+
70
+ public Zipper(T value, BinTree<T> left, BinTree<T> right, List<BinTreeCrumb<T>> crumbs)
71
+ {
72
+ this.value = value;
73
+ this.left = left;
74
+ this.right = right;
75
+ this.crumbs = crumbs;
76
+ }
77
+
78
+ public T Value => value;
79
+
80
+ public Zipper<T> SetValue(T newValue) => new Zipper<T>(newValue, left, right, crumbs);
81
+
82
+ public Zipper<T> SetLeft(BinTree<T> binTree) => new Zipper<T>(value, binTree, right, crumbs);
83
+
84
+ public Zipper<T> SetRight(BinTree<T> binTree) => new Zipper<T>(value, left, binTree, crumbs);
85
+
86
+ public Zipper<T> Left()
87
+ {
88
+ if (left == null)
89
+ return null;
90
+
91
+ var newCrumbs = new[] { new BinTreeLeftCrumb<T>(value, right) }.Concat(crumbs).ToList();
92
+ return new Zipper<T>(left.Value, left.Left, left.Right, newCrumbs);
93
+ }
94
+
95
+ public Zipper<T> Right()
96
+ {
97
+ if (right == null)
98
+ return null;
99
+
100
+ var newCrumbs = new[] { new BinTreeRightCrumb<T>(value, left) }.Concat(crumbs).ToList();
101
+ return new Zipper<T>(right.Value, right.Left, right.Right, newCrumbs);
102
+ }
103
+
104
+ public Zipper<T> Up()
105
+ {
106
+ if (crumbs.Count == 0)
107
+ return null;
108
+
109
+ var firstCrumb = crumbs[0];
110
+ var remainingCrumbs = crumbs.Skip(1).ToList();
111
+
112
+ if (firstCrumb is BinTreeLeftCrumb<T>)
113
+ return new Zipper<T>(firstCrumb.Value, new BinTree<T>(value, left, right), firstCrumb.Tree, remainingCrumbs);
114
+
115
+ if (firstCrumb is BinTreeRightCrumb<T>)
116
+ return new Zipper<T>(firstCrumb.Value, firstCrumb.Tree, new BinTree<T>(value, left, right), remainingCrumbs);
117
+
118
+ return null;
119
+ }
120
+
121
+ public BinTree<T> ToTree()
122
+ {
123
+ var tree = new BinTree<T>(value, left, right);
124
+
125
+ foreach (var crumb in crumbs)
126
+ {
127
+ if (crumb is BinTreeLeftCrumb<T>)
128
+ tree = new BinTree<T>(crumb.Value, new BinTree<T>(tree), crumb.Tree);
129
+ if (crumb is BinTreeRightCrumb<T>)
130
+ tree = new BinTree<T>(crumb.Value, crumb.Tree, new BinTree<T>(tree));
131
+ }
132
+
133
+ return tree;
134
+ }
135
+
136
+ public static Zipper<T> FromTree(BinTree<T> tree) => new Zipper<T>(tree.Value, tree.Left, tree.Right, new List<BinTreeCrumb<T>>());
137
+ }
@@ -0,0 +1,83 @@
1
+ using NUnit.Framework;
2
+
3
+ public class ZipperTest
4
+ {
5
+ private static BinTree<int> bt(int v, BinTree<int> l, BinTree<int> r) => new BinTree<int>(v, l, r);
6
+ private static BinTree<int> leaf(int v) => bt(v, null, null);
7
+
8
+ private static readonly BinTree<int> empty = null;
9
+ private static readonly BinTree<int> t1 = new BinTree<int>(1, bt(2, empty, leaf(3)), leaf(4));
10
+ private static readonly BinTree<int> t2 = new BinTree<int>(1, bt(5, empty, leaf(3)), leaf(4));
11
+ private static readonly BinTree<int> t3 = new BinTree<int>(1, bt(2, leaf(5), leaf(3)), leaf(4));
12
+ private static readonly BinTree<int> t4 = new BinTree<int>(1, leaf(2), leaf(4));
13
+
14
+ [Test]
15
+ public void Data_is_retained()
16
+ {
17
+ var zipper = Zipper<int>.FromTree(t1);
18
+ var tree = zipper.ToTree();
19
+ Assert.That(tree, Is.EqualTo(t1));
20
+ }
21
+
22
+ [Ignore("Remove to run test")]
23
+ [Test]
24
+ public void Left_right_and_value()
25
+ {
26
+ var zipper = Zipper<int>.FromTree(t1);
27
+ Assert.That(zipper.Left().Right().Value, Is.EqualTo(3));
28
+ }
29
+
30
+ [Ignore("Remove to run test")]
31
+ [Test]
32
+ public void Dead_end()
33
+ {
34
+ var zipper = Zipper<int>.FromTree(t1);
35
+ Assert.That(zipper.Left().Left(), Is.Null);
36
+ }
37
+
38
+ [Ignore("Remove to run test")]
39
+ [Test]
40
+ public void Tree_from_deep_focus()
41
+ {
42
+ var zipper = Zipper<int>.FromTree(t1);
43
+ Assert.That(zipper.Left().Right().ToTree(), Is.EqualTo(t1));
44
+ }
45
+
46
+ [Ignore("Remove to run test")]
47
+ [Test]
48
+ public void Set_value()
49
+ {
50
+ var zipper = Zipper<int>.FromTree(t1);
51
+ var updatedZipper = zipper.Left().SetValue(5);
52
+ var tree = updatedZipper.ToTree();
53
+ Assert.That(tree, Is.EqualTo(t2));
54
+ }
55
+
56
+ [Ignore("Remove to run test")]
57
+ [Test]
58
+ public void Set_left_with_value()
59
+ {
60
+ var zipper = Zipper<int>.FromTree(t1);
61
+ var updatedZipper = zipper.Left().SetLeft(new BinTree<int>(5, null, null));
62
+ var tree = updatedZipper.ToTree();
63
+ Assert.That(tree, Is.EqualTo(t3));
64
+ }
65
+
66
+ [Ignore("Remove to run test")]
67
+ [Test]
68
+ public void Set_right_to_null()
69
+ {
70
+ var zipper = Zipper<int>.FromTree(t1);
71
+ var updatedZipper = zipper.Left().SetRight(null);
72
+ var tree = updatedZipper.ToTree();
73
+ Assert.That(tree, Is.EqualTo(t4));
74
+ }
75
+
76
+ [Ignore("Remove to run test")]
77
+ [Test]
78
+ public void Different_paths_to_same_zipper()
79
+ {
80
+ var zipper = Zipper<int>.FromTree(t1);
81
+ Assert.That(zipper.Left().Up().Right().ToTree(), Is.EqualTo(zipper.Right().ToTree()));
82
+ }
83
+ }
@@ -302,6 +302,15 @@
302
302
  "slug": "prime-factors",
303
303
  "topics": []
304
304
  },
305
+ {
306
+ "difficulty": 5,
307
+ "slug": "transpose",
308
+ "topics": [
309
+ "Control-flow (loops)",
310
+ "Strings",
311
+ "Transforming"
312
+ ]
313
+ },
305
314
  {
306
315
  "difficulty": 1,
307
316
  "slug": "nth-prime",
@@ -0,0 +1,247 @@
1
+ package transpose
2
+
3
+ // Source: exercism/x-common
4
+ // Commit: cda8f98 Create new exercises structure
5
+
6
+ var testCases = []struct {
7
+ description string
8
+ input []string
9
+ expected []string
10
+ }{
11
+ {
12
+ "empty string",
13
+ []string{},
14
+ []string{},
15
+ },
16
+ {
17
+ "two characters in a row",
18
+ []string{
19
+ "A1",
20
+ },
21
+ []string{
22
+ "A",
23
+ "1",
24
+ },
25
+ },
26
+ {
27
+ "two characters in a column",
28
+ []string{
29
+ "A",
30
+ "1",
31
+ },
32
+ []string{
33
+ "A1",
34
+ },
35
+ },
36
+ {
37
+ "simple",
38
+ []string{
39
+ "ABC",
40
+ "123",
41
+ },
42
+ []string{
43
+ "A1",
44
+ "B2",
45
+ "C3",
46
+ },
47
+ },
48
+ {
49
+ "single line",
50
+ []string{
51
+ "Single line.",
52
+ },
53
+ []string{
54
+ "S",
55
+ "i",
56
+ "n",
57
+ "g",
58
+ "l",
59
+ "e",
60
+ " ",
61
+ "l",
62
+ "i",
63
+ "n",
64
+ "e",
65
+ ".",
66
+ },
67
+ },
68
+ {
69
+ "first line longer than second line",
70
+ []string{
71
+ "The fourth line.",
72
+ "The fifth line.",
73
+ },
74
+ []string{
75
+ "TT",
76
+ "hh",
77
+ "ee",
78
+ " ",
79
+ "ff",
80
+ "oi",
81
+ "uf",
82
+ "rt",
83
+ "th",
84
+ "h ",
85
+ " l",
86
+ "li",
87
+ "in",
88
+ "ne",
89
+ "e.",
90
+ ".",
91
+ },
92
+ },
93
+ {
94
+ "second line longer than first line",
95
+ []string{
96
+ "The first line.",
97
+ "The second line.",
98
+ },
99
+ []string{
100
+ "TT",
101
+ "hh",
102
+ "ee",
103
+ " ",
104
+ "fs",
105
+ "ie",
106
+ "rc",
107
+ "so",
108
+ "tn",
109
+ " d",
110
+ "l ",
111
+ "il",
112
+ "ni",
113
+ "en",
114
+ ".e",
115
+ " .",
116
+ },
117
+ },
118
+ {
119
+ "square",
120
+ []string{
121
+ "HEART",
122
+ "EMBER",
123
+ "ABUSE",
124
+ "RESIN",
125
+ "TREND",
126
+ },
127
+ []string{
128
+ "HEART",
129
+ "EMBER",
130
+ "ABUSE",
131
+ "RESIN",
132
+ "TREND",
133
+ },
134
+ },
135
+ {
136
+ "rectangle",
137
+ []string{
138
+ "FRACTURE",
139
+ "OUTLINED",
140
+ "BLOOMING",
141
+ "SEPTETTE",
142
+ },
143
+ []string{
144
+ "FOBS",
145
+ "RULE",
146
+ "ATOP",
147
+ "CLOT",
148
+ "TIME",
149
+ "UNIT",
150
+ "RENT",
151
+ "EDGE",
152
+ },
153
+ },
154
+ {
155
+ "triangle",
156
+ []string{
157
+ "T",
158
+ "EE",
159
+ "AAA",
160
+ "SSSS",
161
+ "EEEEE",
162
+ "RRRRRR",
163
+ },
164
+ []string{
165
+ "TEASER",
166
+ " EASER",
167
+ " ASER",
168
+ " SER",
169
+ " ER",
170
+ " R",
171
+ },
172
+ },
173
+ {
174
+ "many lines",
175
+ []string{
176
+ "Chor. Two households, both alike in dignity,",
177
+ "In fair Verona, where we lay our scene,",
178
+ "From ancient grudge break to new mutiny,",
179
+ "Where civil blood makes civil hands unclean.",
180
+ "From forth the fatal loins of these two foes",
181
+ "A pair of star-cross'd lovers take their life;",
182
+ "Whose misadventur'd piteous overthrows",
183
+ "Doth with their death bury their parents' strife.",
184
+ "The fearful passage of their death-mark'd love,",
185
+ "And the continuance of their parents' rage,",
186
+ "Which, but their children's end, naught could remove,",
187
+ "Is now the two hours' traffic of our stage;",
188
+ "The which if you with patient ears attend,",
189
+ "What here shall miss, our toil shall strive to mend.",
190
+ },
191
+ []string{
192
+ "CIFWFAWDTAWITW",
193
+ "hnrhr hohnhshh",
194
+ "o oeopotedi ea",
195
+ "rfmrmash cn t",
196
+ ".a e ie fthow ",
197
+ " ia fr weh,whh",
198
+ "Trnco miae ie",
199
+ "w ciroitr btcr",
200
+ "oVivtfshfcuhhe",
201
+ " eeih a uote ",
202
+ "hrnl sdtln is",
203
+ "oot ttvh tttfh",
204
+ "un bhaeepihw a",
205
+ "saglernianeoyl",
206
+ "e,ro -trsui ol",
207
+ "h uofcu sarhu ",
208
+ "owddarrdan o m",
209
+ "lhg to'egccuwi",
210
+ "deemasdaeehris",
211
+ "sr als t ists",
212
+ ",ebk 'phool'h,",
213
+ " reldi ffd ",
214
+ "bweso tb rtpo",
215
+ "oea ileutterau",
216
+ "t kcnoorhhnatr",
217
+ "hl isvuyee'fi ",
218
+ " atv es iisfet",
219
+ "ayoior trr ino",
220
+ "l lfsoh ecti",
221
+ "ion vedpn l",
222
+ "kuehtteieadoe ",
223
+ "erwaharrar,fas",
224
+ " nekt te rh",
225
+ "ismdsehphnnosa",
226
+ "ncuse ra-tau l",
227
+ " et tormsural",
228
+ "dniuthwea'g t ",
229
+ "iennwesnr hsts",
230
+ "g,ycoi tkrttet",
231
+ "n ,l r s'a anr",
232
+ "i ef 'dgcgdi",
233
+ "t aol eoe,v",
234
+ "y nei sl,u; e",
235
+ ", .sf to l ",
236
+ " e rv d t",
237
+ " ; ie o",
238
+ " f, r ",
239
+ " e e m",
240
+ " . m e",
241
+ " o n",
242
+ " v d",
243
+ " e .",
244
+ " ,",
245
+ },
246
+ },
247
+ }