@aastar/identity 0.16.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.
Files changed (88) hide show
  1. package/LICENSE +21 -0
  2. package/dist/core/src/abis/BLSAggregator.json +686 -0
  3. package/dist/core/src/abis/BLSValidator.json +42 -0
  4. package/dist/core/src/abis/DVTValidator.json +368 -0
  5. package/dist/core/src/abis/EntryPoint.json +1382 -0
  6. package/dist/core/src/abis/GToken.json +513 -0
  7. package/dist/core/src/abis/GTokenStaking.json +949 -0
  8. package/dist/core/src/abis/MySBT.json +1518 -0
  9. package/dist/core/src/abis/Paymaster.json +1143 -0
  10. package/dist/core/src/abis/PaymasterFactory.json +640 -0
  11. package/dist/core/src/abis/Registry.json +1942 -0
  12. package/dist/core/src/abis/ReputationSystem.json +699 -0
  13. package/dist/core/src/abis/SimpleAccount.json +560 -0
  14. package/dist/core/src/abis/SimpleAccountFactory.json +111 -0
  15. package/dist/core/src/abis/SuperPaymaster.json +1781 -0
  16. package/dist/core/src/abis/index.d.ts +1126 -0
  17. package/dist/core/src/abis/index.js +91 -0
  18. package/dist/core/src/abis/xPNTsFactory.json +718 -0
  19. package/dist/core/src/abis/xPNTsToken.json +1280 -0
  20. package/dist/core/src/actions/StateValidator.d.ts +68 -0
  21. package/dist/core/src/actions/StateValidator.js +187 -0
  22. package/dist/core/src/actions/account.d.ts +55 -0
  23. package/dist/core/src/actions/account.js +133 -0
  24. package/dist/core/src/actions/aggregator.d.ts +17 -0
  25. package/dist/core/src/actions/aggregator.js +31 -0
  26. package/dist/core/src/actions/dvt.d.ts +30 -0
  27. package/dist/core/src/actions/dvt.js +41 -0
  28. package/dist/core/src/actions/entryPoint.d.ts +90 -0
  29. package/dist/core/src/actions/entryPoint.js +211 -0
  30. package/dist/core/src/actions/factory.d.ts +215 -0
  31. package/dist/core/src/actions/factory.js +442 -0
  32. package/dist/core/src/actions/faucet.d.ts +48 -0
  33. package/dist/core/src/actions/faucet.js +337 -0
  34. package/dist/core/src/actions/gtokenExtended.d.ts +39 -0
  35. package/dist/core/src/actions/gtokenExtended.js +115 -0
  36. package/dist/core/src/actions/index.d.ts +15 -0
  37. package/dist/core/src/actions/index.js +17 -0
  38. package/dist/core/src/actions/paymasterV4.d.ts +170 -0
  39. package/dist/core/src/actions/paymasterV4.js +334 -0
  40. package/dist/core/src/actions/registry.d.ts +246 -0
  41. package/dist/core/src/actions/registry.js +667 -0
  42. package/dist/core/src/actions/reputation.d.ts +129 -0
  43. package/dist/core/src/actions/reputation.js +281 -0
  44. package/dist/core/src/actions/sbt.d.ts +191 -0
  45. package/dist/core/src/actions/sbt.js +533 -0
  46. package/dist/core/src/actions/staking.d.ts +132 -0
  47. package/dist/core/src/actions/staking.js +330 -0
  48. package/dist/core/src/actions/superPaymaster.d.ts +237 -0
  49. package/dist/core/src/actions/superPaymaster.js +644 -0
  50. package/dist/core/src/actions/tokens.d.ts +229 -0
  51. package/dist/core/src/actions/tokens.js +415 -0
  52. package/dist/core/src/branding.d.ts +30 -0
  53. package/dist/core/src/branding.js +30 -0
  54. package/dist/core/src/clients/BaseClient.d.ts +25 -0
  55. package/dist/core/src/clients/BaseClient.js +66 -0
  56. package/dist/core/src/clients/types.d.ts +60 -0
  57. package/dist/core/src/clients/types.js +1 -0
  58. package/dist/core/src/clients.d.ts +5 -0
  59. package/dist/core/src/clients.js +11 -0
  60. package/dist/core/src/communities.d.ts +52 -0
  61. package/dist/core/src/communities.js +73 -0
  62. package/dist/core/src/config/ContractConfigManager.d.ts +20 -0
  63. package/dist/core/src/config/ContractConfigManager.js +48 -0
  64. package/dist/core/src/constants.d.ts +88 -0
  65. package/dist/core/src/constants.js +125 -0
  66. package/dist/core/src/contract-addresses.d.ts +110 -0
  67. package/dist/core/src/contract-addresses.js +99 -0
  68. package/dist/core/src/contracts.d.ts +424 -0
  69. package/dist/core/src/contracts.js +343 -0
  70. package/dist/core/src/crypto/blsSigner.d.ts +64 -0
  71. package/dist/core/src/crypto/blsSigner.js +98 -0
  72. package/dist/core/src/crypto/index.d.ts +1 -0
  73. package/dist/core/src/crypto/index.js +1 -0
  74. package/dist/core/src/index.d.ts +21 -0
  75. package/dist/core/src/index.js +21 -0
  76. package/dist/core/src/networks.d.ts +127 -0
  77. package/dist/core/src/networks.js +118 -0
  78. package/dist/core/src/requirementChecker.d.ts +38 -0
  79. package/dist/core/src/requirementChecker.js +139 -0
  80. package/dist/core/src/roles.d.ts +204 -0
  81. package/dist/core/src/roles.js +211 -0
  82. package/dist/core/src/utils/validation.d.ts +24 -0
  83. package/dist/core/src/utils/validation.js +56 -0
  84. package/dist/identity/src/index.d.ts +46 -0
  85. package/dist/identity/src/index.js +94 -0
  86. package/dist/identity/src/mysbt.d.ts +13 -0
  87. package/dist/identity/src/mysbt.js +37 -0
  88. package/package.json +26 -0
