blob: c293e95dc86e55326e37cfdc2b91b192c1e0359a [file] [log] [blame]
Robert Sloan309a31e2018-01-29 10:22:47 -08001// The MIT License (MIT)
2//
3// Copyright (c) 2015-2016 the fiat-crypto authors (see the AUTHORS file).
4//
5// Permission is hereby granted, free of charge, to any person obtaining a copy
6// of this software and associated documentation files (the "Software"), to deal
7// in the Software without restriction, including without limitation the rights
8// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9// copies of the Software, and to permit persons to whom the Software is
10// furnished to do so, subject to the following conditions:
11//
12// The above copyright notice and this permission notice shall be included in
13// all copies or substantial portions of the Software.
14//
15// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21// SOFTWARE.
22
23// This file is generated from
24// ./make_curve25519_tables.py > curve25519_tables.h
25
26
27static const fe d = {{
28#if defined(BORINGSSL_CURVE25519_64BIT)
29 929955233495203, 466365720129213, 1662059464998953, 2033849074728123,
30 1442794654840575
31#else
32 56195235, 13857412, 51736253, 6949390, 114729, 24766616, 60832955, 30306712,
33 48412415, 21499315
34#endif
35}};
36
37static const fe sqrtm1 = {{
38#if defined(BORINGSSL_CURVE25519_64BIT)
39 1718705420411056, 234908883556509, 2233514472574048, 2117202627021982,
40 765476049583133
41#else
42 34513072, 25610706, 9377949, 3500415, 12389472, 33281959, 41962654,
43 31548777, 326685, 11406482
44#endif
45}};
46
47static const fe d2 = {{
48#if defined(BORINGSSL_CURVE25519_64BIT)
49 1859910466990425, 932731440258426, 1072319116312658, 1815898335770999,
50 633789495995903
51#else
52 45281625, 27714825, 36363642, 13898781, 229458, 15978800, 54557047,
53 27058993, 29715967, 9444199
54#endif
55}};
56
57#if defined(OPENSSL_SMALL)
58
59// This block of code replaces the standard base-point table with a much smaller
60// one. The standard table is 30,720 bytes while this one is just 960.
61//
62// This table contains 15 pairs of group elements, (x, y), where each field
63// element is serialised with |fe_tobytes|. If |i| is the index of the group
64// element then consider i+1 as a four-bit number: (i₀, i₁, i₂, i₃) (where i₀
65// is the most significant bit). The value of the group element is then:
66// (i₀×2^192 + i₁×2^128 + i₂×2^64 + i₃)G, where G is the generator.
67static const uint8_t k25519SmallPrecomp[15 * 2 * 32] = {
68 0x1a, 0xd5, 0x25, 0x8f, 0x60, 0x2d, 0x56, 0xc9, 0xb2, 0xa7, 0x25, 0x95,
69 0x60, 0xc7, 0x2c, 0x69, 0x5c, 0xdc, 0xd6, 0xfd, 0x31, 0xe2, 0xa4, 0xc0,
70 0xfe, 0x53, 0x6e, 0xcd, 0xd3, 0x36, 0x69, 0x21, 0x58, 0x66, 0x66, 0x66,
71 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
72 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
73 0x66, 0x66, 0x66, 0x66, 0x02, 0xa2, 0xed, 0xf4, 0x8f, 0x6b, 0x0b, 0x3e,
74 0xeb, 0x35, 0x1a, 0xd5, 0x7e, 0xdb, 0x78, 0x00, 0x96, 0x8a, 0xa0, 0xb4,
75 0xcf, 0x60, 0x4b, 0xd4, 0xd5, 0xf9, 0x2d, 0xbf, 0x88, 0xbd, 0x22, 0x62,
76 0x13, 0x53, 0xe4, 0x82, 0x57, 0xfa, 0x1e, 0x8f, 0x06, 0x2b, 0x90, 0xba,
77 0x08, 0xb6, 0x10, 0x54, 0x4f, 0x7c, 0x1b, 0x26, 0xed, 0xda, 0x6b, 0xdd,
78 0x25, 0xd0, 0x4e, 0xea, 0x42, 0xbb, 0x25, 0x03, 0xa2, 0xfb, 0xcc, 0x61,
79 0x67, 0x06, 0x70, 0x1a, 0xc4, 0x78, 0x3a, 0xff, 0x32, 0x62, 0xdd, 0x2c,
80 0xab, 0x50, 0x19, 0x3b, 0xf2, 0x9b, 0x7d, 0xb8, 0xfd, 0x4f, 0x29, 0x9c,
81 0xa7, 0x91, 0xba, 0x0e, 0x46, 0x5e, 0x51, 0xfe, 0x1d, 0xbf, 0xe5, 0xe5,
82 0x9b, 0x95, 0x0d, 0x67, 0xf8, 0xd1, 0xb5, 0x5a, 0xa1, 0x93, 0x2c, 0xc3,
83 0xde, 0x0e, 0x97, 0x85, 0x2d, 0x7f, 0xea, 0xab, 0x3e, 0x47, 0x30, 0x18,
84 0x24, 0xe8, 0xb7, 0x60, 0xae, 0x47, 0x80, 0xfc, 0xe5, 0x23, 0xe7, 0xc2,
85 0xc9, 0x85, 0xe6, 0x98, 0xa0, 0x29, 0x4e, 0xe1, 0x84, 0x39, 0x2d, 0x95,
86 0x2c, 0xf3, 0x45, 0x3c, 0xff, 0xaf, 0x27, 0x4c, 0x6b, 0xa6, 0xf5, 0x4b,
87 0x11, 0xbd, 0xba, 0x5b, 0x9e, 0xc4, 0xa4, 0x51, 0x1e, 0xbe, 0xd0, 0x90,
88 0x3a, 0x9c, 0xc2, 0x26, 0xb6, 0x1e, 0xf1, 0x95, 0x7d, 0xc8, 0x6d, 0x52,
89 0xe6, 0x99, 0x2c, 0x5f, 0x9a, 0x96, 0x0c, 0x68, 0x29, 0xfd, 0xe2, 0xfb,
90 0xe6, 0xbc, 0xec, 0x31, 0x08, 0xec, 0xe6, 0xb0, 0x53, 0x60, 0xc3, 0x8c,
91 0xbe, 0xc1, 0xb3, 0x8a, 0x8f, 0xe4, 0x88, 0x2b, 0x55, 0xe5, 0x64, 0x6e,
92 0x9b, 0xd0, 0xaf, 0x7b, 0x64, 0x2a, 0x35, 0x25, 0x10, 0x52, 0xc5, 0x9e,
93 0x58, 0x11, 0x39, 0x36, 0x45, 0x51, 0xb8, 0x39, 0x93, 0xfc, 0x9d, 0x6a,
94 0xbe, 0x58, 0xcb, 0xa4, 0x0f, 0x51, 0x3c, 0x38, 0x05, 0xca, 0xab, 0x43,
95 0x63, 0x0e, 0xf3, 0x8b, 0x41, 0xa6, 0xf8, 0x9b, 0x53, 0x70, 0x80, 0x53,
96 0x86, 0x5e, 0x8f, 0xe3, 0xc3, 0x0d, 0x18, 0xc8, 0x4b, 0x34, 0x1f, 0xd8,
97 0x1d, 0xbc, 0xf2, 0x6d, 0x34, 0x3a, 0xbe, 0xdf, 0xd9, 0xf6, 0xf3, 0x89,
98 0xa1, 0xe1, 0x94, 0x9f, 0x5d, 0x4c, 0x5d, 0xe9, 0xa1, 0x49, 0x92, 0xef,
99 0x0e, 0x53, 0x81, 0x89, 0x58, 0x87, 0xa6, 0x37, 0xf1, 0xdd, 0x62, 0x60,
100 0x63, 0x5a, 0x9d, 0x1b, 0x8c, 0xc6, 0x7d, 0x52, 0xea, 0x70, 0x09, 0x6a,
101 0xe1, 0x32, 0xf3, 0x73, 0x21, 0x1f, 0x07, 0x7b, 0x7c, 0x9b, 0x49, 0xd8,
102 0xc0, 0xf3, 0x25, 0x72, 0x6f, 0x9d, 0xed, 0x31, 0x67, 0x36, 0x36, 0x54,
103 0x40, 0x92, 0x71, 0xe6, 0x11, 0x28, 0x11, 0xad, 0x93, 0x32, 0x85, 0x7b,
104 0x3e, 0xb7, 0x3b, 0x49, 0x13, 0x1c, 0x07, 0xb0, 0x2e, 0x93, 0xaa, 0xfd,
105 0xfd, 0x28, 0x47, 0x3d, 0x8d, 0xd2, 0xda, 0xc7, 0x44, 0xd6, 0x7a, 0xdb,
106 0x26, 0x7d, 0x1d, 0xb8, 0xe1, 0xde, 0x9d, 0x7a, 0x7d, 0x17, 0x7e, 0x1c,
107 0x37, 0x04, 0x8d, 0x2d, 0x7c, 0x5e, 0x18, 0x38, 0x1e, 0xaf, 0xc7, 0x1b,
108 0x33, 0x48, 0x31, 0x00, 0x59, 0xf6, 0xf2, 0xca, 0x0f, 0x27, 0x1b, 0x63,
109 0x12, 0x7e, 0x02, 0x1d, 0x49, 0xc0, 0x5d, 0x79, 0x87, 0xef, 0x5e, 0x7a,
110 0x2f, 0x1f, 0x66, 0x55, 0xd8, 0x09, 0xd9, 0x61, 0x38, 0x68, 0xb0, 0x07,
111 0xa3, 0xfc, 0xcc, 0x85, 0x10, 0x7f, 0x4c, 0x65, 0x65, 0xb3, 0xfa, 0xfa,
112 0xa5, 0x53, 0x6f, 0xdb, 0x74, 0x4c, 0x56, 0x46, 0x03, 0xe2, 0xd5, 0x7a,
113 0x29, 0x1c, 0xc6, 0x02, 0xbc, 0x59, 0xf2, 0x04, 0x75, 0x63, 0xc0, 0x84,
114 0x2f, 0x60, 0x1c, 0x67, 0x76, 0xfd, 0x63, 0x86, 0xf3, 0xfa, 0xbf, 0xdc,
115 0xd2, 0x2d, 0x90, 0x91, 0xbd, 0x33, 0xa9, 0xe5, 0x66, 0x0c, 0xda, 0x42,
116 0x27, 0xca, 0xf4, 0x66, 0xc2, 0xec, 0x92, 0x14, 0x57, 0x06, 0x63, 0xd0,
117 0x4d, 0x15, 0x06, 0xeb, 0x69, 0x58, 0x4f, 0x77, 0xc5, 0x8b, 0xc7, 0xf0,
118 0x8e, 0xed, 0x64, 0xa0, 0xb3, 0x3c, 0x66, 0x71, 0xc6, 0x2d, 0xda, 0x0a,
119 0x0d, 0xfe, 0x70, 0x27, 0x64, 0xf8, 0x27, 0xfa, 0xf6, 0x5f, 0x30, 0xa5,
120 0x0d, 0x6c, 0xda, 0xf2, 0x62, 0x5e, 0x78, 0x47, 0xd3, 0x66, 0x00, 0x1c,
121 0xfd, 0x56, 0x1f, 0x5d, 0x3f, 0x6f, 0xf4, 0x4c, 0xd8, 0xfd, 0x0e, 0x27,
122 0xc9, 0x5c, 0x2b, 0xbc, 0xc0, 0xa4, 0xe7, 0x23, 0x29, 0x02, 0x9f, 0x31,
123 0xd6, 0xe9, 0xd7, 0x96, 0xf4, 0xe0, 0x5e, 0x0b, 0x0e, 0x13, 0xee, 0x3c,
124 0x09, 0xed, 0xf2, 0x3d, 0x76, 0x91, 0xc3, 0xa4, 0x97, 0xae, 0xd4, 0x87,
125 0xd0, 0x5d, 0xf6, 0x18, 0x47, 0x1f, 0x1d, 0x67, 0xf2, 0xcf, 0x63, 0xa0,
126 0x91, 0x27, 0xf8, 0x93, 0x45, 0x75, 0x23, 0x3f, 0xd1, 0xf1, 0xad, 0x23,
127 0xdd, 0x64, 0x93, 0x96, 0x41, 0x70, 0x7f, 0xf7, 0xf5, 0xa9, 0x89, 0xa2,
128 0x34, 0xb0, 0x8d, 0x1b, 0xae, 0x19, 0x15, 0x49, 0x58, 0x23, 0x6d, 0x87,
129 0x15, 0x4f, 0x81, 0x76, 0xfb, 0x23, 0xb5, 0xea, 0xcf, 0xac, 0x54, 0x8d,
130 0x4e, 0x42, 0x2f, 0xeb, 0x0f, 0x63, 0xdb, 0x68, 0x37, 0xa8, 0xcf, 0x8b,
131 0xab, 0xf5, 0xa4, 0x6e, 0x96, 0x2a, 0xb2, 0xd6, 0xbe, 0x9e, 0xbd, 0x0d,
132 0xb4, 0x42, 0xa9, 0xcf, 0x01, 0x83, 0x8a, 0x17, 0x47, 0x76, 0xc4, 0xc6,
133 0x83, 0x04, 0x95, 0x0b, 0xfc, 0x11, 0xc9, 0x62, 0xb8, 0x0c, 0x76, 0x84,
134 0xd9, 0xb9, 0x37, 0xfa, 0xfc, 0x7c, 0xc2, 0x6d, 0x58, 0x3e, 0xb3, 0x04,
135 0xbb, 0x8c, 0x8f, 0x48, 0xbc, 0x91, 0x27, 0xcc, 0xf9, 0xb7, 0x22, 0x19,
136 0x83, 0x2e, 0x09, 0xb5, 0x72, 0xd9, 0x54, 0x1c, 0x4d, 0xa1, 0xea, 0x0b,
137 0xf1, 0xc6, 0x08, 0x72, 0x46, 0x87, 0x7a, 0x6e, 0x80, 0x56, 0x0a, 0x8a,
138 0xc0, 0xdd, 0x11, 0x6b, 0xd6, 0xdd, 0x47, 0xdf, 0x10, 0xd9, 0xd8, 0xea,
139 0x7c, 0xb0, 0x8f, 0x03, 0x00, 0x2e, 0xc1, 0x8f, 0x44, 0xa8, 0xd3, 0x30,
140 0x06, 0x89, 0xa2, 0xf9, 0x34, 0xad, 0xdc, 0x03, 0x85, 0xed, 0x51, 0xa7,
141 0x82, 0x9c, 0xe7, 0x5d, 0x52, 0x93, 0x0c, 0x32, 0x9a, 0x5b, 0xe1, 0xaa,
142 0xca, 0xb8, 0x02, 0x6d, 0x3a, 0xd4, 0xb1, 0x3a, 0xf0, 0x5f, 0xbe, 0xb5,
143 0x0d, 0x10, 0x6b, 0x38, 0x32, 0xac, 0x76, 0x80, 0xbd, 0xca, 0x94, 0x71,
144 0x7a, 0xf2, 0xc9, 0x35, 0x2a, 0xde, 0x9f, 0x42, 0x49, 0x18, 0x01, 0xab,
145 0xbc, 0xef, 0x7c, 0x64, 0x3f, 0x58, 0x3d, 0x92, 0x59, 0xdb, 0x13, 0xdb,
146 0x58, 0x6e, 0x0a, 0xe0, 0xb7, 0x91, 0x4a, 0x08, 0x20, 0xd6, 0x2e, 0x3c,
147 0x45, 0xc9, 0x8b, 0x17, 0x79, 0xe7, 0xc7, 0x90, 0x99, 0x3a, 0x18, 0x25,
148};
149
150#else
151
152// k25519Precomp[i][j] = (j+1)*256^i*B
153static const ge_precomp k25519Precomp[32][8] = {
154 {
155 {
156 {{
157#if defined(BORINGSSL_CURVE25519_64BIT)
158 1288382639258501, 245678601348599, 269427782077623,
159 1462984067271730, 137412439391563
160#else
161 25967493, 19198397, 29566455, 3660896, 54414519, 4014786,
162 27544626, 21800161, 61029707, 2047604
163#endif
164 }},
165 {{
166#if defined(BORINGSSL_CURVE25519_64BIT)
167 62697248952638, 204681361388450, 631292143396476,
168 338455783676468, 1213667448819585
169#else
170 54563134, 934261, 64385954, 3049989, 66381436, 9406985,
171 12720692, 5043384, 19500929, 18085054
172#endif
173 }},
174 {{
175#if defined(BORINGSSL_CURVE25519_64BIT)
176 301289933810280, 1259582250014073, 1422107436869536,
177 796239922652654, 1953934009299142
178#else
179 58370664, 4489569, 9688441, 18769238, 10184608, 21191052,
180 29287918, 11864899, 42594502, 29115885
181#endif
182 }},
183 },
184 {
185 {{
186#if defined(BORINGSSL_CURVE25519_64BIT)
187 1380971894829527, 790832306631236, 2067202295274102,
188 1995808275510000, 1566530869037010
189#else
190 54292951, 20578084, 45527620, 11784319, 41753206, 30803714,
191 55390960, 29739860, 66750418, 23343128
192#endif
193 }},
194 {{
195#if defined(BORINGSSL_CURVE25519_64BIT)
196 463307831301544, 432984605774163, 1610641361907204,
197 750899048855000, 1894842303421586
198#else
199 45405608, 6903824, 27185491, 6451973, 37531140, 24000426,
200 51492312, 11189267, 40279186, 28235350
201#endif
202 }},
203 {{
204#if defined(BORINGSSL_CURVE25519_64BIT)
205 748439484463711, 1033211726465151, 1396005112841647,
206 1611506220286469, 1972177495910992
207#else
208 26966623, 11152617, 32442495, 15396054, 14353839, 20802097,
209 63980037, 24013313, 51636816, 29387734
210#endif
211 }},
212 },
213 {
214 {{
215#if defined(BORINGSSL_CURVE25519_64BIT)
216 1601611775252272, 1720807796594148, 1132070835939856,
217 1260455018889551, 2147779492816911
218#else
219 15636272, 23865875, 24204772, 25642034, 616976, 16869170,
220 27787599, 18782243, 28944399, 32004408
221#endif
222 }},
223 {{
224#if defined(BORINGSSL_CURVE25519_64BIT)
225 316559037616741, 2177824224946892, 1459442586438991,
226 1461528397712656, 751590696113597
227#else
228 16568933, 4717097, 55552716, 32452109, 15682895, 21747389,
229 16354576, 21778470, 7689661, 11199574
230#endif
231 }},
232 {{
233#if defined(BORINGSSL_CURVE25519_64BIT)
234 1850748884277385, 1200145853858453, 1068094770532492,
235 672251375690438, 1586055907191707
236#else
237 30464137, 27578307, 55329429, 17883566, 23220364, 15915852,
238 7512774, 10017326, 49359771, 23634074
239#endif
240 }},
241 },
242 {
243 {{
244#if defined(BORINGSSL_CURVE25519_64BIT)
245 934282339813791, 1846903124198670, 1172395437954843,
246 1007037127761661, 1830588347719256
247#else
248 50071967, 13921891, 10945806, 27521001, 27105051, 17470053,
249 38182653, 15006022, 3284568, 27277892
250#endif
251 }},
252 {{
253#if defined(BORINGSSL_CURVE25519_64BIT)
254 1694390458783935, 1735906047636159, 705069562067493,
255 648033061693059, 696214010414170
256#else
257 23599295, 25248385, 55915199, 25867015, 13236773, 10506355,
258 7464579, 9656445, 13059162, 10374397
259#endif
260 }},
261 {{
262#if defined(BORINGSSL_CURVE25519_64BIT)
263 1121406372216585, 192876649532226, 190294192191717,
264 1994165897297032, 2245000007398739
265#else
266 7798537, 16710257, 3033922, 2874086, 28997861, 2835604,
267 32406664, 29715387, 66467155, 33453106
268#endif
269 }},
270 },
271 {
272 {{
273#if defined(BORINGSSL_CURVE25519_64BIT)
274 769950342298419, 132954430919746, 844085933195555,
275 974092374476333, 726076285546016
276#else
277 10861363, 11473154, 27284546, 1981175, 37044515, 12577860,
278 32867885, 14515107, 51670560, 10819379
279#endif
280 }},
281 {{
282#if defined(BORINGSSL_CURVE25519_64BIT)
283 425251763115706, 608463272472562, 442562545713235,
284 837766094556764, 374555092627893
285#else
286 4708026, 6336745, 20377586, 9066809, 55836755, 6594695,
287 41455196, 12483687, 54440373, 5581305
288#endif
289 }},
290 {{
291#if defined(BORINGSSL_CURVE25519_64BIT)
292 1086255230780037, 274979815921559, 1960002765731872,
293 929474102396301, 1190409889297339
294#else
295 19563141, 16186464, 37722007, 4097518, 10237984, 29206317,
296 28542349, 13850243, 43430843, 17738489
297#endif
298 }},
299 },
300 {
301 {{
302#if defined(BORINGSSL_CURVE25519_64BIT)
303 1388594989461809, 316767091099457, 394298842192982,
304 1230079486801005, 1440737038838979
305#else
306 51736881, 20691677, 32573249, 4720197, 40672342, 5875510,
307 47920237, 18329612, 57289923, 21468654
308#endif
309 }},
310 {{
311#if defined(BORINGSSL_CURVE25519_64BIT)
312 7380825640100, 146210432690483, 304903576448906,
313 1198869323871120, 997689833219095
314#else
315 58559652, 109982, 15149363, 2178705, 22900618, 4543417, 3044240,
316 17864545, 1762327, 14866737
317#endif
318 }},
319 {{
320#if defined(BORINGSSL_CURVE25519_64BIT)
321 1181317918772081, 114573476638901, 262805072233344,
322 265712217171332, 294181933805782
323#else
324 48909169, 17603008, 56635573, 1707277, 49922944, 3916100,
325 38872452, 3959420, 27914454, 4383652
326#endif
327 }},
328 },
329 {
330 {{
331#if defined(BORINGSSL_CURVE25519_64BIT)
332 665000864555967, 2065379846933859, 370231110385876,
333 350988370788628, 1233371373142985
334#else
335 5153727, 9909285, 1723747, 30776558, 30523604, 5516873,
336 19480852, 5230134, 43156425, 18378665
337#endif
338 }},
339 {{
340#if defined(BORINGSSL_CURVE25519_64BIT)
341 2019367628972465, 676711900706637, 110710997811333,
342 1108646842542025, 517791959672113
343#else
344 36839857, 30090922, 7665485, 10083793, 28475525, 1649722,
345 20654025, 16520125, 30598449, 7715701
346#endif
347 }},
348 {{
349#if defined(BORINGSSL_CURVE25519_64BIT)
350 965130719900578, 247011430587952, 526356006571389,
351 91986625355052, 2157223321444601
352#else
353 28881826, 14381568, 9657904, 3680757, 46927229, 7843315,
354 35708204, 1370707, 29794553, 32145132
355#endif
356 }},
357 },
358 {
359 {{
360#if defined(BORINGSSL_CURVE25519_64BIT)
361 2068619540119183, 1966274918058806, 957728544705549,
362 729906502578991, 159834893065166
363#else
364 14499471, 30824833, 33917750, 29299779, 28494861, 14271267,
365 30290735, 10876454, 33954766, 2381725
366#endif
367 }},
368 {{
369#if defined(BORINGSSL_CURVE25519_64BIT)
370 2073601412052185, 31021124762708, 264500969797082,
371 248034690651703, 1030252227928288
372#else
373 59913433, 30899068, 52378708, 462250, 39384538, 3941371,
374 60872247, 3696004, 34808032, 15351954
375#endif
376 }},
377 {{
378#if defined(BORINGSSL_CURVE25519_64BIT)
379 551790716293402, 1989538725166328, 801169423371717,
380 2052451893578887, 678432056995012
381#else
382 27431194, 8222322, 16448760, 29646437, 48401861, 11938354,
383 34147463, 30583916, 29551812, 10109425
384#endif
385 }},
386 },
387 },
388 {
389 {
390 {{
391#if defined(BORINGSSL_CURVE25519_64BIT)
392 1368953770187805, 790347636712921, 437508475667162,
393 2142576377050580, 1932081720066286
394#else
395 53451805, 20399000, 35825113, 11777097, 21447386, 6519384,
396 64730580, 31926875, 10092782, 28790261
397#endif
398 }},
399 {{
400#if defined(BORINGSSL_CURVE25519_64BIT)
401 953638594433374, 1092333936795051, 1419774766716690,
402 805677984380077, 859228993502513
403#else
404 27939166, 14210322, 4677035, 16277044, 44144402, 21156292,
405 34600109, 12005537, 49298737, 12803509
406#endif
407 }},
408 {{
409#if defined(BORINGSSL_CURVE25519_64BIT)
410 1200766035879111, 20142053207432, 1465634435977050,
411 1645256912097844, 295121984874596
412#else
413 17228999, 17892808, 65875336, 300139, 65883994, 21839654,
414 30364212, 24516238, 18016356, 4397660
415#endif
416 }},
417 },
418 {
419 {{
420#if defined(BORINGSSL_CURVE25519_64BIT)
421 1735718747031557, 1248237894295956, 1204753118328107,
422 976066523550493, 65943769534592
423#else
424 56150021, 25864224, 4776340, 18600194, 27850027, 17952220,
425 40489757, 14544524, 49631360, 982638
426#endif
427 }},
428 {{
429#if defined(BORINGSSL_CURVE25519_64BIT)
430 1060098822528990, 1586825862073490, 212301317240126,
431 1975302711403555, 666724059764335
432#else
433 29253598, 15796703, 64244882, 23645547, 10057022, 3163536,
434 7332899, 29434304, 46061167, 9934962
435#endif
436 }},
437 {{
438#if defined(BORINGSSL_CURVE25519_64BIT)
439 1091990273418756, 1572899409348578, 80968014455247,
440 306009358661350, 1520450739132526
441#else
442 5793284, 16271923, 42977250, 23438027, 29188559, 1206517,
443 52360934, 4559894, 36984942, 22656481
444#endif
445 }},
446 },
447 {
448 {{
449#if defined(BORINGSSL_CURVE25519_64BIT)
450 1480517209436112, 1511153322193952, 1244343858991172,
451 304788150493241, 369136856496443
452#else
453 39464912, 22061425, 16282656, 22517939, 28414020, 18542168,
454 24191033, 4541697, 53770555, 5500567
455#endif
456 }},
457 {{
458#if defined(BORINGSSL_CURVE25519_64BIT)
459 2151330273626164, 762045184746182, 1688074332551515,
460 823046109005759, 907602769079491
461#else
462 12650548, 32057319, 9052870, 11355358, 49428827, 25154267,
463 49678271, 12264342, 10874051, 13524335
464#endif
465 }},
466 {{
467#if defined(BORINGSSL_CURVE25519_64BIT)
468 2047386910586836, 168470092900250, 1552838872594810,
469 340951180073789, 360819374702533
470#else
471 25556948, 30508442, 714650, 2510400, 23394682, 23139102,
472 33119037, 5080568, 44580805, 5376627
473#endif
474 }},
475 },
476 {
477 {{
478#if defined(BORINGSSL_CURVE25519_64BIT)
479 1982622644432056, 2014393600336956, 128909208804214,
480 1617792623929191, 105294281913815
481#else
482 41020600, 29543379, 50095164, 30016803, 60382070, 1920896,
483 44787559, 24106988, 4535767, 1569007
484#endif
485 }},
486 {{
487#if defined(BORINGSSL_CURVE25519_64BIT)
488 980234343912898, 1712256739246056, 588935272190264,
489 204298813091998, 841798321043288
490#else
491 64853442, 14606629, 45416424, 25514613, 28430648, 8775819,
492 36614302, 3044289, 31848280, 12543772
493#endif
494 }},
495 {{
496#if defined(BORINGSSL_CURVE25519_64BIT)
497 197561292938973, 454817274782871, 1963754960082318,
498 2113372252160468, 971377527342673
499#else
500 45080285, 2943892, 35251351, 6777305, 13784462, 29262229,
501 39731668, 31491700, 7718481, 14474653
502#endif
503 }},
504 },
505 {
506 {{
507#if defined(BORINGSSL_CURVE25519_64BIT)
508 164699448829328, 3127451757672, 1199504971548753,
509 1766155447043652, 1899238924683527
510#else
511 2385296, 2454213, 44477544, 46602, 62670929, 17874016, 656964,
512 26317767, 24316167, 28300865
513#endif
514 }},
515 {{
516#if defined(BORINGSSL_CURVE25519_64BIT)
517 732262946680281, 1674412764227063, 2182456405662809,
518 1350894754474250, 558458873295247
519#else
520 13741529, 10911568, 33875447, 24950694, 46931033, 32521134,
521 33040650, 20129900, 46379407, 8321685
522#endif
523 }},
524 {{
525#if defined(BORINGSSL_CURVE25519_64BIT)
526 2103305098582922, 1960809151316468, 715134605001343,
527 1454892949167181, 40827143824949
528#else
529 21060490, 31341688, 15712756, 29218333, 1639039, 10656336,
530 23845965, 21679594, 57124405, 608371
531#endif
532 }},
533 },
534 {
535 {{
536#if defined(BORINGSSL_CURVE25519_64BIT)
537 1239289043050212, 1744654158124578, 758702410031698,
538 1796762995074688, 1603056663766
539#else
540 53436132, 18466845, 56219170, 25997372, 61071954, 11305546,
541 1123968, 26773855, 27229398, 23887
542#endif
543 }},
544 {{
545#if defined(BORINGSSL_CURVE25519_64BIT)
546 2232056027107988, 987343914584615, 2115594492994461,
547 1819598072792159, 1119305654014850
548#else
549 43864724, 33260226, 55364135, 14712570, 37643165, 31524814,
550 12797023, 27114124, 65475458, 16678953
551#endif
552 }},
553 {{
554#if defined(BORINGSSL_CURVE25519_64BIT)
555 320153677847348, 939613871605645, 641883205761567,
556 1930009789398224, 329165806634126
557#else
558 37608244, 4770661, 51054477, 14001337, 7830047, 9564805,
559 65600720, 28759386, 49939598, 4904952
560#endif
561 }},
562 },
563 {
564 {{
565#if defined(BORINGSSL_CURVE25519_64BIT)
566 980930490474130, 1242488692177893, 1251446316964684,
567 1086618677993530, 1961430968465772
568#else
569 24059538, 14617003, 19037157, 18514524, 19766092, 18648003,
570 5169210, 16191880, 2128236, 29227599
571#endif
572 }},
573 {{
574#if defined(BORINGSSL_CURVE25519_64BIT)
575 276821765317453, 1536835591188030, 1305212741412361,
576 61473904210175, 2051377036983058
577#else
578 50127693, 4124965, 58568254, 22900634, 30336521, 19449185,
579 37302527, 916032, 60226322, 30567899
580#endif
581 }},
582 {{
583#if defined(BORINGSSL_CURVE25519_64BIT)
584 833449923882501, 1750270368490475, 1123347002068295,
585 185477424765687, 278090826653186
586#else
587 44477957, 12419371, 59974635, 26081060, 50629959, 16739174,
588 285431, 2763829, 15736322, 4143876
589#endif
590 }},
591 },
592 {
593 {{
594#if defined(BORINGSSL_CURVE25519_64BIT)
595 794524995833413, 1849907304548286, 53348672473145,
596 1272368559505217, 1147304168324779
597#else
598 2379333, 11839345, 62998462, 27565766, 11274297, 794957, 212801,
599 18959769, 23527083, 17096164
600#endif
601 }},
602 {{
603#if defined(BORINGSSL_CURVE25519_64BIT)
604 1504846112759364, 1203096289004681, 562139421471418,
605 274333017451844, 1284344053775441
606#else
607 33431108, 22423954, 49269897, 17927531, 8909498, 8376530,
608 34483524, 4087880, 51919953, 19138217
609#endif
610 }},
611 {{
612#if defined(BORINGSSL_CURVE25519_64BIT)
613 483048732424432, 2116063063343382, 30120189902313,
614 292451576741007, 1156379271702225
615#else
616 1767664, 7197987, 53903638, 31531796, 54017513, 448825, 5799055,
617 4357868, 62334673, 17231393
618#endif
619 }},
620 },
621 },
622 {
623 {
624 {{
625#if defined(BORINGSSL_CURVE25519_64BIT)
626 928372153029038, 2147692869914564, 1455665844462196,
627 1986737809425946, 185207050258089
628#else
629 6721966, 13833823, 43585476, 32003117, 26354292, 21691111,
630 23365146, 29604700, 7390889, 2759800
631#endif
632 }},
633 {{
634#if defined(BORINGSSL_CURVE25519_64BIT)
635 137732961814206, 706670923917341, 1387038086865771,
636 1965643813686352, 1384777115696347
637#else
638 4409022, 2052381, 23373853, 10530217, 7676779, 20668478,
639 21302352, 29290375, 1244379, 20634787
640#endif
641 }},
642 {{
643#if defined(BORINGSSL_CURVE25519_64BIT)
644 481144981981577, 2053319313589856, 2065402289827512,
645 617954271490316, 1106602634668125
646#else
647 62687625, 7169618, 4982368, 30596842, 30256824, 30776892,
648 14086412, 9208236, 15886429, 16489664
649#endif
650 }},
651 },
652 {
653 {{
654#if defined(BORINGSSL_CURVE25519_64BIT)
655 696298019648792, 893299659040895, 1148636718636009,
656 26734077349617, 2203955659340681
657#else
658 1996056, 10375649, 14346367, 13311202, 60234729, 17116020,
659 53415665, 398368, 36502409, 32841498
660#endif
661 }},
662 {{
663#if defined(BORINGSSL_CURVE25519_64BIT)
664 657390353372855, 998499966885562, 991893336905797,
665 810470207106761, 343139804608786
666#else
667 41801399, 9795879, 64331450, 14878808, 33577029, 14780362,
668 13348553, 12076947, 36272402, 5113181
669#endif
670 }},
671 {{
672#if defined(BORINGSSL_CURVE25519_64BIT)
673 791736669492960, 934767652997115, 824656780392914,
674 1759463253018643, 361530362383518
675#else
676 49338080, 11797795, 31950843, 13929123, 41220562, 12288343,
677 36767763, 26218045, 13847710, 5387222
678#endif
679 }},
680 },
681 {
682 {{
683#if defined(BORINGSSL_CURVE25519_64BIT)
684 2022541353055597, 2094700262587466, 1551008075025686,
685 242785517418164, 695985404963562
686#else
687 48526701, 30138214, 17824842, 31213466, 22744342, 23111821,
688 8763060, 3617786, 47508202, 10370990
689#endif
690 }},
691 {{
692#if defined(BORINGSSL_CURVE25519_64BIT)
693 1287487199965223, 2215311941380308, 1552928390931986,
694 1664859529680196, 1125004975265243
695#else
696 20246567, 19185054, 22358228, 33010720, 18507282, 23140436,
697 14554436, 24808340, 32232923, 16763880
698#endif
699 }},
700 {{
701#if defined(BORINGSSL_CURVE25519_64BIT)
702 677434665154918, 989582503122485, 1817429540898386,
703 1052904935475344, 1143826298169798
704#else
705 9648486, 10094563, 26416693, 14745928, 36734546, 27081810,
706 11094160, 15689506, 3140038, 17044340
707#endif
708 }},
709 },
710 {
711 {{
712#if defined(BORINGSSL_CURVE25519_64BIT)
713 367266328308408, 318431188922404, 695629353755355,
714 634085657580832, 24581612564426
715#else
716 50948792, 5472694, 31895588, 4744994, 8823515, 10365685,
717 39884064, 9448612, 38334410, 366294
718#endif
719 }},
720 {{
721#if defined(BORINGSSL_CURVE25519_64BIT)
722 773360688841258, 1815381330538070, 363773437667376,
723 539629987070205, 783280434248437
724#else
725 19153450, 11523972, 56012374, 27051289, 42461232, 5420646,
726 28344573, 8041113, 719605, 11671788
727#endif
728 }},
729 {{
730#if defined(BORINGSSL_CURVE25519_64BIT)
731 180820816194166, 168937968377394, 748416242794470,
732 1227281252254508, 1567587861004268
733#else
734 8678006, 2694440, 60300850, 2517371, 4964326, 11152271,
735 51675948, 18287915, 27000812, 23358879
736#endif
737 }},
738 },
739 {
740 {{
741#if defined(BORINGSSL_CURVE25519_64BIT)
742 478775558583645, 2062896624554807, 699391259285399,
743 358099408427873, 1277310261461761
744#else
745 51950941, 7134311, 8639287, 30739555, 59873175, 10421741,
746 564065, 5336097, 6750977, 19033406
747#endif
748 }},
749 {{
750#if defined(BORINGSSL_CURVE25519_64BIT)
751 1984740906540026, 1079164179400229, 1056021349262661,
752 1659958556483663, 1088529069025527
753#else
754 11836410, 29574944, 26297893, 16080799, 23455045, 15735944,
755 1695823, 24735310, 8169719, 16220347
756#endif
757 }},
758 {{
759#if defined(BORINGSSL_CURVE25519_64BIT)
760 580736401511151, 1842931091388998, 1177201471228238,
761 2075460256527244, 1301133425678027
762#else
763 48993007, 8653646, 17578566, 27461813, 59083086, 17541668,
764 55964556, 30926767, 61118155, 19388398
765#endif
766 }},
767 },
768 {
769 {{
770#if defined(BORINGSSL_CURVE25519_64BIT)
771 1515728832059182, 1575261009617579, 1510246567196186,
772 191078022609704, 116661716289141
773#else
774 43800366, 22586119, 15213227, 23473218, 36255258, 22504427,
775 27884328, 2847284, 2655861, 1738395
776#endif
777 }},
778 {{
779#if defined(BORINGSSL_CURVE25519_64BIT)
780 1295295738269652, 1714742313707026, 545583042462581,
781 2034411676262552, 1513248090013606
782#else
783 39571412, 19301410, 41772562, 25551651, 57738101, 8129820,
784 21651608, 30315096, 48021414, 22549153
785#endif
786 }},
787 {{
788#if defined(BORINGSSL_CURVE25519_64BIT)
789 230710545179830, 30821514358353, 760704303452229,
790 390668103790604, 573437871383156
791#else
792 1533110, 3437855, 23735889, 459276, 29970501, 11335377,
793 26030092, 5821408, 10478196, 8544890
794#endif
795 }},
796 },
797 {
798 {{
799#if defined(BORINGSSL_CURVE25519_64BIT)
800 1169380107545646, 263167233745614, 2022901299054448,
801 819900753251120, 2023898464874585
802#else
803 32173102, 17425121, 24896206, 3921497, 22579056, 30143578,
804 19270448, 12217473, 17789017, 30158437
805#endif
806 }},
807 {{
808#if defined(BORINGSSL_CURVE25519_64BIT)
809 2102254323485823, 1570832666216754, 34696906544624,
810 1993213739807337, 70638552271463
811#else
812 36555903, 31326030, 51530034, 23407230, 13243888, 517024,
813 15479401, 29701199, 30460519, 1052596
814#endif
815 }},
816 {{
817#if defined(BORINGSSL_CURVE25519_64BIT)
818 894132856735058, 548675863558441, 845349339503395,
819 1942269668326667, 1615682209874691
820#else
821 55493970, 13323617, 32618793, 8175907, 51878691, 12596686,
822 27491595, 28942073, 3179267, 24075541
823#endif
824 }},
825 },
826 {
827 {{
828#if defined(BORINGSSL_CURVE25519_64BIT)
829 1287670217537834, 1222355136884920, 1846481788678694,
830 1150426571265110, 1613523400722047
831#else
832 31947050, 19187781, 62468280, 18214510, 51982886, 27514722,
833 52352086, 17142691, 19072639, 24043372
834#endif
835 }},
836 {{
837#if defined(BORINGSSL_CURVE25519_64BIT)
838 793388516527298, 1315457083650035, 1972286999342417,
839 1901825953052455, 338269477222410
840#else
841 11685058, 11822410, 3158003, 19601838, 33402193, 29389366,
842 5977895, 28339415, 473098, 5040608
843#endif
844 }},
845 {{
846#if defined(BORINGSSL_CURVE25519_64BIT)
847 550201530671806, 778605267108140, 2063911101902983,
848 115500557286349, 2041641272971022
849#else
850 46817982, 8198641, 39698732, 11602122, 1290375, 30754672,
851 28326861, 1721092, 47550222, 30422825
852#endif
853 }},
854 },
855 },
856 {
857 {
858 {{
859#if defined(BORINGSSL_CURVE25519_64BIT)
860 717255318455100, 519313764361315, 2080406977303708,
861 541981206705521, 774328150311600
862#else
863 7881532, 10687937, 7578723, 7738378, 48157852, 31000479,
864 21820785, 8076149, 39240368, 11538388
865#endif
866 }},
867 {{
868#if defined(BORINGSSL_CURVE25519_64BIT)
869 261715221532238, 1795354330069993, 1496878026850283,
870 499739720521052, 389031152673770
871#else
872 47173198, 3899860, 18283497, 26752864, 51380203, 22305220,
873 8754524, 7446702, 61432810, 5797015
874#endif
875 }},
876 {{
877#if defined(BORINGSSL_CURVE25519_64BIT)
878 1997217696294013, 1717306351628065, 1684313917746180,
879 1644426076011410, 1857378133465451
880#else
881 55813245, 29760862, 51326753, 25589858, 12708868, 25098233,
882 2014098, 24503858, 64739691, 27677090
883#endif
884 }},
885 },
886 {
887 {{
888#if defined(BORINGSSL_CURVE25519_64BIT)
889 1475434724792648, 76931896285979, 1116729029771667,
890 2002544139318042, 725547833803938
891#else
892 44636488, 21985690, 39426843, 1146374, 18956691, 16640559,
893 1192730, 29840233, 15123618, 10811505
894#endif
895 }},
896 {{
897#if defined(BORINGSSL_CURVE25519_64BIT)
898 2022306639183567, 726296063571875, 315345054448644,
899 1058733329149221, 1448201136060677
900#else
901 14352079, 30134717, 48166819, 10822654, 32750596, 4699007,
902 67038501, 15776355, 38222085, 21579878
903#endif
904 }},
905 {{
906#if defined(BORINGSSL_CURVE25519_64BIT)
907 1710065158525665, 1895094923036397, 123988286168546,
908 1145519900776355, 1607510767693874
909#else
910 38867681, 25481956, 62129901, 28239114, 29416930, 1847569,
911 46454691, 17069576, 4714546, 23953777
912#endif
913 }},
914 },
915 {
916 {{
917#if defined(BORINGSSL_CURVE25519_64BIT)
918 561605375422540, 1071733543815037, 131496498800990,
919 1946868434569999, 828138133964203
920#else
921 15200332, 8368572, 19679101, 15970074, 35236190, 1959450,
922 24611599, 29010600, 55362987, 12340219
923#endif
924 }},
925 {{
926#if defined(BORINGSSL_CURVE25519_64BIT)
927 1548495173745801, 442310529226540, 998072547000384,
928 553054358385281, 644824326376171
929#else
930 12876937, 23074376, 33134380, 6590940, 60801088, 14872439,
931 9613953, 8241152, 15370987, 9608631
932#endif
933 }},
934 {{
935#if defined(BORINGSSL_CURVE25519_64BIT)
936 1445526537029440, 2225519789662536, 914628859347385,
937 1064754194555068, 1660295614401091
938#else
939 62965568, 21540023, 8446280, 33162829, 4407737, 13629032,
940 59383996, 15866073, 38898243, 24740332
941#endif
942 }},
943 },
944 {
945 {{
946#if defined(BORINGSSL_CURVE25519_64BIT)
947 1199690223111956, 24028135822341, 66638289244341,
948 57626156285975, 565093967979607
949#else
950 26660628, 17876777, 8393733, 358047, 59707573, 992987, 43204631,
951 858696, 20571223, 8420556
952#endif
953 }},
954 {{
955#if defined(BORINGSSL_CURVE25519_64BIT)
956 876926774220824, 554618976488214, 1012056309841565,
957 839961821554611, 1414499340307677
958#else
959 14620696, 13067227, 51661590, 8264466, 14106269, 15080814,
960 33531827, 12516406, 45534429, 21077682
961#endif
962 }},
963 {{
964#if defined(BORINGSSL_CURVE25519_64BIT)
965 703047626104145, 1266841406201770, 165556500219173,
966 486991595001879, 1011325891650656
967#else
968 236881, 10476226, 57258, 18877408, 6472997, 2466984, 17258519,
969 7256740, 8791136, 15069930
970#endif
971 }},
972 },
973 {
974 {{
975#if defined(BORINGSSL_CURVE25519_64BIT)
976 1622861044480487, 1156394801573634, 1869132565415504,
977 327103985777730, 2095342781472284
978#else
979 1276391, 24182514, 22949634, 17231625, 43615824, 27852245,
980 14711874, 4874229, 36445724, 31223040
981#endif
982 }},
983 {{
984#if defined(BORINGSSL_CURVE25519_64BIT)
985 334886927423922, 489511099221528, 129160865966726,
986 1720809113143481, 619700195649254
987#else
988 5855666, 4990204, 53397016, 7294283, 59304582, 1924646,
989 65685689, 25642053, 34039526, 9234252
990#endif
991 }},
992 {{
993#if defined(BORINGSSL_CURVE25519_64BIT)
994 1646545795166119, 1758370782583567, 714746174550637,
995 1472693650165135, 898994790308209
996#else
997 20590503, 24535444, 31529743, 26201766, 64402029, 10650547,
998 31559055, 21944845, 18979185, 13396066
999#endif
1000 }},
1001 },
1002 {
1003 {{
1004#if defined(BORINGSSL_CURVE25519_64BIT)
1005 333403773039279, 295772542452938, 1693106465353610,
1006 912330357530760, 471235657950362
1007#else
1008 24474287, 4968103, 22267082, 4407354, 24063882, 25229252,
1009 48291976, 13594781, 33514650, 7021958
1010#endif
1011 }},
1012 {{
1013#if defined(BORINGSSL_CURVE25519_64BIT)
1014 1811196219982022, 1068969825533602, 289602974833439,
1015 1988956043611592, 863562343398367
1016#else
1017 55541958, 26988926, 45743778, 15928891, 40950559, 4315420,
1018 41160136, 29637754, 45628383, 12868081
1019#endif
1020 }},
1021 {{
1022#if defined(BORINGSSL_CURVE25519_64BIT)
1023 906282429780072, 2108672665779781, 432396390473936,
1024 150625823801893, 1708930497638539
1025#else
1026 38473832, 13504660, 19988037, 31421671, 21078224, 6443208,
1027 45662757, 2244499, 54653067, 25465048
1028#endif
1029 }},
1030 },
1031 {
1032 {{
1033#if defined(BORINGSSL_CURVE25519_64BIT)
1034 925664675702328, 21416848568684, 1831436641861340,
1035 601157008940113, 371818055044496
1036#else
1037 36513336, 13793478, 61256044, 319135, 41385692, 27290532,
1038 33086545, 8957937, 51875216, 5540520
1039#endif
1040 }},
1041 {{
1042#if defined(BORINGSSL_CURVE25519_64BIT)
1043 1479786007267725, 1738881859066675, 68646196476567,
1044 2146507056100328, 1247662817535471
1045#else
1046 55478669, 22050529, 58989363, 25911358, 2620055, 1022908,
1047 43398120, 31985447, 50980335, 18591624
1048#endif
1049 }},
1050 {{
1051#if defined(BORINGSSL_CURVE25519_64BIT)
1052 52035296774456, 939969390708103, 312023458773250,
1053 59873523517659, 1231345905848899
1054#else
1055 23152952, 775386, 27395463, 14006635, 57407746, 4649511,
1056 1689819, 892185, 55595587, 18348483
1057#endif
1058 }},
1059 },
1060 {
1061 {{
1062#if defined(BORINGSSL_CURVE25519_64BIT)
1063 643355106415761, 290186807495774, 2013561737429023,
1064 319648069511546, 393736678496162
1065#else
1066 9770129, 9586738, 26496094, 4324120, 1556511, 30004408,
1067 27453818, 4763127, 47929250, 5867133
1068#endif
1069 }},
1070 {{
1071#if defined(BORINGSSL_CURVE25519_64BIT)
1072 129358342392716, 1932811617704777, 1176749390799681,
1073 398040349861790, 1170779668090425
1074#else
1075 34343820, 1927589, 31726409, 28801137, 23962433, 17534932,
1076 27846558, 5931263, 37359161, 17445976
1077#endif
1078 }},
1079 {{
1080#if defined(BORINGSSL_CURVE25519_64BIT)
1081 2051980782668029, 121859921510665, 2048329875753063,
1082 1235229850149665, 519062146124755
1083#else
1084 27461885, 30576896, 22380809, 1815854, 44075111, 30522493,
1085 7283489, 18406359, 47582163, 7734628
1086#endif
1087 }},
1088 },
1089 },
1090 {
1091 {
1092 {{
1093#if defined(BORINGSSL_CURVE25519_64BIT)
1094 1608170971973096, 415809060360428, 1350468408164766,
1095 2038620059057678, 1026904485989112
1096#else
1097 59098600, 23963614, 55988460, 6196037, 29344158, 20123547,
1098 7585294, 30377806, 18549496, 15302069
1099#endif
1100 }},
1101 {{
1102#if defined(BORINGSSL_CURVE25519_64BIT)
1103 1837656083115103, 1510134048812070, 906263674192061,
1104 1821064197805734, 565375124676301
1105#else
1106 34450527, 27383209, 59436070, 22502750, 6258877, 13504381,
1107 10458790, 27135971, 58236621, 8424745
1108#endif
1109 }},
1110 {{
1111#if defined(BORINGSSL_CURVE25519_64BIT)
1112 578027192365650, 2034800251375322, 2128954087207123,
1113 478816193810521, 2196171989962750
1114#else
1115 24687186, 8613276, 36441818, 30320886, 1863891, 31723888,
1116 19206233, 7134917, 55824382, 32725512
1117#endif
1118 }},
1119 },
1120 {
1121 {{
1122#if defined(BORINGSSL_CURVE25519_64BIT)
1123 1633188840273139, 852787172373708, 1548762607215796,
1124 1266275218902681, 1107218203325133
1125#else
1126 11334899, 24336410, 8025292, 12707519, 17523892, 23078361,
1127 10243737, 18868971, 62042829, 16498836
1128#endif
1129 }},
1130 {{
1131#if defined(BORINGSSL_CURVE25519_64BIT)
1132 462189358480054, 1784816734159228, 1611334301651368,
1133 1303938263943540, 707589560319424
1134#else
1135 8911542, 6887158, 57524604, 26595841, 11145640, 24010752,
1136 17303924, 19430194, 6536640, 10543906
1137#endif
1138 }},
1139 {{
1140#if defined(BORINGSSL_CURVE25519_64BIT)
1141 1038829280972848, 38176604650029, 753193246598573,
1142 1136076426528122, 595709990562434
1143#else
1144 38162480, 15479762, 49642029, 568875, 65611181, 11223453,
1145 64439674, 16928857, 39873154, 8876770
1146#endif
1147 }},
1148 },
1149 {
1150 {{
1151#if defined(BORINGSSL_CURVE25519_64BIT)
1152 1408451820859834, 2194984964010833, 2198361797561729,
1153 1061962440055713, 1645147963442934
1154#else
1155 41365946, 20987567, 51458897, 32707824, 34082177, 32758143,
1156 33627041, 15824473, 66504438, 24514614
1157#endif
1158 }},
1159 {{
1160#if defined(BORINGSSL_CURVE25519_64BIT)
1161 4701053362120, 1647641066302348, 1047553002242085,
1162 1923635013395977, 206970314902065
1163#else
1164 10330056, 70051, 7957388, 24551765, 9764901, 15609756, 27698697,
1165 28664395, 1657393, 3084098
1166#endif
1167 }},
1168 {{
1169#if defined(BORINGSSL_CURVE25519_64BIT)
1170 1750479161778571, 1362553355169293, 1891721260220598,
1171 966109370862782, 1024913988299801
1172#else
1173 10477963, 26084172, 12119565, 20303627, 29016246, 28188843,
1174 31280318, 14396151, 36875289, 15272408
1175#endif
1176 }},
1177 },
1178 {
1179 {{
1180#if defined(BORINGSSL_CURVE25519_64BIT)
1181 212699049131723, 1117950018299775, 1873945661751056,
1182 1403802921984058, 130896082652698
1183#else
1184 54820555, 3169462, 28813183, 16658753, 25116432, 27923966,
1185 41934906, 20918293, 42094106, 1950503
1186#endif
1187 }},
1188 {{
1189#if defined(BORINGSSL_CURVE25519_64BIT)
1190 636808533673210, 1262201711667560, 390951380330599,
1191 1663420692697294, 561951321757406
1192#else
1193 40928506, 9489186, 11053416, 18808271, 36055143, 5825629,
1194 58724558, 24786899, 15341278, 8373727
1195#endif
1196 }},
1197 {{
1198#if defined(BORINGSSL_CURVE25519_64BIT)
1199 520731594438141, 1446301499955692, 273753264629267,
1200 1565101517999256, 1019411827004672
1201#else
1202 28685821, 7759505, 52730348, 21551571, 35137043, 4079241,
1203 298136, 23321830, 64230656, 15190419
1204#endif
1205 }},
1206 },
1207 {
1208 {{
1209#if defined(BORINGSSL_CURVE25519_64BIT)
1210 926527492029409, 1191853477411379, 734233225181171,
1211 184038887541270, 1790426146325343
1212#else
1213 34175969, 13806335, 52771379, 17760000, 43104243, 10940927,
1214 8669718, 2742393, 41075551, 26679428
1215#endif
1216 }},
1217 {{
1218#if defined(BORINGSSL_CURVE25519_64BIT)
1219 1464651961852572, 1483737295721717, 1519450561335517,
1220 1161429831763785, 405914998179977
1221#else
1222 65528476, 21825014, 41129205, 22109408, 49696989, 22641577,
1223 9291593, 17306653, 54954121, 6048604
1224#endif
1225 }},
1226 {{
1227#if defined(BORINGSSL_CURVE25519_64BIT)
1228 996126634382301, 796204125879525, 127517800546509,
1229 344155944689303, 615279846169038
1230#else
1231 36803549, 14843443, 1539301, 11864366, 20201677, 1900163,
1232 13934231, 5128323, 11213262, 9168384
1233#endif
1234 }},
1235 },
1236 {
1237 {{
1238#if defined(BORINGSSL_CURVE25519_64BIT)
1239 738724080975276, 2188666632415296, 1961313708559162,
1240 1506545807547587, 1151301638969740
1241#else
1242 40828332, 11007846, 19408960, 32613674, 48515898, 29225851,
1243 62020803, 22449281, 20470156, 17155731
1244#endif
1245 }},
1246 {{
1247#if defined(BORINGSSL_CURVE25519_64BIT)
1248 622917337413835, 1218989177089035, 1284857712846592,
1249 970502061709359, 351025208117090
1250#else
1251 43972811, 9282191, 14855179, 18164354, 59746048, 19145871,
1252 44324911, 14461607, 14042978, 5230683
1253#endif
1254 }},
1255 {{
1256#if defined(BORINGSSL_CURVE25519_64BIT)
1257 2067814584765580, 1677855129927492, 2086109782475197,
1258 235286517313238, 1416314046739645
1259#else
1260 29969548, 30812838, 50396996, 25001989, 9175485, 31085458,
1261 21556950, 3506042, 61174973, 21104723
1262#endif
1263 }},
1264 },
1265 {
1266 {{
1267#if defined(BORINGSSL_CURVE25519_64BIT)
1268 586844262630358, 307444381952195, 458399356043426,
1269 602068024507062, 1028548203415243
1270#else
1271 63964118, 8744660, 19704003, 4581278, 46678178, 6830682,
1272 45824694, 8971512, 38569675, 15326562
1273#endif
1274 }},
1275 {{
1276#if defined(BORINGSSL_CURVE25519_64BIT)
1277 678489922928203, 2016657584724032, 90977383049628,
1278 1026831907234582, 615271492942522
1279#else
1280 47644235, 10110287, 49846336, 30050539, 43608476, 1355668,
1281 51585814, 15300987, 46594746, 9168259
1282#endif
1283 }},
1284 {{
1285#if defined(BORINGSSL_CURVE25519_64BIT)
1286 301225714012278, 1094837270268560, 1202288391010439,
1287 644352775178361, 1647055902137983
1288#else
1289 61755510, 4488612, 43305616, 16314346, 7780487, 17915493,
1290 38160505, 9601604, 33087103, 24543045
1291#endif
1292 }},
1293 },
1294 {
1295 {{
1296#if defined(BORINGSSL_CURVE25519_64BIT)
1297 1210746697896478, 1416608304244708, 686487477217856,
1298 1245131191434135, 1051238336855737
1299#else
1300 47665694, 18041531, 46311396, 21109108, 37284416, 10229460,
1301 39664535, 18553900, 61111993, 15664671
1302#endif
1303 }},
1304 {{
1305#if defined(BORINGSSL_CURVE25519_64BIT)
1306 1135604073198207, 1683322080485474, 769147804376683,
1307 2086688130589414, 900445683120379
1308#else
1309 23294591, 16921819, 44458082, 25083453, 27844203, 11461195,
1310 13099750, 31094076, 18151675, 13417686
1311#endif
1312 }},
1313 {{
1314#if defined(BORINGSSL_CURVE25519_64BIT)
1315 1971518477615628, 401909519527336, 448627091057375,
1316 1409486868273821, 1214789035034363
1317#else
1318 42385932, 29377914, 35958184, 5988918, 40250079, 6685064,
1319 1661597, 21002991, 15271675, 18101767
1320#endif
1321 }},
1322 },
1323 },
1324 {
1325 {
1326 {{
1327#if defined(BORINGSSL_CURVE25519_64BIT)
1328 1364039144731711, 1897497433586190, 2203097701135459,
1329 145461396811251, 1349844460790699
1330#else
1331 11433023, 20325767, 8239630, 28274915, 65123427, 32828713,
1332 48410099, 2167543, 60187563, 20114249
1333#endif
1334 }},
1335 {{
1336#if defined(BORINGSSL_CURVE25519_64BIT)
1337 1045230323257973, 818206601145807, 630513189076103,
1338 1672046528998132, 807204017562437
1339#else
1340 35672693, 15575145, 30436815, 12192228, 44645511, 9395378,
1341 57191156, 24915434, 12215109, 12028277
1342#endif
1343 }},
1344 {{
1345#if defined(BORINGSSL_CURVE25519_64BIT)
1346 439961968385997, 386362664488986, 1382706320807688,
1347 309894000125359, 2207801346498567
1348#else
1349 14098381, 6555944, 23007258, 5757252, 51681032, 20603929,
1350 30123439, 4617780, 50208775, 32898803
1351#endif
1352 }},
1353 },
1354 {
1355 {{
1356#if defined(BORINGSSL_CURVE25519_64BIT)
1357 1229004686397588, 920643968530863, 123975893911178,
1358 681423993215777, 1400559197080973
1359#else
1360 63082644, 18313596, 11893167, 13718664, 52299402, 1847384,
1361 51288865, 10154008, 23973261, 20869958
1362#endif
1363 }},
1364 {{
1365#if defined(BORINGSSL_CURVE25519_64BIT)
1366 2003766096898049, 170074059235165, 1141124258967971,
1367 1485419893480973, 1573762821028725
1368#else
1369 40577025, 29858441, 65199965, 2534300, 35238307, 17004076,
1370 18341389, 22134481, 32013173, 23450893
1371#endif
1372 }},
1373 {{
1374#if defined(BORINGSSL_CURVE25519_64BIT)
1375 729905708611432, 1270323270673202, 123353058984288,
1376 426460209632942, 2195574535456672
1377#else
1378 41629544, 10876442, 55337778, 18929291, 54739296, 1838103,
1379 21911214, 6354752, 4425632, 32716610
1380#endif
1381 }},
1382 },
1383 {
1384 {{
1385#if defined(BORINGSSL_CURVE25519_64BIT)
1386 1271140255321235, 2044363183174497, 52125387634689,
1387 1445120246694705, 942541986339084
1388#else
1389 56675475, 18941465, 22229857, 30463385, 53917697, 776728,
1390 49693489, 21533969, 4725004, 14044970
1391#endif
1392 }},
1393 {{
1394#if defined(BORINGSSL_CURVE25519_64BIT)
1395 1761608437466135, 583360847526804, 1586706389685493,
1396 2157056599579261, 1170692369685772
1397#else
1398 19268631, 26250011, 1555348, 8692754, 45634805, 23643767,
1399 6347389, 32142648, 47586572, 17444675
1400#endif
1401 }},
1402 {{
1403#if defined(BORINGSSL_CURVE25519_64BIT)
1404 871476219910823, 1878769545097794, 2241832391238412,
1405 548957640601001, 690047440233174
1406#else
1407 42244775, 12986007, 56209986, 27995847, 55796492, 33405905,
1408 19541417, 8180106, 9282262, 10282508
1409#endif
1410 }},
1411 },
1412 {
1413 {{
1414#if defined(BORINGSSL_CURVE25519_64BIT)
1415 297194732135507, 1366347803776820, 1301185512245601,
1416 561849853336294, 1533554921345731
1417#else
1418 40903763, 4428546, 58447668, 20360168, 4098401, 19389175,
1419 15522534, 8372215, 5542595, 22851749
1420#endif
1421 }},
1422 {{
1423#if defined(BORINGSSL_CURVE25519_64BIT)
1424 999628998628371, 1132836708493400, 2084741674517453,
1425 469343353015612, 678782988708035
1426#else
1427 56546323, 14895632, 26814552, 16880582, 49628109, 31065071,
1428 64326972, 6993760, 49014979, 10114654
1429#endif
1430 }},
1431 {{
1432#if defined(BORINGSSL_CURVE25519_64BIT)
1433 2189427607417022, 699801937082607, 412764402319267,
1434 1478091893643349, 2244675696854460
1435#else
1436 47001790, 32625013, 31422703, 10427861, 59998115, 6150668,
1437 38017109, 22025285, 25953724, 33448274
1438#endif
1439 }},
1440 },
1441 {
1442 {{
1443#if defined(BORINGSSL_CURVE25519_64BIT)
1444 1712292055966563, 204413590624874, 1405738637332841,
1445 408981300829763, 861082219276721
1446#else
1447 62874467, 25515139, 57989738, 3045999, 2101609, 20947138,
1448 19390019, 6094296, 63793585, 12831124
1449#endif
1450 }},
1451 {{
1452#if defined(BORINGSSL_CURVE25519_64BIT)
1453 508561155940631, 966928475686665, 2236717801150132,
1454 424543858577297, 2089272956986143
1455#else
1456 51110167, 7578151, 5310217, 14408357, 33560244, 33329692,
1457 31575953, 6326196, 7381791, 31132593
1458#endif
1459 }},
1460 {{
1461#if defined(BORINGSSL_CURVE25519_64BIT)
1462 221245220129925, 1156020201681217, 491145634799213,
1463 542422431960839, 828100817819207
1464#else
1465 46206085, 3296810, 24736065, 17226043, 18374253, 7318640,
1466 6295303, 8082724, 51746375, 12339663
1467#endif
1468 }},
1469 },
1470 {
1471 {{
1472#if defined(BORINGSSL_CURVE25519_64BIT)
1473 153756971240384, 1299874139923977, 393099165260502,
1474 1058234455773022, 996989038681183
1475#else
1476 27724736, 2291157, 6088201, 19369634, 1792726, 5857634,
1477 13848414, 15768922, 25091167, 14856294
1478#endif
1479 }},
1480 {{
1481#if defined(BORINGSSL_CURVE25519_64BIT)
1482 559086812798481, 573177704212711, 1629737083816402,
1483 1399819713462595, 1646954378266038
1484#else
1485 48242193, 8331042, 24373479, 8541013, 66406866, 24284974,
1486 12927299, 20858939, 44926390, 24541532
1487#endif
1488 }},
1489 {{
1490#if defined(BORINGSSL_CURVE25519_64BIT)
1491 1887963056288059, 228507035730124, 1468368348640282,
1492 930557653420194, 613513962454686
1493#else
1494 55685435, 28132841, 11632844, 3405020, 30536730, 21880393,
1495 39848098, 13866389, 30146206, 9142070
1496#endif
1497 }},
1498 },
1499 {
1500 {{
1501#if defined(BORINGSSL_CURVE25519_64BIT)
1502 1224529808187553, 1577022856702685, 2206946542980843,
1503 625883007765001, 279930793512158
1504#else
1505 3924129, 18246916, 53291741, 23499471, 12291819, 32886066,
1506 39406089, 9326383, 58871006, 4171293
1507#endif
1508 }},
1509 {{
1510#if defined(BORINGSSL_CURVE25519_64BIT)
1511 1076287717051609, 1114455570543035, 187297059715481,
1512 250446884292121, 1885187512550540
1513#else
1514 51186905, 16037936, 6713787, 16606682, 45496729, 2790943,
1515 26396185, 3731949, 345228, 28091483
1516#endif
1517 }},
1518 {{
1519#if defined(BORINGSSL_CURVE25519_64BIT)
1520 902497362940219, 76749815795675, 1657927525633846,
1521 1420238379745202, 1340321636548352
1522#else
1523 45781307, 13448258, 25284571, 1143661, 20614966, 24705045,
1524 2031538, 21163201, 50855680, 19972348
1525#endif
1526 }},
1527 },
1528 {
1529 {{
1530#if defined(BORINGSSL_CURVE25519_64BIT)
1531 1129576631190784, 1281994010027327, 996844254743018,
1532 257876363489249, 1150850742055018
1533#else
1534 31016192, 16832003, 26371391, 19103199, 62081514, 14854136,
1535 17477601, 3842657, 28012650, 17149012
1536#endif
1537 }},
1538 {{
1539#if defined(BORINGSSL_CURVE25519_64BIT)
1540 628740660038789, 1943038498527841, 467786347793886,
1541 1093341428303375, 235413859513003
1542#else
1543 62033029, 9368965, 58546785, 28953529, 51858910, 6970559,
1544 57918991, 16292056, 58241707, 3507939
1545#endif
1546 }},
1547 {{
1548#if defined(BORINGSSL_CURVE25519_64BIT)
1549 237425418909360, 469614029179605, 1512389769174935,
1550 1241726368345357, 441602891065214
1551#else
1552 29439664, 3537914, 23333589, 6997794, 49553303, 22536363,
1553 51899661, 18503164, 57943934, 6580395
1554#endif
1555 }},
1556 },
1557 },
1558 {
1559 {
1560 {{
1561#if defined(BORINGSSL_CURVE25519_64BIT)
1562 1736417953058555, 726531315520508, 1833335034432527,
1563 1629442561574747, 624418919286085
1564#else
1565 54923003, 25874643, 16438268, 10826160, 58412047, 27318820,
1566 17860443, 24280586, 65013061, 9304566
1567#endif
1568 }},
1569 {{
1570#if defined(BORINGSSL_CURVE25519_64BIT)
1571 1960754663920689, 497040957888962, 1909832851283095,
1572 1271432136996826, 2219780368020940
1573#else
1574 20714545, 29217521, 29088194, 7406487, 11426967, 28458727,
1575 14792666, 18945815, 5289420, 33077305
1576#endif
1577 }},
1578 {{
1579#if defined(BORINGSSL_CURVE25519_64BIT)
1580 1537037379417136, 1358865369268262, 2130838645654099,
1581 828733687040705, 1999987652890901
1582#else
1583 50443312, 22903641, 60948518, 20248671, 9192019, 31751970,
1584 17271489, 12349094, 26939669, 29802138
1585#endif
1586 }},
1587 },
1588 {
1589 {{
1590#if defined(BORINGSSL_CURVE25519_64BIT)
1591 629042105241814, 1098854999137608, 887281544569320,
1592 1423102019874777, 7911258951561
1593#else
1594 54218966, 9373457, 31595848, 16374215, 21471720, 13221525,
1595 39825369, 21205872, 63410057, 117886
1596#endif
1597 }},
1598 {{
1599#if defined(BORINGSSL_CURVE25519_64BIT)
1600 1811562332665373, 1501882019007673, 2213763501088999,
1601 359573079719636, 36370565049116
1602#else
1603 22263325, 26994382, 3984569, 22379786, 51994855, 32987646,
1604 28311252, 5358056, 43789084, 541963
1605#endif
1606 }},
1607 {{
1608#if defined(BORINGSSL_CURVE25519_64BIT)
1609 218907117361280, 1209298913016966, 1944312619096112,
1610 1130690631451061, 1342327389191701
1611#else
1612 16259200, 3261970, 2309254, 18019958, 50223152, 28972515,
1613 24134069, 16848603, 53771797, 20002236
1614#endif
1615 }},
1616 },
1617 {
1618 {{
1619#if defined(BORINGSSL_CURVE25519_64BIT)
1620 1369976867854704, 1396479602419169, 1765656654398856,
1621 2203659200586299, 998327836117241
1622#else
1623 9378160, 20414246, 44262881, 20809167, 28198280, 26310334,
1624 64709179, 32837080, 690425, 14876244
1625#endif
1626 }},
1627 {{
1628#if defined(BORINGSSL_CURVE25519_64BIT)
1629 2230701885562825, 1348173180338974, 2172856128624598,
1630 1426538746123771, 444193481326151
1631#else
1632 24977353, 33240048, 58884894, 20089345, 28432342, 32378079,
1633 54040059, 21257083, 44727879, 6618998
1634#endif
1635 }},
1636 {{
1637#if defined(BORINGSSL_CURVE25519_64BIT)
1638 784210426627951, 918204562375674, 1284546780452985,
1639 1324534636134684, 1872449409642708
1640#else
1641 65570671, 11685645, 12944378, 13682314, 42719353, 19141238,
1642 8044828, 19737104, 32239828, 27901670
1643#endif
1644 }},
1645 },
1646 {
1647 {{
1648#if defined(BORINGSSL_CURVE25519_64BIT)
1649 319638829540294, 596282656808406, 2037902696412608,
1650 1557219121643918, 341938082688094
1651#else
1652 48505798, 4762989, 66182614, 8885303, 38696384, 30367116,
1653 9781646, 23204373, 32779358, 5095274
1654#endif
1655 }},
1656 {{
1657#if defined(BORINGSSL_CURVE25519_64BIT)
1658 1901860206695915, 2004489122065736, 1625847061568236,
1659 973529743399879, 2075287685312905
1660#else
1661 34100715, 28339925, 34843976, 29869215, 9460460, 24227009,
1662 42507207, 14506723, 21639561, 30924196
1663#endif
1664 }},
1665 {{
1666#if defined(BORINGSSL_CURVE25519_64BIT)
1667 1371853944110545, 1042332820512553, 1949855697918254,
1668 1791195775521505, 37487364849293
1669#else
1670 50707921, 20442216, 25239337, 15531969, 3987758, 29055114,
1671 65819361, 26690896, 17874573, 558605
1672#endif
1673 }},
1674 },
1675 {
1676 {{
1677#if defined(BORINGSSL_CURVE25519_64BIT)
1678 687200189577855, 1082536651125675, 644224940871546,
1679 340923196057951, 343581346747396
1680#else
1681 53508735, 10240080, 9171883, 16131053, 46239610, 9599699,
1682 33499487, 5080151, 2085892, 5119761
1683#endif
1684 }},
1685 {{
1686#if defined(BORINGSSL_CURVE25519_64BIT)
1687 2082717129583892, 27829425539422, 145655066671970,
1688 1690527209845512, 1865260509673478
1689#else
1690 44903700, 31034903, 50727262, 414690, 42089314, 2170429,
1691 30634760, 25190818, 35108870, 27794547
1692#endif
1693 }},
1694 {{
1695#if defined(BORINGSSL_CURVE25519_64BIT)
1696 1059729620568824, 2163709103470266, 1440302280256872,
1697 1769143160546397, 869830310425069
1698#else
1699 60263160, 15791201, 8550074, 32241778, 29928808, 21462176,
1700 27534429, 26362287, 44757485, 12961481
1701#endif
1702 }},
1703 },
1704 {
1705 {{
1706#if defined(BORINGSSL_CURVE25519_64BIT)
1707 1609516219779025, 777277757338817, 2101121130363987,
1708 550762194946473, 1905542338659364
1709#else
1710 42616785, 23983660, 10368193, 11582341, 43711571, 31309144,
1711 16533929, 8206996, 36914212, 28394793
1712#endif
1713 }},
1714 {{
1715#if defined(BORINGSSL_CURVE25519_64BIT)
1716 2024821921041576, 426948675450149, 595133284085473,
1717 471860860885970, 600321679413000
1718#else
1719 55987368, 30172197, 2307365, 6362031, 66973409, 8868176,
1720 50273234, 7031274, 7589640, 8945490
1721#endif
1722 }},
1723 {{
1724#if defined(BORINGSSL_CURVE25519_64BIT)
1725 598474602406721, 1468128276358244, 1191923149557635,
1726 1501376424093216, 1281662691293476
1727#else
1728 34956097, 8917966, 6661220, 21876816, 65916803, 17761038,
1729 7251488, 22372252, 24099108, 19098262
1730#endif
1731 }},
1732 },
1733 {
1734 {{
1735#if defined(BORINGSSL_CURVE25519_64BIT)
1736 1721138489890707, 1264336102277790, 433064545421287,
1737 1359988423149466, 1561871293409447
1738#else
1739 5019539, 25646962, 4244126, 18840076, 40175591, 6453164,
1740 47990682, 20265406, 60876967, 23273695
1741#endif
1742 }},
1743 {{
1744#if defined(BORINGSSL_CURVE25519_64BIT)
1745 719520245587143, 393380711632345, 132350400863381,
1746 1543271270810729, 1819543295798660
1747#else
1748 10853575, 10721687, 26480089, 5861829, 44113045, 1972174,
1749 65242217, 22996533, 63745412, 27113307
1750#endif
1751 }},
1752 {{
1753#if defined(BORINGSSL_CURVE25519_64BIT)
1754 396397949784152, 1811354474471839, 1362679985304303,
1755 2117033964846756, 498041172552279
1756#else
1757 50106456, 5906789, 221599, 26991285, 7828207, 20305514,
1758 24362660, 31546264, 53242455, 7421391
1759#endif
1760 }},
1761 },
1762 {
1763 {{
1764#if defined(BORINGSSL_CURVE25519_64BIT)
1765 1812471844975748, 1856491995543149, 126579494584102,
1766 1036244859282620, 1975108050082550
1767#else
1768 8139908, 27007935, 32257645, 27663886, 30375718, 1886181,
1769 45933756, 15441251, 28826358, 29431403
1770#endif
1771 }},
1772 {{
1773#if defined(BORINGSSL_CURVE25519_64BIT)
1774 650623932407995, 1137551288410575, 2125223403615539,
1775 1725658013221271, 2134892965117796
1776#else
1777 6267067, 9695052, 7709135, 16950835, 34239795, 31668296,
1778 14795159, 25714308, 13746020, 31812384
1779#endif
1780 }},
1781 {{
1782#if defined(BORINGSSL_CURVE25519_64BIT)
1783 522584000310195, 1241762481390450, 1743702789495384,
1784 2227404127826575, 1686746002148897
1785#else
1786 28584883, 7787108, 60375922, 18503702, 22846040, 25983196,
1787 63926927, 33190907, 4771361, 25134474
1788#endif
1789 }},
1790 },
1791 },
1792 {
1793 {
1794 {{
1795#if defined(BORINGSSL_CURVE25519_64BIT)
1796 427904865186312, 1703211129693455, 1585368107547509,
1797 1436984488744336, 761188534613978
1798#else
1799 24949256, 6376279, 39642383, 25379823, 48462709, 23623825,
1800 33543568, 21412737, 3569626, 11342593
1801#endif
1802 }},
1803 {{
1804#if defined(BORINGSSL_CURVE25519_64BIT)
1805 318101947455002, 248138407995851, 1481904195303927,
1806 309278454311197, 1258516760217879
1807#else
1808 26514970, 4740088, 27912651, 3697550, 19331575, 22082093,
1809 6809885, 4608608, 7325975, 18753361
1810#endif
1811 }},
1812 {{
1813#if defined(BORINGSSL_CURVE25519_64BIT)
1814 1275068538599310, 513726919533379, 349926553492294,
1815 688428871968420, 1702400196000666
1816#else
1817 55490446, 19000001, 42787651, 7655127, 65739590, 5214311,
1818 39708324, 10258389, 49462170, 25367739
1819#endif
1820 }},
1821 },
1822 {
1823 {{
1824#if defined(BORINGSSL_CURVE25519_64BIT)
1825 1061864036265233, 961611260325381, 321859632700838,
1826 1045600629959517, 1985130202504038
1827#else
1828 11431185, 15823007, 26570245, 14329124, 18029990, 4796082,
1829 35662685, 15580663, 9280358, 29580745
1830#endif
1831 }},
1832 {{
1833#if defined(BORINGSSL_CURVE25519_64BIT)
1834 1558816436882417, 1962896332636523, 1337709822062152,
1835 1501413830776938, 294436165831932
1836#else
1837 66948081, 23228174, 44253547, 29249434, 46247496, 19933429,
1838 34297962, 22372809, 51563772, 4387440
1839#endif
1840 }},
1841 {{
1842#if defined(BORINGSSL_CURVE25519_64BIT)
1843 818359826554971, 1862173000996177, 626821592884859,
1844 573655738872376, 1749691246745455
1845#else
1846 46309467, 12194511, 3937617, 27748540, 39954043, 9340369,
1847 42594872, 8548136, 20617071, 26072431
1848#endif
1849 }},
1850 },
1851 {
1852 {{
1853#if defined(BORINGSSL_CURVE25519_64BIT)
1854 1988022651432119, 1082111498586040, 1834020786104821,
1855 1454826876423687, 692929915223122
1856#else
1857 66170039, 29623845, 58394552, 16124717, 24603125, 27329039,
1858 53333511, 21678609, 24345682, 10325460
1859#endif
1860 }},
1861 {{
1862#if defined(BORINGSSL_CURVE25519_64BIT)
1863 2146513703733331, 584788900394667, 464965657279958,
1864 2183973639356127, 238371159456790
1865#else
1866 47253587, 31985546, 44906155, 8714033, 14007766, 6928528,
1867 16318175, 32543743, 4766742, 3552007
1868#endif
1869 }},
1870 {{
1871#if defined(BORINGSSL_CURVE25519_64BIT)
1872 1129007025494441, 2197883144413266, 265142755578169,
1873 971864464758890, 1983715884903702
1874#else
1875 45357481, 16823515, 1351762, 32751011, 63099193, 3950934,
1876 3217514, 14481909, 10988822, 29559670
1877#endif
1878 }},
1879 },
1880 {
1881 {{
1882#if defined(BORINGSSL_CURVE25519_64BIT)
1883 1291366624493075, 381456718189114, 1711482489312444,
1884 1815233647702022, 892279782992467
1885#else
1886 15564307, 19242862, 3101242, 5684148, 30446780, 25503076,
1887 12677126, 27049089, 58813011, 13296004
1888#endif
1889 }},
1890 {{
1891#if defined(BORINGSSL_CURVE25519_64BIT)
1892 444548969917454, 1452286453853356, 2113731441506810,
1893 645188273895859, 810317625309512
1894#else
1895 57666574, 6624295, 36809900, 21640754, 62437882, 31497052,
1896 31521203, 9614054, 37108040, 12074673
1897#endif
1898 }},
1899 {{
1900#if defined(BORINGSSL_CURVE25519_64BIT)
1901 2242724082797924, 1373354730327868, 1006520110883049,
1902 2147330369940688, 1151816104883620
1903#else
1904 4771172, 33419193, 14290748, 20464580, 27992297, 14998318,
1905 65694928, 31997715, 29832612, 17163397
1906#endif
1907 }},
1908 },
1909 {
1910 {{
1911#if defined(BORINGSSL_CURVE25519_64BIT)
1912 1745720200383796, 1911723143175317, 2056329390702074,
1913 355227174309849, 879232794371100
1914#else
1915 7064884, 26013258, 47946901, 28486894, 48217594, 30641695,
1916 25825241, 5293297, 39986204, 13101589
1917#endif
1918 }},
1919 {{
1920#if defined(BORINGSSL_CURVE25519_64BIT)
1921 163723479936298, 115424889803150, 1156016391581227,
1922 1894942220753364, 1970549419986329
1923#else
1924 64810282, 2439669, 59642254, 1719964, 39841323, 17225986,
1925 32512468, 28236839, 36752793, 29363474
1926#endif
1927 }},
1928 {{
1929#if defined(BORINGSSL_CURVE25519_64BIT)
1930 681981452362484, 267208874112496, 1374683991933094,
1931 638600984916117, 646178654558546
1932#else
1933 37102324, 10162315, 33928688, 3981722, 50626726, 20484387,
1934 14413973, 9515896, 19568978, 9628812
1935#endif
1936 }},
1937 },
1938 {
1939 {{
1940#if defined(BORINGSSL_CURVE25519_64BIT)
1941 13378654854251, 106237307029567, 1944412051589651,
1942 1841976767925457, 230702819835573
1943#else
1944 33053803, 199357, 15894591, 1583059, 27380243, 28973997,
1945 49269969, 27447592, 60817077, 3437739
1946#endif
1947 }},
1948 {{
1949#if defined(BORINGSSL_CURVE25519_64BIT)
1950 260683893467075, 854060306077237, 913639551980112,
1951 4704576840123, 280254810808712
1952#else
1953 48129987, 3884492, 19469877, 12726490, 15913552, 13614290,
1954 44147131, 70103, 7463304, 4176122
1955#endif
1956 }},
1957 {{
1958#if defined(BORINGSSL_CURVE25519_64BIT)
1959 715374893080287, 1173334812210491, 1806524662079626,
1960 1894596008000979, 398905715033393
1961#else
1962 39984863, 10659916, 11482427, 17484051, 12771466, 26919315,
1963 34389459, 28231680, 24216881, 5944158
1964#endif
1965 }},
1966 },
1967 {
1968 {{
1969#if defined(BORINGSSL_CURVE25519_64BIT)
1970 500026409727661, 1596431288195371, 1420380351989370,
1971 985211561521489, 392444930785633
1972#else
1973 8894125, 7450974, 64444715, 23788679, 39028346, 21165316,
1974 19345745, 14680796, 11632993, 5847885
1975#endif
1976 }},
1977 {{
1978#if defined(BORINGSSL_CURVE25519_64BIT)
1979 2096421546958141, 1922523000950363, 789831022876840,
1980 427295144688779, 320923973161730
1981#else
1982 26942781, 31239115, 9129563, 28647825, 26024104, 11769399,
1983 55590027, 6367193, 57381634, 4782139
1984#endif
1985 }},
1986 {{
1987#if defined(BORINGSSL_CURVE25519_64BIT)
1988 1927770723575450, 1485792977512719, 1850996108474547,
1989 551696031508956, 2126047405475647
1990#else
1991 19916442, 28726022, 44198159, 22140040, 25606323, 27581991,
1992 33253852, 8220911, 6358847, 31680575
1993#endif
1994 }},
1995 },
1996 {
1997 {{
1998#if defined(BORINGSSL_CURVE25519_64BIT)
1999 2112099158080148, 742570803909715, 6484558077432,
2000 1951119898618916, 93090382703416
2001#else
2002 801428, 31472730, 16569427, 11065167, 29875704, 96627, 7908388,
2003 29073952, 53570360, 1387154
2004#endif
2005 }},
2006 {{
2007#if defined(BORINGSSL_CURVE25519_64BIT)
2008 383905201636970, 859946997631870, 855623867637644,
2009 1017125780577795, 794250831877809
2010#else
2011 19646058, 5720633, 55692158, 12814208, 11607948, 12749789,
2012 14147075, 15156355, 45242033, 11835259
2013#endif
2014 }},
2015 {{
2016#if defined(BORINGSSL_CURVE25519_64BIT)
2017 77571826285752, 999304298101753, 487841111777762,
2018 1038031143212339, 339066367948762
2019#else
2020 19299512, 1155910, 28703737, 14890794, 2925026, 7269399,
2021 26121523, 15467869, 40548314, 5052482
2022#endif
2023 }},
2024 },
2025 },
2026 {
2027 {
2028 {{
2029#if defined(BORINGSSL_CURVE25519_64BIT)
2030 674994775520533, 266035846330789, 826951213393478,
2031 1405007746162285, 1781791018620876
2032#else
2033 64091413, 10058205, 1980837, 3964243, 22160966, 12322533,
2034 60677741, 20936246, 12228556, 26550755
2035#endif
2036 }},
2037 {{
2038#if defined(BORINGSSL_CURVE25519_64BIT)
2039 1001412661522686, 348196197067298, 1666614366723946,
2040 888424995032760, 580747687801357
2041#else
2042 32944382, 14922211, 44263970, 5188527, 21913450, 24834489,
2043 4001464, 13238564, 60994061, 8653814
2044#endif
2045 }},
2046 {{
2047#if defined(BORINGSSL_CURVE25519_64BIT)
2048 1939560076207777, 1409892634407635, 552574736069277,
2049 383854338280405, 190706709864139
2050#else
2051 22865569, 28901697, 27603667, 21009037, 14348957, 8234005,
2052 24808405, 5719875, 28483275, 2841751
2053#endif
2054 }},
2055 },
2056 {
2057 {{
2058#if defined(BORINGSSL_CURVE25519_64BIT)
2059 2177087163428741, 1439255351721944, 1208070840382793,
2060 2230616362004769, 1396886392021913
2061#else
2062 50687877, 32441126, 66781144, 21446575, 21886281, 18001658,
2063 65220897, 33238773, 19932057, 20815229
2064#endif
2065 }},
2066 {{
2067#if defined(BORINGSSL_CURVE25519_64BIT)
2068 676962063230039, 1880275537148808, 2046721011602706,
2069 888463247083003, 1318301552024067
2070#else
2071 55452759, 10087520, 58243976, 28018288, 47830290, 30498519,
2072 3999227, 13239134, 62331395, 19644223
2073#endif
2074 }},
2075 {{
2076#if defined(BORINGSSL_CURVE25519_64BIT)
2077 1466980508178206, 617045217998949, 652303580573628,
2078 757303753529064, 207583137376902
2079#else
2080 1382174, 21859713, 17266789, 9194690, 53784508, 9720080,
2081 20403944, 11284705, 53095046, 3093229
2082#endif
2083 }},
2084 },
2085 {
2086 {{
2087#if defined(BORINGSSL_CURVE25519_64BIT)
2088 1511056752906902, 105403126891277, 493434892772846,
2089 1091943425335976, 1802717338077427
2090#else
2091 16650902, 22516500, 66044685, 1570628, 58779118, 7352752,
2092 66806440, 16271224, 43059443, 26862581
2093#endif
2094 }},
2095 {{
2096#if defined(BORINGSSL_CURVE25519_64BIT)
2097 1853982405405128, 1878664056251147, 1528011020803992,
2098 1019626468153565, 1128438412189035
2099#else
2100 45197768, 27626490, 62497547, 27994275, 35364760, 22769138,
2101 24123613, 15193618, 45456747, 16815042
2102#endif
2103 }},
2104 {{
2105#if defined(BORINGSSL_CURVE25519_64BIT)
2106 1963939888391106, 293456433791664, 697897559513649,
2107 985882796904380, 796244541237972
2108#else
2109 57172930, 29264984, 41829040, 4372841, 2087473, 10399484,
2110 31870908, 14690798, 17361620, 11864968
2111#endif
2112 }},
2113 },
2114 {
2115 {{
2116#if defined(BORINGSSL_CURVE25519_64BIT)
2117 416770998629779, 389655552427054, 1314476859406756,
2118 1749382513022778, 1161905598739491
2119#else
2120 55801235, 6210371, 13206574, 5806320, 38091172, 19587231,
2121 54777658, 26067830, 41530403, 17313742
2122#endif
2123 }},
2124 {{
2125#if defined(BORINGSSL_CURVE25519_64BIT)
2126 1428358296490651, 1027115282420478, 304840698058337,
2127 441410174026628, 1819358356278573
2128#else
2129 14668443, 21284197, 26039038, 15305210, 25515617, 4542480,
2130 10453892, 6577524, 9145645, 27110552
2131#endif
2132 }},
2133 {{
2134#if defined(BORINGSSL_CURVE25519_64BIT)
2135 204943430200135, 1554861433819175, 216426658514651,
2136 264149070665950, 2047097371738319
2137#else
2138 5974855, 3053895, 57675815, 23169240, 35243739, 3225008,
2139 59136222, 3936127, 61456591, 30504127
2140#endif
2141 }},
2142 },
2143 {
2144 {{
2145#if defined(BORINGSSL_CURVE25519_64BIT)
2146 1934415182909034, 1393285083565062, 516409331772960,
2147 1157690734993892, 121039666594268
2148#else
2149 30625386, 28825032, 41552902, 20761565, 46624288, 7695098,
2150 17097188, 17250936, 39109084, 1803631
2151#endif
2152 }},
2153 {{
2154#if defined(BORINGSSL_CURVE25519_64BIT)
2155 662035583584445, 286736105093098, 1131773000510616,
2156 818494214211439, 472943792054479
2157#else
2158 63555773, 9865098, 61880298, 4272700, 61435032, 16864731,
2159 14911343, 12196514, 45703375, 7047411
2160#endif
2161 }},
2162 {{
2163#if defined(BORINGSSL_CURVE25519_64BIT)
2164 665784778135882, 1893179629898606, 808313193813106,
2165 276797254706413, 1563426179676396
2166#else
2167 20093258, 9920966, 55970670, 28210574, 13161586, 12044805,
2168 34252013, 4124600, 34765036, 23296865
2169#endif
2170 }},
2171 },
2172 {
2173 {{
2174#if defined(BORINGSSL_CURVE25519_64BIT)
2175 945205108984232, 526277562959295, 1324180513733566,
2176 1666970227868664, 153547609289173
2177#else
2178 46320040, 14084653, 53577151, 7842146, 19119038, 19731827,
2179 4752376, 24839792, 45429205, 2288037
2180#endif
2181 }},
2182 {{
2183#if defined(BORINGSSL_CURVE25519_64BIT)
2184 2031433403516252, 203996615228162, 170487168837083,
2185 981513604791390, 843573964916831
2186#else
2187 40289628, 30270716, 29965058, 3039786, 52635099, 2540456,
2188 29457502, 14625692, 42289247, 12570231
2189#endif
2190 }},
2191 {{
2192#if defined(BORINGSSL_CURVE25519_64BIT)
2193 1476570093962618, 838514669399805, 1857930577281364,
2194 2017007352225784, 317085545220047
2195#else
2196 66045306, 22002608, 16920317, 12494842, 1278292, 27685323,
2197 45948920, 30055751, 55134159, 4724942
2198#endif
2199 }},
2200 },
2201 {
2202 {{
2203#if defined(BORINGSSL_CURVE25519_64BIT)
2204 1461557121912842, 1600674043318359, 2157134900399597,
2205 1670641601940616, 127765583803283
2206#else
2207 17960970, 21778898, 62967895, 23851901, 58232301, 32143814,
2208 54201480, 24894499, 37532563, 1903855
2209#endif
2210 }},
2211 {{
2212#if defined(BORINGSSL_CURVE25519_64BIT)
2213 1293543509393474, 2143624609202546, 1058361566797508,
2214 214097127393994, 946888515472729
2215#else
2216 23134274, 19275300, 56426866, 31942495, 20684484, 15770816,
2217 54119114, 3190295, 26955097, 14109738
2218#endif
2219 }},
2220 {{
2221#if defined(BORINGSSL_CURVE25519_64BIT)
2222 357067959932916, 1290876214345711, 521245575443703,
2223 1494975468601005, 800942377643885
2224#else
2225 15308788, 5320727, 36995055, 19235554, 22902007, 7767164,
2226 29425325, 22276870, 31960941, 11934971
2227#endif
2228 }},
2229 },
2230 {
2231 {{
2232#if defined(BORINGSSL_CURVE25519_64BIT)
2233 566116659100033, 820247422481740, 994464017954148,
2234 327157611686365, 92591318111744
2235#else
2236 39713153, 8435795, 4109644, 12222639, 42480996, 14818668,
2237 20638173, 4875028, 10491392, 1379718
2238#endif
2239 }},
2240 {{
2241#if defined(BORINGSSL_CURVE25519_64BIT)
2242 617256647603209, 1652107761099439, 1857213046645471,
2243 1085597175214970, 817432759830522
2244#else
2245 53949449, 9197840, 3875503, 24618324, 65725151, 27674630,
2246 33518458, 16176658, 21432314, 12180697
2247#endif
2248 }},
2249 {{
2250#if defined(BORINGSSL_CURVE25519_64BIT)
2251 771808161440705, 1323510426395069, 680497615846440,
2252 851580615547985, 1320806384849017
2253#else
2254 55321537, 11500837, 13787581, 19721842, 44678184, 10140204,
2255 1465425, 12689540, 56807545, 19681548
2256#endif
2257 }},
2258 },
2259 },
2260 {
2261 {
2262 {{
2263#if defined(BORINGSSL_CURVE25519_64BIT)
2264 1219260086131915, 647169006596815, 79601124759706,
2265 2161724213426748, 404861897060198
2266#else
2267 5414091, 18168391, 46101199, 9643569, 12834970, 1186149,
2268 64485948, 32212200, 26128230, 6032912
2269#endif
2270 }},
2271 {{
2272#if defined(BORINGSSL_CURVE25519_64BIT)
2273 1327968293887866, 1335500852943256, 1401587164534264,
2274 558137311952440, 1551360549268902
2275#else
2276 40771450, 19788269, 32496024, 19900513, 17847800, 20885276,
2277 3604024, 8316894, 41233830, 23117073
2278#endif
2279 }},
2280 {{
2281#if defined(BORINGSSL_CURVE25519_64BIT)
2282 417621685193956, 1429953819744454, 396157358457099,
2283 1940470778873255, 214000046234152
2284#else
2285 3296484, 6223048, 24680646, 21307972, 44056843, 5903204,
2286 58246567, 28915267, 12376616, 3188849
2287#endif
2288 }},
2289 },
2290 {
2291 {{
2292#if defined(BORINGSSL_CURVE25519_64BIT)
2293 1268047918491973, 2172375426948536, 1533916099229249,
2294 1761293575457130, 1590622667026765
2295#else
2296 29190469, 18895386, 27549112, 32370916, 3520065, 22857131,
2297 32049514, 26245319, 50999629, 23702124
2298#endif
2299 }},
2300 {{
2301#if defined(BORINGSSL_CURVE25519_64BIT)
2302 1627072914981959, 2211603081280073, 1912369601616504,
2303 1191770436221309, 2187309757525860
2304#else
2305 52364359, 24245275, 735817, 32955454, 46701176, 28496527,
2306 25246077, 17758763, 18640740, 32593455
2307#endif
2308 }},
2309 {{
2310#if defined(BORINGSSL_CURVE25519_64BIT)
2311 1149147819689533, 378692712667677, 828475842424202,
2312 2218619146419342, 70688125792186
2313#else
2314 60180029, 17123636, 10361373, 5642961, 4910474, 12345252,
2315 35470478, 33060001, 10530746, 1053335
2316#endif
2317 }},
2318 },
2319 {
2320 {{
2321#if defined(BORINGSSL_CURVE25519_64BIT)
2322 1299739417079761, 1438616663452759, 1536729078504412,
2323 2053896748919838, 1008421032591246
2324#else
2325 37842897, 19367626, 53570647, 21437058, 47651804, 22899047,
2326 35646494, 30605446, 24018830, 15026644
2327#endif
2328 }},
2329 {{
2330#if defined(BORINGSSL_CURVE25519_64BIT)
2331 2040723824657366, 399555637875075, 632543375452995,
2332 872649937008051, 1235394727030233
2333#else
2334 44516310, 30409154, 64819587, 5953842, 53668675, 9425630,
2335 25310643, 13003497, 64794073, 18408815
2336#endif
2337 }},
2338 {{
2339#if defined(BORINGSSL_CURVE25519_64BIT)
2340 2211311599327900, 2139787259888175, 938706616835350,
2341 12609661139114, 2081897930719789
2342#else
2343 39688860, 32951110, 59064879, 31885314, 41016598, 13987818,
2344 39811242, 187898, 43942445, 31022696
2345#endif
2346 }},
2347 },
2348 {
2349 {{
2350#if defined(BORINGSSL_CURVE25519_64BIT)
2351 1324994503390450, 336982330582631, 1183998925654177,
2352 1091654665913274, 48727673971319
2353#else
2354 45364466, 19743956, 1844839, 5021428, 56674465, 17642958,
2355 9716666, 16266922, 62038647, 726098
2356#endif
2357 }},
2358 {{
2359#if defined(BORINGSSL_CURVE25519_64BIT)
2360 1845522914617879, 1222198248335542, 150841072760134,
2361 1927029069940982, 1189913404498011
2362#else
2363 29370903, 27500434, 7334070, 18212173, 9385286, 2247707,
2364 53446902, 28714970, 30007387, 17731091
2365#endif
2366 }},
2367 {{
2368#if defined(BORINGSSL_CURVE25519_64BIT)
2369 1079559557592645, 2215338383666441, 1903569501302605,
2370 49033973033940, 305703433934152
2371#else
2372 66172485, 16086690, 23751945, 33011114, 65941325, 28365395,
2373 9137108, 730663, 9835848, 4555336
2374#endif
2375 }},
2376 },
2377 {
2378 {{
2379#if defined(BORINGSSL_CURVE25519_64BIT)
2380 94653405416909, 1386121349852999, 1062130477891762,
2381 36553947479274, 833669648948846
2382#else
2383 43732429, 1410445, 44855111, 20654817, 30867634, 15826977,
2384 17693930, 544696, 55123566, 12422645
2385#endif
2386 }},
2387 {{
2388#if defined(BORINGSSL_CURVE25519_64BIT)
2389 1432015813136298, 440364795295369, 1395647062821501,
2390 1976874522764578, 934452372723352
2391#else
2392 31117226, 21338698, 53606025, 6561946, 57231997, 20796761,
2393 61990178, 29457725, 29120152, 13924425
2394#endif
2395 }},
2396 {{
2397#if defined(BORINGSSL_CURVE25519_64BIT)
2398 1296625309219774, 2068273464883862, 1858621048097805,
2399 1492281814208508, 2235868981918946
2400#else
2401 49707966, 19321222, 19675798, 30819676, 56101901, 27695611,
2402 57724924, 22236731, 7240930, 33317044
2403#endif
2404 }},
2405 },
2406 {
2407 {{
2408#if defined(BORINGSSL_CURVE25519_64BIT)
2409 1490330266465570, 1858795661361448, 1436241134969763,
2410 294573218899647, 1208140011028933
2411#else
2412 35747106, 22207651, 52101416, 27698213, 44655523, 21401660,
2413 1222335, 4389483, 3293637, 18002689
2414#endif
2415 }},
2416 {{
2417#if defined(BORINGSSL_CURVE25519_64BIT)
2418 1282462923712748, 741885683986255, 2027754642827561,
2419 518989529541027, 1826610009555945
2420#else
2421 50424044, 19110186, 11038543, 11054958, 53307689, 30215898,
2422 42789283, 7733546, 12796905, 27218610
2423#endif
2424 }},
2425 {{
2426#if defined(BORINGSSL_CURVE25519_64BIT)
2427 1525827120027511, 723686461809551, 1597702369236987,
2428 244802101764964, 1502833890372311
2429#else
2430 58349431, 22736595, 41689999, 10783768, 36493307, 23807620,
2431 38855524, 3647835, 3222231, 22393970
2432#endif
2433 }},
2434 },
2435 {
2436 {{
2437#if defined(BORINGSSL_CURVE25519_64BIT)
2438 113622036244513, 1233740067745854, 674109952278496,
2439 2114345180342965, 166764512856263
2440#else
2441 18606113, 1693100, 41660478, 18384159, 4112352, 10045021,
2442 23603893, 31506198, 59558087, 2484984
2443#endif
2444 }},
2445 {{
2446#if defined(BORINGSSL_CURVE25519_64BIT)
2447 2041668749310338, 2184405322203901, 1633400637611036,
2448 2110682505536899, 2048144390084644
2449#else
2450 9255298, 30423235, 54952701, 32550175, 13098012, 24339566,
2451 16377219, 31451620, 47306788, 30519729
2452#endif
2453 }},
2454 {{
2455#if defined(BORINGSSL_CURVE25519_64BIT)
2456 503058759232932, 760293024620937, 2027152777219493,
2457 666858468148475, 1539184379870952
2458#else
2459 44379556, 7496159, 61366665, 11329248, 19991973, 30206930,
2460 35390715, 9936965, 37011176, 22935634
2461#endif
2462 }},
2463 },
2464 {
2465 {{
2466#if defined(BORINGSSL_CURVE25519_64BIT)
2467 1916168475367211, 915626432541343, 883217071712575,
2468 363427871374304, 1976029821251593
2469#else
2470 21878571, 28553135, 4338335, 13643897, 64071999, 13160959,
2471 19708896, 5415497, 59748361, 29445138
2472#endif
2473 }},
2474 {{
2475#if defined(BORINGSSL_CURVE25519_64BIT)
2476 678039535434506, 570587290189340, 1605302676614120,
2477 2147762562875701, 1706063797091704
2478#else
2479 27736842, 10103576, 12500508, 8502413, 63695848, 23920873,
2480 10436917, 32004156, 43449720, 25422331
2481#endif
2482 }},
2483 {{
2484#if defined(BORINGSSL_CURVE25519_64BIT)
2485 1439489648586438, 2194580753290951, 832380563557396,
2486 561521973970522, 584497280718389
2487#else
2488 19492550, 21450067, 37426887, 32701801, 63900692, 12403436,
2489 30066266, 8367329, 13243957, 8709688
2490#endif
2491 }},
2492 },
2493 },
2494 {
2495 {
2496 {{
2497#if defined(BORINGSSL_CURVE25519_64BIT)
2498 187989455492609, 681223515948275, 1933493571072456,
2499 1872921007304880, 488162364135671
2500#else
2501 12015105, 2801261, 28198131, 10151021, 24818120, 28811299,
2502 55914672, 27908697, 5150967, 7274186
2503#endif
2504 }},
2505 {{
2506#if defined(BORINGSSL_CURVE25519_64BIT)
2507 1413466089534451, 410844090765630, 1397263346404072,
2508 408227143123410, 1594561803147811
2509#else
2510 2831347, 21062286, 1478974, 6122054, 23825128, 20820846,
2511 31097298, 6083058, 31021603, 23760822
2512#endif
2513 }},
2514 {{
2515#if defined(BORINGSSL_CURVE25519_64BIT)
2516 2102170800973153, 719462588665004, 1479649438510153,
2517 1097529543970028, 1302363283777685
2518#else
2519 64578913, 31324785, 445612, 10720828, 53259337, 22048494,
2520 43601132, 16354464, 15067285, 19406725
2521#endif
2522 }},
2523 },
2524 {
2525 {{
2526#if defined(BORINGSSL_CURVE25519_64BIT)
2527 942065717847195, 1069313679352961, 2007341951411051,
2528 70973416446291, 1419433790163706
2529#else
2530 7840923, 14037873, 33744001, 15934015, 66380651, 29911725,
2531 21403987, 1057586, 47729402, 21151211
2532#endif
2533 }},
2534 {{
2535#if defined(BORINGSSL_CURVE25519_64BIT)
2536 1146565545556377, 1661971299445212, 406681704748893,
2537 564452436406089, 1109109865829139
2538#else
2539 915865, 17085158, 15608284, 24765302, 42751837, 6060029,
2540 49737545, 8410996, 59888403, 16527024
2541#endif
2542 }},
2543 {{
2544#if defined(BORINGSSL_CURVE25519_64BIT)
2545 2214421081775077, 1165671861210569, 1890453018796184,
2546 3556249878661, 442116172656317
2547#else
2548 32922597, 32997445, 20336073, 17369864, 10903704, 28169945,
2549 16957573, 52992, 23834301, 6588044
2550#endif
2551 }},
2552 },
2553 {
2554 {{
2555#if defined(BORINGSSL_CURVE25519_64BIT)
2556 753830546620811, 1666955059895019, 1530775289309243,
2557 1119987029104146, 2164156153857580
2558#else
2559 32752011, 11232950, 3381995, 24839566, 22652987, 22810329,
2560 17159698, 16689107, 46794284, 32248439
2561#endif
2562 }},
2563 {{
2564#if defined(BORINGSSL_CURVE25519_64BIT)
2565 615171919212796, 1523849404854568, 854560460547503,
2566 2067097370290715, 1765325848586042
2567#else
2568 62419196, 9166775, 41398568, 22707125, 11576751, 12733943,
2569 7924251, 30802151, 1976122, 26305405
2570#endif
2571 }},
2572 {{
2573#if defined(BORINGSSL_CURVE25519_64BIT)
2574 1094538949313667, 1796592198908825, 870221004284388,
2575 2025558921863561, 1699010892802384
2576#else
2577 21251203, 16309901, 64125849, 26771309, 30810596, 12967303,
2578 156041, 30183180, 12331344, 25317235
2579#endif
2580 }},
2581 },
2582 {
2583 {{
2584#if defined(BORINGSSL_CURVE25519_64BIT)
2585 1951351290725195, 1916457206844795, 198025184438026,
2586 1909076887557595, 1938542290318919
2587#else
2588 8651595, 29077400, 51023227, 28557437, 13002506, 2950805,
2589 29054427, 28447462, 10008135, 28886531
2590#endif
2591 }},
2592 {{
2593#if defined(BORINGSSL_CURVE25519_64BIT)
2594 1014323197538413, 869150639940606, 1756009942696599,
2595 1334952557375672, 1544945379082874
2596#else
2597 31486061, 15114593, 52847614, 12951353, 14369431, 26166587,
2598 16347320, 19892343, 8684154, 23021480
2599#endif
2600 }},
2601 {{
2602#if defined(BORINGSSL_CURVE25519_64BIT)
2603 764055910920305, 1603590757375439, 146805246592357,
2604 1843313433854297, 954279890114939
2605#else
2606 19443825, 11385320, 24468943, 23895364, 43189605, 2187568,
2607 40845657, 27467510, 31316347, 14219878
2608#endif
2609 }},
2610 },
2611 {
2612 {{
2613#if defined(BORINGSSL_CURVE25519_64BIT)
2614 80113526615750, 764536758732259, 1055139345100233,
2615 469252651759390, 617897512431515
2616#else
2617 38514374, 1193784, 32245219, 11392485, 31092169, 15722801,
2618 27146014, 6992409, 29126555, 9207390
2619#endif
2620 }},
2621 {{
2622#if defined(BORINGSSL_CURVE25519_64BIT)
2623 74497112547268, 740094153192149, 1745254631717581,
2624 727713886503130, 1283034364416928
2625#else
2626 32382916, 1110093, 18477781, 11028262, 39697101, 26006320,
2627 62128346, 10843781, 59151264, 19118701
2628#endif
2629 }},
2630 {{
2631#if defined(BORINGSSL_CURVE25519_64BIT)
2632 525892105991110, 1723776830270342, 1476444848991936,
2633 573789489857760, 133864092632978
2634#else
2635 2814918, 7836403, 27519878, 25686276, 46214848, 22000742,
2636 45614304, 8550129, 28346258, 1994730
2637#endif
2638 }},
2639 },
2640 {
2641 {{
2642#if defined(BORINGSSL_CURVE25519_64BIT)
2643 542611720192581, 1986812262899321, 1162535242465837,
2644 481498966143464, 544600533583622
2645#else
2646 47530565, 8085544, 53108345, 29605809, 2785837, 17323125,
2647 47591912, 7174893, 22628102, 8115180
2648#endif
2649 }},
2650 {{
2651#if defined(BORINGSSL_CURVE25519_64BIT)
2652 64123227344372, 1239927720647794, 1360722983445904,
2653 222610813654661, 62429487187991
2654#else
2655 36703732, 955510, 55975026, 18476362, 34661776, 20276352,
2656 41457285, 3317159, 57165847, 930271
2657#endif
2658 }},
2659 {{
2660#if defined(BORINGSSL_CURVE25519_64BIT)
2661 1793193323953132, 91096687857833, 70945970938921,
2662 2158587638946380, 1537042406482111
2663#else
2664 51805164, 26720662, 28856489, 1357446, 23421993, 1057177,
2665 24091212, 32165462, 44343487, 22903716
2666#endif
2667 }},
2668 },
2669 {
2670 {{
2671#if defined(BORINGSSL_CURVE25519_64BIT)
2672 1895854577604609, 1394895708949416, 1728548428495944,
2673 1140864900240149, 563645333603061
2674#else
2675 44357633, 28250434, 54201256, 20785565, 51297352, 25757378,
2676 52269845, 17000211, 65241845, 8398969
2677#endif
2678 }},
2679 {{
2680#if defined(BORINGSSL_CURVE25519_64BIT)
2681 141358280486863, 91435889572504, 1087208572552643,
2682 1829599652522921, 1193307020643647
2683#else
2684 35139535, 2106402, 62372504, 1362500, 12813763, 16200670,
2685 22981545, 27263159, 18009407, 17781660
2686#endif
2687 }},
2688 {{
2689#if defined(BORINGSSL_CURVE25519_64BIT)
2690 1611230858525381, 950720175540785, 499589887488610,
2691 2001656988495019, 88977313255908
2692#else
2693 49887941, 24009210, 39324209, 14166834, 29815394, 7444469,
2694 29551787, 29827013, 19288548, 1325865
2695#endif
2696 }},
2697 },
2698 {
2699 {{
2700#if defined(BORINGSSL_CURVE25519_64BIT)
2701 1189080501479658, 2184348804772597, 1040818725742319,
2702 2018318290311834, 1712060030915354
2703#else
2704 15100138, 17718680, 43184885, 32549333, 40658671, 15509407,
2705 12376730, 30075286, 33166106, 25511682
2706#endif
2707 }},
2708 {{
2709#if defined(BORINGSSL_CURVE25519_64BIT)
2710 873966876953756, 1090638350350440, 1708559325189137,
2711 672344594801910, 1320437969700239
2712#else
2713 20909212, 13023121, 57899112, 16251777, 61330449, 25459517,
2714 12412150, 10018715, 2213263, 19676059
2715#endif
2716 }},
2717 {{
2718#if defined(BORINGSSL_CURVE25519_64BIT)
2719 1508590048271766, 1131769479776094, 101550868699323,
2720 428297785557897, 561791648661744
2721#else
2722 32529814, 22479743, 30361438, 16864679, 57972923, 1513225,
2723 22922121, 6382134, 61341936, 8371347
2724#endif
2725 }},
2726 },
2727 },
2728 {
2729 {
2730 {{
2731#if defined(BORINGSSL_CURVE25519_64BIT)
2732 756417570499462, 237882279232602, 2136263418594016,
2733 1701968045454886, 703713185137472
2734#else
2735 9923462, 11271500, 12616794, 3544722, 37110496, 31832805,
2736 12891686, 25361300, 40665920, 10486143
2737#endif
2738 }},
2739 {{
2740#if defined(BORINGSSL_CURVE25519_64BIT)
2741 1781187809325462, 1697624151492346, 1381393690939988,
2742 175194132284669, 1483054666415238
2743#else
2744 44511638, 26541766, 8587002, 25296571, 4084308, 20584370,
2745 361725, 2610596, 43187334, 22099236
2746#endif
2747 }},
2748 {{
2749#if defined(BORINGSSL_CURVE25519_64BIT)
2750 2175517777364616, 708781536456029, 955668231122942,
2751 1967557500069555, 2021208005604118
2752#else
2753 5408392, 32417741, 62139741, 10561667, 24145918, 14240566,
2754 31319731, 29318891, 19985174, 30118346
2755#endif
2756 }},
2757 },
2758 {
2759 {{
2760#if defined(BORINGSSL_CURVE25519_64BIT)
2761 1115135966606887, 224217372950782, 915967306279222,
2762 593866251291540, 561747094208006
2763#else
2764 53114407, 16616820, 14549246, 3341099, 32155958, 13648976,
2765 49531796, 8849296, 65030, 8370684
2766#endif
2767 }},
2768 {{
2769#if defined(BORINGSSL_CURVE25519_64BIT)
2770 1443163092879439, 391875531646162, 2180847134654632,
2771 464538543018753, 1594098196837178
2772#else
2773 58787919, 21504805, 31204562, 5839400, 46481576, 32497154,
2774 47665921, 6922163, 12743482, 23753914
2775#endif
2776 }},
2777 {{
2778#if defined(BORINGSSL_CURVE25519_64BIT)
2779 850858855888869, 319436476624586, 327807784938441,
2780 740785849558761, 17128415486016
2781#else
2782 64747493, 12678784, 28815050, 4759974, 43215817, 4884716,
2783 23783145, 11038569, 18800704, 255233
2784#endif
2785 }},
2786 },
2787 {
2788 {{
2789#if defined(BORINGSSL_CURVE25519_64BIT)
2790 2132756334090067, 536247820155645, 48907151276867,
2791 608473197600695, 1261689545022784
2792#else
2793 61839187, 31780545, 13957885, 7990715, 23132995, 728773,
2794 13393847, 9066957, 19258688, 18800639
2795#endif
2796 }},
2797 {{
2798#if defined(BORINGSSL_CURVE25519_64BIT)
2799 1525176236978354, 974205476721062, 293436255662638,
2800 148269621098039, 137961998433963
2801#else
2802 64172210, 22726896, 56676774, 14516792, 63468078, 4372540,
2803 35173943, 2209389, 65584811, 2055793
2804#endif
2805 }},
2806 {{
2807#if defined(BORINGSSL_CURVE25519_64BIT)
2808 1121075518299410, 2071745529082111, 1265567917414828,
2809 1648196578317805, 496232102750820
2810#else
2811 580882, 16705327, 5468415, 30871414, 36182444, 18858431,
2812 59905517, 24560042, 37087844, 7394434
2813#endif
2814 }},
2815 },
2816 {
2817 {{
2818#if defined(BORINGSSL_CURVE25519_64BIT)
2819 122321229299801, 1022922077493685, 2001275453369484,
2820 2017441881607947, 993205880778002
2821#else
2822 23838809, 1822728, 51370421, 15242726, 8318092, 29821328,
2823 45436683, 30062226, 62287122, 14799920
2824#endif
2825 }},
2826 {{
2827#if defined(BORINGSSL_CURVE25519_64BIT)
2828 654925550560074, 1168810995576858, 575655959430926,
2829 905758704861388, 496774564663534
2830#else
2831 13345610, 9759151, 3371034, 17416641, 16353038, 8577942,
2832 31129804, 13496856, 58052846, 7402517
2833#endif
2834 }},
2835 {{
2836#if defined(BORINGSSL_CURVE25519_64BIT)
2837 1954109525779738, 2117022646152485, 338102630417180,
2838 1194140505732026, 107881734943492
2839#else
2840 2286874, 29118501, 47066405, 31546095, 53412636, 5038121,
2841 11006906, 17794080, 8205060, 1607563
2842#endif
2843 }},
2844 },
2845 {
2846 {{
2847#if defined(BORINGSSL_CURVE25519_64BIT)
2848 1714785840001267, 2036500018681589, 1876380234251966,
2849 2056717182974196, 1645855254384642
2850#else
2851 14414067, 25552300, 3331829, 30346215, 22249150, 27960244,
2852 18364660, 30647474, 30019586, 24525154
2853#endif
2854 }},
2855 {{
2856#if defined(BORINGSSL_CURVE25519_64BIT)
2857 106431476499341, 62482972120563, 1513446655109411,
2858 807258751769522, 538491469114
2859#else
2860 39420813, 1585952, 56333811, 931068, 37988643, 22552112,
2861 52698034, 12029092, 9944378, 8024
2862#endif
2863 }},
2864 {{
2865#if defined(BORINGSSL_CURVE25519_64BIT)
2866 2002850762893643, 1243624520538135, 1486040410574605,
2867 2184752338181213, 378495998083531
2868#else
2869 4368715, 29844802, 29874199, 18531449, 46878477, 22143727,
2870 50994269, 32555346, 58966475, 5640029
2871#endif
2872 }},
2873 },
2874 {
2875 {{
2876#if defined(BORINGSSL_CURVE25519_64BIT)
2877 922510868424903, 1089502620807680, 402544072617374,
2878 1131446598479839, 1290278588136533
2879#else
2880 10299591, 13746483, 11661824, 16234854, 7630238, 5998374,
2881 9809887, 16859868, 15219797, 19226649
2882#endif
2883 }},
2884 {{
2885#if defined(BORINGSSL_CURVE25519_64BIT)
2886 1867998812076769, 715425053580701, 39968586461416,
2887 2173068014586163, 653822651801304
2888#else
2889 27425505, 27835351, 3055005, 10660664, 23458024, 595578,
2890 51710259, 32381236, 48766680, 9742716
2891#endif
2892 }},
2893 {{
2894#if defined(BORINGSSL_CURVE25519_64BIT)
2895 162892278589453, 182585796682149, 75093073137630,
2896 497037941226502, 133871727117371
2897#else
2898 6744077, 2427284, 26042789, 2720740, 66260958, 1118973,
2899 32324614, 7406442, 12420155, 1994844
2900#endif
2901 }},
2902 },
2903 {
2904 {{
2905#if defined(BORINGSSL_CURVE25519_64BIT)
2906 1914596576579670, 1608999621851578, 1987629837704609,
2907 1519655314857977, 1819193753409464
2908#else
2909 14012502, 28529712, 48724410, 23975962, 40623521, 29617992,
2910 54075385, 22644628, 24319928, 27108099
2911#endif
2912 }},
2913 {{
2914#if defined(BORINGSSL_CURVE25519_64BIT)
2915 1949315551096831, 1069003344994464, 1939165033499916,
2916 1548227205730856, 1933767655861407
2917#else
2918 16412671, 29047065, 10772640, 15929391, 50040076, 28895810,
2919 10555944, 23070383, 37006495, 28815383
2920#endif
2921 }},
2922 {{
2923#if defined(BORINGSSL_CURVE25519_64BIT)
2924 1730519386931635, 1393284965610134, 1597143735726030,
2925 416032382447158, 1429665248828629
2926#else
2927 22397363, 25786748, 57815702, 20761563, 17166286, 23799296,
2928 39775798, 6199365, 21880021, 21303672
2929#endif
2930 }},
2931 },
2932 {
2933 {{
2934#if defined(BORINGSSL_CURVE25519_64BIT)
2935 360275475604565, 547835731063078, 215360904187529,
2936 596646739879007, 332709650425085
2937#else
2938 62825557, 5368522, 35991846, 8163388, 36785801, 3209127,
2939 16557151, 8890729, 8840445, 4957760
2940#endif
2941 }},
2942 {{
2943#if defined(BORINGSSL_CURVE25519_64BIT)
2944 47602113726801, 1522314509708010, 437706261372925,
2945 814035330438027, 335930650933545
2946#else
2947 51661137, 709326, 60189418, 22684253, 37330941, 6522331,
2948 45388683, 12130071, 52312361, 5005756
2949#endif
2950 }},
2951 {{
2952#if defined(BORINGSSL_CURVE25519_64BIT)
2953 1291597595523886, 1058020588994081, 402837842324045,
2954 1363323695882781, 2105763393033193
2955#else
2956 64994094, 19246303, 23019041, 15765735, 41839181, 6002751,
2957 10183197, 20315106, 50713577, 31378319
2958#endif
2959 }},
2960 },
2961 },
2962 {
2963 {
2964 {{
2965#if defined(BORINGSSL_CURVE25519_64BIT)
2966 109521982566564, 1715257748585139, 1112231216891516,
2967 2046641005101484, 134249157157013
2968#else
2969 48083108, 1632004, 13466291, 25559332, 43468412, 16573536,
2970 35094956, 30497327, 22208661, 2000468
2971#endif
2972 }},
2973 {{
2974#if defined(BORINGSSL_CURVE25519_64BIT)
2975 2156991030936798, 2227544497153325, 1869050094431622,
2976 754875860479115, 1754242344267058
2977#else
2978 3065054, 32141671, 41510189, 33192999, 49425798, 27851016,
2979 58944651, 11248526, 63417650, 26140247
2980#endif
2981 }},
2982 {{
2983#if defined(BORINGSSL_CURVE25519_64BIT)
2984 1846089562873800, 98894784984326, 1412430299204844,
2985 171351226625762, 1100604760929008
2986#else
2987 10379208, 27508878, 8877318, 1473647, 37817580, 21046851,
2988 16690914, 2553332, 63976176, 16400288
2989#endif
2990 }},
2991 },
2992 {
2993 {{
2994#if defined(BORINGSSL_CURVE25519_64BIT)
2995 84172382130492, 499710970700046, 425749630620778,
2996 1762872794206857, 612842602127960
2997#else
2998 15716668, 1254266, 48636174, 7446273, 58659946, 6344163,
2999 45011593, 26268851, 26894936, 9132066
3000#endif
3001 }},
3002 {{
3003#if defined(BORINGSSL_CURVE25519_64BIT)
3004 868309334532756, 1703010512741873, 1952690008738057,
3005 4325269926064, 2071083554962116
3006#else
3007 24158868, 12938817, 11085297, 25376834, 39045385, 29097348,
3008 36532400, 64451, 60291780, 30861549
3009#endif
3010 }},
3011 {{
3012#if defined(BORINGSSL_CURVE25519_64BIT)
3013 523094549451158, 401938899487815, 1407690589076010,
3014 2022387426254453, 158660516411257
3015#else
3016 13488534, 7794716, 22236231, 5989356, 25426474, 20976224,
3017 2350709, 30135921, 62420857, 2364225
3018#endif
3019 }},
3020 },
3021 {
3022 {{
3023#if defined(BORINGSSL_CURVE25519_64BIT)
3024 612867287630009, 448212612103814, 571629077419196,
3025 1466796750919376, 1728478129663858
3026#else
3027 16335033, 9132434, 25640582, 6678888, 1725628, 8517937,
3028 55301840, 21856974, 15445874, 25756331
3029#endif
3030 }},
3031 {{
3032#if defined(BORINGSSL_CURVE25519_64BIT)
3033 1723848973783452, 2208822520534681, 1718748322776940,
3034 1974268454121942, 1194212502258141
3035#else
3036 29004188, 25687351, 28661401, 32914020, 54314860, 25611345,
3037 31863254, 29418892, 66830813, 17795152
3038#endif
3039 }},
3040 {{
3041#if defined(BORINGSSL_CURVE25519_64BIT)
3042 1254114807944608, 977770684047110, 2010756238954993,
3043 1783628927194099, 1525962994408256
3044#else
3045 60986784, 18687766, 38493958, 14569918, 56250865, 29962602,
3046 10343411, 26578142, 37280576, 22738620
3047#endif
3048 }},
3049 },
3050 {
3051 {{
3052#if defined(BORINGSSL_CURVE25519_64BIT)
3053 232464058235826, 1948628555342434, 1835348780427694,
3054 1031609499437291, 64472106918373
3055#else
3056 27081650, 3463984, 14099042, 29036828, 1616302, 27348828,
3057 29542635, 15372179, 17293797, 960709
3058#endif
3059 }},
3060 {{
3061#if defined(BORINGSSL_CURVE25519_64BIT)
3062 767338676040683, 754089548318405, 1523192045639075,
3063 435746025122062, 512692508440385
3064#else
3065 20263915, 11434237, 61343429, 11236809, 13505955, 22697330,
3066 50997518, 6493121, 47724353, 7639713
3067#endif
3068 }},
3069 {{
3070#if defined(BORINGSSL_CURVE25519_64BIT)
3071 1255955808701983, 1700487367990941, 1166401238800299,
3072 1175121994891534, 1190934801395380
3073#else
3074 64278047, 18715199, 25403037, 25339236, 58791851, 17380732,
3075 18006286, 17510682, 29994676, 17746311
3076#endif
3077 }},
3078 },
3079 {
3080 {{
3081#if defined(BORINGSSL_CURVE25519_64BIT)
3082 349144008168292, 1337012557669162, 1475912332999108,
3083 1321618454900458, 47611291904320
3084#else
3085 9769828, 5202651, 42951466, 19923039, 39057860, 21992807,
3086 42495722, 19693649, 35924288, 709463
3087#endif
3088 }},
3089 {{
3090#if defined(BORINGSSL_CURVE25519_64BIT)
3091 877519947135419, 2172838026132651, 272304391224129,
3092 1655143327559984, 886229406429814
3093#else
3094 12286395, 13076066, 45333675, 32377809, 42105665, 4057651,
3095 35090736, 24663557, 16102006, 13205847
3096#endif
3097 }},
3098 {{
3099#if defined(BORINGSSL_CURVE25519_64BIT)
3100 375806028254706, 214463229793940, 572906353144089,
3101 572168269875638, 697556386112979
3102#else
3103 13733362, 5599946, 10557076, 3195751, 61550873, 8536969,
3104 41568694, 8525971, 10151379, 10394400
3105#endif
3106 }},
3107 },
3108 {
3109 {{
3110#if defined(BORINGSSL_CURVE25519_64BIT)
3111 1168827102357844, 823864273033637, 2071538752104697,
3112 788062026895924, 599578340743362
3113#else
3114 4024660, 17416881, 22436261, 12276534, 58009849, 30868332,
3115 19698228, 11743039, 33806530, 8934413
3116#endif
3117 }},
3118 {{
3119#if defined(BORINGSSL_CURVE25519_64BIT)
3120 1948116082078088, 2054898304487796, 2204939184983900,
3121 210526805152138, 786593586607626
3122#else
3123 51229064, 29029191, 58528116, 30620370, 14634844, 32856154,
3124 57659786, 3137093, 55571978, 11721157
3125#endif
3126 }},
3127 {{
3128#if defined(BORINGSSL_CURVE25519_64BIT)
3129 1915320147894736, 156481169009469, 655050471180417,
3130 592917090415421, 2165897438660879
3131#else
3132 17555920, 28540494, 8268605, 2331751, 44370049, 9761012,
3133 9319229, 8835153, 57903375, 32274386
3134#endif
3135 }},
3136 },
3137 {
3138 {{
3139#if defined(BORINGSSL_CURVE25519_64BIT)
3140 1726336468579724, 1119932070398949, 1929199510967666,
3141 33918788322959, 1836837863503150
3142#else
3143 66647436, 25724417, 20614117, 16688288, 59594098, 28747312,
3144 22300303, 505429, 6108462, 27371017
3145#endif
3146 }},
3147 {{
3148#if defined(BORINGSSL_CURVE25519_64BIT)
3149 829996854845988, 217061778005138, 1686565909803640,
3150 1346948817219846, 1723823550730181
3151#else
3152 62038564, 12367916, 36445330, 3234472, 32617080, 25131790,
3153 29880582, 20071101, 40210373, 25686972
3154#endif
3155 }},
3156 {{
3157#if defined(BORINGSSL_CURVE25519_64BIT)
3158 384301494966394, 687038900403062, 2211195391021739,
3159 254684538421383, 1245698430589680
3160#else
3161 35133562, 5726538, 26934134, 10237677, 63935147, 32949378,
3162 24199303, 3795095, 7592688, 18562353
3163#endif
3164 }},
3165 },
3166 {
3167 {{
3168#if defined(BORINGSSL_CURVE25519_64BIT)
3169 1247567493562688, 1978182094455847, 183871474792955,
3170 806570235643435, 288461518067916
3171#else
3172 21594432, 18590204, 17466407, 29477210, 32537083, 2739898,
3173 6407723, 12018833, 38852812, 4298411
3174#endif
3175 }},
3176 {{
3177#if defined(BORINGSSL_CURVE25519_64BIT)
3178 1449077384734201, 38285445457996, 2136537659177832,
3179 2146493000841573, 725161151123125
3180#else
3181 46458361, 21592935, 39872588, 570497, 3767144, 31836892,
3182 13891941, 31985238, 13717173, 10805743
3183#endif
3184 }},
3185 {{
3186#if defined(BORINGSSL_CURVE25519_64BIT)
3187 1201928866368855, 800415690605445, 1703146756828343,
3188 997278587541744, 1858284414104014
3189#else
3190 52432215, 17910135, 15287173, 11927123, 24177847, 25378864,
3191 66312432, 14860608, 40169934, 27690595
3192#endif
3193 }},
3194 },
3195 },
3196 {
3197 {
3198 {{
3199#if defined(BORINGSSL_CURVE25519_64BIT)
3200 356468809648877, 782373916933152, 1718002439402870,
3201 1392222252219254, 663171266061951
3202#else
3203 12962541, 5311799, 57048096, 11658279, 18855286, 25600231,
3204 13286262, 20745728, 62727807, 9882021
3205#endif
3206 }},
3207 {{
3208#if defined(BORINGSSL_CURVE25519_64BIT)
3209 759628738230460, 1012693474275852, 353780233086498,
3210 246080061387552, 2030378857679162
3211#else
3212 18512060, 11319350, 46985740, 15090308, 18818594, 5271736,
3213 44380960, 3666878, 43141434, 30255002
3214#endif
3215 }},
3216 {{
3217#if defined(BORINGSSL_CURVE25519_64BIT)
3218 2040672435071076, 888593182036908, 1298443657189359,
3219 1804780278521327, 354070726137060
3220#else
3221 60319844, 30408388, 16192428, 13241070, 15898607, 19348318,
3222 57023983, 26893321, 64705764, 5276064
3223#endif
3224 }},
3225 },
3226 {
3227 {{
3228#if defined(BORINGSSL_CURVE25519_64BIT)
3229 1894938527423184, 1463213041477277, 474410505497651,
3230 247294963033299, 877975941029128
3231#else
3232 30169808, 28236784, 26306205, 21803573, 27814963, 7069267,
3233 7152851, 3684982, 1449224, 13082861
3234#endif
3235 }},
3236 {{
3237#if defined(BORINGSSL_CURVE25519_64BIT)
3238 207937160991127, 12966911039119, 820997788283092,
3239 1010440472205286, 1701372890140810
3240#else
3241 10342807, 3098505, 2119311, 193222, 25702612, 12233820,
3242 23697382, 15056736, 46092426, 25352431
3243#endif
3244 }},
3245 {{
3246#if defined(BORINGSSL_CURVE25519_64BIT)
3247 218882774543183, 533427444716285, 1233243976733245,
3248 435054256891319, 1509568989549904
3249#else
3250 33958735, 3261607, 22745853, 7948688, 19370557, 18376767,
3251 40936887, 6482813, 56808784, 22494330
3252#endif
3253 }},
3254 },
3255 {
3256 {{
3257#if defined(BORINGSSL_CURVE25519_64BIT)
3258 1888838535711826, 1052177758340622, 1213553803324135,
3259 169182009127332, 463374268115872
3260#else
3261 32869458, 28145887, 25609742, 15678670, 56421095, 18083360,
3262 26112420, 2521008, 44444576, 6904814
3263#endif
3264 }},
3265 {{
3266#if defined(BORINGSSL_CURVE25519_64BIT)
3267 299137589460312, 1594371588983567, 868058494039073,
3268 257771590636681, 1805012993142921
3269#else
3270 29506904, 4457497, 3377935, 23757988, 36598817, 12935079,
3271 1561737, 3841096, 38105225, 26896789
3272#endif
3273 }},
3274 {{
3275#if defined(BORINGSSL_CURVE25519_64BIT)
3276 1806842755664364, 2098896946025095, 1356630998422878,
3277 1458279806348064, 347755825962072
3278#else
3279 10340844, 26924055, 48452231, 31276001, 12621150, 20215377,
3280 30878496, 21730062, 41524312, 5181965
3281#endif
3282 }},
3283 },
3284 {
3285 {{
3286#if defined(BORINGSSL_CURVE25519_64BIT)
3287 1402334161391744, 1560083671046299, 1008585416617747,
3288 1147797150908892, 1420416683642459
3289#else
3290 25940096, 20896407, 17324187, 23247058, 58437395, 15029093,
3291 24396252, 17103510, 64786011, 21165857
3292#endif
3293 }},
3294 {{
3295#if defined(BORINGSSL_CURVE25519_64BIT)
3296 665506704253369, 273770475169863, 799236974202630,
3297 848328990077558, 1811448782807931
3298#else
3299 45343161, 9916822, 65808455, 4079497, 66080518, 11909558,
3300 1782390, 12641087, 20603771, 26992690
3301#endif
3302 }},
3303 {{
3304#if defined(BORINGSSL_CURVE25519_64BIT)
3305 1468412523962641, 771866649897997, 1931766110147832,
3306 799561180078482, 524837559150077
3307#else
3308 48226577, 21881051, 24849421, 11501709, 13161720, 28785558,
3309 1925522, 11914390, 4662781, 7820689
3310#endif
3311 }},
3312 },
3313 {
3314 {{
3315#if defined(BORINGSSL_CURVE25519_64BIT)
3316 2223212657821850, 630416247363666, 2144451165500328,
3317 816911130947791, 1024351058410032
3318#else
3319 12241050, 33128450, 8132690, 9393934, 32846760, 31954812,
3320 29749455, 12172924, 16136752, 15264020
3321#endif
3322 }},
3323 {{
3324#if defined(BORINGSSL_CURVE25519_64BIT)
3325 1266603897524861, 156378408858100, 1275649024228779,
3326 447738405888420, 253186462063095
3327#else
3328 56758909, 18873868, 58896884, 2330219, 49446315, 19008651,
3329 10658212, 6671822, 19012087, 3772772
3330#endif
3331 }},
3332 {{
3333#if defined(BORINGSSL_CURVE25519_64BIT)
3334 2022215964509735, 136144366993649, 1800716593296582,
3335 1193970603800203, 871675847064218
3336#else
3337 3753511, 30133366, 10617073, 2028709, 14841030, 26832768,
3338 28718731, 17791548, 20527770, 12988982
3339#endif
3340 }},
3341 },
3342 {
3343 {{
3344#if defined(BORINGSSL_CURVE25519_64BIT)
3345 1862751661970328, 851596246739884, 1519315554814041,
3346 1542798466547449, 1417975335901520
3347#else
3348 52286360, 27757162, 63400876, 12689772, 66209881, 22639565,
3349 42925817, 22989488, 3299664, 21129479
3350#endif
3351 }},
3352 {{
3353#if defined(BORINGSSL_CURVE25519_64BIT)
3354 1228168094547481, 334133883362894, 587567568420081,
3355 433612590281181, 603390400373205
3356#else
3357 50331161, 18301130, 57466446, 4978982, 3308785, 8755439,
3358 6943197, 6461331, 41525717, 8991217
3359#endif
3360 }},
3361 {{
3362#if defined(BORINGSSL_CURVE25519_64BIT)
3363 121893973206505, 1843345804916664, 1703118377384911,
3364 497810164760654, 101150811654673
3365#else
3366 49882601, 1816361, 65435576, 27467992, 31783887, 25378441,
3367 34160718, 7417949, 36866577, 1507264
3368#endif
3369 }},
3370 },
3371 {
3372 {{
3373#if defined(BORINGSSL_CURVE25519_64BIT)
3374 458346255946468, 290909935619344, 1452768413850679,
3375 550922875254215, 1537286854336538
3376#else
3377 29692644, 6829891, 56610064, 4334895, 20945975, 21647936,
3378 38221255, 8209390, 14606362, 22907359
3379#endif
3380 }},
3381 {{
3382#if defined(BORINGSSL_CURVE25519_64BIT)
3383 584322311184395, 380661238802118, 114839394528060,
3384 655082270500073, 2111856026034852
3385#else
3386 63627275, 8707080, 32188102, 5672294, 22096700, 1711240,
3387 34088169, 9761486, 4170404, 31469107
3388#endif
3389 }},
3390 {{
3391#if defined(BORINGSSL_CURVE25519_64BIT)
3392 996965581008991, 2148998626477022, 1012273164934654,
3393 1073876063914522, 1688031788934939
3394#else
3395 55521375, 14855944, 62981086, 32022574, 40459774, 15084045,
3396 22186522, 16002000, 52832027, 25153633
3397#endif
3398 }},
3399 },
3400 {
3401 {{
3402#if defined(BORINGSSL_CURVE25519_64BIT)
3403 923487018849600, 2085106799623355, 528082801620136,
3404 1606206360876188, 735907091712524
3405#else
3406 62297408, 13761028, 35404987, 31070512, 63796392, 7869046,
3407 59995292, 23934339, 13240844, 10965870
3408#endif
3409 }},
3410 {{
3411#if defined(BORINGSSL_CURVE25519_64BIT)
3412 1697697887804317, 1335343703828273, 831288615207040,
3413 949416685250051, 288760277392022
3414#else
3415 59366301, 25297669, 52340529, 19898171, 43876480, 12387165,
3416 4498947, 14147411, 29514390, 4302863
3417#endif
3418 }},
3419 {{
3420#if defined(BORINGSSL_CURVE25519_64BIT)
3421 1419122478109648, 1325574567803701, 602393874111094,
3422 2107893372601700, 1314159682671307
3423#else
3424 53695440, 21146572, 20757301, 19752600, 14785142, 8976368,
3425 62047588, 31410058, 17846987, 19582505
3426#endif
3427 }},
3428 },
3429 },
3430 {
3431 {
3432 {{
3433#if defined(BORINGSSL_CURVE25519_64BIT)
3434 2201150872731804, 2180241023425241, 97663456423163,
3435 1633405770247824, 848945042443986
3436#else
3437 64864412, 32799703, 62511833, 32488122, 60861691, 1455298,
3438 45461136, 24339642, 61886162, 12650266
3439#endif
3440 }},
3441 {{
3442#if defined(BORINGSSL_CURVE25519_64BIT)
3443 1173339555550611, 818605084277583, 47521504364289,
3444 924108720564965, 735423405754506
3445#else
3446 57202067, 17484121, 21134159, 12198166, 40044289, 708125,
3447 387813, 13770293, 47974538, 10958662
3448#endif
3449 }},
3450 {{
3451#if defined(BORINGSSL_CURVE25519_64BIT)
3452 830104860549448, 1886653193241086, 1600929509383773,
3453 1475051275443631, 286679780900937
3454#else
3455 22470984, 12369526, 23446014, 28113323, 45588061, 23855708,
3456 55336367, 21979976, 42025033, 4271861
3457#endif
3458 }},
3459 },
3460 {
3461 {{
3462#if defined(BORINGSSL_CURVE25519_64BIT)
3463 1577111294832995, 1030899169768747, 144900916293530,
3464 1964672592979567, 568390100955250
3465#else
3466 41939299, 23500789, 47199531, 15361594, 61124506, 2159191,
3467 75375, 29275903, 34582642, 8469672
3468#endif
3469 }},
3470 {{
3471#if defined(BORINGSSL_CURVE25519_64BIT)
3472 278388655910247, 487143369099838, 927762205508727,
3473 181017540174210, 1616886700741287
3474#else
3475 15854951, 4148314, 58214974, 7259001, 11666551, 13824734,
3476 36577666, 2697371, 24154791, 24093489
3477#endif
3478 }},
3479 {{
3480#if defined(BORINGSSL_CURVE25519_64BIT)
3481 1191033906638969, 940823957346562, 1606870843663445,
3482 861684761499847, 658674867251089
3483#else
3484 15446137, 17747788, 29759746, 14019369, 30811221, 23944241,
3485 35526855, 12840103, 24913809, 9815020
3486#endif
3487 }},
3488 },
3489 {
3490 {{
3491#if defined(BORINGSSL_CURVE25519_64BIT)
3492 1875032594195546, 1427106132796197, 724736390962158,
3493 901860512044740, 635268497268760
3494#else
3495 62399578, 27940162, 35267365, 21265538, 52665326, 10799413,
3496 58005188, 13438768, 18735128, 9466238
3497#endif
3498 }},
3499 {{
3500#if defined(BORINGSSL_CURVE25519_64BIT)
3501 622869792298357, 1903919278950367, 1922588621661629,
3502 1520574711600434, 1087100760174640
3503#else
3504 11933045, 9281483, 5081055, 28370608, 64480701, 28648802,
3505 59381042, 22658328, 44380208, 16199063
3506#endif
3507 }},
3508 {{
3509#if defined(BORINGSSL_CURVE25519_64BIT)
3510 25465949416618, 1693639527318811, 1526153382657203,
3511 125943137857169, 145276964043999
3512#else
3513 14576810, 379472, 40322331, 25237195, 37682355, 22741457,
3514 67006097, 1876698, 30801119, 2164795
3515#endif
3516 }},
3517 },
3518 {
3519 {{
3520#if defined(BORINGSSL_CURVE25519_64BIT)
3521 214739857969358, 920212862967915, 1939901550972269,
3522 1211862791775221, 85097515720120
3523#else
3524 15995086, 3199873, 13672555, 13712240, 47730029, 28906785,
3525 54027253, 18058162, 53616056, 1268051
3526#endif
3527 }},
3528 {{
3529#if defined(BORINGSSL_CURVE25519_64BIT)
3530 2006245852772938, 734762734836159, 254642929763427,
3531 1406213292755966, 239303749517686
3532#else
3533 56818250, 29895392, 63822271, 10948817, 23037027, 3794475,
3534 63638526, 20954210, 50053494, 3565903
3535#endif
3536 }},
3537 {{
3538#if defined(BORINGSSL_CURVE25519_64BIT)
3539 1619678837192149, 1919424032779215, 1357391272956794,
3540 1525634040073113, 1310226789796241
3541#else
3542 29210069, 24135095, 61189071, 28601646, 10834810, 20226706,
3543 50596761, 22733718, 39946641, 19523900
3544#endif
3545 }},
3546 },
3547 {
3548 {{
3549#if defined(BORINGSSL_CURVE25519_64BIT)
3550 1040763709762123, 1704449869235352, 605263070456329,
3551 1998838089036355, 1312142911487502
3552#else
3553 53946955, 15508587, 16663704, 25398282, 38758921, 9019122,
3554 37925443, 29785008, 2244110, 19552453
3555#endif
3556 }},
3557 {{
3558#if defined(BORINGSSL_CURVE25519_64BIT)
3559 1996723311435669, 1844342766567060, 985455700466044,
3560 1165924681400960, 311508689870129
3561#else
3562 61955989, 29753495, 57802388, 27482848, 16243068, 14684434,
3563 41435776, 17373631, 13491505, 4641841
3564#endif
3565 }},
3566 {{
3567#if defined(BORINGSSL_CURVE25519_64BIT)
3568 43173156290518, 2202883069785309, 1137787467085917,
3569 1733636061944606, 1394992037553852
3570#else
3571 10813398, 643330, 47920349, 32825515, 30292061, 16954354,
3572 27548446, 25833190, 14476988, 20787001
3573#endif
3574 }},
3575 },
3576 {
3577 {{
3578#if defined(BORINGSSL_CURVE25519_64BIT)
3579 670078326344559, 555655025059356, 471959386282438,
3580 2141455487356409, 849015953823125
3581#else
3582 10292079, 9984945, 6481436, 8279905, 59857350, 7032742,
3583 27282937, 31910173, 39196053, 12651323
3584#endif
3585 }},
3586 {{
3587#if defined(BORINGSSL_CURVE25519_64BIT)
3588 2197214573372804, 794254097241315, 1030190060513737,
3589 267632515541902, 2040478049202624
3590#else
3591 35923332, 32741048, 22271203, 11835308, 10201545, 15351028,
3592 17099662, 3988035, 21721536, 30405492
3593#endif
3594 }},
3595 {{
3596#if defined(BORINGSSL_CURVE25519_64BIT)
3597 1812516004670529, 1609256702920783, 1706897079364493,
3598 258549904773295, 996051247540686
3599#else
3600 10202177, 27008593, 35735631, 23979793, 34958221, 25434748,
3601 54202543, 3852693, 13216206, 14842320
3602#endif
3603 }},
3604 },
3605 {
3606 {{
3607#if defined(BORINGSSL_CURVE25519_64BIT)
3608 1540374301420584, 1764656898914615, 1810104162020396,
3609 923808779163088, 664390074196579
3610#else
3611 51293224, 22953365, 60569911, 26295436, 60124204, 26972653,
3612 35608016, 13765823, 39674467, 9900183
3613#endif
3614 }},
3615 {{
3616#if defined(BORINGSSL_CURVE25519_64BIT)
3617 1323460699404750, 1262690757880991, 871777133477900,
3618 1060078894988977, 1712236889662886
3619#else
3620 14465486, 19721101, 34974879, 18815558, 39665676, 12990491,
3621 33046193, 15796406, 60056998, 25514317
3622#endif
3623 }},
3624 {{
3625#if defined(BORINGSSL_CURVE25519_64BIT)
3626 1696163952057966, 1391710137550823, 608793846867416,
3627 1034391509472039, 1780770894075012
3628#else
3629 30924398, 25274812, 6359015, 20738097, 16508376, 9071735,
3630 41620263, 15413634, 9524356, 26535554
3631#endif
3632 }},
3633 },
3634 {
3635 {{
3636#if defined(BORINGSSL_CURVE25519_64BIT)
3637 1367603834210841, 2131988646583224, 890353773628144,
3638 1908908219165595, 270836895252891
3639#else
3640 12274201, 20378885, 32627640, 31769106, 6736624, 13267305,
3641 5237659, 28444949, 15663515, 4035784
3642#endif
3643 }},
3644 {{
3645#if defined(BORINGSSL_CURVE25519_64BIT)
3646 597536315471731, 40375058742586, 1942256403956049,
3647 1185484645495932, 312666282024145
3648#else
3649 64157555, 8903984, 17349946, 601635, 50676049, 28941875,
3650 53376124, 17665097, 44850385, 4659090
3651#endif
3652 }},
3653 {{
3654#if defined(BORINGSSL_CURVE25519_64BIT)
3655 1919411405316294, 1234508526402192, 1066863051997083,
3656 1008444703737597, 1348810787701552
3657#else
3658 50192582, 28601458, 36715152, 18395610, 20774811, 15897498,
3659 5736189, 15026997, 64930608, 20098846
3660#endif
3661 }},
3662 },
3663 },
3664 {
3665 {
3666 {{
3667#if defined(BORINGSSL_CURVE25519_64BIT)
3668 2102881477513865, 1570274565945361, 1573617900503708,
3669 18662635732583, 2232324307922098
3670#else
3671 58249865, 31335375, 28571665, 23398914, 66634396, 23448733,
3672 63307367, 278094, 23440562, 33264224
3673#endif
3674 }},
3675 {{
3676#if defined(BORINGSSL_CURVE25519_64BIT)
3677 1853931367696942, 8107973870707, 350214504129299,
3678 775206934582587, 1752317649166792
3679#else
3680 10226222, 27625730, 15139955, 120818, 52241171, 5218602,
3681 32937275, 11551483, 50536904, 26111567
3682#endif
3683 }},
3684 {{
3685#if defined(BORINGSSL_CURVE25519_64BIT)
3686 1417148368003523, 721357181628282, 505725498207811,
3687 373232277872983, 261634707184480
3688#else
3689 17932739, 21117156, 43069306, 10749059, 11316803, 7535897,
3690 22503767, 5561594, 63462240, 3898660
3691#endif
3692 }},
3693 },
3694 {
3695 {{
3696#if defined(BORINGSSL_CURVE25519_64BIT)
3697 2186733281493267, 2250694917008620, 1014829812957440,
3698 479998161452389, 83566193876474
3699#else
3700 7749907, 32584865, 50769132, 33537967, 42090752, 15122142,
3701 65535333, 7152529, 21831162, 1245233
3702#endif
3703 }},
3704 {{
3705#if defined(BORINGSSL_CURVE25519_64BIT)
3706 1268116367301224, 560157088142809, 802626839600444,
3707 2210189936605713, 1129993785579988
3708#else
3709 26958440, 18896406, 4314585, 8346991, 61431100, 11960071,
3710 34519569, 32934396, 36706772, 16838219
3711#endif
3712 }},
3713 {{
3714#if defined(BORINGSSL_CURVE25519_64BIT)
3715 615183387352312, 917611676109240, 878893615973325,
3716 978940963313282, 938686890583575
3717#else
3718 54942968, 9166946, 33491384, 13673479, 29787085, 13096535,
3719 6280834, 14587357, 44770839, 13987524
3720#endif
3721 }},
3722 },
3723 {
3724 {{
3725#if defined(BORINGSSL_CURVE25519_64BIT)
3726 522024729211672, 1045059315315808, 1892245413707790,
3727 1907891107684253, 2059998109500714
3728#else
3729 42758936, 7778774, 21116000, 15572597, 62275598, 28196653,
3730 62807965, 28429792, 59639082, 30696363
3731#endif
3732 }},
3733 {{
3734#if defined(BORINGSSL_CURVE25519_64BIT)
3735 1799679152208884, 912132775900387, 25967768040979,
3736 432130448590461, 274568990261996
3737#else
3738 9681908, 26817309, 35157219, 13591837, 60225043, 386949,
3739 31622781, 6439245, 52527852, 4091396
3740#endif
3741 }},
3742 {{
3743#if defined(BORINGSSL_CURVE25519_64BIT)
3744 98698809797682, 2144627600856209, 1907959298569602,
3745 811491302610148, 1262481774981493
3746#else
3747 58682418, 1470726, 38999185, 31957441, 3978626, 28430809,
3748 47486180, 12092162, 29077877, 18812444
3749#endif
3750 }},
3751 },
3752 {
3753 {{
3754#if defined(BORINGSSL_CURVE25519_64BIT)
3755 1791451399743152, 1713538728337276, 118349997257490,
3756 1882306388849954, 158235232210248
3757#else
3758 5269168, 26694706, 53878652, 25533716, 25932562, 1763552,
3759 61502754, 28048550, 47091016, 2357888
3760#endif
3761 }},
3762 {{
3763#if defined(BORINGSSL_CURVE25519_64BIT)
3764 1217809823321928, 2173947284933160, 1986927836272325,
3765 1388114931125539, 12686131160169
3766#else
3767 32264008, 18146780, 61721128, 32394338, 65017541, 29607531,
3768 23104803, 20684524, 5727337, 189038
3769#endif
3770 }},
3771 {{
3772#if defined(BORINGSSL_CURVE25519_64BIT)
3773 1650875518872272, 1136263858253897, 1732115601395988,
3774 734312880662190, 1252904681142109
3775#else
3776 14609104, 24599962, 61108297, 16931650, 52531476, 25810533,
3777 40363694, 10942114, 41219933, 18669734
3778#endif
3779 }},
3780 },
3781 {
3782 {{
3783#if defined(BORINGSSL_CURVE25519_64BIT)
3784 372986456113865, 525430915458171, 2116279931702135,
3785 501422713587815, 1907002872974925
3786#else
3787 20513481, 5557931, 51504251, 7829530, 26413943, 31535028,
3788 45729895, 7471780, 13913677, 28416557
3789#endif
3790 }},
3791 {{
3792#if defined(BORINGSSL_CURVE25519_64BIT)
3793 803147181835288, 868941437997146, 316299302989663,
3794 943495589630550, 571224287904572
3795#else
3796 41534488, 11967825, 29233242, 12948236, 60354399, 4713226,
3797 58167894, 14059179, 12878652, 8511905
3798#endif
3799 }},
3800 {{
3801#if defined(BORINGSSL_CURVE25519_64BIT)
3802 227742695588364, 1776969298667369, 628602552821802,
3803 457210915378118, 2041906378111140
3804#else
3805 41452044, 3393630, 64153449, 26478905, 64858154, 9366907,
3806 36885446, 6812973, 5568676, 30426776
3807#endif
3808 }},
3809 },
3810 {
3811 {{
3812#if defined(BORINGSSL_CURVE25519_64BIT)
3813 815000523470260, 913085688728307, 1052060118271173,
3814 1345536665214223, 541623413135555
3815#else
3816 11630004, 12144454, 2116339, 13606037, 27378885, 15676917,
3817 49700111, 20050058, 52713667, 8070817
3818#endif
3819 }},
3820 {{
3821#if defined(BORINGSSL_CURVE25519_64BIT)
3822 1580216071604333, 1877997504342444, 857147161260913,
3823 703522726778478, 2182763974211603
3824#else
3825 27117677, 23547054, 35826092, 27984343, 1127281, 12772488,
3826 37262958, 10483305, 55556115, 32525717
3827#endif
3828 }},
3829 {{
3830#if defined(BORINGSSL_CURVE25519_64BIT)
3831 1870080310923419, 71988220958492, 1783225432016732,
3832 615915287105016, 1035570475990230
3833#else
3834 10637467, 27866368, 5674780, 1072708, 40765276, 26572129,
3835 65424888, 9177852, 39615702, 15431202
3836#endif
3837 }},
3838 },
3839 {
3840 {{
3841#if defined(BORINGSSL_CURVE25519_64BIT)
3842 730987750830150, 857613889540280, 1083813157271766,
3843 1002817255970169, 1719228484436074
3844#else
3845 20525126, 10892566, 54366392, 12779442, 37615830, 16150074,
3846 38868345, 14943141, 52052074, 25618500
3847#endif
3848 }},
3849 {{
3850#if defined(BORINGSSL_CURVE25519_64BIT)
3851 377616581647602, 1581980403078513, 804044118130621,
3852 2034382823044191, 643844048472185
3853#else
3854 37084402, 5626925, 66557297, 23573344, 753597, 11981191,
3855 25244767, 30314666, 63752313, 9594023
3856#endif
3857 }},
3858 {{
3859#if defined(BORINGSSL_CURVE25519_64BIT)
3860 176957326463017, 1573744060478586, 528642225008045,
3861 1816109618372371, 1515140189765006
3862#else
3863 43356201, 2636869, 61944954, 23450613, 585133, 7877383,
3864 11345683, 27062142, 13352334, 22577348
3865#endif
3866 }},
3867 },
3868 {
3869 {{
3870#if defined(BORINGSSL_CURVE25519_64BIT)
3871 1888911448245718, 1387110895611080, 1924503794066429,
3872 1731539523700949, 2230378382645454
3873#else
3874 65177046, 28146973, 3304648, 20669563, 17015805, 28677341,
3875 37325013, 25801949, 53893326, 33235227
3876#endif
3877 }},
3878 {{
3879#if defined(BORINGSSL_CURVE25519_64BIT)
3880 443392177002051, 233793396845137, 2199506622312416,
3881 1011858706515937, 974676837063129
3882#else
3883 20239939, 6607058, 6203985, 3483793, 48721888, 32775202,
3884 46385121, 15077869, 44358105, 14523816
3885#endif
3886 }},
3887 {{
3888#if defined(BORINGSSL_CURVE25519_64BIT)
3889 1846351103143623, 1949984838808427, 671247021915253,
3890 1946756846184401, 1929296930380217
3891#else
3892 27406023, 27512775, 27423595, 29057038, 4996213, 10002360,
3893 38266833, 29008937, 36936121, 28748764
3894#endif
3895 }},
3896 },
3897 },
3898 {
3899 {
3900 {{
3901#if defined(BORINGSSL_CURVE25519_64BIT)
3902 849646212452002, 1410198775302919, 73767886183695,
3903 1641663456615812, 762256272452411
3904#else
3905 11374242, 12660715, 17861383, 21013599, 10935567, 1099227,
3906 53222788, 24462691, 39381819, 11358503
3907#endif
3908 }},
3909 {{
3910#if defined(BORINGSSL_CURVE25519_64BIT)
3911 692017667358279, 723305578826727, 1638042139863265,
3912 748219305990306, 334589200523901
3913#else
3914 54378055, 10311866, 1510375, 10778093, 64989409, 24408729,
3915 32676002, 11149336, 40985213, 4985767
3916#endif
3917 }},
3918 {{
3919#if defined(BORINGSSL_CURVE25519_64BIT)
3920 22893968530686, 2235758574399251, 1661465835630252,
3921 925707319443452, 1203475116966621
3922#else
3923 48012542, 341146, 60911379, 33315398, 15756972, 24757770,
3924 66125820, 13794113, 47694557, 17933176
3925#endif
3926 }},
3927 },
3928 {
3929 {{
3930#if defined(BORINGSSL_CURVE25519_64BIT)
3931 801299035785166, 1733292596726131, 1664508947088596,
3932 467749120991922, 1647498584535623
3933#else
3934 6490062, 11940286, 25495923, 25828072, 8668372, 24803116,
3935 3367602, 6970005, 65417799, 24549641
3936#endif
3937 }},
3938 {{
3939#if defined(BORINGSSL_CURVE25519_64BIT)
3940 903105258014366, 427141894933047, 561187017169777,
3941 1884330244401954, 1914145708422219
3942#else
3943 1656478, 13457317, 15370807, 6364910, 13605745, 8362338,
3944 47934242, 28078708, 50312267, 28522993
3945#endif
3946 }},
3947 {{
3948#if defined(BORINGSSL_CURVE25519_64BIT)
3949 1344191060517578, 1960935031767890, 1518838929955259,
3950 1781502350597190, 1564784025565682
3951#else
3952 44835530, 20030007, 67044178, 29220208, 48503227, 22632463,
3953 46537798, 26546453, 67009010, 23317098
3954#endif
3955 }},
3956 },
3957 {
3958 {{
3959#if defined(BORINGSSL_CURVE25519_64BIT)
3960 673723351748086, 1979969272514923, 1175287312495508,
3961 1187589090978666, 1881897672213940
3962#else
3963 17747446, 10039260, 19368299, 29503841, 46478228, 17513145,
3964 31992682, 17696456, 37848500, 28042460
3965#endif
3966 }},
3967 {{
3968#if defined(BORINGSSL_CURVE25519_64BIT)
3969 1917185587363432, 1098342571752737, 5935801044414,
3970 2000527662351839, 1538640296181569
3971#else
3972 31932008, 28568291, 47496481, 16366579, 22023614, 88450,
3973 11371999, 29810185, 4882241, 22927527
3974#endif
3975 }},
3976 {{
3977#if defined(BORINGSSL_CURVE25519_64BIT)
3978 2495540013192, 678856913479236, 224998292422872,
3979 219635787698590, 1972465269000940
3980#else
3981 29796488, 37186, 19818052, 10115756, 55279832, 3352735,
3982 18551198, 3272828, 61917932, 29392022
3983#endif
3984 }},
3985 },
3986 {
3987 {{
3988#if defined(BORINGSSL_CURVE25519_64BIT)
3989 271413961212179, 1353052061471651, 344711291283483,
3990 2014925838520662, 2006221033113941
3991#else
3992 12501267, 4044383, 58495907, 20162046, 34678811, 5136598,
3993 47878486, 30024734, 330069, 29895023
3994#endif
3995 }},
3996 {{
3997#if defined(BORINGSSL_CURVE25519_64BIT)
3998 194583029968109, 514316781467765, 829677956235672,
3999 1676415686873082, 810104584395840
4000#else
4001 6384877, 2899513, 17807477, 7663917, 64749976, 12363164,
4002 25366522, 24980540, 66837568, 12071498
4003#endif
4004 }},
4005 {{
4006#if defined(BORINGSSL_CURVE25519_64BIT)
4007 1980510813313589, 1948645276483975, 152063780665900,
4008 129968026417582, 256984195613935
4009#else
4010 58743349, 29511910, 25133447, 29037077, 60897836, 2265926,
4011 34339246, 1936674, 61949167, 3829362
4012#endif
4013 }},
4014 },
4015 {
4016 {{
4017#if defined(BORINGSSL_CURVE25519_64BIT)
4018 1860190562533102, 1936576191345085, 461100292705964,
4019 1811043097042830, 957486749306835
4020#else
4021 28425966, 27718999, 66531773, 28857233, 52891308, 6870929,
4022 7921550, 26986645, 26333139, 14267664
4023#endif
4024 }},
4025 {{
4026#if defined(BORINGSSL_CURVE25519_64BIT)
4027 796664815624365, 1543160838872951, 1500897791837765,
4028 1667315977988401, 599303877030711
4029#else
4030 56041645, 11871230, 27385719, 22994888, 62522949, 22365119,
4031 10004785, 24844944, 45347639, 8930323
4032#endif
4033 }},
4034 {{
4035#if defined(BORINGSSL_CURVE25519_64BIT)
4036 1151480509533204, 2136010406720455, 738796060240027,
4037 319298003765044, 1150614464349587
4038#else
4039 45911060, 17158396, 25654215, 31829035, 12282011, 11008919,
4040 1541940, 4757911, 40617363, 17145491
4041#endif
4042 }},
4043 },
4044 {
4045 {{
4046#if defined(BORINGSSL_CURVE25519_64BIT)
4047 1731069268103150, 735642447616087, 1364750481334268,
4048 417232839982871, 927108269127661
4049#else
4050 13537262, 25794942, 46504023, 10961926, 61186044, 20336366,
4051 53952279, 6217253, 51165165, 13814989
4052#endif
4053 }},
4054 {{
4055#if defined(BORINGSSL_CURVE25519_64BIT)
4056 1017222050227968, 1987716148359, 2234319589635701,
4057 621282683093392, 2132553131763026
4058#else
4059 49686272, 15157789, 18705543, 29619, 24409717, 33293956,
4060 27361680, 9257833, 65152338, 31777517
4061#endif
4062 }},
4063 {{
4064#if defined(BORINGSSL_CURVE25519_64BIT)
4065 1567828528453324, 1017807205202360, 565295260895298,
4066 829541698429100, 307243822276582
4067#else
4068 42063564, 23362465, 15366584, 15166509, 54003778, 8423555,
4069 37937324, 12361134, 48422886, 4578289
4070#endif
4071 }},
4072 },
4073 {
4074 {{
4075#if defined(BORINGSSL_CURVE25519_64BIT)
4076 249079270936248, 1501514259790706, 947909724204848,
4077 944551802437487, 552658763982480
4078#else
4079 24579768, 3711570, 1342322, 22374306, 40103728, 14124955,
4080 44564335, 14074918, 21964432, 8235257
4081#endif
4082 }},
4083 {{
4084#if defined(BORINGSSL_CURVE25519_64BIT)
4085 2089966982947227, 1854140343916181, 2151980759220007,
4086 2139781292261749, 158070445864917
4087#else
4088 60580251, 31142934, 9442965, 27628844, 12025639, 32067012,
4089 64127349, 31885225, 13006805, 2355433
4090#endif
4091 }},
4092 {{
4093#if defined(BORINGSSL_CURVE25519_64BIT)
4094 1338766321464554, 1906702607371284, 1519569445519894,
4095 115384726262267, 1393058953390992
4096#else
4097 50803946, 19949172, 60476436, 28412082, 16974358, 22643349,
4098 27202043, 1719366, 1141648, 20758196
4099#endif
4100 }},
4101 },
4102 {
4103 {{
4104#if defined(BORINGSSL_CURVE25519_64BIT)
4105 1364621558265400, 1512388234908357, 1926731583198686,
4106 2041482526432505, 920401122333774
4107#else
4108 54244920, 20334445, 58790597, 22536340, 60298718, 28710537,
4109 13475065, 30420460, 32674894, 13715045
4110#endif
4111 }},
4112 {{
4113#if defined(BORINGSSL_CURVE25519_64BIT)
4114 1884844597333588, 601480070269079, 620203503079537,
4115 1079527400117915, 1202076693132015
4116#else
4117 11423316, 28086373, 32344215, 8962751, 24989809, 9241752,
4118 53843611, 16086211, 38367983, 17912338
4119#endif
4120 }},
4121 {{
4122#if defined(BORINGSSL_CURVE25519_64BIT)
4123 840922919763324, 727955812569642, 1303406629750194,
4124 522898432152867, 294161410441865
4125#else
4126 65699196, 12530727, 60740138, 10847386, 19531186, 19422272,
4127 55399715, 7791793, 39862921, 4383346
4128#endif
4129 }},
4130 },
4131 },
4132 {
4133 {
4134 {{
4135#if defined(BORINGSSL_CURVE25519_64BIT)
4136 353760790835310, 1598361541848743, 1122905698202299,
4137 1922533590158905, 419107700666580
4138#else
4139 38137966, 5271446, 65842855, 23817442, 54653627, 16732598,
4140 62246457, 28647982, 27193556, 6245191
4141#endif
4142 }},
4143 {{
4144#if defined(BORINGSSL_CURVE25519_64BIT)
4145 359856369838236, 180914355488683, 861726472646627,
4146 218807937262986, 575626773232501
4147#else
4148 51914908, 5362277, 65324971, 2695833, 4960227, 12840725,
4149 23061898, 3260492, 22510453, 8577507
4150#endif
4151 }},
4152 {{
4153#if defined(BORINGSSL_CURVE25519_64BIT)
4154 755467689082474, 909202735047934, 730078068932500,
4155 936309075711518, 2007798262842972
4156#else
4157 54476394, 11257345, 34415870, 13548176, 66387860, 10879010,
4158 31168030, 13952092, 37537372, 29918525
4159#endif
4160 }},
4161 },
4162 {
4163 {{
4164#if defined(BORINGSSL_CURVE25519_64BIT)
4165 1609384177904073, 362745185608627, 1335318541768201,
4166 800965770436248, 547877979267412
4167#else
4168 3877321, 23981693, 32416691, 5405324, 56104457, 19897796,
4169 3759768, 11935320, 5611860, 8164018
4170#endif
4171 }},
4172 {{
4173#if defined(BORINGSSL_CURVE25519_64BIT)
4174 984339177776787, 815727786505884, 1645154585713747,
4175 1659074964378553, 1686601651984156
4176#else
4177 50833043, 14667796, 15906460, 12155291, 44997715, 24514713,
4178 32003001, 24722143, 5773084, 25132323
4179#endif
4180 }},
4181 {{
4182#if defined(BORINGSSL_CURVE25519_64BIT)
4183 1697863093781930, 599794399429786, 1104556219769607,
4184 830560774794755, 12812858601017
4185#else
4186 43320746, 25300131, 1950874, 8937633, 18686727, 16459170,
4187 66203139, 12376319, 31632953, 190926
4188#endif
4189 }},
4190 },
4191 {
4192 {{
4193#if defined(BORINGSSL_CURVE25519_64BIT)
4194 1168737550514982, 897832437380552, 463140296333799,
4195 302564600022547, 2008360505135501
4196#else
4197 42515238, 17415546, 58684872, 13378745, 14162407, 6901328,
4198 58820115, 4508563, 41767309, 29926903
4199#endif
4200 }},
4201 {{
4202#if defined(BORINGSSL_CURVE25519_64BIT)
4203 1856930662813910, 678090852002597, 1920179140755167,
4204 1259527833759868, 55540971895511
4205#else
4206 8884438, 27670423, 6023973, 10104341, 60227295, 28612898,
4207 18722940, 18768427, 65436375, 827624
4208#endif
4209 }},
4210 {{
4211#if defined(BORINGSSL_CURVE25519_64BIT)
4212 1158643631044921, 476554103621892, 178447851439725,
4213 1305025542653569, 103433927680625
4214#else
4215 34388281, 17265135, 34605316, 7101209, 13354605, 2659080,
4216 65308289, 19446395, 42230385, 1541285
4217#endif
4218 }},
4219 },
4220 {
4221 {{
4222#if defined(BORINGSSL_CURVE25519_64BIT)
4223 2176793111709008, 1576725716350391, 2009350167273523,
4224 2012390194631546, 2125297410909580
4225#else
4226 2901328, 32436745, 3880375, 23495044, 49487923, 29941650,
4227 45306746, 29986950, 20456844, 31669399
4228#endif
4229 }},
4230 {{
4231#if defined(BORINGSSL_CURVE25519_64BIT)
4232 825403285195098, 2144208587560784, 1925552004644643,
4233 1915177840006985, 1015952128947864
4234#else
4235 27019610, 12299467, 53450576, 31951197, 54247203, 28692960,
4236 47568713, 28538373, 29439640, 15138866
4237#endif
4238 }},
4239 {{
4240#if defined(BORINGSSL_CURVE25519_64BIT)
4241 1807108316634472, 1534392066433717, 347342975407218,
4242 1153820745616376, 7375003497471
4243#else
4244 21536104, 26928012, 34661045, 22864223, 44700786, 5175813,
4245 61688824, 17193268, 7779327, 109896
4246#endif
4247 }},
4248 },
4249 {
4250 {{
4251#if defined(BORINGSSL_CURVE25519_64BIT)
4252 983061001799725, 431211889901241, 2201903782961093,
4253 817393911064341, 2214616493042167
4254#else
4255 30279725, 14648750, 59063993, 6425557, 13639621, 32810923,
4256 28698389, 12180118, 23177719, 33000357
4257#endif
4258 }},
4259 {{
4260#if defined(BORINGSSL_CURVE25519_64BIT)
4261 228567918409756, 865093958780220, 358083886450556,
4262 159617889659320, 1360637926292598
4263#else
4264 26572828, 3405927, 35407164, 12890904, 47843196, 5335865,
4265 60615096, 2378491, 4439158, 20275085
4266#endif
4267 }},
4268 {{
4269#if defined(BORINGSSL_CURVE25519_64BIT)
4270 234147501399755, 2229469128637390, 2175289352258889,
4271 1397401514549353, 1885288963089922
4272#else
4273 44392139, 3489069, 57883598, 33221678, 18875721, 32414337,
4274 14819433, 20822905, 49391106, 28092994
4275#endif
4276 }},
4277 },
4278 {
4279 {{
4280#if defined(BORINGSSL_CURVE25519_64BIT)
4281 1111762412951562, 252849572507389, 1048714233823341,
4282 146111095601446, 1237505378776770
4283#else
4284 62052362, 16566550, 15953661, 3767752, 56672365, 15627059,
4285 66287910, 2177224, 8550082, 18440267
4286#endif
4287 }},
4288 {{
4289#if defined(BORINGSSL_CURVE25519_64BIT)
4290 1113790697840279, 1051167139966244, 1045930658550944,
4291 2011366241542643, 1686166824620755
4292#else
4293 48635543, 16596774, 66727204, 15663610, 22860960, 15585581,
4294 39264755, 29971692, 43848403, 25125843
4295#endif
4296 }},
4297 {{
4298#if defined(BORINGSSL_CURVE25519_64BIT)
4299 1054097349305049, 1872495070333352, 182121071220717,
4300 1064378906787311, 100273572924182
4301#else
4302 34628313, 15707274, 58902952, 27902350, 29464557, 2713815,
4303 44383727, 15860481, 45206294, 1494192
4304#endif
4305 }},
4306 },
4307 {
4308 {{
4309#if defined(BORINGSSL_CURVE25519_64BIT)
4310 1306410853171605, 1627717417672447, 50983221088417,
4311 1109249951172250, 870201789081392
4312#else
4313 47546773, 19467038, 41524991, 24254879, 13127841, 759709,
4314 21923482, 16529112, 8742704, 12967017
4315#endif
4316 }},
4317 {{
4318#if defined(BORINGSSL_CURVE25519_64BIT)
4319 104233794644221, 1548919791188248, 2224541913267306,
4320 2054909377116478, 1043803389015153
4321#else
4322 38643965, 1553204, 32536856, 23080703, 42417258, 33148257,
4323 58194238, 30620535, 37205105, 15553882
4324#endif
4325 }},
4326 {{
4327#if defined(BORINGSSL_CURVE25519_64BIT)
4328 216762189468802, 707284285441622, 190678557969733,
4329 973969342604308, 1403009538434867
4330#else
4331 21877890, 3230008, 9881174, 10539357, 62311749, 2841331,
4332 11543572, 14513274, 19375923, 20906471
4333#endif
4334 }},
4335 },
4336 {
4337 {{
4338#if defined(BORINGSSL_CURVE25519_64BIT)
4339 1279024291038477, 344776835218310, 273722096017199,
4340 1834200436811442, 634517197663804
4341#else
4342 8832269, 19058947, 13253510, 5137575, 5037871, 4078777,
4343 24880818, 27331716, 2862652, 9455043
4344#endif
4345 }},
4346 {{
4347#if defined(BORINGSSL_CURVE25519_64BIT)
4348 343805853118335, 1302216857414201, 566872543223541,
4349 2051138939539004, 321428858384280
4350#else
4351 29306751, 5123106, 20245049, 19404543, 9592565, 8447059,
4352 65031740, 30564351, 15511448, 4789663
4353#endif
4354 }},
4355 {{
4356#if defined(BORINGSSL_CURVE25519_64BIT)
4357 470067171324852, 1618629234173951, 2000092177515639,
4358 7307679772789, 1117521120249968
4359#else
4360 46429108, 7004546, 8824831, 24119455, 63063159, 29803695,
4361 61354101, 108892, 23513200, 16652362
4362#endif
4363 }},
4364 },
4365 },
4366 {
4367 {
4368 {{
4369#if defined(BORINGSSL_CURVE25519_64BIT)
4370 278151578291475, 1810282338562947, 1771599529530998,
4371 1383659409671631, 685373414471841
4372#else
4373 33852691, 4144781, 62632835, 26975308, 10770038, 26398890,
4374 60458447, 20618131, 48789665, 10212859
4375#endif
4376 }},
4377 {{
4378#if defined(BORINGSSL_CURVE25519_64BIT)
4379 577009397403102, 1791440261786291, 2177643735971638,
4380 174546149911960, 1412505077782326
4381#else
4382 2756062, 8598110, 7383731, 26694540, 22312758, 32449420,
4383 21179800, 2600940, 57120566, 21047965
4384#endif
4385 }},
4386 {{
4387#if defined(BORINGSSL_CURVE25519_64BIT)
4388 893719721537457, 1201282458018197, 1522349501711173,
4389 58011597740583, 1130406465887139
4390#else
4391 42463153, 13317461, 36659605, 17900503, 21365573, 22684775,
4392 11344423, 864440, 64609187, 16844368
4393#endif
4394 }},
4395 },
4396 {
4397 {{
4398#if defined(BORINGSSL_CURVE25519_64BIT)
4399 412607348255453, 1280455764199780, 2233277987330768,
4400 14180080401665, 331584698417165
4401#else
4402 40676061, 6148328, 49924452, 19080277, 18782928, 33278435,
4403 44547329, 211299, 2719757, 4940997
4404#endif
4405 }},
4406 {{
4407#if defined(BORINGSSL_CURVE25519_64BIT)
4408 262483770854550, 990511055108216, 526885552771698,
4409 571664396646158, 354086190278723
4410#else
4411 65784982, 3911312, 60160120, 14759764, 37081714, 7851206,
4412 21690126, 8518463, 26699843, 5276295
4413#endif
4414 }},
4415 {{
4416#if defined(BORINGSSL_CURVE25519_64BIT)
4417 1820352417585487, 24495617171480, 1547899057533253,
4418 10041836186225, 480457105094042
4419#else
4420 53958991, 27125364, 9396248, 365013, 24703301, 23065493,
4421 1321585, 149635, 51656090, 7159368
4422#endif
4423 }},
4424 },
4425 {
4426 {{
4427#if defined(BORINGSSL_CURVE25519_64BIT)
4428 2023310314989233, 637905337525881, 2106474638900687,
4429 557820711084072, 1687858215057826
4430#else
4431 9987761, 30149673, 17507961, 9505530, 9731535, 31388918,
4432 22356008, 8312176, 22477218, 25151047
4433#endif
4434 }},
4435 {{
4436#if defined(BORINGSSL_CURVE25519_64BIT)
4437 1144168702609745, 604444390410187, 1544541121756138,
4438 1925315550126027, 626401428894002
4439#else
4440 18155857, 17049442, 19744715, 9006923, 15154154, 23015456,
4441 24256459, 28689437, 44560690, 9334108
4442#endif
4443 }},
4444 {{
4445#if defined(BORINGSSL_CURVE25519_64BIT)
4446 1922168257351784, 2018674099908659, 1776454117494445,
4447 956539191509034, 36031129147635
4448#else
4449 2986088, 28642539, 10776627, 30080588, 10620589, 26471229,
4450 45695018, 14253544, 44521715, 536905
4451#endif
4452 }},
4453 },
4454 {
4455 {{
4456#if defined(BORINGSSL_CURVE25519_64BIT)
4457 544644538748041, 1039872944430374, 876750409130610,
4458 710657711326551, 1216952687484972
4459#else
4460 4377737, 8115836, 24567078, 15495314, 11625074, 13064599,
4461 7390551, 10589625, 10838060, 18134008
4462#endif
4463 }},
4464 {{
4465#if defined(BORINGSSL_CURVE25519_64BIT)
4466 58242421545916, 2035812695641843, 2118491866122923,
4467 1191684463816273, 46921517454099
4468#else
4469 47766460, 867879, 9277171, 30335973, 52677291, 31567988,
4470 19295825, 17757482, 6378259, 699185
4471#endif
4472 }},
4473 {{
4474#if defined(BORINGSSL_CURVE25519_64BIT)
4475 272268252444639, 1374166457774292, 2230115177009552,
4476 1053149803909880, 1354288411641016
4477#else
4478 7895007, 4057113, 60027092, 20476675, 49222032, 33231305,
4479 66392824, 15693154, 62063800, 20180469
4480#endif
4481 }},
4482 },
4483 {
4484 {{
4485#if defined(BORINGSSL_CURVE25519_64BIT)
4486 1857910905368338, 1754729879288912, 885945464109877,
4487 1516096106802166, 1602902393369811
4488#else
4489 59371282, 27685029, 52542544, 26147512, 11385653, 13201616,
4490 31730678, 22591592, 63190227, 23885106
4491#endif
4492 }},
4493 {{
4494#if defined(BORINGSSL_CURVE25519_64BIT)
4495 1193437069800958, 901107149704790, 999672920611411,
4496 477584824802207, 364239578697845
4497#else
4498 10188286, 17783598, 59772502, 13427542, 22223443, 14896287,
4499 30743455, 7116568, 45322357, 5427592
4500#endif
4501 }},
4502 {{
4503#if defined(BORINGSSL_CURVE25519_64BIT)
4504 886299989548838, 1538292895758047, 1590564179491896,
4505 1944527126709657, 837344427345298
4506#else
4507 696102, 13206899, 27047647, 22922350, 15285304, 23701253,
4508 10798489, 28975712, 19236242, 12477404
4509#endif
4510 }},
4511 },
4512 {
4513 {{
4514#if defined(BORINGSSL_CURVE25519_64BIT)
4515 754558365378305, 1712186480903618, 1703656826337531,
4516 750310918489786, 518996040250900
4517#else
4518 55879425, 11243795, 50054594, 25513566, 66320635, 25386464,
4519 63211194, 11180503, 43939348, 7733643
4520#endif
4521 }},
4522 {{
4523#if defined(BORINGSSL_CURVE25519_64BIT)
4524 1309847803895382, 1462151862813074, 211370866671570,
4525 1544595152703681, 1027691798954090
4526#else
4527 17800790, 19518253, 40108434, 21787760, 23887826, 3149671,
4528 23466177, 23016261, 10322026, 15313801
4529#endif
4530 }},
4531 {{
4532#if defined(BORINGSSL_CURVE25519_64BIT)
4533 803217563745370, 1884799722343599, 1357706345069218,
4534 2244955901722095, 730869460037413
4535#else
4536 26246234, 11968874, 32263343, 28085704, 6830754, 20231401,
4537 51314159, 33452449, 42659621, 10890803
4538#endif
4539 }},
4540 },
4541 {
4542 {{
4543#if defined(BORINGSSL_CURVE25519_64BIT)
4544 689299471295966, 1831210565161071, 1375187341585438,
4545 1106284977546171, 1893781834054269
4546#else
4547 35743198, 10271362, 54448239, 27287163, 16690206, 20491888,
4548 52126651, 16484930, 25180797, 28219548
4549#endif
4550 }},
4551 {{
4552#if defined(BORINGSSL_CURVE25519_64BIT)
4553 696351368613042, 1494385251239250, 738037133616932,
4554 636385507851544, 927483222611406
4555#else
4556 66522290, 10376443, 34522450, 22268075, 19801892, 10997610,
4557 2276632, 9482883, 316878, 13820577
4558#endif
4559 }},
4560 {{
4561#if defined(BORINGSSL_CURVE25519_64BIT)
4562 1949114198209333, 1104419699537997, 783495707664463,
4563 1747473107602770, 2002634765788641
4564#else
4565 57226037, 29044064, 64993357, 16457135, 56008783, 11674995,
4566 30756178, 26039378, 30696929, 29841583
4567#endif
4568 }},
4569 },
4570 {
4571 {{
4572#if defined(BORINGSSL_CURVE25519_64BIT)
4573 1607325776830197, 530883941415333, 1451089452727895,
4574 1581691157083423, 496100432831154
4575#else
4576 32988917, 23951020, 12499365, 7910787, 56491607, 21622917,
4577 59766047, 23569034, 34759346, 7392472
4578#endif
4579 }},
4580 {{
4581#if defined(BORINGSSL_CURVE25519_64BIT)
4582 1068900648804224, 2006891997072550, 1134049269345549,
4583 1638760646180091, 2055396084625778
4584#else
4585 58253184, 15927860, 9866406, 29905021, 64711949, 16898650,
4586 36699387, 24419436, 25112946, 30627788
4587#endif
4588 }},
4589 {{
4590#if defined(BORINGSSL_CURVE25519_64BIT)
4591 2222475519314561, 1870703901472013, 1884051508440561,
4592 1344072275216753, 1318025677799069
4593#else
4594 64604801, 33117465, 25621773, 27875660, 15085041, 28074555,
4595 42223985, 20028237, 5537437, 19640113
4596#endif
4597 }},
4598 },
4599 },
4600 {
4601 {
4602 {{
4603#if defined(BORINGSSL_CURVE25519_64BIT)
4604 155711679280656, 681100400509288, 389811735211209,
4605 2135723811340709, 408733211204125
4606#else
4607 55883280, 2320284, 57524584, 10149186, 33664201, 5808647,
4608 52232613, 31824764, 31234589, 6090599
4609#endif
4610 }},
4611 {{
4612#if defined(BORINGSSL_CURVE25519_64BIT)
4613 7813206966729, 194444201427550, 2071405409526507,
4614 1065605076176312, 1645486789731291
4615#else
4616 57475529, 116425, 26083934, 2897444, 60744427, 30866345, 609720,
4617 15878753, 60138459, 24519663
4618#endif
4619 }},
4620 {{
4621#if defined(BORINGSSL_CURVE25519_64BIT)
4622 16625790644959, 1647648827778410, 1579910185572704,
4623 436452271048548, 121070048451050
4624#else
4625 39351007, 247743, 51914090, 24551880, 23288160, 23542496,
4626 43239268, 6503645, 20650474, 1804084
4627#endif
4628 }},
4629 },
4630 {
4631 {{
4632#if defined(BORINGSSL_CURVE25519_64BIT)
4633 1037263028552531, 568385780377829, 297953104144430,
4634 1558584511931211, 2238221839292471
4635#else
4636 39519059, 15456423, 8972517, 8469608, 15640622, 4439847,
4637 3121995, 23224719, 27842615, 33352104
4638#endif
4639 }},
4640 {{
4641#if defined(BORINGSSL_CURVE25519_64BIT)
4642 190565267697443, 672855706028058, 338796554369226,
4643 337687268493904, 853246848691734
4644#else
4645 51801891, 2839643, 22530074, 10026331, 4602058, 5048462,
4646 28248656, 5031932, 55733782, 12714368
4647#endif
4648 }},
4649 {{
4650#if defined(BORINGSSL_CURVE25519_64BIT)
4651 1763863028400139, 766498079432444, 1321118624818005,
4652 69494294452268, 858786744165651
4653#else
4654 20807691, 26283607, 29286140, 11421711, 39232341, 19686201,
4655 45881388, 1035545, 47375635, 12796919
4656#endif
4657 }},
4658 },
4659 {
4660 {{
4661#if defined(BORINGSSL_CURVE25519_64BIT)
4662 1292056768563024, 1456632109855638, 1100631247050184,
4663 1386133165675321, 1232898350193752
4664#else
4665 12076880, 19253146, 58323862, 21705509, 42096072, 16400683,
4666 49517369, 20654993, 3480664, 18371617
4667#endif
4668 }},
4669 {{
4670#if defined(BORINGSSL_CURVE25519_64BIT)
4671 366253102478259, 525676242508811, 1449610995265438,
4672 1183300845322183, 185960306491545
4673#else
4674 34747315, 5457596, 28548107, 7833186, 7303070, 21600887,
4675 42745799, 17632556, 33734809, 2771024
4676#endif
4677 }},
4678 {{
4679#if defined(BORINGSSL_CURVE25519_64BIT)
4680 28315355815982, 460422265558930, 1799675876678724,
4681 1969256312504498, 1051823843138725
4682#else
4683 45719598, 421931, 26597266, 6860826, 22486084, 26817260,
4684 49971378, 29344205, 42556581, 15673396
4685#endif
4686 }},
4687 },
4688 {
4689 {{
4690#if defined(BORINGSSL_CURVE25519_64BIT)
4691 156914999361983, 1606148405719949, 1665208410108430,
4692 317643278692271, 1383783705665320
4693#else
4694 46924223, 2338215, 19788685, 23933476, 63107598, 24813538,
4695 46837679, 4733253, 3727144, 20619984
4696#endif
4697 }},
4698 {{
4699#if defined(BORINGSSL_CURVE25519_64BIT)
4700 54684536365732, 2210010038536222, 1194984798155308,
4701 535239027773705, 1516355079301361
4702#else
4703 6120100, 814863, 55314462, 32931715, 6812204, 17806661, 2019593,
4704 7975683, 31123697, 22595451
4705#endif
4706 }},
4707 {{
4708#if defined(BORINGSSL_CURVE25519_64BIT)
4709 1484387703771650, 198537510937949, 2186282186359116,
4710 617687444857508, 647477376402122
4711#else
4712 30069250, 22119100, 30434653, 2958439, 18399564, 32578143,
4713 12296868, 9204260, 50676426, 9648164
4714#endif
4715 }},
4716 },
4717 {
4718 {{
4719#if defined(BORINGSSL_CURVE25519_64BIT)
4720 2147715541830533, 500032538445817, 646380016884826,
4721 352227855331122, 1488268620408052
4722#else
4723 32705413, 32003455, 30705657, 7451065, 55303258, 9631812,
4724 3305266, 5248604, 41100532, 22176930
4725#endif
4726 }},
4727 {{
4728#if defined(BORINGSSL_CURVE25519_64BIT)
4729 159386186465542, 1877626593362941, 618737197060512,
4730 1026674284330807, 1158121760792685
4731#else
4732 17219846, 2375039, 35537917, 27978816, 47649184, 9219902,
4733 294711, 15298639, 2662509, 17257359
4734#endif
4735 }},
4736 {{
4737#if defined(BORINGSSL_CURVE25519_64BIT)
4738 1744544377739822, 1964054180355661, 1685781755873170,
4739 2169740670377448, 1286112621104591
4740#else
4741 65935918, 25995736, 62742093, 29266687, 45762450, 25120105,
4742 32087528, 32331655, 32247247, 19164571
4743#endif
4744 }},
4745 },
4746 {
4747 {{
4748#if defined(BORINGSSL_CURVE25519_64BIT)
4749 81977249784993, 1667943117713086, 1668983819634866,
4750 1605016835177615, 1353960708075544
4751#else
4752 14312609, 1221556, 17395390, 24854289, 62163122, 24869796,
4753 38911119, 23916614, 51081240, 20175586
4754#endif
4755 }},
4756 {{
4757#if defined(BORINGSSL_CURVE25519_64BIT)
4758 1602253788689063, 439542044889886, 2220348297664483,
4759 657877410752869, 157451572512238
4760#else
4761 65680039, 23875441, 57873182, 6549686, 59725795, 33085767,
4762 23046501, 9803137, 17597934, 2346211
4763#endif
4764 }},
4765 {{
4766#if defined(BORINGSSL_CURVE25519_64BIT)
4767 1029287186166717, 65860128430192, 525298368814832,
4768 1491902500801986, 1461064796385400
4769#else
4770 18510781, 15337574, 26171504, 981392, 44867312, 7827555,
4771 43617730, 22231079, 3059832, 21771562
4772#endif
4773 }},
4774 },
4775 {
4776 {{
4777#if defined(BORINGSSL_CURVE25519_64BIT)
4778 408216988729246, 2121095722306989, 913562102267595,
4779 1879708920318308, 241061448436731
4780#else
4781 10141598, 6082907, 17829293, 31606789, 9830091, 13613136,
4782 41552228, 28009845, 33606651, 3592095
4783#endif
4784 }},
4785 {{
4786#if defined(BORINGSSL_CURVE25519_64BIT)
4787 1185483484383269, 1356339572588553, 584932367316448,
4788 102132779946470, 1792922621116791
4789#else
4790 33114149, 17665080, 40583177, 20211034, 33076704, 8716171,
4791 1151462, 1521897, 66126199, 26716628
4792#endif
4793 }},
4794 {{
4795#if defined(BORINGSSL_CURVE25519_64BIT)
4796 1966196870701923, 2230044620318636, 1425982460745905,
4797 261167817826569, 46517743394330
4798#else
4799 34169699, 29298616, 23947180, 33230254, 34035889, 21248794,
4800 50471177, 3891703, 26353178, 693168
4801#endif
4802 }},
4803 },
4804 {
4805 {{
4806#if defined(BORINGSSL_CURVE25519_64BIT)
4807 107077591595359, 884959942172345, 27306869797400,
4808 2224911448949390, 964352058245223
4809#else
4810 30374239, 1595580, 50224825, 13186930, 4600344, 406904, 9585294,
4811 33153764, 31375463, 14369965
4812#endif
4813 }},
4814 {{
4815#if defined(BORINGSSL_CURVE25519_64BIT)
4816 1730194207717538, 431790042319772, 1831515233279467,
4817 1372080552768581, 1074513929381760
4818#else
4819 52738210, 25781902, 1510300, 6434173, 48324075, 27291703,
4820 32732229, 20445593, 17901440, 16011505
4821#endif
4822 }},
4823 {{
4824#if defined(BORINGSSL_CURVE25519_64BIT)
4825 1450880638731607, 1019861580989005, 1229729455116861,
4826 1174945729836143, 826083146840706
4827#else
4828 18171223, 21619806, 54608461, 15197121, 56070717, 18324396,
4829 47936623, 17508055, 8764034, 12309598
4830#endif
4831 }},
4832 },
4833 },
4834 {
4835 {
4836 {{
4837#if defined(BORINGSSL_CURVE25519_64BIT)
4838 1899935429242705, 1602068751520477, 940583196550370,
4839 82431069053859, 1540863155745696
4840#else
4841 5975889, 28311244, 47649501, 23872684, 55567586, 14015781,
4842 43443107, 1228318, 17544096, 22960650
4843#endif
4844 }},
4845 {{
4846#if defined(BORINGSSL_CURVE25519_64BIT)
4847 2136688454840028, 2099509000964294, 1690800495246475,
4848 1217643678575476, 828720645084218
4849#else
4850 5811932, 31839139, 3442886, 31285122, 48741515, 25194890,
4851 49064820, 18144304, 61543482, 12348899
4852#endif
4853 }},
4854 {{
4855#if defined(BORINGSSL_CURVE25519_64BIT)
4856 765548025667841, 462473984016099, 998061409979798,
4857 546353034089527, 2212508972466858
4858#else
4859 35709185, 11407554, 25755363, 6891399, 63851926, 14872273,
4860 42259511, 8141294, 56476330, 32968952
4861#endif
4862 }},
4863 },
4864 {
4865 {{
4866#if defined(BORINGSSL_CURVE25519_64BIT)
4867 46575283771160, 892570971573071, 1281983193144090,
4868 1491520128287375, 75847005908304
4869#else
4870 54433560, 694025, 62032719, 13300343, 14015258, 19103038,
4871 57410191, 22225381, 30944592, 1130208
4872#endif
4873 }},
4874 {{
4875#if defined(BORINGSSL_CURVE25519_64BIT)
4876 1801436127943107, 1734436817907890, 1268728090345068,
4877 167003097070711, 2233597765834956
4878#else
4879 8247747, 26843490, 40546482, 25845122, 52706924, 18905521,
4880 4652151, 2488540, 23550156, 33283200
4881#endif
4882 }},
4883 {{
4884#if defined(BORINGSSL_CURVE25519_64BIT)
4885 1997562060465113, 1048700225534011, 7615603985628,
4886 1855310849546841, 2242557647635213
4887#else
4888 17294297, 29765994, 7026747, 15626851, 22990044, 113481,
4889 2267737, 27646286, 66700045, 33416712
4890#endif
4891 }},
4892 },
4893 {
4894 {{
4895#if defined(BORINGSSL_CURVE25519_64BIT)
4896 1161017320376250, 492624580169043, 2169815802355237,
4897 976496781732542, 1770879511019629
4898#else
4899 16091066, 17300506, 18599251, 7340678, 2137637, 32332775,
4900 63744702, 14550935, 3260525, 26388161
4901#endif
4902 }},
4903 {{
4904#if defined(BORINGSSL_CURVE25519_64BIT)
4905 1357044908364776, 729130645262438, 1762469072918979,
4906 1365633616878458, 181282906404941
4907#else
4908 62198760, 20221544, 18550886, 10864893, 50649539, 26262835,
4909 44079994, 20349526, 54360141, 2701325
4910#endif
4911 }},
4912 {{
4913#if defined(BORINGSSL_CURVE25519_64BIT)
4914 1080413443139865, 1155205815510486, 1848782073549786,
4915 622566975152580, 124965574467971
4916#else
4917 58534169, 16099414, 4629974, 17213908, 46322650, 27548999,
4918 57090500, 9276970, 11329923, 1862132
4919#endif
4920 }},
4921 },
4922 {
4923 {{
4924#if defined(BORINGSSL_CURVE25519_64BIT)
4925 1184526762066993, 247622751762817, 692129017206356,
4926 820018689412496, 2188697339828085
4927#else
4928 14763057, 17650824, 36190593, 3689866, 3511892, 10313526,
4929 45157776, 12219230, 58070901, 32614131
4930#endif
4931 }},
4932 {{
4933#if defined(BORINGSSL_CURVE25519_64BIT)
4934 2020536369003019, 202261491735136, 1053169669150884,
4935 2056531979272544, 778165514694311
4936#else
4937 8894987, 30108338, 6150752, 3013931, 301220, 15693451, 35127648,
4938 30644714, 51670695, 11595569
4939#endif
4940 }},
4941 {{
4942#if defined(BORINGSSL_CURVE25519_64BIT)
4943 237404399610207, 1308324858405118, 1229680749538400,
4944 720131409105291, 1958958863624906
4945#else
4946 15214943, 3537601, 40870142, 19495559, 4418656, 18323671,
4947 13947275, 10730794, 53619402, 29190761
4948#endif
4949 }},
4950 },
4951 {
4952 {{
4953#if defined(BORINGSSL_CURVE25519_64BIT)
4954 515583508038846, 17656978857189, 1717918437373989,
4955 1568052070792483, 46975803123923
4956#else
4957 64570558, 7682792, 32759013, 263109, 37124133, 25598979,
4958 44776739, 23365796, 977107, 699994
4959#endif
4960 }},
4961 {{
4962#if defined(BORINGSSL_CURVE25519_64BIT)
4963 281527309158085, 36970532401524, 866906920877543,
4964 2222282602952734, 1289598729589882
4965#else
4966 54642373, 4195083, 57897332, 550903, 51543527, 12917919,
4967 19118110, 33114591, 36574330, 19216518
4968#endif
4969 }},
4970 {{
4971#if defined(BORINGSSL_CURVE25519_64BIT)
4972 1278207464902042, 494742455008756, 1262082121427081,
4973 1577236621659884, 1888786707293291
4974#else
4975 31788442, 19046775, 4799988, 7372237, 8808585, 18806489,
4976 9408236, 23502657, 12493931, 28145115
4977#endif
4978 }},
4979 },
4980 {
4981 {{
4982#if defined(BORINGSSL_CURVE25519_64BIT)
4983 353042527954210, 1830056151907359, 1111731275799225,
4984 174960955838824, 404312815582675
4985#else
4986 41428258, 5260743, 47873055, 27269961, 63412921, 16566086,
4987 27218280, 2607121, 29375955, 6024730
4988#endif
4989 }},
4990 {{
4991#if defined(BORINGSSL_CURVE25519_64BIT)
4992 2064251142068628, 1666421603389706, 1419271365315441,
4993 468767774902855, 191535130366583
4994#else
4995 842132, 30759739, 62345482, 24831616, 26332017, 21148791,
4996 11831879, 6985184, 57168503, 2854095
4997#endif
4998 }},
4999 {{
5000#if defined(BORINGSSL_CURVE25519_64BIT)
5001 1716987058588002, 1859366439773457, 1767194234188234,
5002 64476199777924, 1117233614485261
5003#else
5004 62261602, 25585100, 2516241, 27706719, 9695690, 26333246,
5005 16512644, 960770, 12121869, 16648078
5006#endif
5007 }},
5008 },
5009 {
5010 {{
5011#if defined(BORINGSSL_CURVE25519_64BIT)
5012 984292135520292, 135138246951259, 2220652137473167,
5013 1722843421165029, 190482558012909
5014#else
5015 51890212, 14667095, 53772635, 2013716, 30598287, 33090295,
5016 35603941, 25672367, 20237805, 2838411
5017#endif
5018 }},
5019 {{
5020#if defined(BORINGSSL_CURVE25519_64BIT)
5021 298845952651262, 1166086588952562, 1179896526238434,
5022 1347812759398693, 1412945390096208
5023#else
5024 47820798, 4453151, 15298546, 17376044, 22115042, 17581828,
5025 12544293, 20083975, 1068880, 21054527
5026#endif
5027 }},
5028 {{
5029#if defined(BORINGSSL_CURVE25519_64BIT)
5030 1143239552672925, 906436640714209, 2177000572812152,
5031 2075299936108548, 325186347798433
5032#else
5033 57549981, 17035596, 33238497, 13506958, 30505848, 32439836,
5034 58621956, 30924378, 12521377, 4845654
5035#endif
5036 }},
5037 },
5038 {
5039 {{
5040#if defined(BORINGSSL_CURVE25519_64BIT)
5041 721024854374772, 684487861263316, 1373438744094159,
5042 2193186935276995, 1387043709851261
5043#else
5044 38910324, 10744107, 64150484, 10199663, 7759311, 20465832,
5045 3409347, 32681032, 60626557, 20668561
5046#endif
5047 }},
5048 {{
5049#if defined(BORINGSSL_CURVE25519_64BIT)
5050 418098668140962, 715065997721283, 1471916138376055,
5051 2168570337288357, 937812682637044
5052#else
5053 43547042, 6230155, 46726851, 10655313, 43068279, 21933259,
5054 10477733, 32314216, 63995636, 13974497
5055#endif
5056 }},
5057 {{
5058#if defined(BORINGSSL_CURVE25519_64BIT)
5059 1043584187226485, 2143395746619356, 2209558562919611,
5060 482427979307092, 847556718384018
5061#else
5062 12966261, 15550616, 35069916, 31939085, 21025979, 32924988,
5063 5642324, 7188737, 18895762, 12629579
5064#endif
5065 }},
5066 },
5067 },
5068 {
5069 {
5070 {{
5071#if defined(BORINGSSL_CURVE25519_64BIT)
5072 1248731221520759, 1465200936117687, 540803492710140,
5073 52978634680892, 261434490176109
5074#else
5075 14741879, 18607545, 22177207, 21833195, 1279740, 8058600,
5076 11758140, 789443, 32195181, 3895677
5077#endif
5078 }},
5079 {{
5080#if defined(BORINGSSL_CURVE25519_64BIT)
5081 1057329623869501, 620334067429122, 461700859268034,
5082 2012481616501857, 297268569108938
5083#else
5084 10758205, 15755439, 62598914, 9243697, 62229442, 6879878,
5085 64904289, 29988312, 58126794, 4429646
5086#endif
5087 }},
5088 {{
5089#if defined(BORINGSSL_CURVE25519_64BIT)
5090 1055352180870759, 1553151421852298, 1510903185371259,
5091 1470458349428097, 1226259419062731
5092#else
5093 64654951, 15725972, 46672522, 23143759, 61304955, 22514211,
5094 59972993, 21911536, 18047435, 18272689
5095#endif
5096 }},
5097 },
5098 {
5099 {{
5100#if defined(BORINGSSL_CURVE25519_64BIT)
5101 1492988790301668, 790326625573331, 1190107028409745,
5102 1389394752159193, 1620408196604194
5103#else
5104 41935844, 22247266, 29759955, 11776784, 44846481, 17733976,
5105 10993113, 20703595, 49488162, 24145963
5106#endif
5107 }},
5108 {{
5109#if defined(BORINGSSL_CURVE25519_64BIT)
5110 47000654413729, 1004754424173864, 1868044813557703,
5111 173236934059409, 588771199737015
5112#else
5113 21987233, 700364, 42603816, 14972007, 59334599, 27836036,
5114 32155025, 2581431, 37149879, 8773374
5115#endif
5116 }},
5117 {{
5118#if defined(BORINGSSL_CURVE25519_64BIT)
5119 30498470091663, 1082245510489825, 576771653181956,
5120 806509986132686, 1317634017056939
5121#else
5122 41540495, 454462, 53896929, 16126714, 25240068, 8594567,
5123 20656846, 12017935, 59234475, 19634276
5124#endif
5125 }},
5126 },
5127 {
5128 {{
5129#if defined(BORINGSSL_CURVE25519_64BIT)
5130 420308055751555, 1493354863316002, 165206721528088,
5131 1884845694919786, 2065456951573059
5132#else
5133 6028163, 6263078, 36097058, 22252721, 66289944, 2461771,
5134 35267690, 28086389, 65387075, 30777706
5135#endif
5136 }},
5137 {{
5138#if defined(BORINGSSL_CURVE25519_64BIT)
5139 1115636332012334, 1854340990964155, 83792697369514,
5140 1972177451994021, 457455116057587
5141#else
5142 54829870, 16624276, 987579, 27631834, 32908202, 1248608,
5143 7719845, 29387734, 28408819, 6816612
5144#endif
5145 }},
5146 {{
5147#if defined(BORINGSSL_CURVE25519_64BIT)
5148 1698968457310898, 1435137169051090, 1083661677032510,
5149 938363267483709, 340103887207182
5150#else
5151 56750770, 25316602, 19549650, 21385210, 22082622, 16147817,
5152 20613181, 13982702, 56769294, 5067942
5153#endif
5154 }},
5155 },
5156 {
5157 {{
5158#if defined(BORINGSSL_CURVE25519_64BIT)
5159 1995325341336574, 911500251774648, 164010755403692,
5160 855378419194762, 1573601397528842
5161#else
5162 36602878, 29732664, 12074680, 13582412, 47230892, 2443950,
5163 47389578, 12746131, 5331210, 23448488
5164#endif
5165 }},
5166 {{
5167#if defined(BORINGSSL_CURVE25519_64BIT)
5168 241719380661528, 310028521317150, 1215881323380194,
5169 1408214976493624, 2141142156467363
5170#else
5171 30528792, 3601899, 65151774, 4619784, 39747042, 18118043,
5172 24180792, 20984038, 27679907, 31905504
5173#endif
5174 }},
5175 {{
5176#if defined(BORINGSSL_CURVE25519_64BIT)
5177 1315157046163473, 727368447885818, 1363466668108618,
5178 1668921439990361, 1398483384337907
5179#else
5180 9402385, 19597367, 32834042, 10838634, 40528714, 20317236,
5181 26653273, 24868867, 22611443, 20839026
5182#endif
5183 }},
5184 },
5185 {
5186 {{
5187#if defined(BORINGSSL_CURVE25519_64BIT)
5188 75029678299646, 1015388206460473, 1849729037055212,
5189 1939814616452984, 444404230394954
5190#else
5191 22190590, 1118029, 22736441, 15130463, 36648172, 27563110,
5192 19189624, 28905490, 4854858, 6622139
5193#endif
5194 }},
5195 {{
5196#if defined(BORINGSSL_CURVE25519_64BIT)
5197 2053597130993710, 2024431685856332, 2233550957004860,
5198 2012407275509545, 872546993104440
5199#else
5200 58798126, 30600981, 58846284, 30166382, 56707132, 33282502,
5201 13424425, 29987205, 26404408, 13001963
5202#endif
5203 }},
5204 {{
5205#if defined(BORINGSSL_CURVE25519_64BIT)
5206 1217269667678610, 599909351968693, 1390077048548598,
5207 1471879360694802, 739586172317596
5208#else
5209 35867026, 18138731, 64114613, 8939345, 11562230, 20713762,
5210 41044498, 21932711, 51703708, 11020692
5211#endif
5212 }},
5213 },
5214 {
5215 {{
5216#if defined(BORINGSSL_CURVE25519_64BIT)
5217 1718318639380794, 1560510726633958, 904462881159922,
5218 1418028351780052, 94404349451937
5219#else
5220 1866042, 25604943, 59210214, 23253421, 12483314, 13477547,
5221 3175636, 21130269, 28761761, 1406734
5222#endif
5223 }},
5224 {{
5225#if defined(BORINGSSL_CURVE25519_64BIT)
5226 2132502667405250, 214379346175414, 1502748313768060,
5227 1960071701057800, 1353971822643138
5228#else
5229 66660290, 31776765, 13018550, 3194501, 57528444, 22392694,
5230 24760584, 29207344, 25577410, 20175752
5231#endif
5232 }},
5233 {{
5234#if defined(BORINGSSL_CURVE25519_64BIT)
5235 319394212043702, 2127459436033571, 717646691535162,
5236 663366796076914, 318459064945314
5237#else
5238 42818486, 4759344, 66418211, 31701615, 2066746, 10693769,
5239 37513074, 9884935, 57739938, 4745409
5240#endif
5241 }},
5242 },
5243 {
5244 {{
5245#if defined(BORINGSSL_CURVE25519_64BIT)
5246 405989424923593, 1960452633787083, 667349034401665,
5247 1492674260767112, 1451061489880787
5248#else
5249 57967561, 6049713, 47577803, 29213020, 35848065, 9944275,
5250 51646856, 22242579, 10931923, 21622501
5251#endif
5252 }},
5253 {{
5254#if defined(BORINGSSL_CURVE25519_64BIT)
5255 947085906234007, 323284730494107, 1485778563977200,
5256 728576821512394, 901584347702286
5257#else
5258 50547351, 14112679, 59096219, 4817317, 59068400, 22139825,
5259 44255434, 10856640, 46638094, 13434653
5260#endif
5261 }},
5262 {{
5263#if defined(BORINGSSL_CURVE25519_64BIT)
5264 1575783124125742, 2126210792434375, 1569430791264065,
5265 1402582372904727, 1891780248341114
5266#else
5267 22759470, 23480998, 50342599, 31683009, 13637441, 23386341,
5268 1765143, 20900106, 28445306, 28189722
5269#endif
5270 }},
5271 },
5272 {
5273 {{
5274#if defined(BORINGSSL_CURVE25519_64BIT)
5275 838432205560695, 1997703511451664, 1018791879907867,
5276 1662001808174331, 78328132957753
5277#else
5278 29875063, 12493613, 2795536, 29768102, 1710619, 15181182,
5279 56913147, 24765756, 9074233, 1167180
5280#endif
5281 }},
5282 {{
5283#if defined(BORINGSSL_CURVE25519_64BIT)
5284 739152638255629, 2074935399403557, 505483666745895,
5285 1611883356514088, 628654635394878
5286#else
5287 40903181, 11014232, 57266213, 30918946, 40200743, 7532293,
5288 48391976, 24018933, 3843902, 9367684
5289#endif
5290 }},
5291 {{
5292#if defined(BORINGSSL_CURVE25519_64BIT)
5293 1822054032121349, 643057948186973, 7306757352712,
5294 577249257962099, 284735863382083
5295#else
5296 56139269, 27150720, 9591133, 9582310, 11349256, 108879,
5297 16235123, 8601684, 66969667, 4242894
5298#endif
5299 }},
5300 },
5301 },
5302 {
5303 {
5304 {{
5305#if defined(BORINGSSL_CURVE25519_64BIT)
5306 1366558556363930, 1448606567552086, 1478881020944768,
5307 165803179355898, 1115718458123498
5308#else
5309 22092954, 20363309, 65066070, 21585919, 32186752, 22037044,
5310 60534522, 2470659, 39691498, 16625500
5311#endif
5312 }},
5313 {{
5314#if defined(BORINGSSL_CURVE25519_64BIT)
5315 204146226972102, 1630511199034723, 2215235214174763,
5316 174665910283542, 956127674017216
5317#else
5318 56051142, 3042015, 13770083, 24296510, 584235, 33009577,
5319 59338006, 2602724, 39757248, 14247412
5320#endif
5321 }},
5322 {{
5323#if defined(BORINGSSL_CURVE25519_64BIT)
5324 1562934578796716, 1070893489712745, 11324610642270,
5325 958989751581897, 2172552325473805
5326#else
5327 6314156, 23289540, 34336361, 15957556, 56951134, 168749,
5328 58490057, 14290060, 27108877, 32373552
5329#endif
5330 }},
5331 },
5332 {
5333 {{
5334#if defined(BORINGSSL_CURVE25519_64BIT)
5335 1770564423056027, 735523631664565, 1326060113795289,
5336 1509650369341127, 65892421582684
5337#else
5338 58522267, 26383465, 13241781, 10960156, 34117849, 19759835,
5339 33547975, 22495543, 39960412, 981873
5340#endif
5341 }},
5342 {{
5343#if defined(BORINGSSL_CURVE25519_64BIT)
5344 623682558650637, 1337866509471512, 990313350206649,
5345 1314236615762469, 1164772974270275
5346#else
5347 22833421, 9293594, 34459416, 19935764, 57971897, 14756818,
5348 44180005, 19583651, 56629059, 17356469
5349#endif
5350 }},
5351 {{
5352#if defined(BORINGSSL_CURVE25519_64BIT)
5353 223256821462517, 723690150104139, 1000261663630601,
5354 933280913953265, 254872671543046
5355#else
5356 59340277, 3326785, 38997067, 10783823, 19178761, 14905060,
5357 22680049, 13906969, 51175174, 3797898
5358#endif
5359 }},
5360 },
5361 {
5362 {{
5363#if defined(BORINGSSL_CURVE25519_64BIT)
5364 1969087237026041, 624795725447124, 1335555107635969,
5365 2069986355593023, 1712100149341902
5366#else
5367 21721337, 29341686, 54902740, 9310181, 63226625, 19901321,
5368 23740223, 30845200, 20491982, 25512280
5369#endif
5370 }},
5371 {{
5372#if defined(BORINGSSL_CURVE25519_64BIT)
5373 1236103475266979, 1837885883267218, 1026072585230455,
5374 1025865513954973, 1801964901432134
5375#else
5376 9209251, 18419377, 53852306, 27386633, 66377847, 15289672,
5377 25947805, 15286587, 30997318, 26851369
5378#endif
5379 }},
5380 {{
5381#if defined(BORINGSSL_CURVE25519_64BIT)
5382 1115241013365517, 1712251818829143, 2148864332502771,
5383 2096001471438138, 2235017246626125
5384#else
5385 7392013, 16618386, 23946583, 25514540, 53843699, 32020573,
5386 52911418, 31232855, 17649997, 33304352
5387#endif
5388 }},
5389 },
5390 {
5391 {{
5392#if defined(BORINGSSL_CURVE25519_64BIT)
5393 1299268198601632, 2047148477845621, 2165648650132450,
5394 1612539282026145, 514197911628890
5395#else
5396 57807776, 19360604, 30609525, 30504889, 41933794, 32270679,
5397 51867297, 24028707, 64875610, 7662145
5398#endif
5399 }},
5400 {{
5401#if defined(BORINGSSL_CURVE25519_64BIT)
5402 118352772338543, 1067608711804704, 1434796676193498,
5403 1683240170548391, 230866769907437
5404#else
5405 49550191, 1763593, 33994528, 15908609, 37067994, 21380136,
5406 7335079, 25082233, 63934189, 3440182
5407#endif
5408 }},
5409 {{
5410#if defined(BORINGSSL_CURVE25519_64BIT)
5411 1850689576796636, 1601590730430274, 1139674615958142,
5412 1954384401440257, 76039205311
5413#else
5414 47219164, 27577423, 42997570, 23865561, 10799742, 16982475,
5415 40449, 29122597, 4862399, 1133
5416#endif
5417 }},
5418 },
5419 {
5420 {{
5421#if defined(BORINGSSL_CURVE25519_64BIT)
5422 1723387471374172, 997301467038410, 533927635123657,
5423 20928644693965, 1756575222802513
5424#else
5425 34252636, 25680474, 61686474, 14860949, 50789833, 7956141,
5426 7258061, 311861, 36513873, 26175010
5427#endif
5428 }},
5429 {{
5430#if defined(BORINGSSL_CURVE25519_64BIT)
5431 2146711623855116, 503278928021499, 625853062251406,
5432 1109121378393107, 1033853809911861
5433#else
5434 63335436, 31988495, 28985339, 7499440, 24445838, 9325937,
5435 29727763, 16527196, 18278453, 15405622
5436#endif
5437 }},
5438 {{
5439#if defined(BORINGSSL_CURVE25519_64BIT)
5440 571005965509422, 2005213373292546, 1016697270349626,
5441 56607856974274, 914438579435146
5442#else
5443 62726958, 8508651, 47210498, 29880007, 61124410, 15149969,
5444 53795266, 843522, 45233802, 13626196
5445#endif
5446 }},
5447 },
5448 {
5449 {{
5450#if defined(BORINGSSL_CURVE25519_64BIT)
5451 1346698876211176, 2076651707527589, 1084761571110205,
5452 265334478828406, 1068954492309671
5453#else
5454 2281448, 20067377, 56193445, 30944521, 1879357, 16164207,
5455 56324982, 3953791, 13340839, 15928663
5456#endif
5457 }},
5458 {{
5459#if defined(BORINGSSL_CURVE25519_64BIT)
5460 1769967932677654, 1695893319756416, 1151863389675920,
5461 1781042784397689, 400287774418285
5462#else
5463 31727126, 26374577, 48671360, 25270779, 2875792, 17164102,
5464 41838969, 26539605, 43656557, 5964752
5465#endif
5466 }},
5467 {{
5468#if defined(BORINGSSL_CURVE25519_64BIT)
5469 1851867764003121, 403841933237558, 820549523771987,
5470 761292590207581, 1743735048551143
5471#else
5472 4100401, 27594980, 49929526, 6017713, 48403027, 12227140,
5473 40424029, 11344143, 2538215, 25983677
5474#endif
5475 }},
5476 },
5477 {
5478 {{
5479#if defined(BORINGSSL_CURVE25519_64BIT)
5480 410915148140008, 2107072311871739, 1004367461876503,
5481 99684895396761, 1180818713503224
5482#else
5483 57675240, 6123112, 11159803, 31397824, 30016279, 14966241,
5484 46633881, 1485420, 66479608, 17595569
5485#endif
5486 }},
5487 {{
5488#if defined(BORINGSSL_CURVE25519_64BIT)
5489 285945406881439, 648174397347453, 1098403762631981,
5490 1366547441102991, 1505876883139217
5491#else
5492 40304287, 4260918, 11851389, 9658551, 35091757, 16367491,
5493 46903439, 20363143, 11659921, 22439314
5494#endif
5495 }},
5496 {{
5497#if defined(BORINGSSL_CURVE25519_64BIT)
5498 672095903120153, 1675918957959872, 636236529315028,
5499 1569297300327696, 2164144194785875
5500#else
5501 26180377, 10015009, 36264640, 24973138, 5418196, 9480663,
5502 2231568, 23384352, 33100371, 32248261
5503#endif
5504 }},
5505 },
5506 {
5507 {{
5508#if defined(BORINGSSL_CURVE25519_64BIT)
5509 1902708175321798, 1035343530915438, 1178560808893263,
5510 301095684058146, 1280977479761118
5511#else
5512 15121094, 28352561, 56718958, 15427820, 39598927, 17561924,
5513 21670946, 4486675, 61177054, 19088051
5514#endif
5515 }},
5516 {{
5517#if defined(BORINGSSL_CURVE25519_64BIT)
5518 1615357281742403, 404257611616381, 2160201349780978,
5519 1160947379188955, 1578038619549541
5520#else
5521 16166467, 24070699, 56004733, 6023907, 35182066, 32189508,
5522 2340059, 17299464, 56373093, 23514607
5523#endif
5524 }},
5525 {{
5526#if defined(BORINGSSL_CURVE25519_64BIT)
5527 2013087639791217, 822734930507457, 1785668418619014,
5528 1668650702946164, 389450875221715
5529#else
5530 28042865, 29997343, 54982337, 12259705, 63391366, 26608532,
5531 6766452, 24864833, 18036435, 5803270
5532#endif
5533 }},
5534 },
5535 },
5536 {
5537 {
5538 {{
5539#if defined(BORINGSSL_CURVE25519_64BIT)
5540 453918449698368, 106406819929001, 2072540975937135,
5541 308588860670238, 1304394580755385
5542#else
5543 66291264, 6763911, 11803561, 1585585, 10958447, 30883267,
5544 23855390, 4598332, 60949433, 19436993
5545#endif
5546 }},
5547 {{
5548#if defined(BORINGSSL_CURVE25519_64BIT)
5549 1295082798350326, 2091844511495996, 1851348972587817,
5550 3375039684596, 789440738712837
5551#else
5552 36077558, 19298237, 17332028, 31170912, 31312681, 27587249,
5553 696308, 50292, 47013125, 11763583
5554#endif
5555 }},
5556 {{
5557#if defined(BORINGSSL_CURVE25519_64BIT)
5558 2083069137186154, 848523102004566, 993982213589257,
5559 1405313299916317, 1532824818698468
5560#else
5561 66514282, 31040148, 34874710, 12643979, 12650761, 14811489,
5562 665117, 20940800, 47335652, 22840869
5563#endif
5564 }},
5565 },
5566 {
5567 {{
5568#if defined(BORINGSSL_CURVE25519_64BIT)
5569 1495961298852430, 1397203457344779, 1774950217066942,
5570 139302743555696, 66603584342787
5571#else
5572 30464590, 22291560, 62981387, 20819953, 19835326, 26448819,
5573 42712688, 2075772, 50088707, 992470
5574#endif
5575 }},
5576 {{
5577#if defined(BORINGSSL_CURVE25519_64BIT)
5578 1782411379088302, 1096724939964781, 27593390721418,
5579 542241850291353, 1540337798439873
5580#else
5581 18357166, 26559999, 7766381, 16342475, 37783946, 411173,
5582 14578841, 8080033, 55534529, 22952821
5583#endif
5584 }},
5585 {{
5586#if defined(BORINGSSL_CURVE25519_64BIT)
5587 693543956581437, 171507720360750, 1557908942697227,
5588 1074697073443438, 1104093109037196
5589#else
5590 19598397, 10334610, 12555054, 2555664, 18821899, 23214652,
5591 21873262, 16014234, 26224780, 16452269
5592#endif
5593 }},
5594 },
5595 {
5596 {{
5597#if defined(BORINGSSL_CURVE25519_64BIT)
5598 345288228393419, 1099643569747172, 134881908403743,
5599 1740551994106740, 248212179299770
5600#else
5601 36884939, 5145195, 5944548, 16385966, 3976735, 2009897,
5602 55731060, 25936245, 46575034, 3698649
5603#endif
5604 }},
5605 {{
5606#if defined(BORINGSSL_CURVE25519_64BIT)
5607 231429562203065, 1526290236421172, 2021375064026423,
5608 1520954495658041, 806337791525116
5609#else
5610 14187449, 3448569, 56472628, 22743496, 44444983, 30120835,
5611 7268409, 22663988, 27394300, 12015369
5612#endif
5613 }},
5614 {{
5615#if defined(BORINGSSL_CURVE25519_64BIT)
5616 1079623667189886, 872403650198613, 766894200588288,
5617 2163700860774109, 2023464507911816
5618#else
5619 19695742, 16087646, 28032085, 12999827, 6817792, 11427614,
5620 20244189, 32241655, 53849736, 30151970
5621#endif
5622 }},
5623 },
5624 {
5625 {{
5626#if defined(BORINGSSL_CURVE25519_64BIT)
5627 854645372543796, 1936406001954827, 151460662541253,
5628 825325739271555, 1554306377287556
5629#else
5630 30860084, 12735208, 65220619, 28854697, 50133957, 2256939,
5631 58942851, 12298311, 58558340, 23160969
5632#endif
5633 }},
5634 {{
5635#if defined(BORINGSSL_CURVE25519_64BIT)
5636 1497138821904622, 1044820250515590, 1742593886423484,
5637 1237204112746837, 849047450816987
5638#else
5639 61389038, 22309106, 65198214, 15569034, 26642876, 25966672,
5640 61319509, 18435777, 62132699, 12651792
5641#endif
5642 }},
5643 {{
5644#if defined(BORINGSSL_CURVE25519_64BIT)
5645 667962773375330, 1897271816877105, 1399712621683474,
5646 1143302161683099, 2081798441209593
5647#else
5648 64260450, 9953420, 11531313, 28271553, 26895122, 20857343,
5649 53990043, 17036529, 9768697, 31021214
5650#endif
5651 }},
5652 },
5653 {
5654 {{
5655#if defined(BORINGSSL_CURVE25519_64BIT)
5656 127147851567005, 1936114012888110, 1704424366552046,
5657 856674880716312, 716603621335359
5658#else
5659 42389405, 1894650, 66821166, 28850346, 15348718, 25397902,
5660 32767512, 12765450, 4940095, 10678226
5661#endif
5662 }},
5663 {{
5664#if defined(BORINGSSL_CURVE25519_64BIT)
5665 1072409664800960, 2146937497077528, 1508780108920651,
5666 935767602384853, 1112800433544068
5667#else
5668 18860224, 15980149, 48121624, 31991861, 40875851, 22482575,
5669 59264981, 13944023, 42736516, 16582018
5670#endif
5671 }},
5672 {{
5673#if defined(BORINGSSL_CURVE25519_64BIT)
5674 333549023751292, 280219272863308, 2104176666454852,
5675 1036466864875785, 536135186520207
5676#else
5677 51604604, 4970267, 37215820, 4175592, 46115652, 31354675,
5678 55404809, 15444559, 56105103, 7989036
5679#endif
5680 }},
5681 },
5682 {
5683 {{
5684#if defined(BORINGSSL_CURVE25519_64BIT)
5685 373666279883137, 146457241530109, 304116267127857,
5686 416088749147715, 1258577131183391
5687#else
5688 31490433, 5568061, 64696061, 2182382, 34772017, 4531685,
5689 35030595, 6200205, 47422751, 18754260
5690#endif
5691 }},
5692 {{
5693#if defined(BORINGSSL_CURVE25519_64BIT)
5694 1186115062588401, 2251609796968486, 1098944457878953,
5695 1153112761201374, 1791625503417267
5696#else
5697 49800177, 17674491, 35586086, 33551600, 34221481, 16375548,
5698 8680158, 17182719, 28550067, 26697300
5699#endif
5700 }},
5701 {{
5702#if defined(BORINGSSL_CURVE25519_64BIT)
5703 1870078460219737, 2129630962183380, 852283639691142,
5704 292865602592851, 401904317342226
5705#else
5706 38981977, 27866340, 16837844, 31733974, 60258182, 12700015,
5707 37068883, 4364037, 1155602, 5988841
5708#endif
5709 }},
5710 },
5711 {
5712 {{
5713#if defined(BORINGSSL_CURVE25519_64BIT)
5714 1361070124828035, 815664541425524, 1026798897364671,
5715 1951790935390647, 555874891834790
5716#else
5717 21890435, 20281525, 54484852, 12154348, 59276991, 15300495,
5718 23148983, 29083951, 24618406, 8283181
5719#endif
5720 }},
5721 {{
5722#if defined(BORINGSSL_CURVE25519_64BIT)
5723 1546301003424277, 459094500062839, 1097668518375311,
5724 1780297770129643, 720763293687608
5725#else
5726 33972757, 23041680, 9975415, 6841041, 35549071, 16356535,
5727 3070187, 26528504, 1466168, 10740210
5728#endif
5729 }},
5730 {{
5731#if defined(BORINGSSL_CURVE25519_64BIT)
5732 1212405311403990, 1536693382542438, 61028431067459,
5733 1863929423417129, 1223219538638038
5734#else
5735 65599446, 18066246, 53605478, 22898515, 32799043, 909394,
5736 53169961, 27774712, 34944214, 18227391
5737#endif
5738 }},
5739 },
5740 {
5741 {{
5742#if defined(BORINGSSL_CURVE25519_64BIT)
5743 1294303766540260, 1183557465955093, 882271357233093,
5744 63854569425375, 2213283684565087
5745#else
5746 3960804, 19286629, 39082773, 17636380, 47704005, 13146867,
5747 15567327, 951507, 63848543, 32980496
5748#endif
5749 }},
5750 {{
5751#if defined(BORINGSSL_CURVE25519_64BIT)
5752 339050984211414, 601386726509773, 413735232134068,
5753 966191255137228, 1839475899458159
5754#else
5755 24740822, 5052253, 37014733, 8961360, 25877428, 6165135,
5756 42740684, 14397371, 59728495, 27410326
5757#endif
5758 }},
5759 {{
5760#if defined(BORINGSSL_CURVE25519_64BIT)
5761 235605972169408, 2174055643032978, 1538335001838863,
5762 1281866796917192, 1815940222628465
5763#else
5764 38220480, 3510802, 39005586, 32395953, 55870735, 22922977,
5765 51667400, 19101303, 65483377, 27059617
5766#endif
5767 }},
5768 },
5769 },
5770 {
5771 {
5772 {{
5773#if defined(BORINGSSL_CURVE25519_64BIT)
5774 1632352921721536, 1833328609514701, 2092779091951987,
5775 1923956201873226, 2210068022482919
5776#else
5777 793280, 24323954, 8836301, 27318725, 39747955, 31184838,
5778 33152842, 28669181, 57202663, 32932579
5779#endif
5780 }},
5781 {{
5782#if defined(BORINGSSL_CURVE25519_64BIT)
5783 35271216625062, 1712350667021807, 983664255668860,
5784 98571260373038, 1232645608559836
5785#else
5786 5666214, 525582, 20782575, 25516013, 42570364, 14657739,
5787 16099374, 1468826, 60937436, 18367850
5788#endif
5789 }},
5790 {{
5791#if defined(BORINGSSL_CURVE25519_64BIT)
5792 1998172393429622, 1798947921427073, 784387737563581,
5793 1589352214827263, 1589861734168180
5794#else
5795 62249590, 29775088, 64191105, 26806412, 7778749, 11688288,
5796 36704511, 23683193, 65549940, 23690785
5797#endif
5798 }},
5799 },
5800 {
5801 {{
5802#if defined(BORINGSSL_CURVE25519_64BIT)
5803 1733739258725305, 31715717059538, 201969945218860,
5804 992093044556990, 1194308773174556
5805#else
5806 10896313, 25834728, 824274, 472601, 47648556, 3009586, 25248958,
5807 14783338, 36527388, 17796587
5808#endif
5809 }},
5810 {{
5811#if defined(BORINGSSL_CURVE25519_64BIT)
5812 846415389605137, 746163495539180, 829658752826080,
5813 592067705956946, 957242537821393
5814#else
5815 10566929, 12612572, 35164652, 11118702, 54475488, 12362878,
5816 21752402, 8822496, 24003793, 14264025
5817#endif
5818 }},
5819 {{
5820#if defined(BORINGSSL_CURVE25519_64BIT)
5821 1758148849754419, 619249044817679, 168089007997045,
5822 1371497636330523, 1867101418880350
5823#else
5824 27713843, 26198459, 56100623, 9227529, 27050101, 2504721,
5825 23886875, 20436907, 13958494, 27821979
5826#endif
5827 }},
5828 },
5829 {
5830 {{
5831#if defined(BORINGSSL_CURVE25519_64BIT)
5832 326633984209635, 261759506071016, 1700682323676193,
5833 1577907266349064, 1217647663383016
5834#else
5835 43627235, 4867225, 39861736, 3900520, 29838369, 25342141,
5836 35219464, 23512650, 7340520, 18144364
5837#endif
5838 }},
5839 {{
5840#if defined(BORINGSSL_CURVE25519_64BIT)
5841 1714182387328607, 1477856482074168, 574895689942184,
5842 2159118410227270, 1555532449716575
5843#else
5844 4646495, 25543308, 44342840, 22021777, 23184552, 8566613,
5845 31366726, 32173371, 52042079, 23179239
5846#endif
5847 }},
5848 {{
5849#if defined(BORINGSSL_CURVE25519_64BIT)
5850 853828206885131, 998498946036955, 1835887550391235,
5851 207627336608048, 258363815956050
5852#else
5853 49838347, 12723031, 50115803, 14878793, 21619651, 27356856,
5854 27584816, 3093888, 58265170, 3849920
5855#endif
5856 }},
5857 },
5858 {
5859 {{
5860#if defined(BORINGSSL_CURVE25519_64BIT)
5861 141141474651677, 1236728744905256, 643101419899887,
5862 1646615130509173, 1208239602291765
5863#else
5864 58043933, 2103171, 25561640, 18428694, 61869039, 9582957,
5865 32477045, 24536477, 5002293, 18004173
5866#endif
5867 }},
5868 {{
5869#if defined(BORINGSSL_CURVE25519_64BIT)
5870 1501663228068911, 1354879465566912, 1444432675498247,
5871 897812463852601, 855062598754348
5872#else
5873 55051311, 22376525, 21115584, 20189277, 8808711, 21523724,
5874 16489529, 13378448, 41263148, 12741425
5875#endif
5876 }},
5877 {{
5878#if defined(BORINGSSL_CURVE25519_64BIT)
5879 714380763546606, 1032824444965790, 1774073483745338,
5880 1063840874947367, 1738680636537158
5881#else
5882 61162478, 10645102, 36197278, 15390283, 63821882, 26435754,
5883 24306471, 15852464, 28834118, 25908360
5884#endif
5885 }},
5886 },
5887 {
5888 {{
5889#if defined(BORINGSSL_CURVE25519_64BIT)
5890 1640635546696252, 633168953192112, 2212651044092396,
5891 30590958583852, 368515260889378
5892#else
5893 49773116, 24447374, 42577584, 9434952, 58636780, 32971069,
5894 54018092, 455840, 20461858, 5491305
5895#endif
5896 }},
5897 {{
5898#if defined(BORINGSSL_CURVE25519_64BIT)
5899 1171650314802029, 1567085444565577, 1453660792008405,
5900 757914533009261, 1619511342778196
5901#else
5902 13669229, 17458950, 54626889, 23351392, 52539093, 21661233,
5903 42112877, 11293806, 38520660, 24132599
5904#endif
5905 }},
5906 {{
5907#if defined(BORINGSSL_CURVE25519_64BIT)
5908 420958967093237, 971103481109486, 2169549185607107,
5909 1301191633558497, 1661514101014240
5910#else
5911 28497909, 6272777, 34085870, 14470569, 8906179, 32328802,
5912 18504673, 19389266, 29867744, 24758489
5913#endif
5914 }},
5915 },
5916 {
5917 {{
5918#if defined(BORINGSSL_CURVE25519_64BIT)
5919 907123651818302, 1332556122804146, 1824055253424487,
5920 1367614217442959, 1982558335973172
5921#else
5922 50901822, 13517195, 39309234, 19856633, 24009063, 27180541,
5923 60741263, 20379039, 22853428, 29542421
5924#endif
5925 }},
5926 {{
5927#if defined(BORINGSSL_CURVE25519_64BIT)
5928 1121533090144639, 1021251337022187, 110469995947421,
5929 1511059774758394, 2110035908131662
5930#else
5931 24191359, 16712145, 53177067, 15217830, 14542237, 1646131,
5932 18603514, 22516545, 12876622, 31441985
5933#endif
5934 }},
5935 {{
5936#if defined(BORINGSSL_CURVE25519_64BIT)
5937 303213233384524, 2061932261128138, 352862124777736,
5938 40828818670255, 249879468482660
5939#else
5940 17902668, 4518229, 66697162, 30725184, 26878216, 5258055,
5941 54248111, 608396, 16031844, 3723494
5942#endif
5943 }},
5944 },
5945 {
5946 {{
5947#if defined(BORINGSSL_CURVE25519_64BIT)
5948 856559257852200, 508517664949010, 1378193767894916,
5949 1723459126947129, 1962275756614521
5950#else
5951 38476072, 12763727, 46662418, 7577503, 33001348, 20536687,
5952 17558841, 25681542, 23896953, 29240187
5953#endif
5954 }},
5955 {{
5956#if defined(BORINGSSL_CURVE25519_64BIT)
5957 1445691340537320, 40614383122127, 402104303144865,
5958 485134269878232, 1659439323587426
5959#else
5960 47103464, 21542479, 31520463, 605201, 2543521, 5991821,
5961 64163800, 7229063, 57189218, 24727572
5962#endif
5963 }},
5964 {{
5965#if defined(BORINGSSL_CURVE25519_64BIT)
5966 20057458979482, 1183363722525800, 2140003847237215,
5967 2053873950687614, 2112017736174909
5968#else
5969 28816026, 298879, 38943848, 17633493, 19000927, 31888542,
5970 54428030, 30605106, 49057085, 31471516
5971#endif
5972 }},
5973 },
5974 {
5975 {{
5976#if defined(BORINGSSL_CURVE25519_64BIT)
5977 2228654250927986, 1483591363415267, 1368661293910956,
5978 1076511285177291, 526650682059608
5979#else
5980 16000882, 33209536, 3493091, 22107234, 37604268, 20394642,
5981 12577739, 16041268, 47393624, 7847706
5982#endif
5983 }},
5984 {{
5985#if defined(BORINGSSL_CURVE25519_64BIT)
5986 709481497028540, 531682216165724, 316963769431931,
5987 1814315888453765, 258560242424104
5988#else
5989 10151868, 10572098, 27312476, 7922682, 14825339, 4723128,
5990 34252933, 27035413, 57088296, 3852847
5991#endif
5992 }},
5993 {{
5994#if defined(BORINGSSL_CURVE25519_64BIT)
5995 1053447823660455, 1955135194248683, 1010900954918985,
5996 1182614026976701, 1240051576966610
5997#else
5998 55678375, 15697595, 45987307, 29133784, 5386313, 15063598,
5999 16514493, 17622322, 29330898, 18478208
6000#endif
6001 }},
6002 },
6003 },
6004 {
6005 {
6006 {{
6007#if defined(BORINGSSL_CURVE25519_64BIT)
6008 1957943897155497, 1788667368028035, 137692910029106,
6009 1039519607062, 826404763313028
6010#else
6011 41609129, 29175637, 51885955, 26653220, 16615730, 2051784,
6012 3303702, 15490, 39560068, 12314390
6013#endif
6014 }},
6015 {{
6016#if defined(BORINGSSL_CURVE25519_64BIT)
6017 1848942433095597, 1582009882530495, 1849292741020143,
6018 1068498323302788, 2001402229799484
6019#else
6020 15683501, 27551389, 18109119, 23573784, 15337967, 27556609,
6021 50391428, 15921865, 16103996, 29823217
6022#endif
6023 }},
6024 {{
6025#if defined(BORINGSSL_CURVE25519_64BIT)
6026 1528282417624269, 2142492439828191, 2179662545816034,
6027 362568973150328, 1591374675250271
6028#else
6029 43939021, 22773182, 13588191, 31925625, 63310306, 32479502,
6030 47835256, 5402698, 37293151, 23713330
6031#endif
6032 }},
6033 },
6034 {
6035 {{
6036#if defined(BORINGSSL_CURVE25519_64BIT)
6037 160026679434388, 232341189218716, 2149181472355545,
6038 598041771119831, 183859001910173
6039#else
6040 23190676, 2384583, 34394524, 3462153, 37205209, 32025299,
6041 55842007, 8911516, 41903005, 2739712
6042#endif
6043 }},
6044 {{
6045#if defined(BORINGSSL_CURVE25519_64BIT)
6046 2013278155187349, 662660471354454, 793981225706267,
6047 411706605985744, 804490933124791
6048#else
6049 21374101, 30000182, 33584214, 9874410, 15377179, 11831242,
6050 33578960, 6134906, 4931255, 11987849
6051#endif
6052 }},
6053 {{
6054#if defined(BORINGSSL_CURVE25519_64BIT)
6055 2051892037280204, 488391251096321, 2230187337030708,
6056 930221970662692, 679002758255210
6057#else
6058 67101132, 30575573, 50885377, 7277596, 105524, 33232381,
6059 35628324, 13861387, 37032554, 10117929
6060#endif
6061 }},
6062 },
6063 {
6064 {{
6065#if defined(BORINGSSL_CURVE25519_64BIT)
6066 1530723630438670, 875873929577927, 341560134269988,
6067 449903119530753, 1055551308214179
6068#else
6069 37607694, 22809559, 40945095, 13051538, 41483300, 5089642,
6070 60783361, 6704078, 12890019, 15728940
6071#endif
6072 }},
6073 {{
6074#if defined(BORINGSSL_CURVE25519_64BIT)
6075 1461835919309432, 1955256480136428, 180866187813063,
6076 1551979252664528, 557743861963950
6077#else
6078 45136504, 21783052, 66157804, 29135591, 14704839, 2695116,
6079 903376, 23126293, 12885166, 8311031
6080#endif
6081 }},
6082 {{
6083#if defined(BORINGSSL_CURVE25519_64BIT)
6084 359179641731115, 1324915145732949, 902828372691474,
6085 294254275669987, 1887036027752957
6086#else
6087 49592363, 5352193, 10384213, 19742774, 7506450, 13453191,
6088 26423267, 4384730, 1888765, 28119028
6089#endif
6090 }},
6091 },
6092 {
6093 {{
6094#if defined(BORINGSSL_CURVE25519_64BIT)
6095 2043271609454323, 2038225437857464, 1317528426475850,
6096 1398989128982787, 2027639881006861
6097#else
6098 41291507, 30447119, 53614264, 30371925, 30896458, 19632703,
6099 34857219, 20846562, 47644429, 30214188
6100#endif
6101 }},
6102 {{
6103#if defined(BORINGSSL_CURVE25519_64BIT)
6104 2072902725256516, 312132452743412, 309930885642209,
6105 996244312618453, 1590501300352303
6106#else
6107 43500868, 30888657, 66582772, 4651135, 5765089, 4618330,
6108 6092245, 14845197, 17151279, 23700316
6109#endif
6110 }},
6111 {{
6112#if defined(BORINGSSL_CURVE25519_64BIT)
6113 1397254305160710, 695734355138021, 2233992044438756,
6114 1776180593969996, 1085588199351115
6115#else
6116 42278406, 20820711, 51942885, 10367249, 37577956, 33289075,
6117 22825804, 26467153, 50242379, 16176524
6118#endif
6119 }},
6120 },
6121 {
6122 {{
6123#if defined(BORINGSSL_CURVE25519_64BIT)
6124 440567051331029, 254894786356681, 493869224930222,
6125 1556322069683366, 1567456540319218
6126#else
6127 43525589, 6564960, 20063689, 3798228, 62368686, 7359224,
6128 2006182, 23191006, 38362610, 23356922
6129#endif
6130 }},
6131 {{
6132#if defined(BORINGSSL_CURVE25519_64BIT)
6133 1950722461391320, 1907845598854797, 1822757481635527,
6134 2121567704750244, 73811931471221
6135#else
6136 56482264, 29068029, 53788301, 28429114, 3432135, 27161203,
6137 23632036, 31613822, 32808309, 1099883
6138#endif
6139 }},
6140 {{
6141#if defined(BORINGSSL_CURVE25519_64BIT)
6142 387139307395758, 2058036430315676, 1220915649965325,
6143 1794832055328951, 1230009312169328
6144#else
6145 15030958, 5768825, 39657628, 30667132, 60681485, 18193060,
6146 51830967, 26745081, 2051440, 18328567
6147#endif
6148 }},
6149 },
6150 {
6151 {{
6152#if defined(BORINGSSL_CURVE25519_64BIT)
6153 1765973779329517, 659344059446977, 19821901606666,
6154 1301928341311214, 1116266004075885
6155#else
6156 63746541, 26315059, 7517889, 9824992, 23555850, 295369, 5148398,
6157 19400244, 44422509, 16633659
6158#endif
6159 }},
6160 {{
6161#if defined(BORINGSSL_CURVE25519_64BIT)
6162 1127572801181483, 1224743760571696, 1276219889847274,
6163 1529738721702581, 1589819666871853
6164#else
6165 4577067, 16802144, 13249840, 18250104, 19958762, 19017158,
6166 18559669, 22794883, 8402477, 23690159
6167#endif
6168 }},
6169 {{
6170#if defined(BORINGSSL_CURVE25519_64BIT)
6171 2181229378964934, 2190885205260020, 1511536077659137,
6172 1246504208580490, 668883326494241
6173#else
6174 38702534, 32502850, 40318708, 32646733, 49896449, 22523642,
6175 9453450, 18574360, 17983009, 9967138
6176#endif
6177 }},
6178 },
6179 {
6180 {{
6181#if defined(BORINGSSL_CURVE25519_64BIT)
6182 437866655573314, 669026411194768, 81896997980338,
6183 523874406393178, 245052060935236
6184#else
6185 41346370, 6524721, 26585488, 9969270, 24709298, 1220360,
6186 65430874, 7806336, 17507396, 3651560
6187#endif
6188 }},
6189 {{
6190#if defined(BORINGSSL_CURVE25519_64BIT)
6191 1975438052228868, 1071801519999806, 594652299224319,
6192 1877697652668809, 1489635366987285
6193#else
6194 56688388, 29436320, 14584638, 15971087, 51340543, 8861009,
6195 26556809, 27979875, 48555541, 22197296
6196#endif
6197 }},
6198 {{
6199#if defined(BORINGSSL_CURVE25519_64BIT)
6200 958592545673770, 233048016518599, 851568750216589,
6201 567703851596087, 1740300006094761
6202#else
6203 2839082, 14284142, 4029895, 3472686, 14402957, 12689363,
6204 40466743, 8459446, 61503401, 25932490
6205#endif
6206 }},
6207 },
6208 {
6209 {{
6210#if defined(BORINGSSL_CURVE25519_64BIT)
6211 2014540178270324, 192672779514432, 213877182641530,
6212 2194819933853411, 1716422829364835
6213#else
6214 62269556, 30018987, 9744960, 2871048, 25113978, 3187018,
6215 41998051, 32705365, 17258083, 25576693
6216#endif
6217 }},
6218 {{
6219#if defined(BORINGSSL_CURVE25519_64BIT)
6220 1540769606609725, 2148289943846077, 1597804156127445,
6221 1230603716683868, 815423458809453
6222#else
6223 18164541, 22959256, 49953981, 32012014, 19237077, 23809137,
6224 23357532, 18337424, 26908269, 12150756
6225#endif
6226 }},
6227 {{
6228#if defined(BORINGSSL_CURVE25519_64BIT)
6229 1738560251245018, 1779576754536888, 1783765347671392,
6230 1880170990446751, 1088225159617541
6231#else
6232 36843994, 25906566, 5112248, 26517760, 65609056, 26580174,
6233 43167, 28016731, 34806789, 16215818
6234#endif
6235 }},
6236 },
6237 },
6238 {
6239 {
6240 {{
6241#if defined(BORINGSSL_CURVE25519_64BIT)
6242 659303913929492, 1956447718227573, 1830568515922666,
6243 841069049744408, 1669607124206368
6244#else
6245 60209940, 9824393, 54804085, 29153342, 35711722, 27277596,
6246 32574488, 12532905, 59605792, 24879084
6247#endif
6248 }},
6249 {{
6250#if defined(BORINGSSL_CURVE25519_64BIT)
6251 1143465490433355, 1532194726196059, 1093276745494697,
6252 481041706116088, 2121405433561163
6253#else
6254 39765323, 17038963, 39957339, 22831480, 946345, 16291093,
6255 254968, 7168080, 21676107, 31611404
6256#endif
6257 }},
6258 {{
6259#if defined(BORINGSSL_CURVE25519_64BIT)
6260 1686424298744462, 1451806974487153, 266296068846582,
6261 1834686947542675, 1720762336132256
6262#else
6263 21260942, 25129680, 50276977, 21633609, 43430902, 3968120,
6264 63456915, 27338965, 63552672, 25641356
6265#endif
6266 }},
6267 },
6268 {
6269 {{
6270#if defined(BORINGSSL_CURVE25519_64BIT)
6271 889217026388959, 1043290623284660, 856125087551909,
6272 1669272323124636, 1603340330827879
6273#else
6274 16544735, 13250366, 50304436, 15546241, 62525861, 12757257,
6275 64646556, 24874095, 48201831, 23891632
6276#endif
6277 }},
6278 {{
6279#if defined(BORINGSSL_CURVE25519_64BIT)
6280 1206396181488998, 333158148435054, 1402633492821422,
6281 1120091191722026, 1945474114550509
6282#else
6283 64693606, 17976703, 18312302, 4964443, 51836334, 20900867,
6284 26820650, 16690659, 25459437, 28989823
6285#endif
6286 }},
6287 {{
6288#if defined(BORINGSSL_CURVE25519_64BIT)
6289 766720088232571, 1512222781191002, 1189719893490790,
6290 2091302129467914, 2141418006894941
6291#else
6292 41964155, 11425019, 28423002, 22533875, 60963942, 17728207,
6293 9142794, 31162830, 60676445, 31909614
6294#endif
6295 }},
6296 },
6297 {
6298 {{
6299#if defined(BORINGSSL_CURVE25519_64BIT)
6300 419663647306612, 1998875112167987, 1426599870253707,
6301 1154928355379510, 486538532138187
6302#else
6303 44004212, 6253475, 16964147, 29785560, 41994891, 21257994,
6304 39651638, 17209773, 6335691, 7249989
6305#endif
6306 }},
6307 {{
6308#if defined(BORINGSSL_CURVE25519_64BIT)
6309 938160078005954, 1421776319053174, 1941643234741774,
6310 180002183320818, 1414380336750546
6311#else
6312 36775618, 13979674, 7503222, 21186118, 55152142, 28932738,
6313 36836594, 2682241, 25993170, 21075909
6314#endif
6315 }},
6316 {{
6317#if defined(BORINGSSL_CURVE25519_64BIT)
6318 398001940109652, 1577721237663248, 1012748649830402,
6319 1540516006905144, 1011684812884559
6320#else
6321 4364628, 5930691, 32304656, 23509878, 59054082, 15091130,
6322 22857016, 22955477, 31820367, 15075278
6323#endif
6324 }},
6325 },
6326 {
6327 {{
6328#if defined(BORINGSSL_CURVE25519_64BIT)
6329 1653276489969630, 6081825167624, 1921777941170836,
6330 1604139841794531, 861211053640641
6331#else
6332 31879134, 24635739, 17258760, 90626, 59067028, 28636722,
6333 24162787, 23903546, 49138625, 12833044
6334#endif
6335 }},
6336 {{
6337#if defined(BORINGSSL_CURVE25519_64BIT)
6338 996661541407379, 1455877387952927, 744312806857277,
6339 139213896196746, 1000282908547789
6340#else
6341 19073683, 14851414, 42705695, 21694263, 7625277, 11091125,
6342 47489674, 2074448, 57694925, 14905376
6343#endif
6344 }},
6345 {{
6346#if defined(BORINGSSL_CURVE25519_64BIT)
6347 1450817495603008, 1476865707053229, 1030490562252053,
6348 620966950353376, 1744760161539058
6349#else
6350 24483648, 21618865, 64589997, 22007013, 65555733, 15355505,
6351 41826784, 9253128, 27628530, 25998952
6352#endif
6353 }},
6354 },
6355 {
6356 {{
6357#if defined(BORINGSSL_CURVE25519_64BIT)
6358 559728410002599, 37056661641185, 2038622963352006,
6359 1637244893271723, 1026565352238948
6360#else
6361 17597607, 8340603, 19355617, 552187, 26198470, 30377849,
6362 4593323, 24396850, 52997988, 15297015
6363#endif
6364 }},
6365 {{
6366#if defined(BORINGSSL_CURVE25519_64BIT)
6367 962165956135846, 1116599660248791, 182090178006815,
6368 1455605467021751, 196053588803284
6369#else
6370 510886, 14337390, 35323607, 16638631, 6328095, 2713355,
6371 46891447, 21690211, 8683220, 2921426
6372#endif
6373 }},
6374 {{
6375#if defined(BORINGSSL_CURVE25519_64BIT)
6376 796863823080135, 1897365583584155, 420466939481601,
6377 2165972651724672, 932177357788289
6378#else
6379 18606791, 11874196, 27155355, 28272950, 43077121, 6265445,
6380 41930624, 32275507, 4674689, 13890525
6381#endif
6382 }},
6383 },
6384 {
6385 {{
6386#if defined(BORINGSSL_CURVE25519_64BIT)
6387 877047233620632, 1375632631944375, 643773611882121,
6388 660022738847877, 19353932331831
6389#else
6390 13609624, 13069022, 39736503, 20498523, 24360585, 9592974,
6391 14977157, 9835105, 4389687, 288396
6392#endif
6393 }},
6394 {{
6395#if defined(BORINGSSL_CURVE25519_64BIT)
6396 2216943882299338, 394841323190322, 2222656898319671,
6397 558186553950529, 1077236877025190
6398#else
6399 9922506, 33035038, 13613106, 5883594, 48350519, 33120168,
6400 54804801, 8317627, 23388070, 16052080
6401#endif
6402 }},
6403 {{
6404#if defined(BORINGSSL_CURVE25519_64BIT)
6405 801118384953213, 1914330175515892, 574541023311511,
6406 1471123787903705, 1526158900256288
6407#else
6408 12719997, 11937594, 35138804, 28525742, 26900119, 8561328,
6409 46953177, 21921452, 52354592, 22741539
6410#endif
6411 }},
6412 },
6413 {
6414 {{
6415#if defined(BORINGSSL_CURVE25519_64BIT)
6416 949617889087234, 2207116611267331, 912920039141287,
6417 501158539198789, 62362560771472
6418#else
6419 15961858, 14150409, 26716931, 32888600, 44314535, 13603568,
6420 11829573, 7467844, 38286736, 929274
6421#endif
6422 }},
6423 {{
6424#if defined(BORINGSSL_CURVE25519_64BIT)
6425 1474518386765335, 1760793622169197, 1157399790472736,
6426 1622864308058898, 165428294422792
6427#else
6428 11038231, 21972036, 39798381, 26237869, 56610336, 17246600,
6429 43629330, 24182562, 45715720, 2465073
6430#endif
6431 }},
6432 {{
6433#if defined(BORINGSSL_CURVE25519_64BIT)
6434 1961673048027128, 102619413083113, 1051982726768458,
6435 1603657989805485, 1941613251499678
6436#else
6437 20017144, 29231206, 27915241, 1529148, 12396362, 15675764,
6438 13817261, 23896366, 2463390, 28932292
6439#endif
6440 }},
6441 },
6442 {
6443 {{
6444#if defined(BORINGSSL_CURVE25519_64BIT)
6445 1401939116319266, 335306339903072, 72046196085786,
6446 862423201496006, 850518754531384
6447#else
6448 50749986, 20890520, 55043680, 4996453, 65852442, 1073571,
6449 9583558, 12851107, 4003896, 12673717
6450#endif
6451 }},
6452 {{
6453#if defined(BORINGSSL_CURVE25519_64BIT)
6454 1234706593321979, 1083343891215917, 898273974314935,
6455 1640859118399498, 157578398571149
6456#else
6457 65377275, 18398561, 63845933, 16143081, 19294135, 13385325,
6458 14741514, 24450706, 7903885, 2348101
6459#endif
6460 }},
6461 {{
6462#if defined(BORINGSSL_CURVE25519_64BIT)
6463 1143483057726416, 1992614991758919, 674268662140796,
6464 1773370048077526, 674318359920189
6465#else
6466 24536016, 17039225, 12715591, 29692277, 1511292, 10047386,
6467 63266518, 26425272, 38731325, 10048126
6468#endif
6469 }},
6470 },
6471 },
6472 {
6473 {
6474 {{
6475#if defined(BORINGSSL_CURVE25519_64BIT)
6476 1835401379538542, 173900035308392, 818247630716732,
6477 1762100412152786, 1021506399448291
6478#else
6479 54486638, 27349611, 30718824, 2591312, 56491836, 12192839,
6480 18873298, 26257342, 34811107, 15221631
6481#endif
6482 }},
6483 {{
6484#if defined(BORINGSSL_CURVE25519_64BIT)
6485 1506632088156630, 2127481795522179, 513812919490255,
6486 140643715928370, 442476620300318
6487#else
6488 40630742, 22450567, 11546243, 31701949, 9180879, 7656409,
6489 45764914, 2095754, 29769758, 6593415
6490#endif
6491 }},
6492 {{
6493#if defined(BORINGSSL_CURVE25519_64BIT)
6494 2056683376856736, 219094741662735, 2193541883188309,
6495 1841182310235800, 556477468664293
6496#else
6497 35114656, 30646970, 4176911, 3264766, 12538965, 32686321,
6498 26312344, 27435754, 30958053, 8292160
6499#endif
6500 }},
6501 },
6502 {
6503 {{
6504#if defined(BORINGSSL_CURVE25519_64BIT)
6505 1315019427910827, 1049075855992603, 2066573052986543,
6506 266904467185534, 2040482348591520
6507#else
6508 31429803, 19595316, 29173531, 15632448, 12174511, 30794338,
6509 32808830, 3977186, 26143136, 30405556
6510#endif
6511 }},
6512 {{
6513#if defined(BORINGSSL_CURVE25519_64BIT)
6514 94096246544434, 922482381166992, 24517828745563,
6515 2139430508542503, 2097139044231004
6516#else
6517 22648882, 1402143, 44308880, 13746058, 7936347, 365344,
6518 58440231, 31879998, 63350620, 31249806
6519#endif
6520 }},
6521 {{
6522#if defined(BORINGSSL_CURVE25519_64BIT)
6523 537697207950515, 1399352016347350, 1563663552106345,
6524 2148749520888918, 549922092988516
6525#else
6526 51616947, 8012312, 64594134, 20851969, 43143017, 23300402,
6527 65496150, 32018862, 50444388, 8194477
6528#endif
6529 }},
6530 },
6531 {
6532 {{
6533#if defined(BORINGSSL_CURVE25519_64BIT)
6534 1747985413252434, 680511052635695, 1809559829982725,
6535 594274250930054, 201673170745982
6536#else
6537 27338066, 26047012, 59694639, 10140404, 48082437, 26964542,
6538 27277190, 8855376, 28572286, 3005164
6539#endif
6540 }},
6541 {{
6542#if defined(BORINGSSL_CURVE25519_64BIT)
6543 323583936109569, 1973572998577657, 1192219029966558,
6544 79354804385273, 1374043025560347
6545#else
6546 26287105, 4821776, 25476601, 29408529, 63344350, 17765447,
6547 49100281, 1182478, 41014043, 20474836
6548#endif
6549 }},
6550 {{
6551#if defined(BORINGSSL_CURVE25519_64BIT)
6552 213277331329947, 416202017849623, 1950535221091783,
6553 1313441578103244, 2171386783823658
6554#else
6555 59937691, 3178079, 23970071, 6201893, 49913287, 29065239,
6556 45232588, 19571804, 32208682, 32356184
6557#endif
6558 }},
6559 },
6560 {
6561 {{
6562#if defined(BORINGSSL_CURVE25519_64BIT)
6563 189088804229831, 993969372859110, 895870121536987,
6564 1547301535298256, 1477373024911350
6565#else
6566 50451143, 2817642, 56822502, 14811297, 6024667, 13349505,
6567 39793360, 23056589, 39436278, 22014573
6568#endif
6569 }},
6570 {{
6571#if defined(BORINGSSL_CURVE25519_64BIT)
6572 1620578418245010, 541035331188469, 2235785724453865,
6573 2154865809088198, 1974627268751826
6574#else
6575 15941010, 24148500, 45741813, 8062054, 31876073, 33315803,
6576 51830470, 32110002, 15397330, 29424239
6577#endif
6578 }},
6579 {{
6580#if defined(BORINGSSL_CURVE25519_64BIT)
6581 1346805451740245, 1350981335690626, 942744349501813,
6582 2155094562545502, 1012483751693409
6583#else
6584 8934485, 20068965, 43822466, 20131190, 34662773, 14047985,
6585 31170398, 32113411, 39603297, 15087183
6586#endif
6587 }},
6588 },
6589 {
6590 {{
6591#if defined(BORINGSSL_CURVE25519_64BIT)
6592 2107080134091762, 1132567062788208, 1824935377687210,
6593 769194804343737, 1857941799971888
6594#else
6595 48751602, 31397940, 24524912, 16876564, 15520426, 27193656,
6596 51606457, 11461895, 16788528, 27685490
6597#endif
6598 }},
6599 {{
6600#if defined(BORINGSSL_CURVE25519_64BIT)
6601 1074666112436467, 249279386739593, 1174337926625354,
6602 1559013532006480, 1472287775519121
6603#else
6604 65161459, 16013772, 21750665, 3714552, 49707082, 17498998,
6605 63338576, 23231111, 31322513, 21938797
6606#endif
6607 }},
6608 {{
6609#if defined(BORINGSSL_CURVE25519_64BIT)
6610 1872620123779532, 1892932666768992, 1921559078394978,
6611 1270573311796160, 1438913646755037
6612#else
6613 21426636, 27904214, 53460576, 28206894, 38296674, 28633461,
6614 48833472, 18933017, 13040861, 21441484
6615#endif
6616 }},
6617 },
6618 {
6619 {{
6620#if defined(BORINGSSL_CURVE25519_64BIT)
6621 837390187648199, 1012253300223599, 989780015893987,
6622 1351393287739814, 328627746545550
6623#else
6624 11293895, 12478086, 39972463, 15083749, 37801443, 14748871,
6625 14555558, 20137329, 1613710, 4896935
6626#endif
6627 }},
6628 {{
6629#if defined(BORINGSSL_CURVE25519_64BIT)
6630 1028328827183114, 1711043289969857, 1350832470374933,
6631 1923164689604327, 1495656368846911
6632#else
6633 41213962, 15323293, 58619073, 25496531, 25967125, 20128972,
6634 2825959, 28657387, 43137087, 22287016
6635#endif
6636 }},
6637 {{
6638#if defined(BORINGSSL_CURVE25519_64BIT)
6639 1900828492104143, 430212361082163, 687437570852799,
6640 832514536673512, 1685641495940794
6641#else
6642 51184079, 28324551, 49665331, 6410663, 3622847, 10243618,
6643 20615400, 12405433, 43355834, 25118015
6644#endif
6645 }},
6646 },
6647 {
6648 {{
6649#if defined(BORINGSSL_CURVE25519_64BIT)
6650 842632847936398, 605670026766216, 290836444839585,
6651 163210774892356, 2213815011799645
6652#else
6653 60017550, 12556207, 46917512, 9025186, 50036385, 4333800,
6654 4378436, 2432030, 23097949, 32988414
6655#endif
6656 }},
6657 {{
6658#if defined(BORINGSSL_CURVE25519_64BIT)
6659 1176336383453996, 1725477294339771, 12700622672454,
6660 678015708818208, 162724078519879
6661#else
6662 4565804, 17528778, 20084411, 25711615, 1724998, 189254,
6663 24767264, 10103221, 48596551, 2424777
6664#endif
6665 }},
6666 {{
6667#if defined(BORINGSSL_CURVE25519_64BIT)
6668 1448049969043497, 1789411762943521, 385587766217753,
6669 90201620913498, 832999441066823
6670#else
6671 366633, 21577626, 8173089, 26664313, 30788633, 5745705,
6672 59940186, 1344108, 63466311, 12412658
6673#endif
6674 }},
6675 },
6676 {
6677 {{
6678#if defined(BORINGSSL_CURVE25519_64BIT)
6679 516086333293313, 2240508292484616, 1351669528166508,
6680 1223255565316488, 750235824427138
6681#else
6682 43107073, 7690285, 14929416, 33386175, 34898028, 20141445,
6683 24162696, 18227928, 63967362, 11179384
6684#endif
6685 }},
6686 {{
6687#if defined(BORINGSSL_CURVE25519_64BIT)
6688 1263624896582495, 1102602401673328, 526302183714372,
6689 2152015839128799, 1483839308490010
6690#else
6691 18289503, 18829478, 8056944, 16430056, 45379140, 7842513,
6692 61107423, 32067534, 48424218, 22110928
6693#endif
6694 }},
6695 {{
6696#if defined(BORINGSSL_CURVE25519_64BIT)
6697 442991718646863, 1599275157036458, 1925389027579192,
6698 899514691371390, 350263251085160
6699#else
6700 476239, 6601091, 60956074, 23831056, 17503544, 28690532,
6701 27672958, 13403813, 11052904, 5219329
6702#endif
6703 }},
6704 },
6705 },
6706 {
6707 {
6708 {{
6709#if defined(BORINGSSL_CURVE25519_64BIT)
6710 1689713572022143, 593854559254373, 978095044791970,
6711 1985127338729499, 1676069120347625
6712#else
6713 20678527, 25178694, 34436965, 8849122, 62099106, 14574751,
6714 31186971, 29580702, 9014761, 24975376
6715#endif
6716 }},
6717 {{
6718#if defined(BORINGSSL_CURVE25519_64BIT)
6719 1557207018622683, 340631692799603, 1477725909476187,
6720 614735951619419, 2033237123746766
6721#else
6722 53464795, 23204192, 51146355, 5075807, 65594203, 22019831,
6723 34006363, 9160279, 8473550, 30297594
6724#endif
6725 }},
6726 {{
6727#if defined(BORINGSSL_CURVE25519_64BIT)
6728 968764929340557, 1225534776710944, 662967304013036,
6729 1155521416178595, 791142883466590
6730#else
6731 24900749, 14435722, 17209120, 18261891, 44516588, 9878982,
6732 59419555, 17218610, 42540382, 11788947
6733#endif
6734 }},
6735 },
6736 {
6737 {{
6738#if defined(BORINGSSL_CURVE25519_64BIT)
6739 1487081286167458, 993039441814934, 1792378982844640,
6740 698652444999874, 2153908693179754
6741#else
6742 63990690, 22159237, 53306774, 14797440, 9652448, 26708528,
6743 47071426, 10410732, 42540394, 32095740
6744#endif
6745 }},
6746 {{
6747#if defined(BORINGSSL_CURVE25519_64BIT)
6748 1123181311102823, 685575944875442, 507605465509927,
6749 1412590462117473, 568017325228626
6750#else
6751 51449703, 16736705, 44641714, 10215877, 58011687, 7563910,
6752 11871841, 21049238, 48595538, 8464117
6753#endif
6754 }},
6755 {{
6756#if defined(BORINGSSL_CURVE25519_64BIT)
6757 560258797465417, 2193971151466401, 1824086900849026,
6758 579056363542056, 1690063960036441
6759#else
6760 43708233, 8348506, 52522913, 32692717, 63158658, 27181012,
6761 14325288, 8628612, 33313881, 25183915
6762#endif
6763 }},
6764 },
6765 {
6766 {{
6767#if defined(BORINGSSL_CURVE25519_64BIT)
6768 1918407319222416, 353767553059963, 1930426334528099,
6769 1564816146005724, 1861342381708096
6770#else
6771 46921872, 28586496, 22367355, 5271547, 66011747, 28765593,
6772 42303196, 23317577, 58168128, 27736162
6773#endif
6774 }},
6775 {{
6776#if defined(BORINGSSL_CURVE25519_64BIT)
6777 2131325168777276, 1176636658428908, 1756922641512981,
6778 1390243617176012, 1966325177038383
6779#else
6780 60160060, 31759219, 34483180, 17533252, 32635413, 26180187,
6781 15989196, 20716244, 28358191, 29300528
6782#endif
6783 }},
6784 {{
6785#if defined(BORINGSSL_CURVE25519_64BIT)
6786 2063958120364491, 2140267332393533, 699896251574968,
6787 273268351312140, 375580724713232
6788#else
6789 43547083, 30755372, 34757181, 31892468, 57961144, 10429266,
6790 50471180, 4072015, 61757200, 5596588
6791#endif
6792 }},
6793 },
6794 {
6795 {{
6796#if defined(BORINGSSL_CURVE25519_64BIT)
6797 2024297515263178, 416959329722687, 1079014235017302,
6798 171612225573183, 1031677520051053
6799#else
6800 38872266, 30164383, 12312895, 6213178, 3117142, 16078565,
6801 29266239, 2557221, 1768301, 15373193
6802#endif
6803 }},
6804 {{
6805#if defined(BORINGSSL_CURVE25519_64BIT)
6806 2033900009388450, 1744902869870788, 2190580087917640,
6807 1949474984254121, 231049754293748
6808#else
6809 59865506, 30307471, 62515396, 26001078, 66980936, 32642186,
6810 66017961, 29049440, 42448372, 3442909
6811#endif
6812 }},
6813 {{
6814#if defined(BORINGSSL_CURVE25519_64BIT)
6815 343868674606581, 550155864008088, 1450580864229630,
6816 481603765195050, 896972360018042
6817#else
6818 36898293, 5124042, 14181784, 8197961, 18964734, 21615339,
6819 22597930, 7176455, 48523386, 13365929
6820#endif
6821 }},
6822 },
6823 {
6824 {{
6825#if defined(BORINGSSL_CURVE25519_64BIT)
6826 2151139328380127, 314745882084928, 59756825775204,
6827 1676664391494651, 2048348075599360
6828#else
6829 59231455, 32054473, 8324672, 4690079, 6261860, 890446, 24538107,
6830 24984246, 57419264, 30522764
6831#endif
6832 }},
6833 {{
6834#if defined(BORINGSSL_CURVE25519_64BIT)
6835 1528930066340597, 1605003907059576, 1055061081337675,
6836 1458319101947665, 1234195845213142
6837#else
6838 25008885, 22782833, 62803832, 23916421, 16265035, 15721635,
6839 683793, 21730648, 15723478, 18390951
6840#endif
6841 }},
6842 {{
6843#if defined(BORINGSSL_CURVE25519_64BIT)
6844 830430507734812, 1780282976102377, 1425386760709037,
6845 362399353095425, 2168861579799910
6846#else
6847 57448220, 12374378, 40101865, 26528283, 59384749, 21239917,
6848 11879681, 5400171, 519526, 32318556
6849#endif
6850 }},
6851 },
6852 {
6853 {{
6854#if defined(BORINGSSL_CURVE25519_64BIT)
6855 1155762232730333, 980662895504006, 2053766700883521,
6856 490966214077606, 510405877041357
6857#else
6858 22258397, 17222199, 59239046, 14613015, 44588609, 30603508,
6859 46754982, 7315966, 16648397, 7605640
6860#endif
6861 }},
6862 {{
6863#if defined(BORINGSSL_CURVE25519_64BIT)
6864 1683750316716132, 652278688286128, 1221798761193539,
6865 1897360681476669, 319658166027343
6866#else
6867 59027556, 25089834, 58885552, 9719709, 19259459, 18206220,
6868 23994941, 28272877, 57640015, 4763277
6869#endif
6870 }},
6871 {{
6872#if defined(BORINGSSL_CURVE25519_64BIT)
6873 618808732869972, 72755186759744, 2060379135624181,
6874 1730731526741822, 48862757828238
6875#else
6876 45409620, 9220968, 51378240, 1084136, 41632757, 30702041,
6877 31088446, 25789909, 55752334, 728111
6878#endif
6879 }},
6880 },
6881 {
6882 {{
6883#if defined(BORINGSSL_CURVE25519_64BIT)
6884 1463171970593505, 1143040711767452, 614590986558883,
6885 1409210575145591, 1882816996436803
6886#else
6887 26047201, 21802961, 60208540, 17032633, 24092067, 9158119,
6888 62835319, 20998873, 37743427, 28056159
6889#endif
6890 }},
6891 {{
6892#if defined(BORINGSSL_CURVE25519_64BIT)
6893 2230133264691131, 563950955091024, 2042915975426398,
6894 827314356293472, 672028980152815
6895#else
6896 17510331, 33231575, 5854288, 8403524, 17133918, 30441820,
6897 38997856, 12327944, 10750447, 10014012
6898#endif
6899 }},
6900 {{
6901#if defined(BORINGSSL_CURVE25519_64BIT)
6902 264204366029760, 1654686424479449, 2185050199932931,
6903 2207056159091748, 506015669043634
6904#else
6905 56796096, 3936951, 9156313, 24656749, 16498691, 32559785,
6906 39627812, 32887699, 3424690, 7540221
6907#endif
6908 }},
6909 },
6910 {
6911 {{
6912#if defined(BORINGSSL_CURVE25519_64BIT)
6913 1784446333136569, 1973746527984364, 334856327359575,
6914 1156769775884610, 1023950124675478
6915#else
6916 30322361, 26590322, 11361004, 29411115, 7433303, 4989748,
6917 60037442, 17237212, 57864598, 15258045
6918#endif
6919 }},
6920 {{
6921#if defined(BORINGSSL_CURVE25519_64BIT)
6922 2065270940578383, 31477096270353, 306421879113491,
6923 181958643936686, 1907105536686083
6924#else
6925 13054543, 30774935, 19155473, 469045, 54626067, 4566041,
6926 5631406, 2711395, 1062915, 28418087
6927#endif
6928 }},
6929 {{
6930#if defined(BORINGSSL_CURVE25519_64BIT)
6931 1496516440779464, 1748485652986458, 872778352227340,
6932 818358834654919, 97932669284220
6933#else
6934 47868616, 22299832, 37599834, 26054466, 61273100, 13005410,
6935 61042375, 12194496, 32960380, 1459310
6936#endif
6937 }},
6938 },
6939 },
6940 {
6941 {
6942 {{
6943#if defined(BORINGSSL_CURVE25519_64BIT)
6944 471636015770351, 672455402793577, 1804995246884103,
6945 1842309243470804, 1501862504981682
6946#else
6947 19852015, 7027924, 23669353, 10020366, 8586503, 26896525,
6948 394196, 27452547, 18638002, 22379495
6949#endif
6950 }},
6951 {{
6952#if defined(BORINGSSL_CURVE25519_64BIT)
6953 1013216974933691, 538921919682598, 1915776722521558,
6954 1742822441583877, 1886550687916656
6955#else
6956 31395515, 15098109, 26581030, 8030562, 50580950, 28547297,
6957 9012485, 25970078, 60465776, 28111795
6958#endif
6959 }},
6960 {{
6961#if defined(BORINGSSL_CURVE25519_64BIT)
6962 2094270000643336, 303971879192276, 40801275554748,
6963 649448917027930, 1818544418535447
6964#else
6965 57916680, 31207054, 65111764, 4529533, 25766844, 607986,
6966 67095642, 9677542, 34813975, 27098423
6967#endif
6968 }},
6969 },
6970 {
6971 {{
6972#if defined(BORINGSSL_CURVE25519_64BIT)
6973 2241737709499165, 549397817447461, 838180519319392,
6974 1725686958520781, 1705639080897747
6975#else
6976 64664349, 33404494, 29348901, 8186665, 1873760, 12489863,
6977 36174285, 25714739, 59256019, 25416002
6978#endif
6979 }},
6980 {{
6981#if defined(BORINGSSL_CURVE25519_64BIT)
6982 1216074541925116, 50120933933509, 1565829004133810,
6983 721728156134580, 349206064666188
6984#else
6985 51872508, 18120922, 7766469, 746860, 26346930, 23332670,
6986 39775412, 10754587, 57677388, 5203575
6987#endif
6988 }},
6989 {{
6990#if defined(BORINGSSL_CURVE25519_64BIT)
6991 948617110470858, 346222547451945, 1126511960599975,
6992 1759386906004538, 493053284802266
6993#else
6994 31834314, 14135496, 66338857, 5159117, 20917671, 16786336,
6995 59640890, 26216907, 31809242, 7347066
6996#endif
6997 }},
6998 },
6999 {
7000 {{
7001#if defined(BORINGSSL_CURVE25519_64BIT)
7002 1454933046815146, 874696014266362, 1467170975468588,
7003 1432316382418897, 2111710746366763
7004#else
7005 57502122, 21680191, 20414458, 13033986, 13716524, 21862551,
7006 19797969, 21343177, 15192875, 31466942
7007#endif
7008 }},
7009 {{
7010#if defined(BORINGSSL_CURVE25519_64BIT)
7011 2105387117364450, 1996463405126433, 1303008614294500,
7012 851908115948209, 1353742049788635
7013#else
7014 54445282, 31372712, 1168161, 29749623, 26747876, 19416341,
7015 10609329, 12694420, 33473243, 20172328
7016#endif
7017 }},
7018 {{
7019#if defined(BORINGSSL_CURVE25519_64BIT)
7020 750300956351719, 1487736556065813, 15158817002104,
7021 1511998221598392, 971739901354129
7022#else
7023 33184999, 11180355, 15832085, 22169002, 65475192, 225883,
7024 15089336, 22530529, 60973201, 14480052
7025#endif
7026 }},
7027 },
7028 {
7029 {{
7030#if defined(BORINGSSL_CURVE25519_64BIT)
7031 1874648163531693, 2124487685930551, 1810030029384882,
7032 918400043048335, 586348627300650
7033#else
7034 31308717, 27934434, 31030839, 31657333, 15674546, 26971549,
7035 5496207, 13685227, 27595050, 8737275
7036#endif
7037 }},
7038 {{
7039#if defined(BORINGSSL_CURVE25519_64BIT)
7040 1235084464747900, 1166111146432082, 1745394857881591,
7041 1405516473883040, 4463504151617
7042#else
7043 46790012, 18404192, 10933842, 17376410, 8335351, 26008410,
7044 36100512, 20943827, 26498113, 66511
7045#endif
7046 }},
7047 {{
7048#if defined(BORINGSSL_CURVE25519_64BIT)
7049 1663810156463827, 327797390285791, 1341846161759410,
7050 1964121122800605, 1747470312055380
7051#else
7052 22644435, 24792703, 50437087, 4884561, 64003250, 19995065,
7053 30540765, 29267685, 53781076, 26039336
7054#endif
7055 }},
7056 },
7057 {
7058 {{
7059#if defined(BORINGSSL_CURVE25519_64BIT)
7060 660005247548233, 2071860029952887, 1358748199950107,
7061 911703252219107, 1014379923023831
7062#else
7063 39091017, 9834844, 18617207, 30873120, 63706907, 20246925,
7064 8205539, 13585437, 49981399, 15115438
7065#endif
7066 }},
7067 {{
7068#if defined(BORINGSSL_CURVE25519_64BIT)
7069 2206641276178231, 1690587809721504, 1600173622825126,
7070 2156096097634421, 1106822408548216
7071#else
7072 23711543, 32881517, 31206560, 25191721, 6164646, 23844445,
7073 33572981, 32128335, 8236920, 16492939
7074#endif
7075 }},
7076 {{
7077#if defined(BORINGSSL_CURVE25519_64BIT)
7078 1344788193552206, 1949552134239140, 1735915881729557,
7079 675891104100469, 1834220014427292
7080#else
7081 43198286, 20038905, 40809380, 29050590, 25005589, 25867162,
7082 19574901, 10071562, 6708380, 27332008
7083#endif
7084 }},
7085 },
7086 {
7087 {{
7088#if defined(BORINGSSL_CURVE25519_64BIT)
7089 1920949492387964, 158885288387530, 70308263664033,
7090 626038464897817, 1468081726101009
7091#else
7092 2101372, 28624378, 19702730, 2367575, 51681697, 1047674,
7093 5301017, 9328700, 29955601, 21876122
7094#endif
7095 }},
7096 {{
7097#if defined(BORINGSSL_CURVE25519_64BIT)
7098 622221042073383, 1210146474039168, 1742246422343683,
7099 1403839361379025, 417189490895736
7100#else
7101 3096359, 9271816, 45488000, 18032587, 52260867, 25961494,
7102 41216721, 20918836, 57191288, 6216607
7103#endif
7104 }},
7105 {{
7106#if defined(BORINGSSL_CURVE25519_64BIT)
7107 22727256592983, 168471543384997, 1324340989803650,
7108 1839310709638189, 504999476432775
7109#else
7110 34493015, 338662, 41913253, 2510421, 37895298, 19734218,
7111 24822829, 27407865, 40341383, 7525078
7112#endif
7113 }},
7114 },
7115 {
7116 {{
7117#if defined(BORINGSSL_CURVE25519_64BIT)
7118 1313240518756327, 1721896294296942, 52263574587266,
7119 2065069734239232, 804910473424630
7120#else
7121 44042215, 19568808, 16133486, 25658254, 63719298, 778787,
7122 66198528, 30771936, 47722230, 11994100
7123#endif
7124 }},
7125 {{
7126#if defined(BORINGSSL_CURVE25519_64BIT)
7127 1337466662091884, 1287645354669772, 2018019646776184,
7128 652181229374245, 898011753211715
7129#else
7130 21691500, 19929806, 66467532, 19187410, 3285880, 30070836,
7131 42044197, 9718257, 59631427, 13381417
7132#endif
7133 }},
7134 {{
7135#if defined(BORINGSSL_CURVE25519_64BIT)
7136 1969792547910734, 779969968247557, 2011350094423418,
7137 1823964252907487, 1058949448296945
7138#else
7139 18445390, 29352196, 14979845, 11622458, 65381754, 29971451,
7140 23111647, 27179185, 28535281, 15779576
7141#endif
7142 }},
7143 },
7144 {
7145 {{
7146#if defined(BORINGSSL_CURVE25519_64BIT)
7147 207343737062002, 1118176942430253, 758894594548164,
7148 806764629546266, 1157700123092949
7149#else
7150 30098034, 3089662, 57874477, 16662134, 45801924, 11308410,
7151 53040410, 12021729, 9955285, 17251076
7152#endif
7153 }},
7154 {{
7155#if defined(BORINGSSL_CURVE25519_64BIT)
7156 1273565321399022, 1638509681964574, 759235866488935,
7157 666015124346707, 897983460943405
7158#else
7159 9734894, 18977602, 59635230, 24415696, 2060391, 11313496,
7160 48682835, 9924398, 20194861, 13380996
7161#endif
7162 }},
7163 {{
7164#if defined(BORINGSSL_CURVE25519_64BIT)
7165 1717263794012298, 1059601762860786, 1837819172257618,
7166 1054130665797229, 680893204263559
7167#else
7168 40730762, 25589224, 44941042, 15789296, 49053522, 27385639,
7169 65123949, 15707770, 26342023, 10146099
7170#endif
7171 }},
7172 },
7173 },
7174 {
7175 {
7176 {{
7177#if defined(BORINGSSL_CURVE25519_64BIT)
7178 2237039662793603, 2249022333361206, 2058613546633703,
7179 149454094845279, 2215176649164582
7180#else
7181 41091971, 33334488, 21339190, 33513044, 19745255, 30675732,
7182 37471583, 2227039, 21612326, 33008704
7183#endif
7184 }},
7185 {{
7186#if defined(BORINGSSL_CURVE25519_64BIT)
7187 79472182719605, 1851130257050174, 1825744808933107,
7188 821667333481068, 781795293511946
7189#else
7190 54031477, 1184227, 23562814, 27583990, 46757619, 27205717,
7191 25764460, 12243797, 46252298, 11649657
7192#endif
7193 }},
7194 {{
7195#if defined(BORINGSSL_CURVE25519_64BIT)
7196 755822026485370, 152464789723500, 1178207602290608,
7197 410307889503239, 156581253571278
7198#else
7199 57077370, 11262625, 27384172, 2271902, 26947504, 17556661,
7200 39943, 6114064, 33514190, 2333242
7201#endif
7202 }},
7203 },
7204 {
7205 {{
7206#if defined(BORINGSSL_CURVE25519_64BIT)
7207 1418185496130297, 484520167728613, 1646737281442950,
7208 1401487684670265, 1349185550126961
7209#else
7210 45675257, 21132610, 8119781, 7219913, 45278342, 24538297,
7211 60429113, 20883793, 24350577, 20104431
7212#endif
7213 }},
7214 {{
7215#if defined(BORINGSSL_CURVE25519_64BIT)
7216 1495380034400429, 325049476417173, 46346894893933,
7217 1553408840354856, 828980101835683
7218#else
7219 62992557, 22282898, 43222677, 4843614, 37020525, 690622,
7220 35572776, 23147595, 8317859, 12352766
7221#endif
7222 }},
7223 {{
7224#if defined(BORINGSSL_CURVE25519_64BIT)
7225 1280337889310282, 2070832742866672, 1640940617225222,
7226 2098284908289951, 450929509534434
7227#else
7228 18200138, 19078521, 34021104, 30857812, 43406342, 24451920,
7229 43556767, 31266881, 20712162, 6719373
7230#endif
7231 }},
7232 },
7233 {
7234 {{
7235#if defined(BORINGSSL_CURVE25519_64BIT)
7236 407703353998781, 126572141483652, 286039827513621,
7237 1999255076709338, 2030511179441770
7238#else
7239 26656189, 6075253, 59250308, 1886071, 38764821, 4262325,
7240 11117530, 29791222, 26224234, 30256974
7241#endif
7242 }},
7243 {{
7244#if defined(BORINGSSL_CURVE25519_64BIT)
7245 1254958221100483, 1153235960999843, 942907704968834,
7246 637105404087392, 1149293270147267
7247#else
7248 49939907, 18700334, 63713187, 17184554, 47154818, 14050419,
7249 21728352, 9493610, 18620611, 17125804
7250#endif
7251 }},
7252 {{
7253#if defined(BORINGSSL_CURVE25519_64BIT)
7254 894249020470196, 400291701616810, 406878712230981,
7255 1599128793487393, 1145868722604026
7256#else
7257 53785524, 13325348, 11432106, 5964811, 18609221, 6062965,
7258 61839393, 23828875, 36407290, 17074774
7259#endif
7260 }},
7261 },
7262 {
7263 {{
7264#if defined(BORINGSSL_CURVE25519_64BIT)
7265 1497955250203334, 110116344653260, 1128535642171976,
7266 1900106496009660, 129792717460909
7267#else
7268 43248326, 22321272, 26961356, 1640861, 34695752, 16816491,
7269 12248508, 28313793, 13735341, 1934062
7270#endif
7271 }},
7272 {{
7273#if defined(BORINGSSL_CURVE25519_64BIT)
7274 452487513298665, 1352120549024569, 1173495883910956,
7275 1999111705922009, 367328130454226
7276#else
7277 25089769, 6742589, 17081145, 20148166, 21909292, 17486451,
7278 51972569, 29789085, 45830866, 5473615
7279#endif
7280 }},
7281 {{
7282#if defined(BORINGSSL_CURVE25519_64BIT)
7283 1717539401269642, 1475188995688487, 891921989653942,
7284 836824441505699, 1885988485608364
7285#else
7286 31883658, 25593331, 1083431, 21982029, 22828470, 13290673,
7287 59983779, 12469655, 29111212, 28103418
7288#endif
7289 }},
7290 },
7291 {
7292 {{
7293#if defined(BORINGSSL_CURVE25519_64BIT)
7294 1241784121422547, 187337051947583, 1118481812236193,
7295 428747751936362, 30358898927325
7296#else
7297 24244947, 18504025, 40845887, 2791539, 52111265, 16666677,
7298 24367466, 6388839, 56813277, 452382
7299#endif
7300 }},
7301 {{
7302#if defined(BORINGSSL_CURVE25519_64BIT)
7303 2022432361201842, 1088816090685051, 1977843398539868,
7304 1854834215890724, 564238862029357
7305#else
7306 41468082, 30136590, 5217915, 16224624, 19987036, 29472163,
7307 42872612, 27639183, 15766061, 8407814
7308#endif
7309 }},
7310 {{
7311#if defined(BORINGSSL_CURVE25519_64BIT)
7312 938868489100585, 1100285072929025, 1017806255688848,
7313 1957262154788833, 152787950560442
7314#else
7315 46701865, 13990230, 15495425, 16395525, 5377168, 15166495,
7316 58191841, 29165478, 59040954, 2276717
7317#endif
7318 }},
7319 },
7320 {
7321 {{
7322#if defined(BORINGSSL_CURVE25519_64BIT)
7323 867319417678923, 620471962942542, 226032203305716,
7324 342001443957629, 1761675818237336
7325#else
7326 30157899, 12924066, 49396814, 9245752, 19895028, 3368142,
7327 43281277, 5096218, 22740376, 26251015
7328#endif
7329 }},
7330 {{
7331#if defined(BORINGSSL_CURVE25519_64BIT)
7332 1295072362439987, 931227904689414, 1355731432641687,
7333 922235735834035, 892227229410209
7334#else
7335 2041139, 19298082, 7783686, 13876377, 41161879, 20201972,
7336 24051123, 13742383, 51471265, 13295221
7337#endif
7338 }},
7339 {{
7340#if defined(BORINGSSL_CURVE25519_64BIT)
7341 1680989767906154, 535362787031440, 2136691276706570,
7342 1942228485381244, 1267350086882274
7343#else
7344 33338218, 25048699, 12532112, 7977527, 9106186, 31839181,
7345 49388668, 28941459, 62657506, 18884987
7346#endif
7347 }},
7348 },
7349 {
7350 {{
7351#if defined(BORINGSSL_CURVE25519_64BIT)
7352 366018233770527, 432660629755596, 126409707644535,
7353 1973842949591662, 645627343442376
7354#else
7355 47063583, 5454096, 52762316, 6447145, 28862071, 1883651,
7356 64639598, 29412551, 7770568, 9620597
7357#endif
7358 }},
7359 {{
7360#if defined(BORINGSSL_CURVE25519_64BIT)
7361 535509430575217, 546885533737322, 1524675609547799,
7362 2138095752851703, 1260738089896827
7363#else
7364 23208049, 7979712, 33071466, 8149229, 1758231, 22719437,
7365 30945527, 31860109, 33606523, 18786461
7366#endif
7367 }},
7368 {{
7369#if defined(BORINGSSL_CURVE25519_64BIT)
7370 1159906385590467, 2198530004321610, 714559485023225,
7371 81880727882151, 1484020820037082
7372#else
7373 1439939, 17283952, 66028874, 32760649, 4625401, 10647766,
7374 62065063, 1220117, 30494170, 22113633
7375#endif
7376 }},
7377 },
7378 {
7379 {{
7380#if defined(BORINGSSL_CURVE25519_64BIT)
7381 1377485731340769, 2046328105512000, 1802058637158797,
7382 62146136768173, 1356993908853901
7383#else
7384 62071265, 20526136, 64138304, 30492664, 15640973, 26852766,
7385 40369837, 926049, 65424525, 20220784
7386#endif
7387 }},
7388 {{
7389#if defined(BORINGSSL_CURVE25519_64BIT)
7390 2013612215646735, 1830770575920375, 536135310219832,
7391 609272325580394, 270684344495013
7392#else
7393 13908495, 30005160, 30919927, 27280607, 45587000, 7989038,
7394 9021034, 9078865, 3353509, 4033511
7395#endif
7396 }},
7397 {{
7398#if defined(BORINGSSL_CURVE25519_64BIT)
7399 1237542585982777, 2228682050256790, 1385281931622824,
7400 593183794882890, 493654978552689
7401#else
7402 37445433, 18440821, 32259990, 33209950, 24295848, 20642309,
7403 23161162, 8839127, 27485041, 7356032
7404#endif
7405 }},
7406 },
7407 },
7408 {
7409 {
7410 {{
7411#if defined(BORINGSSL_CURVE25519_64BIT)
7412 47341488007760, 1891414891220257, 983894663308928,
7413 176161768286818, 1126261115179708
7414#else
7415 9661008, 705443, 11980065, 28184278, 65480320, 14661172,
7416 60762722, 2625014, 28431036, 16782598
7417#endif
7418 }},
7419 {{
7420#if defined(BORINGSSL_CURVE25519_64BIT)
7421 1694030170963455, 502038567066200, 1691160065225467,
7422 949628319562187, 275110186693066
7423#else
7424 43269631, 25243016, 41163352, 7480957, 49427195, 25200248,
7425 44562891, 14150564, 15970762, 4099461
7426#endif
7427 }},
7428 {{
7429#if defined(BORINGSSL_CURVE25519_64BIT)
7430 1124515748676336, 1661673816593408, 1499640319059718,
7431 1584929449166988, 558148594103306
7432#else
7433 29262576, 16756590, 26350592, 24760869, 8529670, 22346382,
7434 13617292, 23617289, 11465738, 8317062
7435#endif
7436 }},
7437 },
7438 {
7439 {{
7440#if defined(BORINGSSL_CURVE25519_64BIT)
7441 1784525599998356, 1619698033617383, 2097300287550715,
7442 258265458103756, 1905684794832758
7443#else
7444 41615764, 26591503, 32500199, 24135381, 44070139, 31252209,
7445 14898636, 3848455, 20969334, 28396916
7446#endif
7447 }},
7448 {{
7449#if defined(BORINGSSL_CURVE25519_64BIT)
7450 1288941072872766, 931787902039402, 190731008859042,
7451 2006859954667190, 1005931482221702
7452#else
7453 46724414, 19206718, 48772458, 13884721, 34069410, 2842113,
7454 45498038, 29904543, 11177094, 14989547
7455#endif
7456 }},
7457 {{
7458#if defined(BORINGSSL_CURVE25519_64BIT)
7459 1465551264822703, 152905080555927, 680334307368453,
7460 173227184634745, 666407097159852
7461#else
7462 42612143, 21838415, 16959895, 2278463, 12066309, 10137771,
7463 13515641, 2581286, 38621356, 9930239
7464#endif
7465 }},
7466 },
7467 {
7468 {{
7469#if defined(BORINGSSL_CURVE25519_64BIT)
7470 2111017076203943, 1378760485794347, 1248583954016456,
7471 1352289194864422, 1895180776543896
7472#else
7473 49357223, 31456605, 16544299, 20545132, 51194056, 18605350,
7474 18345766, 20150679, 16291480, 28240394
7475#endif
7476 }},
7477 {{
7478#if defined(BORINGSSL_CURVE25519_64BIT)
7479 171348223915638, 662766099800389, 462338943760497,
7480 466917763340314, 656911292869115
7481#else
7482 33879670, 2553287, 32678213, 9875984, 8534129, 6889387,
7483 57432090, 6957616, 4368891, 9788741
7484#endif
7485 }},
7486 {{
7487#if defined(BORINGSSL_CURVE25519_64BIT)
7488 488623681976577, 866497561541722, 1708105560937768,
7489 1673781214218839, 1506146329818807
7490#else
7491 16660737, 7281060, 56278106, 12911819, 20108584, 25452756,
7492 45386327, 24941283, 16250551, 22443329
7493#endif
7494 }},
7495 },
7496 {
7497 {{
7498#if defined(BORINGSSL_CURVE25519_64BIT)
7499 160425464456957, 950394373239689, 430497123340934,
7500 711676555398832, 320964687779005
7501#else
7502 47343357, 2390525, 50557833, 14161979, 1905286, 6414907,
7503 4689584, 10604807, 36918461, 4782746
7504#endif
7505 }},
7506 {{
7507#if defined(BORINGSSL_CURVE25519_64BIT)
7508 988979367990485, 1359729327576302, 1301834257246029,
7509 294141160829308, 29348272277475
7510#else
7511 65754325, 14736940, 59741422, 20261545, 7710541, 19398842,
7512 57127292, 4383044, 22546403, 437323
7513#endif
7514 }},
7515 {{
7516#if defined(BORINGSSL_CURVE25519_64BIT)
7517 1434382743317910, 100082049942065, 221102347892623,
7518 186982837860588, 1305765053501834
7519#else
7520 31665558, 21373968, 50922033, 1491338, 48740239, 3294681,
7521 27343084, 2786261, 36475274, 19457415
7522#endif
7523 }},
7524 },
7525 {
7526 {{
7527#if defined(BORINGSSL_CURVE25519_64BIT)
7528 2205916462268190, 499863829790820, 961960554686616,
7529 158062762756985, 1841471168298305
7530#else
7531 52641566, 32870716, 33734756, 7448551, 19294360, 14334329,
7532 47418233, 2355318, 47824193, 27440058
7533#endif
7534 }},
7535 {{
7536#if defined(BORINGSSL_CURVE25519_64BIT)
7537 1191737341426592, 1847042034978363, 1382213545049056,
7538 1039952395710448, 788812858896859
7539#else
7540 15121312, 17758270, 6377019, 27523071, 56310752, 20596586,
7541 18952176, 15496498, 37728731, 11754227
7542#endif
7543 }},
7544 {{
7545#if defined(BORINGSSL_CURVE25519_64BIT)
7546 1346965964571152, 1291881610839830, 2142916164336056,
7547 786821641205979, 1571709146321039
7548#else
7549 64471568, 20071356, 8488726, 19250536, 12728760, 31931939,
7550 7141595, 11724556, 22761615, 23420291
7551#endif
7552 }},
7553 },
7554 {
7555 {{
7556#if defined(BORINGSSL_CURVE25519_64BIT)
7557 787164375951248, 202869205373189, 1356590421032140,
7558 1431233331032510, 786341368775957
7559#else
7560 16918416, 11729663, 49025285, 3022986, 36093132, 20214772,
7561 38367678, 21327038, 32851221, 11717399
7562#endif
7563 }},
7564 {{
7565#if defined(BORINGSSL_CURVE25519_64BIT)
7566 492448143532951, 304105152670757, 1761767168301056,
7567 233782684697790, 1981295323106089
7568#else
7569 11166615, 7338049, 60386341, 4531519, 37640192, 26252376,
7570 31474878, 3483633, 65915689, 29523600
7571#endif
7572 }},
7573 {{
7574#if defined(BORINGSSL_CURVE25519_64BIT)
7575 665807507761866, 1343384868355425, 895831046139653,
7576 439338948736892, 1986828765695105
7577#else
7578 66923210, 9921304, 31456609, 20017994, 55095045, 13348922,
7579 33142652, 6546660, 47123585, 29606055
7580#endif
7581 }},
7582 },
7583 {
7584 {{
7585#if defined(BORINGSSL_CURVE25519_64BIT)
7586 756096210874553, 1721699973539149, 258765301727885,
7587 1390588532210645, 1212530909934781
7588#else
7589 34648249, 11266711, 55911757, 25655328, 31703693, 3855903,
7590 58571733, 20721383, 36336829, 18068118
7591#endif
7592 }},
7593 {{
7594#if defined(BORINGSSL_CURVE25519_64BIT)
7595 852891097972275, 1816988871354562, 1543772755726524,
7596 1174710635522444, 202129090724628
7597#else
7598 49102387, 12709067, 3991746, 27075244, 45617340, 23004006,
7599 35973516, 17504552, 10928916, 3011958
7600#endif
7601 }},
7602 {{
7603#if defined(BORINGSSL_CURVE25519_64BIT)
7604 1205281565824323, 22430498399418, 992947814485516,
7605 1392458699738672, 688441466734558
7606#else
7607 60151107, 17960094, 31696058, 334240, 29576716, 14796075,
7608 36277808, 20749251, 18008030, 10258577
7609#endif
7610 }},
7611 },
7612 {
7613 {{
7614#if defined(BORINGSSL_CURVE25519_64BIT)
7615 1050627428414972, 1955849529137135, 2171162376368357,
7616 91745868298214, 447733118757826
7617#else
7618 44660220, 15655568, 7018479, 29144429, 36794597, 32352840,
7619 65255398, 1367119, 25127874, 6671743
7620#endif
7621 }},
7622 {{
7623#if defined(BORINGSSL_CURVE25519_64BIT)
7624 1287181461435438, 622722465530711, 880952150571872,
7625 741035693459198, 311565274989772
7626#else
7627 29701166, 19180498, 56230743, 9279287, 67091296, 13127209,
7628 21382910, 11042292, 25838796, 4642684
7629#endif
7630 }},
7631 {{
7632#if defined(BORINGSSL_CURVE25519_64BIT)
7633 1003649078149734, 545233927396469, 1849786171789880,
7634 1318943684880434, 280345687170552
7635#else
7636 46678630, 14955536, 42982517, 8124618, 61739576, 27563961,
7637 30468146, 19653792, 18423288, 4177476
7638#endif
7639 }},
7640 },
7641 },
7642};
7643
7644#endif // OPENSSL_SMALL
7645
7646// Bi[i] = (2*i+1)*B
7647static const ge_precomp Bi[8] = {
7648 {
7649 {{
7650#if defined(BORINGSSL_CURVE25519_64BIT)
7651 1288382639258501, 245678601348599, 269427782077623,
7652 1462984067271730, 137412439391563
7653#else
7654 25967493, 19198397, 29566455, 3660896, 54414519, 4014786, 27544626,
7655 21800161, 61029707, 2047604
7656#endif
7657 }},
7658 {{
7659#if defined(BORINGSSL_CURVE25519_64BIT)
7660 62697248952638, 204681361388450, 631292143396476, 338455783676468,
7661 1213667448819585
7662#else
7663 54563134, 934261, 64385954, 3049989, 66381436, 9406985, 12720692,
7664 5043384, 19500929, 18085054
7665#endif
7666 }},
7667 {{
7668#if defined(BORINGSSL_CURVE25519_64BIT)
7669 301289933810280, 1259582250014073, 1422107436869536,
7670 796239922652654, 1953934009299142
7671#else
7672 58370664, 4489569, 9688441, 18769238, 10184608, 21191052, 29287918,
7673 11864899, 42594502, 29115885
7674#endif
7675 }},
7676 },
7677 {
7678 {{
7679#if defined(BORINGSSL_CURVE25519_64BIT)
7680 1601611775252272, 1720807796594148, 1132070835939856,
7681 1260455018889551, 2147779492816911
7682#else
7683 15636272, 23865875, 24204772, 25642034, 616976, 16869170, 27787599,
7684 18782243, 28944399, 32004408
7685#endif
7686 }},
7687 {{
7688#if defined(BORINGSSL_CURVE25519_64BIT)
7689 316559037616741, 2177824224946892, 1459442586438991,
7690 1461528397712656, 751590696113597
7691#else
7692 16568933, 4717097, 55552716, 32452109, 15682895, 21747389, 16354576,
7693 21778470, 7689661, 11199574
7694#endif
7695 }},
7696 {{
7697#if defined(BORINGSSL_CURVE25519_64BIT)
7698 1850748884277385, 1200145853858453, 1068094770532492,
7699 672251375690438, 1586055907191707
7700#else
7701 30464137, 27578307, 55329429, 17883566, 23220364, 15915852, 7512774,
7702 10017326, 49359771, 23634074
7703#endif
7704 }},
7705 },
7706 {
7707 {{
7708#if defined(BORINGSSL_CURVE25519_64BIT)
7709 769950342298419, 132954430919746, 844085933195555, 974092374476333,
7710 726076285546016
7711#else
7712 10861363, 11473154, 27284546, 1981175, 37044515, 12577860, 32867885,
7713 14515107, 51670560, 10819379
7714#endif
7715 }},
7716 {{
7717#if defined(BORINGSSL_CURVE25519_64BIT)
7718 425251763115706, 608463272472562, 442562545713235, 837766094556764,
7719 374555092627893
7720#else
7721 4708026, 6336745, 20377586, 9066809, 55836755, 6594695, 41455196,
7722 12483687, 54440373, 5581305
7723#endif
7724 }},
7725 {{
7726#if defined(BORINGSSL_CURVE25519_64BIT)
7727 1086255230780037, 274979815921559, 1960002765731872,
7728 929474102396301, 1190409889297339
7729#else
7730 19563141, 16186464, 37722007, 4097518, 10237984, 29206317, 28542349,
7731 13850243, 43430843, 17738489
7732#endif
7733 }},
7734 },
7735 {
7736 {{
7737#if defined(BORINGSSL_CURVE25519_64BIT)
7738 665000864555967, 2065379846933859, 370231110385876, 350988370788628,
7739 1233371373142985
7740#else
7741 5153727, 9909285, 1723747, 30776558, 30523604, 5516873, 19480852,
7742 5230134, 43156425, 18378665
7743#endif
7744 }},
7745 {{
7746#if defined(BORINGSSL_CURVE25519_64BIT)
7747 2019367628972465, 676711900706637, 110710997811333,
7748 1108646842542025, 517791959672113
7749#else
7750 36839857, 30090922, 7665485, 10083793, 28475525, 1649722, 20654025,
7751 16520125, 30598449, 7715701
7752#endif
7753 }},
7754 {{
7755#if defined(BORINGSSL_CURVE25519_64BIT)
7756 965130719900578, 247011430587952, 526356006571389, 91986625355052,
7757 2157223321444601
7758#else
7759 28881826, 14381568, 9657904, 3680757, 46927229, 7843315, 35708204,
7760 1370707, 29794553, 32145132
7761#endif
7762 }},
7763 },
7764 {
7765 {{
7766#if defined(BORINGSSL_CURVE25519_64BIT)
7767 1802695059465007, 1664899123557221, 593559490740857,
7768 2160434469266659, 927570450755031
7769#else
7770 44589871, 26862249, 14201701, 24808930, 43598457, 8844725, 18474211,
7771 32192982, 54046167, 13821876
7772#endif
7773 }},
7774 {{
7775#if defined(BORINGSSL_CURVE25519_64BIT)
7776 1725674970513508, 1933645953859181, 1542344539275782,
7777 1767788773573747, 1297447965928905
7778#else
7779 60653668, 25714560, 3374701, 28813570, 40010246, 22982724, 31655027,
7780 26342105, 18853321, 19333481
7781#endif
7782 }},
7783 {{
7784#if defined(BORINGSSL_CURVE25519_64BIT)
7785 1381809363726107, 1430341051343062, 2061843536018959,
7786 1551778050872521, 2036394857967624
7787#else
7788 4566811, 20590564, 38133974, 21313742, 59506191, 30723862, 58594505,
7789 23123294, 2207752, 30344648
7790#endif
7791 }},
7792 },
7793 {
7794 {{
7795#if defined(BORINGSSL_CURVE25519_64BIT)
7796 1970894096313054, 528066325833207, 1619374932191227,
7797 2207306624415883, 1169170329061080
7798#else
7799 41954014, 29368610, 29681143, 7868801, 60254203, 24130566, 54671499,
7800 32891431, 35997400, 17421995
7801#endif
7802 }},
7803 {{
7804#if defined(BORINGSSL_CURVE25519_64BIT)
7805 2070390218572616, 1458919061857835, 624171843017421,
7806 1055332792707765, 433987520732508
7807#else
7808 25576264, 30851218, 7349803, 21739588, 16472781, 9300885, 3844789,
7809 15725684, 171356, 6466918
7810#endif
7811 }},
7812 {{
7813#if defined(BORINGSSL_CURVE25519_64BIT)
7814 893653801273833, 1168026499324677, 1242553501121234,
7815 1306366254304474, 1086752658510815
7816#else
7817 23103977, 13316479, 9739013, 17404951, 817874, 18515490, 8965338,
7818 19466374, 36393951, 16193876
7819#endif
7820 }},
7821 },
7822 {
7823 {{
7824#if defined(BORINGSSL_CURVE25519_64BIT)
7825 213454002618221, 939771523987438, 1159882208056014, 317388369627517,
7826 621213314200687
7827#else
7828 33587053, 3180712, 64714734, 14003686, 50205390, 17283591, 17238397,
7829 4729455, 49034351, 9256799
7830#endif
7831 }},
7832 {{
7833#if defined(BORINGSSL_CURVE25519_64BIT)
7834 1971678598905747, 338026507889165, 762398079972271, 655096486107477,
7835 42299032696322
7836#else
7837 41926547, 29380300, 32336397, 5036987, 45872047, 11360616, 22616405,
7838 9761698, 47281666, 630304
7839#endif
7840 }},
7841 {{
7842#if defined(BORINGSSL_CURVE25519_64BIT)
7843 177130678690680, 1754759263300204, 1864311296286618,
7844 1180675631479880, 1292726903152791
7845#else
7846 53388152, 2639452, 42871404, 26147950, 9494426, 27780403, 60554312,
7847 17593437, 64659607, 19263131
7848#endif
7849 }},
7850 },
7851 {
7852 {{
7853#if defined(BORINGSSL_CURVE25519_64BIT)
7854 1913163449625248, 460779200291993, 2193883288642314,
7855 1008900146920800, 1721983679009502
7856#else
7857 63957664, 28508356, 9282713, 6866145, 35201802, 32691408, 48168288,
7858 15033783, 25105118, 25659556
7859#endif
7860 }},
7861 {{
7862#if defined(BORINGSSL_CURVE25519_64BIT)
7863 1070401523076875, 1272492007800961, 1910153608563310,
7864 2075579521696771, 1191169788841221
7865#else
7866 42782475, 15950225, 35307649, 18961608, 55446126, 28463506, 1573891,
7867 30928545, 2198789, 17749813
7868#endif
7869 }},
7870 {{
7871#if defined(BORINGSSL_CURVE25519_64BIT)
7872 692896803108118, 500174642072499, 2068223309439677,
7873 1162190621851337, 1426986007309901
7874#else
7875 64009494, 10324966, 64867251, 7453182, 61661885, 30818928, 53296841,
7876 17317989, 34647629, 21263748
7877#endif
7878 }},
7879 },
7880};