@sig-net/midnight-contract 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/managed/compiler/contract-info.json +148 -87
- package/dist/managed/compiler/contract-manifest.json +44 -44
- package/dist/managed/contract/index.d.ts +85 -70
- package/dist/managed/contract/index.js +570 -406
- package/dist/managed/contract/index.js.map +2 -2
- package/dist/managed/keys/postRespondBidirectional.prover +0 -0
- package/dist/managed/keys/postRespondBidirectional.verifier +0 -0
- package/dist/managed/keys/postSignatureResponse.prover +0 -0
- package/dist/managed/keys/postSignatureResponse.verifier +0 -0
- package/dist/managed/keys/signBidirectionalEvent.prover +0 -0
- package/dist/managed/keys/signBidirectionalEvent.verifier +0 -0
- package/dist/managed/zkir/postRespondBidirectional.bzkir +0 -0
- package/dist/managed/zkir/postRespondBidirectional.zkir +55 -337
- package/dist/managed/zkir/postSignatureResponse.bzkir +0 -0
- package/dist/managed/zkir/postSignatureResponse.zkir +47 -150
- package/dist/managed/zkir/signBidirectionalEvent.bzkir +0 -0
- package/dist/managed/zkir/signBidirectionalEvent.zkir +56 -0
- package/package.json +4 -4
- package/dist/managed/keys/notifyBidirectionalSignatureRequest.prover +0 -0
- package/dist/managed/keys/notifyBidirectionalSignatureRequest.verifier +0 -0
- package/dist/managed/zkir/notifyBidirectionalSignatureRequest.bzkir +0 -0
- package/dist/managed/zkir/notifyBidirectionalSignatureRequest.zkir +0 -49
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"runtime-version": "0.18.0-rc.1",
|
|
5
5
|
"circuits": [
|
|
6
6
|
{
|
|
7
|
-
"name": "
|
|
7
|
+
"name": "signBidirectionalEvent",
|
|
8
8
|
"pure": false,
|
|
9
9
|
"proof": true,
|
|
10
10
|
"arguments": [
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"name": "notification",
|
|
24
24
|
"type": {
|
|
25
25
|
"type-name": "Struct",
|
|
26
|
-
"name": "
|
|
26
|
+
"name": "SignBidirectionalEventNotification",
|
|
27
27
|
"elements": [
|
|
28
28
|
{
|
|
29
29
|
"name": "version",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"name": "payload",
|
|
37
37
|
"type": {
|
|
38
38
|
"type-name": "Bytes",
|
|
39
|
-
"length":
|
|
39
|
+
"length": 128
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
]
|
|
@@ -44,8 +44,27 @@
|
|
|
44
44
|
}
|
|
45
45
|
],
|
|
46
46
|
"result-type": {
|
|
47
|
-
"type-name": "
|
|
48
|
-
"
|
|
47
|
+
"type-name": "Struct",
|
|
48
|
+
"name": "SignetMapKey",
|
|
49
|
+
"elements": [
|
|
50
|
+
{
|
|
51
|
+
"name": "count",
|
|
52
|
+
"type": {
|
|
53
|
+
"type-name": "Uint",
|
|
54
|
+
"maxval": 18446744073709551615
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "requestId",
|
|
59
|
+
"type": {
|
|
60
|
+
"type-name": "Alias",
|
|
61
|
+
"name": "RequestId",
|
|
62
|
+
"type": {
|
|
63
|
+
"type-name": "Bytes",
|
|
64
|
+
"length": 32
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
49
68
|
]
|
|
50
69
|
}
|
|
51
70
|
},
|
|
@@ -66,10 +85,10 @@
|
|
|
66
85
|
}
|
|
67
86
|
},
|
|
68
87
|
{
|
|
69
|
-
"name": "
|
|
88
|
+
"name": "signatureRespondedEvent",
|
|
70
89
|
"type": {
|
|
71
90
|
"type-name": "Struct",
|
|
72
|
-
"name": "
|
|
91
|
+
"name": "SignatureRespondedEvent",
|
|
73
92
|
"elements": [
|
|
74
93
|
{
|
|
75
94
|
"name": "bigRx",
|
|
@@ -126,10 +145,10 @@
|
|
|
126
145
|
}
|
|
127
146
|
},
|
|
128
147
|
{
|
|
129
|
-
"name": "
|
|
148
|
+
"name": "respondBidirectionalEvent",
|
|
130
149
|
"type": {
|
|
131
150
|
"type-name": "Struct",
|
|
132
|
-
"name": "
|
|
151
|
+
"name": "RespondBidirectionalEvent",
|
|
133
152
|
"elements": [
|
|
134
153
|
{
|
|
135
154
|
"name": "serializedOutput",
|
|
@@ -146,31 +165,24 @@
|
|
|
146
165
|
}
|
|
147
166
|
},
|
|
148
167
|
{
|
|
149
|
-
"name": "
|
|
168
|
+
"name": "r",
|
|
150
169
|
"type": {
|
|
151
|
-
"type-name": "
|
|
152
|
-
"
|
|
153
|
-
"type": {
|
|
154
|
-
"type-name": "Opaque",
|
|
155
|
-
"tsType": "JubjubPoint"
|
|
156
|
-
}
|
|
170
|
+
"type-name": "Bytes",
|
|
171
|
+
"length": 32
|
|
157
172
|
}
|
|
158
173
|
},
|
|
159
174
|
{
|
|
160
|
-
"name": "
|
|
175
|
+
"name": "s",
|
|
161
176
|
"type": {
|
|
162
|
-
"type-name": "
|
|
163
|
-
"
|
|
164
|
-
"type": {
|
|
165
|
-
"type-name": "Opaque",
|
|
166
|
-
"tsType": "JubjubPoint"
|
|
167
|
-
}
|
|
177
|
+
"type-name": "Bytes",
|
|
178
|
+
"length": 32
|
|
168
179
|
}
|
|
169
180
|
},
|
|
170
181
|
{
|
|
171
|
-
"name": "
|
|
182
|
+
"name": "recoveryId",
|
|
172
183
|
"type": {
|
|
173
|
-
"type-name": "
|
|
184
|
+
"type-name": "Uint",
|
|
185
|
+
"maxval": 255
|
|
174
186
|
}
|
|
175
187
|
}
|
|
176
188
|
]
|
|
@@ -190,7 +202,7 @@
|
|
|
190
202
|
],
|
|
191
203
|
"ledger": [
|
|
192
204
|
{
|
|
193
|
-
"name": "
|
|
205
|
+
"name": "signBidirectionalEventNotificationCounterMap",
|
|
194
206
|
"index": 0,
|
|
195
207
|
"exported": true,
|
|
196
208
|
"storage": "Map",
|
|
@@ -207,13 +219,13 @@
|
|
|
207
219
|
}
|
|
208
220
|
},
|
|
209
221
|
{
|
|
210
|
-
"name": "
|
|
222
|
+
"name": "signBidirectionalEventNotificationMap",
|
|
211
223
|
"index": 1,
|
|
212
224
|
"exported": true,
|
|
213
225
|
"storage": "Map",
|
|
214
226
|
"key": {
|
|
215
227
|
"type-name": "Struct",
|
|
216
|
-
"name": "
|
|
228
|
+
"name": "SignetMapKey",
|
|
217
229
|
"elements": [
|
|
218
230
|
{
|
|
219
231
|
"name": "count",
|
|
@@ -237,41 +249,27 @@
|
|
|
237
249
|
},
|
|
238
250
|
"value": {
|
|
239
251
|
"type-name": "Struct",
|
|
240
|
-
"name": "
|
|
252
|
+
"name": "SignBidirectionalEventNotification",
|
|
241
253
|
"elements": [
|
|
242
254
|
{
|
|
243
|
-
"name": "
|
|
244
|
-
"type": {
|
|
245
|
-
"type-name": "Bytes",
|
|
246
|
-
"length": 32
|
|
247
|
-
}
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
"name": "bigRy",
|
|
255
|
+
"name": "version",
|
|
251
256
|
"type": {
|
|
252
|
-
"type-name": "
|
|
253
|
-
"
|
|
257
|
+
"type-name": "Uint",
|
|
258
|
+
"maxval": 255
|
|
254
259
|
}
|
|
255
260
|
},
|
|
256
261
|
{
|
|
257
|
-
"name": "
|
|
262
|
+
"name": "payload",
|
|
258
263
|
"type": {
|
|
259
264
|
"type-name": "Bytes",
|
|
260
|
-
"length":
|
|
261
|
-
}
|
|
262
|
-
},
|
|
263
|
-
{
|
|
264
|
-
"name": "recoveryId",
|
|
265
|
-
"type": {
|
|
266
|
-
"type-name": "Uint",
|
|
267
|
-
"maxval": 255
|
|
265
|
+
"length": 128
|
|
268
266
|
}
|
|
269
267
|
}
|
|
270
268
|
]
|
|
271
269
|
}
|
|
272
270
|
},
|
|
273
271
|
{
|
|
274
|
-
"name": "
|
|
272
|
+
"name": "signatureResponseCounterMap",
|
|
275
273
|
"index": 2,
|
|
276
274
|
"exported": true,
|
|
277
275
|
"storage": "Map",
|
|
@@ -284,66 +282,75 @@
|
|
|
284
282
|
}
|
|
285
283
|
},
|
|
286
284
|
"value": {
|
|
285
|
+
"type-name": "Counter"
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"name": "signatureResponseMap",
|
|
290
|
+
"index": 3,
|
|
291
|
+
"exported": true,
|
|
292
|
+
"storage": "Map",
|
|
293
|
+
"key": {
|
|
287
294
|
"type-name": "Struct",
|
|
288
|
-
"name": "
|
|
295
|
+
"name": "SignetMapKey",
|
|
289
296
|
"elements": [
|
|
290
297
|
{
|
|
291
|
-
"name": "
|
|
292
|
-
"type": {
|
|
293
|
-
"type-name": "Bytes",
|
|
294
|
-
"length": 128
|
|
295
|
-
}
|
|
296
|
-
},
|
|
297
|
-
{
|
|
298
|
-
"name": "outputLen",
|
|
298
|
+
"name": "count",
|
|
299
299
|
"type": {
|
|
300
300
|
"type-name": "Uint",
|
|
301
|
-
"maxval":
|
|
301
|
+
"maxval": 18446744073709551615
|
|
302
302
|
}
|
|
303
303
|
},
|
|
304
304
|
{
|
|
305
|
-
"name": "
|
|
305
|
+
"name": "requestId",
|
|
306
306
|
"type": {
|
|
307
307
|
"type-name": "Alias",
|
|
308
|
-
"name": "
|
|
308
|
+
"name": "RequestId",
|
|
309
309
|
"type": {
|
|
310
|
-
"type-name": "
|
|
311
|
-
"
|
|
310
|
+
"type-name": "Bytes",
|
|
311
|
+
"length": 32
|
|
312
312
|
}
|
|
313
313
|
}
|
|
314
|
+
}
|
|
315
|
+
]
|
|
316
|
+
},
|
|
317
|
+
"value": {
|
|
318
|
+
"type-name": "Struct",
|
|
319
|
+
"name": "SignatureRespondedEvent",
|
|
320
|
+
"elements": [
|
|
321
|
+
{
|
|
322
|
+
"name": "bigRx",
|
|
323
|
+
"type": {
|
|
324
|
+
"type-name": "Bytes",
|
|
325
|
+
"length": 32
|
|
326
|
+
}
|
|
314
327
|
},
|
|
315
328
|
{
|
|
316
|
-
"name": "
|
|
329
|
+
"name": "bigRy",
|
|
317
330
|
"type": {
|
|
318
|
-
"type-name": "
|
|
319
|
-
"
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
331
|
+
"type-name": "Bytes",
|
|
332
|
+
"length": 32
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"name": "s",
|
|
337
|
+
"type": {
|
|
338
|
+
"type-name": "Bytes",
|
|
339
|
+
"length": 32
|
|
324
340
|
}
|
|
325
341
|
},
|
|
326
342
|
{
|
|
327
|
-
"name": "
|
|
343
|
+
"name": "recoveryId",
|
|
328
344
|
"type": {
|
|
329
|
-
"type-name": "
|
|
345
|
+
"type-name": "Uint",
|
|
346
|
+
"maxval": 255
|
|
330
347
|
}
|
|
331
348
|
}
|
|
332
349
|
]
|
|
333
350
|
}
|
|
334
351
|
},
|
|
335
352
|
{
|
|
336
|
-
"name": "
|
|
337
|
-
"index": 3,
|
|
338
|
-
"exported": true,
|
|
339
|
-
"storage": "Cell",
|
|
340
|
-
"type": {
|
|
341
|
-
"type-name": "Bytes",
|
|
342
|
-
"length": 32
|
|
343
|
-
}
|
|
344
|
-
},
|
|
345
|
-
{
|
|
346
|
-
"name": "signBidirectionalNotificationIndex",
|
|
353
|
+
"name": "respondBidirectionalCounterMap",
|
|
347
354
|
"index": 4,
|
|
348
355
|
"exported": true,
|
|
349
356
|
"storage": "Map",
|
|
@@ -356,21 +363,75 @@
|
|
|
356
363
|
}
|
|
357
364
|
},
|
|
358
365
|
"value": {
|
|
366
|
+
"type-name": "Counter"
|
|
367
|
+
}
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"name": "respondBidirectionalMap",
|
|
371
|
+
"index": 5,
|
|
372
|
+
"exported": true,
|
|
373
|
+
"storage": "Map",
|
|
374
|
+
"key": {
|
|
359
375
|
"type-name": "Struct",
|
|
360
|
-
"name": "
|
|
376
|
+
"name": "SignetMapKey",
|
|
361
377
|
"elements": [
|
|
362
378
|
{
|
|
363
|
-
"name": "
|
|
379
|
+
"name": "count",
|
|
380
|
+
"type": {
|
|
381
|
+
"type-name": "Uint",
|
|
382
|
+
"maxval": 18446744073709551615
|
|
383
|
+
}
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"name": "requestId",
|
|
387
|
+
"type": {
|
|
388
|
+
"type-name": "Alias",
|
|
389
|
+
"name": "RequestId",
|
|
390
|
+
"type": {
|
|
391
|
+
"type-name": "Bytes",
|
|
392
|
+
"length": 32
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
]
|
|
397
|
+
},
|
|
398
|
+
"value": {
|
|
399
|
+
"type-name": "Struct",
|
|
400
|
+
"name": "RespondBidirectionalEvent",
|
|
401
|
+
"elements": [
|
|
402
|
+
{
|
|
403
|
+
"name": "serializedOutput",
|
|
404
|
+
"type": {
|
|
405
|
+
"type-name": "Bytes",
|
|
406
|
+
"length": 128
|
|
407
|
+
}
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"name": "outputLen",
|
|
364
411
|
"type": {
|
|
365
412
|
"type-name": "Uint",
|
|
366
413
|
"maxval": 255
|
|
367
414
|
}
|
|
368
415
|
},
|
|
369
416
|
{
|
|
370
|
-
"name": "
|
|
417
|
+
"name": "r",
|
|
418
|
+
"type": {
|
|
419
|
+
"type-name": "Bytes",
|
|
420
|
+
"length": 32
|
|
421
|
+
}
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"name": "s",
|
|
371
425
|
"type": {
|
|
372
426
|
"type-name": "Bytes",
|
|
373
|
-
"length":
|
|
427
|
+
"length": 32
|
|
428
|
+
}
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"name": "recoveryId",
|
|
432
|
+
"type": {
|
|
433
|
+
"type-name": "Uint",
|
|
434
|
+
"maxval": 255
|
|
374
435
|
}
|
|
375
436
|
}
|
|
376
437
|
]
|
|
@@ -7,92 +7,92 @@
|
|
|
7
7
|
"type": "directory",
|
|
8
8
|
"contract-info.json": {
|
|
9
9
|
"type": "file",
|
|
10
|
-
"size":
|
|
11
|
-
"hash": "
|
|
10
|
+
"size": 9940,
|
|
11
|
+
"hash": "2bb608fe05b4a143193c286a8bf7cda7777350e82ae30e9bca5b9088c7f1d3bf"
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"contract": {
|
|
15
15
|
"type": "directory",
|
|
16
16
|
"index.d.ts": {
|
|
17
17
|
"type": "file",
|
|
18
|
-
"size":
|
|
19
|
-
"hash": "
|
|
18
|
+
"size": 8450,
|
|
19
|
+
"hash": "f02bccd41dc7a6c929faad7f3a0d68875481ea19f1869ca04d69f25f1fe723a8"
|
|
20
20
|
},
|
|
21
21
|
"index.js": {
|
|
22
22
|
"type": "file",
|
|
23
|
-
"size":
|
|
24
|
-
"hash": "
|
|
23
|
+
"size": 104652,
|
|
24
|
+
"hash": "94e9c8454716f4b2cc6ada9e75e735693d9afbfcf956f83e319c5b745bad4a2a"
|
|
25
25
|
},
|
|
26
26
|
"index.js.map": {
|
|
27
27
|
"type": "file",
|
|
28
|
-
"size":
|
|
29
|
-
"hash": "
|
|
28
|
+
"size": 3057,
|
|
29
|
+
"hash": "93b50f8d99b21457b6ad34e2bc0c8afa366d10135668d46bd065315a10e7a450"
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
"zkir": {
|
|
33
33
|
"type": "directory",
|
|
34
|
-
"notifyBidirectionalSignatureRequest.bzkir": {
|
|
35
|
-
"type": "file",
|
|
36
|
-
"size": 133,
|
|
37
|
-
"hash": "4aac47417255c1a525bdce018caef0bc734d8a2d13c39b6ece41f5375301303d"
|
|
38
|
-
},
|
|
39
|
-
"notifyBidirectionalSignatureRequest.zkir": {
|
|
40
|
-
"type": "file",
|
|
41
|
-
"size": 2038,
|
|
42
|
-
"hash": "f51972650b77993359be13954c7322e7e8a25b5fa29825dd6facc38f99640c87"
|
|
43
|
-
},
|
|
44
34
|
"postRespondBidirectional.bzkir": {
|
|
45
35
|
"type": "file",
|
|
46
|
-
"size":
|
|
47
|
-
"hash": "
|
|
36
|
+
"size": 1910,
|
|
37
|
+
"hash": "0b70b24b36fc6ea5886a95b39d112f495a0eed34b18bde47d93f1c5110f75e99"
|
|
48
38
|
},
|
|
49
39
|
"postRespondBidirectional.zkir": {
|
|
50
40
|
"type": "file",
|
|
51
|
-
"size":
|
|
52
|
-
"hash": "
|
|
41
|
+
"size": 4646,
|
|
42
|
+
"hash": "327dd3e13f92edd2fa6ec08e7dc0588dcfb0b40ce3f4f7c548465c14673ff2f5"
|
|
53
43
|
},
|
|
54
44
|
"postSignatureResponse.bzkir": {
|
|
55
45
|
"type": "file",
|
|
56
|
-
"size":
|
|
57
|
-
"hash": "
|
|
46
|
+
"size": 1479,
|
|
47
|
+
"hash": "f87e8441cc3489b1f7559f2d65445f2ea17fb3016ff15c3f58c4027f12a5fd7a"
|
|
58
48
|
},
|
|
59
49
|
"postSignatureResponse.zkir": {
|
|
60
50
|
"type": "file",
|
|
61
|
-
"size":
|
|
62
|
-
"hash": "
|
|
51
|
+
"size": 3813,
|
|
52
|
+
"hash": "1f6e6a3c95d8fa3952c58e70588fc3661c9dd6115a1b01f530eb16f925bf4d2b"
|
|
53
|
+
},
|
|
54
|
+
"signBidirectionalEvent.bzkir": {
|
|
55
|
+
"type": "file",
|
|
56
|
+
"size": 1248,
|
|
57
|
+
"hash": "df11c0f58df1650875608110fb3844bf6ba733fa1dc466f0faf7d52099ec47c5"
|
|
58
|
+
},
|
|
59
|
+
"signBidirectionalEvent.zkir": {
|
|
60
|
+
"type": "file",
|
|
61
|
+
"size": 3674,
|
|
62
|
+
"hash": "72f63054869b9bb5ee895a3326ec10ff911e83523cf614a476d2b478b9152e11"
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
"keys": {
|
|
66
66
|
"type": "directory",
|
|
67
|
-
"notifyBidirectionalSignatureRequest.prover": {
|
|
68
|
-
"type": "file",
|
|
69
|
-
"size": 279422,
|
|
70
|
-
"hash": "838883437ad8e18d791836c2c0f197956bce52f98cd1ec2e0956cc19bff78169"
|
|
71
|
-
},
|
|
72
|
-
"notifyBidirectionalSignatureRequest.verifier": {
|
|
73
|
-
"type": "file",
|
|
74
|
-
"size": 1351,
|
|
75
|
-
"hash": "d36e5392bc781c69b136080843b96458d170304502f346f0d784fa8e133a54c3"
|
|
76
|
-
},
|
|
77
67
|
"postRespondBidirectional.prover": {
|
|
78
68
|
"type": "file",
|
|
79
|
-
"size":
|
|
80
|
-
"hash": "
|
|
69
|
+
"size": 889414,
|
|
70
|
+
"hash": "72beb2cfe9f8ec3266bcf96e495defbf427575f86d310602314177accb354aab"
|
|
81
71
|
},
|
|
82
72
|
"postRespondBidirectional.verifier": {
|
|
83
73
|
"type": "file",
|
|
84
|
-
"size":
|
|
85
|
-
"hash": "
|
|
74
|
+
"size": 1353,
|
|
75
|
+
"hash": "fa5fd5e2c04bf3553e601fb43482df5e0de872f2469216f6ac1b9f2b7e1248ee"
|
|
86
76
|
},
|
|
87
77
|
"postSignatureResponse.prover": {
|
|
88
78
|
"type": "file",
|
|
89
|
-
"size":
|
|
90
|
-
"hash": "
|
|
79
|
+
"size": 446615,
|
|
80
|
+
"hash": "f43e6a128a257f06e6a19ea6ddceff5f94db81645460301c6d184ab4437c8169"
|
|
91
81
|
},
|
|
92
82
|
"postSignatureResponse.verifier": {
|
|
93
83
|
"type": "file",
|
|
94
|
-
"size":
|
|
95
|
-
"hash": "
|
|
84
|
+
"size": 1353,
|
|
85
|
+
"hash": "22938eaebc029fd624db271e92857b132977c0373bf2f9ce823e21d011973e0d"
|
|
86
|
+
},
|
|
87
|
+
"signBidirectionalEvent.prover": {
|
|
88
|
+
"type": "file",
|
|
89
|
+
"size": 888752,
|
|
90
|
+
"hash": "3c3fb54421ac16821198a626fc2551d4f3201ebdc67995c61f0bcd8351f2e5de"
|
|
91
|
+
},
|
|
92
|
+
"signBidirectionalEvent.verifier": {
|
|
93
|
+
"type": "file",
|
|
94
|
+
"size": 1353,
|
|
95
|
+
"hash": "3e603e64ac930b8e4e1412e0afb5b3769e3d9db62c3a0bace1fe367eb7dc868e"
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
}
|