@@ -0,0 +1,686 @@
1
+ {
2
+ "abi": [
3
+ {
4
+ "type": "constructor",
5
+ "inputs": [
6
+ {
7
+ "name": "_registry",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ },
11
+ {
12
+ "name": "_superPaymaster",
13
+ "type": "address",
14
+ "internalType": "address"
15
+ },
16
+ {
17
+ "name": "_dvtValidator",
18
+ "type": "address",
19
+ "internalType": "address"
20
+ }
21
+ ],
22
+ "stateMutability": "nonpayable"
23
+ },
24
+ {
25
+ "type": "function",
26
+ "name": "DVT_VALIDATOR",
27
+ "inputs": [],
28
+ "outputs": [
29
+ {
30
+ "name": "",
31
+ "type": "address",
32
+ "internalType": "address"
33
+ }
34
+ ],
35
+ "stateMutability": "view"
36
+ },
37
+ {
38
+ "type": "function",
39
+ "name": "MAX_VALIDATORS",
40
+ "inputs": [],
41
+ "outputs": [
42
+ {
43
+ "name": "",
44
+ "type": "uint256",
45
+ "internalType": "uint256"
46
+ }
47
+ ],
48
+ "stateMutability": "view"
49
+ },
50
+ {
51
+ "type": "function",
52
+ "name": "REGISTRY",
53
+ "inputs": [],
54
+ "outputs": [
55
+ {
56
+ "name": "",
57
+ "type": "address",
58
+ "internalType": "contract IRegistry"
59
+ }
60
+ ],
61
+ "stateMutability": "view"
62
+ },
63
+ {
64
+ "type": "function",
65
+ "name": "SUPERPAYMASTER",
66
+ "inputs": [],
67
+ "outputs": [
68
+ {
69
+ "name": "",
70
+ "type": "address",
71
+ "internalType": "address"
72
+ }
73
+ ],
74
+ "stateMutability": "view"
75
+ },
76
+ {
77
+ "type": "function",
78
+ "name": "aggregatedSignatures",
79
+ "inputs": [
80
+ {
81
+ "name": "",
82
+ "type": "uint256",
83
+ "internalType": "uint256"
84
+ }
85
+ ],
86
+ "outputs": [
87
+ {
88
+ "name": "aggregatedSig",
89
+ "type": "bytes",
90
+ "internalType": "bytes"
91
+ },
92
+ {
93
+ "name": "messageHash",
94
+ "type": "bytes32",
95
+ "internalType": "bytes32"
96
+ },
97
+ {
98
+ "name": "timestamp",
99
+ "type": "uint256",
100
+ "internalType": "uint256"
101
+ },
102
+ {
103
+ "name": "verified",
104
+ "type": "bool",
105
+ "internalType": "bool"
106
+ }
107
+ ],
108
+ "stateMutability": "view"
109
+ },
110
+ {
111
+ "type": "function",
112
+ "name": "blsPublicKeys",
113
+ "inputs": [
114
+ {
115
+ "name": "",
116
+ "type": "address",
117
+ "internalType": "address"
118
+ }
119
+ ],
120
+ "outputs": [
121
+ {
122
+ "name": "publicKey",
123
+ "type": "bytes",
124
+ "internalType": "bytes"
125
+ },
126
+ {
127
+ "name": "isActive",
128
+ "type": "bool",
129
+ "internalType": "bool"
130
+ }
131
+ ],
132
+ "stateMutability": "view"
133
+ },
134
+ {
135
+ "type": "function",
136
+ "name": "defaultThreshold",
137
+ "inputs": [],
138
+ "outputs": [
139
+ {
140
+ "name": "",
141
+ "type": "uint256",
142
+ "internalType": "uint256"
143
+ }
144
+ ],
145
+ "stateMutability": "view"
146
+ },
147
+ {
148
+ "type": "function",
149
+ "name": "executeProposal",
150
+ "inputs": [
151
+ {
152
+ "name": "proposalId",
153
+ "type": "uint256",
154
+ "internalType": "uint256"
155
+ },
156
+ {
157
+ "name": "target",
158
+ "type": "address",
159
+ "internalType": "address"
160
+ },
161
+ {
162
+ "name": "callData",
163
+ "type": "bytes",
164
+ "internalType": "bytes"
165
+ },
166
+ {
167
+ "name": "requiredThreshold",
168
+ "type": "uint256",
169
+ "internalType": "uint256"
170
+ },
171
+ {
172
+ "name": "proof",
173
+ "type": "bytes",
174
+ "internalType": "bytes"
175
+ }
176
+ ],
177
+ "outputs": [],
178
+ "stateMutability": "nonpayable"
179
+ },
180
+ {
181
+ "type": "function",
182
+ "name": "executedProposals",
183
+ "inputs": [
184
+ {
185
+ "name": "",
186
+ "type": "uint256",
187
+ "internalType": "uint256"
188
+ }
189
+ ],
190
+ "outputs": [
191
+ {
192
+ "name": "",
193
+ "type": "bool",
194
+ "internalType": "bool"
195
+ }
196
+ ],
197
+ "stateMutability": "view"
198
+ },
199
+ {
200
+ "type": "function",
201
+ "name": "minThreshold",
202
+ "inputs": [],
203
+ "outputs": [
204
+ {
205
+ "name": "",
206
+ "type": "uint256",
207
+ "internalType": "uint256"
208
+ }
209
+ ],
210
+ "stateMutability": "view"
211
+ },
212
+ {
213
+ "type": "function",
214
+ "name": "owner",
215
+ "inputs": [],
216
+ "outputs": [
217
+ {
218
+ "name": "",
219
+ "type": "address",
220
+ "internalType": "address"
221
+ }
222
+ ],
223
+ "stateMutability": "view"
224
+ },
225
+ {
226
+ "type": "function",
227
+ "name": "proposalNonces",
228
+ "inputs": [
229
+ {
230
+ "name": "",
231
+ "type": "uint256",
232
+ "internalType": "uint256"
233
+ }
234
+ ],
235
+ "outputs": [
236
+ {
237
+ "name": "",
238
+ "type": "uint256",
239
+ "internalType": "uint256"
240
+ }
241
+ ],
242
+ "stateMutability": "view"
243
+ },
244
+ {
245
+ "type": "function",
246
+ "name": "registerBLSPublicKey",
247
+ "inputs": [
248
+ {
249
+ "name": "validator",
250
+ "type": "address",
251
+ "internalType": "address"
252
+ },
253
+ {
254
+ "name": "publicKey",
255
+ "type": "bytes",
256
+ "internalType": "bytes"
257
+ }
258
+ ],
259
+ "outputs": [],
260
+ "stateMutability": "nonpayable"
261
+ },
262
+ {
263
+ "type": "function",
264
+ "name": "renounceOwnership",
265
+ "inputs": [],
266
+ "outputs": [],
267
+ "stateMutability": "nonpayable"
268
+ },
269
+ {
270
+ "type": "function",
271
+ "name": "setDVTValidator",
272
+ "inputs": [
273
+ {
274
+ "name": "_dv",
275
+ "type": "address",
276
+ "internalType": "address"
277
+ }
278
+ ],
279
+ "outputs": [],
280
+ "stateMutability": "nonpayable"
281
+ },
282
+ {
283
+ "type": "function",
284
+ "name": "setDefaultThreshold",
285
+ "inputs": [
286
+ {
287
+ "name": "_newThreshold",
288
+ "type": "uint256",
289
+ "internalType": "uint256"
290
+ }
291
+ ],
292
+ "outputs": [],
293
+ "stateMutability": "nonpayable"
294
+ },
295
+ {
296
+ "type": "function",
297
+ "name": "setMinThreshold",
298
+ "inputs": [
299
+ {
300
+ "name": "_newThreshold",
301
+ "type": "uint256",
302
+ "internalType": "uint256"
303
+ }
304
+ ],
305
+ "outputs": [],
306
+ "stateMutability": "nonpayable"
307
+ },
308
+ {
309
+ "type": "function",
310
+ "name": "setSuperPaymaster",
311
+ "inputs": [
312
+ {
313
+ "name": "_sp",
314
+ "type": "address",
315
+ "internalType": "address"
316
+ }
317
+ ],
318
+ "outputs": [],
319
+ "stateMutability": "nonpayable"
320
+ },
321
+ {
322
+ "type": "function",
323
+ "name": "transferOwnership",
324
+ "inputs": [
325
+ {
326
+ "name": "newOwner",
327
+ "type": "address",
328
+ "internalType": "address"
329
+ }
330
+ ],
331
+ "outputs": [],
332
+ "stateMutability": "nonpayable"
333
+ },
334
+ {
335
+ "type": "function",
336
+ "name": "verifyAndExecute",
337
+ "inputs": [
338
+ {
339
+ "name": "proposalId",
340
+ "type": "uint256",
341
+ "internalType": "uint256"
342
+ },
343
+ {
344
+ "name": "operator",
345
+ "type": "address",
346
+ "internalType": "address"
347
+ },
348
+ {
349
+ "name": "slashLevel",
350
+ "type": "uint8",
351
+ "internalType": "uint8"
352
+ },
353
+ {
354
+ "name": "repUsers",
355
+ "type": "address[]",
356
+ "internalType": "address[]"
357
+ },
358
+ {
359
+ "name": "newScores",
360
+ "type": "uint256[]",
361
+ "internalType": "uint256[]"
362
+ },
363
+ {
364
+ "name": "epoch",
365
+ "type": "uint256",
366
+ "internalType": "uint256"
367
+ },
368
+ {
369
+ "name": "proof",
370
+ "type": "bytes",
371
+ "internalType": "bytes"
372
+ }
373
+ ],
374
+ "outputs": [],
375
+ "stateMutability": "nonpayable"
376
+ },
377
+ {
378
+ "type": "function",
379
+ "name": "version",
380
+ "inputs": [],
381
+ "outputs": [
382
+ {
383
+ "name": "",
384
+ "type": "string",
385
+ "internalType": "string"
386
+ }
387
+ ],
388
+ "stateMutability": "pure"
389
+ },
390
+ {
391
+ "type": "event",
392
+ "name": "BLSPublicKeyRegistered",
393
+ "inputs": [
394
+ {
395
+ "name": "validator",
396
+ "type": "address",
397
+ "indexed": true,
398
+ "internalType": "address"
399
+ },
400
+ {
401
+ "name": "publicKey",
402
+ "type": "bytes",
403
+ "indexed": false,
404
+ "internalType": "bytes"
405
+ }
406
+ ],
407
+ "anonymous": false
408
+ },
409
+ {
410
+ "type": "event",
411
+ "name": "BLSVerificationStatus",
412
+ "inputs": [
413
+ {
414
+ "name": "proposalId",
415
+ "type": "uint256",
416
+ "indexed": true,
417
+ "internalType": "uint256"
418
+ },
419
+ {
420
+ "name": "success",
421
+ "type": "bool",
422
+ "indexed": false,
423
+ "internalType": "bool"
424
+ }
425
+ ],
426
+ "anonymous": false
427
+ },
428
+ {
429
+ "type": "event",
430
+ "name": "OwnershipTransferred",
431
+ "inputs": [
432
+ {
433
+ "name": "previousOwner",
434
+ "type": "address",
435
+ "indexed": true,
436
+ "internalType": "address"
437
+ },
438
+ {
439
+ "name": "newOwner",
440
+ "type": "address",
441
+ "indexed": true,
442
+ "internalType": "address"
443
+ }
444
+ ],
445
+ "anonymous": false
446
+ },
447
+ {
448
+ "type": "event",
449
+ "name": "ProposalExecuted",
450
+ "inputs": [
451
+ {
452
+ "name": "proposalId",
453
+ "type": "uint256",
454
+ "indexed": true,
455
+ "internalType": "uint256"
456
+ },
457
+ {
458
+ "name": "target",
459
+ "type": "address",
460
+ "indexed": true,
461
+ "internalType": "address"
462
+ },
463
+ {
464
+ "name": "callDataHash",
465
+ "type": "bytes32",
466
+ "indexed": false,
467
+ "internalType": "bytes32"
468
+ }
469
+ ],
470
+ "anonymous": false
471
+ },
472
+ {
473
+ "type": "event",
474
+ "name": "ReputationEpochTriggered",
475
+ "inputs": [
476
+ {
477
+ "name": "epoch",
478
+ "type": "uint256",
479
+ "indexed": false,
480
+ "internalType": "uint256"
481
+ },
482
+ {
483
+ "name": "userCount",
484
+ "type": "uint256",
485
+ "indexed": false,
486
+ "internalType": "uint256"
487
+ }
488
+ ],
489
+ "anonymous": false
490
+ },
491
+ {
492
+ "type": "event",
493
+ "name": "SignatureAggregated",
494
+ "inputs": [
495
+ {
496
+ "name": "proposalId",
497
+ "type": "uint256",
498
+ "indexed": true,
499
+ "internalType": "uint256"
500
+ },
501
+ {
502
+ "name": "aggregatedSignature",
503
+ "type": "bytes",
504
+ "indexed": false,
505
+ "internalType": "bytes"
506
+ },
507
+ {
508
+ "name": "count",
509
+ "type": "uint256",
510
+ "indexed": false,
511
+ "internalType": "uint256"
512
+ }
513
+ ],
514
+ "anonymous": false
515
+ },
516
+ {
517
+ "type": "event",
518
+ "name": "SlashExecuted",
519
+ "inputs": [
520
+ {
521
+ "name": "proposalId",
522
+ "type": "uint256",
523
+ "indexed": true,
524
+ "internalType": "uint256"
525
+ },
526
+ {
527
+ "name": "operator",
528
+ "type": "address",
529
+ "indexed": true,
530
+ "internalType": "address"
531
+ },
532
+ {
533
+ "name": "level",
534
+ "type": "uint8",
535
+ "indexed": false,
536
+ "internalType": "uint8"
537
+ }
538
+ ],
539
+ "anonymous": false
540
+ },
541
+ {
542
+ "type": "event",
543
+ "name": "ThresholdUpdated",
544
+ "inputs": [
545
+ {
546
+ "name": "oldThreshold",
547
+ "type": "uint256",
548
+ "indexed": false,
549
+ "internalType": "uint256"
550
+ },
551
+ {
552
+ "name": "newThreshold",
553
+ "type": "uint256",
554
+ "indexed": false,
555
+ "internalType": "uint256"
556
+ }
557
+ ],
558
+ "anonymous": false
559
+ },
560
+ {
561
+ "type": "error",
562
+ "name": "InvalidAddress",
563
+ "inputs": [
564
+ {
565
+ "name": "addr",
566
+ "type": "address",
567
+ "internalType": "address"
568
+ }
569
+ ]
570
+ },
571
+ {
572
+ "type": "error",
573
+ "name": "InvalidBLSKey",
574
+ "inputs": []
575
+ },
576
+ {
577
+ "type": "error",
578
+ "name": "InvalidParameter",
579
+ "inputs": [
580
+ {
581
+ "name": "message",
582
+ "type": "string",
583
+ "internalType": "string"
584
+ }
585
+ ]
586
+ },
587
+ {
588
+ "type": "error",
589
+ "name": "InvalidSignatureCount",
590
+ "inputs": [
591
+ {
592
+ "name": "count",
593
+ "type": "uint256",
594
+ "internalType": "uint256"
595
+ },
596
+ {
597
+ "name": "required",
598
+ "type": "uint256",
599
+ "internalType": "uint256"
600
+ }
601
+ ]
602
+ },
603
+ {
604
+ "type": "error",
605
+ "name": "InvalidTarget",
606
+ "inputs": [
607
+ {
608
+ "name": "target",
609
+ "type": "address",
610
+ "internalType": "address"
611
+ }
612
+ ]
613
+ },
614
+ {
615
+ "type": "error",
616
+ "name": "OwnableInvalidOwner",
617
+ "inputs": [
618
+ {
619
+ "name": "owner",
620
+ "type": "address",
621
+ "internalType": "address"
622
+ }
623
+ ]
624
+ },
625
+ {
626
+ "type": "error",
627
+ "name": "OwnableUnauthorizedAccount",
628
+ "inputs": [
629
+ {
630
+ "name": "account",
631
+ "type": "address",
632
+ "internalType": "address"
633
+ }
634
+ ]
635
+ },
636
+ {
637
+ "type": "error",
638
+ "name": "ProposalAlreadyExecuted",
639
+ "inputs": [
640
+ {
641
+ "name": "proposalId",
642
+ "type": "uint256",
643
+ "internalType": "uint256"
644
+ }
645
+ ]
646
+ },
647
+ {
648
+ "type": "error",
649
+ "name": "ProposalExecutionFailed",
650
+ "inputs": [
651
+ {
652
+ "name": "proposalId",
653
+ "type": "uint256",
654
+ "internalType": "uint256"
655
+ },
656
+ {
657
+ "name": "returnData",
658
+ "type": "bytes",
659
+ "internalType": "bytes"
660
+ }
661
+ ]
662
+ },
663
+ {
664
+ "type": "error",
665
+ "name": "ReentrancyGuardReentrantCall",
666
+ "inputs": []
667
+ },
668
+ {
669
+ "type": "error",
670
+ "name": "SignatureVerificationFailed",
671
+ "inputs": []
672
+ },
673
+ {
674
+ "type": "error",
675
+ "name": "UnauthorizedCaller",
676
+ "inputs": [
677
+ {
678
+ "name": "caller",
679
+ "type": "address",
680
+ "internalType": "address"
681
+ }
682
+ ]
683
+ }
684
+ ],
685
+ "bytecode": "0x60a03461014057601f6122a838819003918201601f19168301916001600160401b03831184841017610144578084926060946040528339810103126101405761004781610158565b90610060604061005960208401610158565b9201610158565b90331561012d575f8054336001600160a01b0319821681178355604051959290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a360018055600360085560076009556001600160a01b0316801561011a57608052600280546001600160a01b039283166001600160a01b0319918216179091556003805493909216921691909117905561213b908161016d82396080518181816116290152611ae20152f35b634726455360e11b5f525f60045260245ffd5b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101405756fe60a0806040526004361015610012575f80fd5b5f905f3560e01c90816306433b1b14611ad05750806322c70bbb146118c05780632399c30914610ef1578063300b0b3514610e865780633b60288a14610e5757806353f10a4b14610e3957806354fd4d5014610dde5780635ae48ba414610db55780635e1a03a2146104bd5780636578b0cc14610478578063714897df1461045c578063715018a6146104155780637f39a939146103855780638da5cb5b1461035e578063a74c1ca814610334578063bc8efe751461030b578063c5246bf514610240578063c85501bb14610222578063e79e9739146101dd578063f2fde38b1461016a5763f42cc34e14610105575f80fd5b346101675760203660031901126101675761015b906040906001600160a01b0361012d611b11565b16815260046020522060ff600161014383611c2c565b92015416604051928392604084526040840190611ccc565b90151560208301520390f35b80fd5b503461016757602036600319011261016757610184611b11565b61018c611dc9565b6001600160a01b031680156101c95781546001600160a01b03198116821783556001600160a01b03165f5160206120865f395f51905f528380a380f35b631e4fbdf760e01b82526004829052602482fd5b5034610167576020366003190112610167576101f7611b11565b6101ff611dc9565b600280546001600160a01b0319166001600160a01b039290921691909117905580f35b50346101675780600319360112610167576020600854604051908152f35b50346101675760203660031901126101675760043561025d611dc9565b60085481106102d057600d8111610293575f5160206120a65f395f51905f5260406009548151908152836020820152a160095580f35b6040516305519d6f60e51b815260206004820152600f60248201526e0a8d0e4cae6d0ded8c8407c409ac2f608b1b604482015280606481015b0390fd5b6040516305519d6f60e51b815260206004820152601260248201527110995b1bddc81b5a5b951a1c995cda1bdb1960721b6044820152606490fd5b50346101675780600319360112610167576003546040516001600160a01b039091168152602090f35b50346101675760203660031901126101675760406020916004358152600783522054604051908152f35b5034610167578060031936011261016757546040516001600160a01b039091168152602090f35b5034610167576020366003190112610167576004356103a2611dc9565b600281106103d757600d8111610293575f5160206120a65f395f51905f5260406008548151908152836020820152a160085580f35b6040516305519d6f60e51b81526020600482015260156024820152744d696e207468726573686f6c6420746f6f206c6f7760581b6044820152606490fd5b503461016757806003193601126101675761042e611dc9565b80546001600160a01b03198116825581906001600160a01b03165f5160206120865f395f51905f528280a380f35b50346101675780600319360112610167576020604051600d8152f35b503461016757602036600319011261016757610492611b11565b61049a611dc9565b600380546001600160a01b0319166001600160a01b039290921691909117905580f35b50346101675760a0366003190112610167576104d7611b27565b6044356001600160401b038111610bd2576104f6903690600401611b3d565b90916084356001600160401b038111610cdb57610517903690600401611b3d565b929094610522611def565b6003546001600160a01b031633141580610da1575b610d8e576001600160a01b03831615610d72576004358152600660205260ff604082205416610d5d5760085460643510610d1d57600d60643511610cdf57610580368387611d0b565b602081519101206040516020810191600435835260018060a01b0386166040830152606082015260643560808201524660a082015260a081526105c460c082611c09565b51902093860193608087860312610b505786356001600160401b038111610bd257856105f1918901611e0f565b9460208801356001600160401b038111610b415781610611918a01611e0f565b9060408901356001600160401b038111610cdb5790610631918a01611e0f565b976040519260208401526020835261064a604084611c09565b610652611eb6565b926106b56067604051809360403661010084013780518160200161014084015e518101600160f81b610140820152886101428201535f5160206120665f395f51905f5261014382015263554c5f2360e01b61016382015203016101008301611f4c565b806020528061010083015260016101208301535f5160206120665f395f51905f5261012183015263554c5f2360e01b6101418301526020866045610100850160025afa60203d141615610cd75785518252600260016020845b80518518610100870152019161073b60ff198661072f846101208301611f23565b03016101008701611f4c565b8352019160098314610753579160206001919261070e565b5050506107fe9060406101008201526020610120820152604061014082015260016101a08201526f1a0111ea397fe69a4b1ba7b6434bacd76101c08201525f5160206120c65f395f51905f526101e08201526107b3816101008101611f64565b6107c4604082016101008301611f64565b6107d5608082016101008301611f64565b6107e660c082016101008301611f64565b6107f08582611f82565b846101000190608001611f82565b6101008361020081600d5afa6101003d141615610cca5788519261082a6020808c01958c010185611e2d565b81518151149182610cb7575b82610ca4575b82610c91575b82610c7e575b82610c6b575b82610c58575b82610c45575b505015610c3657606001358084915b610bee57506064358110610bd65750608086805181010312610bd2579060206108cc6108d79360806040519961089e8b611bd2565b848101518b526040810151858c0152606081015160408c0152015160608a0152828082518301019101611e2d565b988051010190611e2d565b92606093604051956108e98688611c09565b60028752601f19860198845b8a8110610bbb57506040519961090b888c611c09565b60028b52855b818110610ba3575050906109a291610927611e92565b6f17f1d3a73197d7942695638c4fa9ac0f81525f5160206120e65f395f51905f5260208201526f08b3f481e3aaa0f1a09e30ed741d8ae460408201525f5160206120265f395f51905f528982015261097e8a611ef2565b5261098889611ef2565b506109928b611ef2565b5261099c8a611ef2565b50611fa7565b6109ab87611f13565b526109b586611f13565b506109bf88611f13565b526109c987611f13565b50849285519660405196890395845b868a8214610a09579061010060206001930198608060208d85610180020192828d51855e8d01015191015e016109d8565b5050888a6020878b846101800290600f5afa9160203d14915114161615610b9657845115610b875784806040518585823780868101838152039082885af1903d15610b8157503d90610a5a82611cf0565b91610a686040519384611c09565b82523d86602084013e5b15610b5457506004358452600660205260408420805460ff1916600117905560035484906001600160a01b031680610afa575b5050610ab2913691611d0b565b80516020918201206040519081526001600160a01b0390921691600435917ff75669458e39b3e450bebdf8e3f8396a4ca0b4057017be244aa5af43321b280791a36001805580f35b803b15610b505781809160246040518094819363424a3d7760e01b835260043560048401525af18015610b455715610aa55781610b3691611c09565b610b41578385610aa5565b8380fd5b6040513d84823e3d90fd5b5080fd5b6102cc9060405191829163020c65b360e11b83526004356004840152604060248401526044830190611ccc565b90610a72565b63729d0f6b60e01b8552600485fd5b634df45e2f85526004601cfd5b808c60208093610bb1611eb6565b9201015201610911565b602090610bc6611e92565b82828c010152016108f5565b8280fd5b636b01174760e11b8452600452606435602452604483fd5b5f19810190808211610c225716905f198114610c0e576001019080610869565b634e487b7160e01b85526011600452602485fd5b634e487b7160e01b86526011600452602486fd5b63729d0f6b60e01b8452600484fd5b60e0919250810151910151145f8061085a565b915060c082015160c08201511491610854565b915060a082015160a0820151149161084e565b9150608082015160808201511491610848565b9150606082015160608201511491610842565b915060408201516040820151149161083c565b9150602082015160208201511491610836565b63c55e5e3384526004601cfd5b8580fd5b8480fd5b6040516305519d6f60e51b81526020600482015260156024820152740a8d0e4cae6d0ded8c840caf0c6cacac8e640dac2f605b1b6044820152606490fd5b6040516305519d6f60e51b81526020600482015260176024820152765468726573686f6c642062656c6f77206d696e696d756d60481b6044820152606490fd5b632776407360e11b8152600480359052602490fd5b63d08525e960e01b81526001600160a01b038316600452602490fd5b63d86ad9cf60e01b815233600452602490fd5b5080546001600160a01b0316331415610537565b50346101675780600319360112610167576002546040516001600160a01b039091168152602090f35b503461016757806003193601126101675750610e35604051610e01604082611c09565b6013815272424c5341676772656761746f722d332e322e3160681b6020820152604051918291602083526020830190611ccc565b0390f35b50346101675780600319360112610167576020600954604051908152f35b50346101675760203660031901126101675760ff60406020926004358152600684522054166040519015158152f35b5034610167576020366003190112610167576040610edb916004358152600560205220610eb281611c2c565b9060028101549060ff600460038301549201541690604051948594608086526080860190611ccc565b9260208501526040840152151560608301520390f35b503461172b5760e036600319011261172b57610f0b611b27565b9060443560ff8116810361172b576064356001600160401b03811161172b57610f38903690600401611b6a565b90916084356001600160401b03811161172b57610f59903690600401611b6a565b94909160c4356001600160401b03811161172b57610f7b903690600401611b3d565b979094610f86611def565b6003546001600160a01b0316331415806118ac575b611899576004355f52600660205260ff60405f2054168061188e575b6118795760408051600435602082019081526001600160a01b0385169282019290925260ff8516606082015260e0608082015261102f816110136110006101008301878e611d61565b828103601f190160a08401528d8b611da5565b60a43560c08301524660e083015203601f198101835282611c09565b5190209560095499808201976080838a031261172b5782356001600160401b03811161172b5789611061918501611e0f565b9060208401356001600160401b03811161172b578a611081918601611e0f565b996040850135906001600160401b03821161172b576110a1918601611e0f565b9c604051916020830152602082526110ba604083611c09565b6110c2611eb6565b91604051610100810191604036843761112560678383519361014082019481602001865e518101600160f81b6101408201525f6101428201535f5160206120665f395f51905f5261014382015263554c5f2360e01b610163820152030184611f4c565b9283602052838152610120830193600185535f5160206120665f395f51905f5261012185015263554c5f2360e01b61014185015260205f60458460025afa60203d14161561172b575f518452600260016020865b805185188652019161119a60ff1988611192848c611f23565b030186611f4c565b83520191600983146111b25791602060019192611179565b505050604061122792602061123f96838552525260016101a08401526f1a0111ea397fe69a4b1ba7b6434bacd76101c08401525f5160206120c65f395f51905f526101e08401526112038382611f64565b6112106040840182611f64565b61121d6080840182611f64565b60c0830190611f64565b6112318482611f82565b836101000190608001611f82565b6101008261020081600d5afa6101003d14161561186c578d9161126b6020845181860195010184611e2d565b81518151149182611859575b82611846575b82611833575b82611820575b8261180d575b826117fa575b826117e7575b50501561172f575f6060860135805b6117b3575081811061179e57505060808280518101031261172b57604051989c989a999394929390916112dc8c611bd2565b60208101518c52604081015160208d0152606081015160408d01526080015160608c015280518101602001906020019061131591611e2d565b9780510160200161132591611e2d565b606099604051986113368c8b611c09565b60028a525f5b601f198d01811061176f5750908b959493929161135c6040519d8e611c09565b60028d525f5b601f198801811061174b5750906113f0916113e68e6113e08e611383611e92565b6f17f1d3a73197d7942695638c4fa9ac0f81525f5160206120e65f395f51905f5260208201526f08b3f481e3aaa0f1a09e30ed741d8ae460408201525f5160206120265f395f51905f528d8201526113da82611ef2565b52611ef2565b50611ef2565b5261099c8d611ef2565b6113f98a611f13565b5261140389611f13565b5061140d8b611f13565b526114178a611f13565b50879b8851996040516080528d5f905b9e8c821461146a579c809e9f60208d9e9f019c8d928461018002608051019351608090855e0301602001519060800190610100915e6001018a9e9d9c9b9a611427565b50508c8b8d60205f8361018002608051600f5afa9160203d1491511416161561173e575f511561172f5783611627575b5050506001600160a01b0385169050611540575b50505050506004356114c2575b6001805580f35b6004358152600660205260408120805460ff1916600117905560035481906001600160a01b0316806114f6575b50506114bb565b803b1561153d5781809160246040518094819363424a3d7760e01b835260043560048401525af18015610b4557156114ef578161153291611c09565b6101675780826114ef565b50fd5b600360ff861610156116135760025486939291906001600160a01b0316803b15610cdb576040516303ce96a160e11b81526001600160a01b038716600482015260ff881660248201526044810194909452849284928391859183916115a9916064840191611d41565b03925af18015610b45576115fe575b505060ff6040519216825260018060a01b0316907f85137418138b73abf7daf3f3556f050e536be403436e0ee7649eaee69d1faaca602060043592a381808080806114ae565b8161160891611c09565b610bd25782846115b8565b634e487b7160e01b86526021600452602486fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b1561172b576116925f80946116bf6116a460405198899788968795631b02e44f60e01b8752600435600488015260a060248801528d60a4880191611d61565b85810360031901604487015291611da5565b60a43560648401528281036003190160848401528a8c611d41565b03925af180156117205761170a575b5060407f5ce6898a418ad55caa812016e4cdd4a200158714e584a9627d17df3369316ef39181519060a43582526020820152a18680808061149a565b6117179197505f90611c09565b5f9560406116ce565b6040513d5f823e3d90fd5b5f80fd5b63729d0f6b60e01b5f5260045ffd5b634df45e2f5f526004601cfd5b8d9e9f9b9c9d90602091828261175f611eb6565b92010152019e9d9c9b9a9e611362565b808b929f9b60209d9e9897969594939d8093611789611e92565b92010152019d9091929394959b9a999d61133c565b636b01174760e11b5f5260045260245260445ffd5b5f198101908082116117d35716905f1981146117d35760010190806112aa565b634e487b7160e01b5f52601160045260245ffd5b60e0919250810151910151145f8061129b565b915060c082015160c08201511491611295565b915060a082015160a0820151149161128f565b9150608082015160808201511491611289565b9150606082015160608201511491611283565b915060408201516040820151149161127d565b9150602082015160208201511491611277565b63c55e5e335f526004601cfd5b632776407360e11b5f5260043560045260245ffd5b506004351515610fb7565b63d86ad9cf60e01b5f523360045260245ffd5b505f546001600160a01b0316331415610f9b565b3461172b57604036600319011261172b576118d9611b11565b6024356001600160401b03811161172b576118f8903690600401611b3d565b9190611902611dc9565b60308303611ac15760408051939084016001600160401b03811185821017611aad57604052611932368284611d0b565b8452600160208086019182526001600160a01b039094165f81815260049095526040909420945180519095906001600160401b038111611aad576119768254611b9a565b601f8111611a68575b506020601f82116001146119f5579080600193925f5160206120465f395f51905f5298995f926119ea575b50505f19600383901b1c191690831b1781555b019051151560ff801983541691161790556119e5604051928392602084526020840191611d41565b0390a2005b0151905089806119aa565b601f19821690835f52805f20915f5b818110611a5057509183915f5160206120465f395f51905f52999a60019695879510611a38575b505050811b0181556119bd565b01515f1960f88460031b161c19169055898080611a2b565b9192602060018192868e015181550194019201611a04565b825f5260205f20601f830160051c81019160208410611aa3575b601f0160051c01905b818110611a98575061197f565b5f8155600101611a8b565b9091508190611a82565b634e487b7160e01b5f52604160045260245ffd5b63222a023b60e21b5f5260045ffd5b3461172b575f36600319011261172b577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b600435906001600160a01b038216820361172b57565b602435906001600160a01b038216820361172b57565b9181601f8401121561172b578235916001600160401b03831161172b576020838186019501011161172b57565b9181601f8401121561172b578235916001600160401b03831161172b576020808501948460051b01011161172b57565b90600182811c92168015611bc8575b6020831014611bb457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611ba9565b608081019081106001600160401b03821117611aad57604052565b61010081019081106001600160401b03821117611aad57604052565b601f909101601f19168101906001600160401b03821190821017611aad57604052565b9060405191825f825492611c3f84611b9a565b8084529360018116908115611caa5750600114611c66575b50611c6492500383611c09565b565b90505f9291925260205f20905f915b818310611c8e575050906020611c64928201015f611c57565b6020919350806001915483858901015201910190918492611c75565b905060209250611c6494915060ff191682840152151560051b8201015f611c57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160401b038111611aad57601f01601f191660200190565b929192611d1782611cf0565b91611d256040519384611c09565b82948184528183011161172b578281602093845f960137010152565b908060209392818452848401375f828201840152601f01601f1916010190565b916020908281520191905f905b808210611d7b5750505090565b90919283359060018060a01b03821680920361172b57602081600193829352019401920190611d6e565b81835290916001600160fb1b03831161172b5760209260051b809284830137010190565b5f546001600160a01b03163303611ddc57565b63118cdaa760e01b5f523360045260245ffd5b600260015414611e00576002600155565b633ee5aeb560e01b5f5260045ffd5b9080601f8301121561172b57816020611e2a93359101611d0b565b90565b908161010091031261172b5760e060405191611e4883611bed565b805183526020810151602084015260408101516040840152606081015160608401526080810151608084015260a081015160a084015260c081015160c0840152015160e082015290565b60405190611e9f82611bd2565b5f6060838281528260208201528260408201520152565b60405190611ec382611bed565b5f60e0838281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b805115611eff5760200190565b634e487b7160e01b5f52603260045260245ffd5b805160011015611eff5760400190565b9081535f5160206120665f395f51905f52600182015263554c5f2360e01b602182015260250190565b6020915f9160025afa60203d14161561172b575f5190565b906101006040928383606083015e60055afa60403d14161561172b57565b9060806101009260115afa6101003d141615611f9a57565b6389083b915f526004601cfd5b611faf611e92565b50604081018051606083019182519180158061201d575b612016575f5160206120c65f395f51905f5283111561200e5760ff60015b16016f1a0111ea397fe69a4b1ba7b6434bacd70390525f5160206120c65f395f51905f5203905290565b60ff5f611fe4565b5050505090565b508215611fc656fefcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1472da4d064218fa97032725fbcff922201fa643fed0765b5ffe0ceef63d7b3dc424c53313233383147325f584d443a5348412d3235365f535357555f524f5f4e8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0b06a54caabe58475c86c2bf9df3f2f06dd1213e9e10659c293117fe4893b274b64774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaabc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bba26469706673582212204d5a11d5132b0f6a21e9a90255938dc9ab153a0760f589552ed198301590e22f64736f6c634300081c0033"
686
+ }