@snowbridge/contract-types 1.0.5 → 1.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/.turbo/turbo-build.log +10 -0
- package/dist/BeefyClient.d.ts +78 -2
- package/dist/BeefyClient.d.ts.map +1 -1
- package/dist/IGateway.sol/IGatewayV1.d.ts +1 -9
- package/dist/IGateway.sol/IGatewayV1.d.ts.map +1 -1
- package/dist/ISwapLegacyRouter.d.ts +62 -0
- package/dist/ISwapLegacyRouter.d.ts.map +1 -0
- package/dist/ISwapLegacyRouter.js +2 -0
- package/dist/ISwapQuoter.d.ts +76 -0
- package/dist/ISwapQuoter.d.ts.map +1 -0
- package/dist/ISwapQuoter.js +2 -0
- package/dist/ISwapRouter.d.ts +65 -0
- package/dist/ISwapRouter.d.ts.map +1 -0
- package/dist/ISwapRouter.js +2 -0
- package/dist/SnowbridgeL1Adaptor.d.ts +116 -0
- package/dist/SnowbridgeL1Adaptor.d.ts.map +1 -0
- package/dist/SnowbridgeL1Adaptor.js +2 -0
- package/dist/SnowbridgeL2Adaptor.d.ts +160 -0
- package/dist/SnowbridgeL2Adaptor.d.ts.map +1 -0
- package/dist/SnowbridgeL2Adaptor.js +2 -0
- package/dist/factories/BeefyClient__factory.d.ts +242 -11
- package/dist/factories/BeefyClient__factory.d.ts.map +1 -1
- package/dist/factories/BeefyClient__factory.js +316 -15
- package/dist/factories/IGateway.sol/IGatewayV1__factory.d.ts +0 -20
- package/dist/factories/IGateway.sol/IGatewayV1__factory.d.ts.map +1 -1
- package/dist/factories/IGateway.sol/IGatewayV1__factory.js +0 -26
- package/dist/factories/IGateway.sol/IGatewayV2__factory.d.ts +4 -0
- package/dist/factories/IGateway.sol/IGatewayV2__factory.d.ts.map +1 -1
- package/dist/factories/IGateway.sol/IGatewayV2__factory.js +5 -0
- package/dist/factories/ISwapLegacyRouter__factory.d.ts +51 -0
- package/dist/factories/ISwapLegacyRouter__factory.d.ts.map +1 -0
- package/dist/factories/ISwapLegacyRouter__factory.js +75 -0
- package/dist/factories/ISwapQuoter__factory.d.ts +55 -0
- package/dist/factories/ISwapQuoter__factory.d.ts.map +1 -0
- package/dist/factories/ISwapQuoter__factory.js +80 -0
- package/dist/factories/ISwapRouter__factory.d.ts +55 -0
- package/dist/factories/ISwapRouter__factory.d.ts.map +1 -0
- package/dist/factories/ISwapRouter__factory.js +80 -0
- package/dist/factories/SnowbridgeL1Adaptor__factory.d.ts +177 -0
- package/dist/factories/SnowbridgeL1Adaptor__factory.d.ts.map +1 -0
- package/dist/factories/SnowbridgeL1Adaptor__factory.js +238 -0
- package/dist/factories/SnowbridgeL2Adaptor__factory.d.ts +276 -0
- package/dist/factories/SnowbridgeL2Adaptor__factory.d.ts.map +1 -0
- package/dist/factories/SnowbridgeL2Adaptor__factory.js +365 -0
- package/dist/factories/WETH9__factory.d.ts +1 -1
- package/dist/factories/WETH9__factory.d.ts.map +1 -1
- package/dist/factories/WETH9__factory.js +1 -1
- package/dist/factories/index.d.ts +5 -0
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +11 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/package.json +9 -9
|
@@ -24,6 +24,11 @@ const _abi = [
|
|
|
24
24
|
type: "uint256",
|
|
25
25
|
internalType: "uint256",
|
|
26
26
|
},
|
|
27
|
+
{
|
|
28
|
+
name: "_fiatShamirRequiredSignatures",
|
|
29
|
+
type: "uint256",
|
|
30
|
+
internalType: "uint256",
|
|
31
|
+
},
|
|
27
32
|
{
|
|
28
33
|
name: "_initialBeefyBlock",
|
|
29
34
|
type: "uint64",
|
|
@@ -76,6 +81,19 @@ const _abi = [
|
|
|
76
81
|
],
|
|
77
82
|
stateMutability: "nonpayable",
|
|
78
83
|
},
|
|
84
|
+
{
|
|
85
|
+
type: "function",
|
|
86
|
+
name: "FIAT_SHAMIR_DOMAIN_ID",
|
|
87
|
+
inputs: [],
|
|
88
|
+
outputs: [
|
|
89
|
+
{
|
|
90
|
+
name: "",
|
|
91
|
+
type: "bytes",
|
|
92
|
+
internalType: "bytes",
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
stateMutability: "view",
|
|
96
|
+
},
|
|
79
97
|
{
|
|
80
98
|
type: "function",
|
|
81
99
|
name: "MMR_ROOT_ID",
|
|
@@ -102,6 +120,107 @@ const _abi = [
|
|
|
102
120
|
outputs: [],
|
|
103
121
|
stateMutability: "nonpayable",
|
|
104
122
|
},
|
|
123
|
+
{
|
|
124
|
+
type: "function",
|
|
125
|
+
name: "computeCommitmentHash",
|
|
126
|
+
inputs: [
|
|
127
|
+
{
|
|
128
|
+
name: "commitment",
|
|
129
|
+
type: "tuple",
|
|
130
|
+
internalType: "struct BeefyClient.Commitment",
|
|
131
|
+
components: [
|
|
132
|
+
{
|
|
133
|
+
name: "blockNumber",
|
|
134
|
+
type: "uint32",
|
|
135
|
+
internalType: "uint32",
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
name: "validatorSetID",
|
|
139
|
+
type: "uint64",
|
|
140
|
+
internalType: "uint64",
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
name: "payload",
|
|
144
|
+
type: "tuple[]",
|
|
145
|
+
internalType: "struct BeefyClient.PayloadItem[]",
|
|
146
|
+
components: [
|
|
147
|
+
{
|
|
148
|
+
name: "payloadID",
|
|
149
|
+
type: "bytes2",
|
|
150
|
+
internalType: "bytes2",
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
name: "data",
|
|
154
|
+
type: "bytes",
|
|
155
|
+
internalType: "bytes",
|
|
156
|
+
},
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
],
|
|
160
|
+
},
|
|
161
|
+
],
|
|
162
|
+
outputs: [
|
|
163
|
+
{
|
|
164
|
+
name: "",
|
|
165
|
+
type: "bytes32",
|
|
166
|
+
internalType: "bytes32",
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
stateMutability: "pure",
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
type: "function",
|
|
173
|
+
name: "createFiatShamirFinalBitfield",
|
|
174
|
+
inputs: [
|
|
175
|
+
{
|
|
176
|
+
name: "commitment",
|
|
177
|
+
type: "tuple",
|
|
178
|
+
internalType: "struct BeefyClient.Commitment",
|
|
179
|
+
components: [
|
|
180
|
+
{
|
|
181
|
+
name: "blockNumber",
|
|
182
|
+
type: "uint32",
|
|
183
|
+
internalType: "uint32",
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
name: "validatorSetID",
|
|
187
|
+
type: "uint64",
|
|
188
|
+
internalType: "uint64",
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
name: "payload",
|
|
192
|
+
type: "tuple[]",
|
|
193
|
+
internalType: "struct BeefyClient.PayloadItem[]",
|
|
194
|
+
components: [
|
|
195
|
+
{
|
|
196
|
+
name: "payloadID",
|
|
197
|
+
type: "bytes2",
|
|
198
|
+
internalType: "bytes2",
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
name: "data",
|
|
202
|
+
type: "bytes",
|
|
203
|
+
internalType: "bytes",
|
|
204
|
+
},
|
|
205
|
+
],
|
|
206
|
+
},
|
|
207
|
+
],
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
name: "bitfield",
|
|
211
|
+
type: "uint256[]",
|
|
212
|
+
internalType: "uint256[]",
|
|
213
|
+
},
|
|
214
|
+
],
|
|
215
|
+
outputs: [
|
|
216
|
+
{
|
|
217
|
+
name: "",
|
|
218
|
+
type: "uint256[]",
|
|
219
|
+
internalType: "uint256[]",
|
|
220
|
+
},
|
|
221
|
+
],
|
|
222
|
+
stateMutability: "view",
|
|
223
|
+
},
|
|
105
224
|
{
|
|
106
225
|
type: "function",
|
|
107
226
|
name: "createFinalBitfield",
|
|
@@ -190,6 +309,19 @@ const _abi = [
|
|
|
190
309
|
],
|
|
191
310
|
stateMutability: "view",
|
|
192
311
|
},
|
|
312
|
+
{
|
|
313
|
+
type: "function",
|
|
314
|
+
name: "fiatShamirRequiredSignatures",
|
|
315
|
+
inputs: [],
|
|
316
|
+
outputs: [
|
|
317
|
+
{
|
|
318
|
+
name: "",
|
|
319
|
+
type: "uint256",
|
|
320
|
+
internalType: "uint256",
|
|
321
|
+
},
|
|
322
|
+
],
|
|
323
|
+
stateMutability: "view",
|
|
324
|
+
},
|
|
193
325
|
{
|
|
194
326
|
type: "function",
|
|
195
327
|
name: "latestBeefyBlock",
|
|
@@ -295,6 +427,142 @@ const _abi = [
|
|
|
295
427
|
],
|
|
296
428
|
stateMutability: "view",
|
|
297
429
|
},
|
|
430
|
+
{
|
|
431
|
+
type: "function",
|
|
432
|
+
name: "submitFiatShamir",
|
|
433
|
+
inputs: [
|
|
434
|
+
{
|
|
435
|
+
name: "commitment",
|
|
436
|
+
type: "tuple",
|
|
437
|
+
internalType: "struct BeefyClient.Commitment",
|
|
438
|
+
components: [
|
|
439
|
+
{
|
|
440
|
+
name: "blockNumber",
|
|
441
|
+
type: "uint32",
|
|
442
|
+
internalType: "uint32",
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
name: "validatorSetID",
|
|
446
|
+
type: "uint64",
|
|
447
|
+
internalType: "uint64",
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
name: "payload",
|
|
451
|
+
type: "tuple[]",
|
|
452
|
+
internalType: "struct BeefyClient.PayloadItem[]",
|
|
453
|
+
components: [
|
|
454
|
+
{
|
|
455
|
+
name: "payloadID",
|
|
456
|
+
type: "bytes2",
|
|
457
|
+
internalType: "bytes2",
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
name: "data",
|
|
461
|
+
type: "bytes",
|
|
462
|
+
internalType: "bytes",
|
|
463
|
+
},
|
|
464
|
+
],
|
|
465
|
+
},
|
|
466
|
+
],
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
name: "bitfield",
|
|
470
|
+
type: "uint256[]",
|
|
471
|
+
internalType: "uint256[]",
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
name: "proofs",
|
|
475
|
+
type: "tuple[]",
|
|
476
|
+
internalType: "struct BeefyClient.ValidatorProof[]",
|
|
477
|
+
components: [
|
|
478
|
+
{
|
|
479
|
+
name: "v",
|
|
480
|
+
type: "uint8",
|
|
481
|
+
internalType: "uint8",
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
name: "r",
|
|
485
|
+
type: "bytes32",
|
|
486
|
+
internalType: "bytes32",
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
name: "s",
|
|
490
|
+
type: "bytes32",
|
|
491
|
+
internalType: "bytes32",
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
name: "index",
|
|
495
|
+
type: "uint256",
|
|
496
|
+
internalType: "uint256",
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
name: "account",
|
|
500
|
+
type: "address",
|
|
501
|
+
internalType: "address",
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
name: "proof",
|
|
505
|
+
type: "bytes32[]",
|
|
506
|
+
internalType: "bytes32[]",
|
|
507
|
+
},
|
|
508
|
+
],
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
name: "leaf",
|
|
512
|
+
type: "tuple",
|
|
513
|
+
internalType: "struct BeefyClient.MMRLeaf",
|
|
514
|
+
components: [
|
|
515
|
+
{
|
|
516
|
+
name: "version",
|
|
517
|
+
type: "uint8",
|
|
518
|
+
internalType: "uint8",
|
|
519
|
+
},
|
|
520
|
+
{
|
|
521
|
+
name: "parentNumber",
|
|
522
|
+
type: "uint32",
|
|
523
|
+
internalType: "uint32",
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
name: "parentHash",
|
|
527
|
+
type: "bytes32",
|
|
528
|
+
internalType: "bytes32",
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
name: "nextAuthoritySetID",
|
|
532
|
+
type: "uint64",
|
|
533
|
+
internalType: "uint64",
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
name: "nextAuthoritySetLen",
|
|
537
|
+
type: "uint32",
|
|
538
|
+
internalType: "uint32",
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
name: "nextAuthoritySetRoot",
|
|
542
|
+
type: "bytes32",
|
|
543
|
+
internalType: "bytes32",
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
name: "parachainHeadsRoot",
|
|
547
|
+
type: "bytes32",
|
|
548
|
+
internalType: "bytes32",
|
|
549
|
+
},
|
|
550
|
+
],
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
name: "leafProof",
|
|
554
|
+
type: "bytes32[]",
|
|
555
|
+
internalType: "bytes32[]",
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
name: "leafProofOrder",
|
|
559
|
+
type: "uint256",
|
|
560
|
+
internalType: "uint256",
|
|
561
|
+
},
|
|
562
|
+
],
|
|
563
|
+
outputs: [],
|
|
564
|
+
stateMutability: "nonpayable",
|
|
565
|
+
},
|
|
298
566
|
{
|
|
299
567
|
type: "function",
|
|
300
568
|
name: "submitFinal",
|
|
@@ -621,11 +889,44 @@ const _abi = [
|
|
|
621
889
|
],
|
|
622
890
|
anonymous: false,
|
|
623
891
|
},
|
|
892
|
+
{
|
|
893
|
+
type: "event",
|
|
894
|
+
name: "TicketExpired",
|
|
895
|
+
inputs: [],
|
|
896
|
+
anonymous: false,
|
|
897
|
+
},
|
|
624
898
|
{
|
|
625
899
|
type: "error",
|
|
626
900
|
name: "CommitmentNotRelevant",
|
|
627
901
|
inputs: [],
|
|
628
902
|
},
|
|
903
|
+
{
|
|
904
|
+
type: "error",
|
|
905
|
+
name: "ECDSAInvalidSignature",
|
|
906
|
+
inputs: [],
|
|
907
|
+
},
|
|
908
|
+
{
|
|
909
|
+
type: "error",
|
|
910
|
+
name: "ECDSAInvalidSignatureLength",
|
|
911
|
+
inputs: [
|
|
912
|
+
{
|
|
913
|
+
name: "length",
|
|
914
|
+
type: "uint256",
|
|
915
|
+
internalType: "uint256",
|
|
916
|
+
},
|
|
917
|
+
],
|
|
918
|
+
},
|
|
919
|
+
{
|
|
920
|
+
type: "error",
|
|
921
|
+
name: "ECDSAInvalidSignatureS",
|
|
922
|
+
inputs: [
|
|
923
|
+
{
|
|
924
|
+
name: "s",
|
|
925
|
+
type: "bytes32",
|
|
926
|
+
internalType: "bytes32",
|
|
927
|
+
},
|
|
928
|
+
],
|
|
929
|
+
},
|
|
629
930
|
{
|
|
630
931
|
type: "error",
|
|
631
932
|
name: "IndexOutOfBounds",
|
|
@@ -641,6 +942,11 @@ const _abi = [
|
|
|
641
942
|
name: "InvalidBitfieldLength",
|
|
642
943
|
inputs: [],
|
|
643
944
|
},
|
|
945
|
+
{
|
|
946
|
+
type: "error",
|
|
947
|
+
name: "InvalidBitfieldPadding",
|
|
948
|
+
inputs: [],
|
|
949
|
+
},
|
|
644
950
|
{
|
|
645
951
|
type: "error",
|
|
646
952
|
name: "InvalidCommitment",
|
|
@@ -663,27 +969,27 @@ const _abi = [
|
|
|
663
969
|
},
|
|
664
970
|
{
|
|
665
971
|
type: "error",
|
|
666
|
-
name: "
|
|
972
|
+
name: "InvalidSamplingParams",
|
|
667
973
|
inputs: [],
|
|
668
974
|
},
|
|
669
975
|
{
|
|
670
976
|
type: "error",
|
|
671
|
-
name: "
|
|
977
|
+
name: "InvalidSignature",
|
|
672
978
|
inputs: [],
|
|
673
979
|
},
|
|
674
980
|
{
|
|
675
981
|
type: "error",
|
|
676
|
-
name: "
|
|
982
|
+
name: "InvalidTicket",
|
|
677
983
|
inputs: [],
|
|
678
984
|
},
|
|
679
985
|
{
|
|
680
986
|
type: "error",
|
|
681
|
-
name: "
|
|
987
|
+
name: "InvalidValidatorProof",
|
|
682
988
|
inputs: [],
|
|
683
989
|
},
|
|
684
990
|
{
|
|
685
991
|
type: "error",
|
|
686
|
-
name: "
|
|
992
|
+
name: "InvalidValidatorProofLength",
|
|
687
993
|
inputs: [],
|
|
688
994
|
},
|
|
689
995
|
{
|
|
@@ -706,11 +1012,6 @@ const _abi = [
|
|
|
706
1012
|
name: "StaleCommitment",
|
|
707
1013
|
inputs: [],
|
|
708
1014
|
},
|
|
709
|
-
{
|
|
710
|
-
type: "error",
|
|
711
|
-
name: "TicketExpired",
|
|
712
|
-
inputs: [],
|
|
713
|
-
},
|
|
714
1015
|
{
|
|
715
1016
|
type: "error",
|
|
716
1017
|
name: "UnsupportedCompactEncoding",
|
|
@@ -722,7 +1023,7 @@ const _abi = [
|
|
|
722
1023
|
inputs: [],
|
|
723
1024
|
},
|
|
724
1025
|
];
|
|
725
|
-
const _bytecode = "0x60e060405234801561000f575f5ffd5b5060405161373238038061373283398101604081905261002e9161032e565b815161003b9060016103af565b6001600160801b0316815f01516001600160801b0316146100a25760405162461bcd60e51b815260206004820152601a60248201527f696e76616c69642d636f6e7374727563746f722d706172616d73000000000000604482015260640160405180910390fd5b608086905260a085905260c0849052600180546001600160401b0319166001600160401b038516179055815160208301516001600160801b03918216600160801b91831682021760028190556040850151600355610103929190041661018c565b8051805160049161011991839160200190610231565b50602091820151600191909101558151908201516001600160801b03918216600160801b9183168202176006819055604084015160075561015d929190041661018c565b8051805160089161017391839160200190610231565b5060208201518160010155905050505050505050610421565b60408051808201909152606081525f60208201525f6101ac6010846103e8565b156101b85760016101ba565b5f5b60ff166101c86010856103fb565b6101d2919061040e565b90506040518060400160405280826001600160401b038111156101f7576101f761028e565b604051908082528060200260200182016040528015610220578160200160208202803683370190505b508152602001939093525090919050565b828054828255905f5260205f2090810192821561026a579160200282015b8281111561026a57825182559160200191906001019061024f565b5061027692915061027a565b5090565b5b80821115610276575f815560010161027b565b634e487b7160e01b5f52604160045260245ffd5b80516001600160801b03811681146102b8575f5ffd5b919050565b5f606082840312156102cd575f5ffd5b604051606081016001600160401b03811182821017156102fb57634e487b7160e01b5f52604160045260245ffd5b60405290508061030a836102a2565b8152610318602084016102a2565b6020820152604083015160408201525092915050565b5f5f5f5f5f5f6101408789031215610344575f5ffd5b86516020880151604089015160608a015192985090965094506001600160401b0381168114610371575f5ffd5b925061038088608089016102bd565b915061038f8860e089016102bd565b90509295509295509295565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b0381811683821601908111156103ce576103ce61039b565b92915050565b634e487b7160e01b5f52601260045260245ffd5b5f826103f6576103f66103d4565b500690565b5f82610409576104096103d4565b500490565b808201808211156103ce576103ce61039b565b60805160a05160c0516132cb6104675f395f81816102150152610fbb01525f81816102850152610b5401525f818161018c01528181610ae80152610b7a01526132cb5ff3fe608060405234801561000f575f5ffd5b50600436106100f0575f3560e01c806366ae69a011610093578063a77cf3d211610063578063a77cf3d21461026d578063ad209a9b14610280578063bb51f1eb146102a7578063df0dd0d5146102ba575f5ffd5b806366ae69a0146101e35780636f55bd32146102105780638ab81d1314610237578063a401662b1461024a575f5ffd5b806341c9634e116100ce57806341c9634e14610171578063591d99ee146101875780635da57fe9146101ae578063623b223d146101ce575f5ffd5b80630a7c8faa146100f45780632cdea717146101515780633666751314610169575b5f5ffd5b61011b7f6d6800000000000000000000000000000000000000000000000000000000000081565b6040517fffff00000000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b610159610354565b60405161014894939291906129b9565b6101596103eb565b6101795f5481565b604051908152602001610148565b6101797f000000000000000000000000000000000000000000000000000000000000000081565b6101c16101bc366004612a9c565b610480565b6040516101489190612ae4565b6101e16101dc366004612b4c565b6104d1565b005b6001546101f79067ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610148565b6101797f000000000000000000000000000000000000000000000000000000000000000081565b6101c1610245366004612c31565b610934565b61025d610258366004612c79565b610a32565b6040519015158152602001610148565b6101e161027b366004612cc8565b610a41565b6101797f000000000000000000000000000000000000000000000000000000000000000081565b6101e16102b5366004612cdf565b610c38565b6103176102c8366004612cc8565b600a6020525f908152604090208054600182015460029092015467ffffffffffffffff82169263ffffffff6801000000000000000084048116936c010000000000000000000000009004169185565b6040805167ffffffffffffffff96909616865263ffffffff948516602087015292909316918401919091526060830152608082015260a001610148565b6002805460035460408051600480546060602082028401810185529383018181526fffffffffffffffffffffffffffffffff80881698700100000000000000000000000000000000909804169694849284918401828280156103d357602002820191905f5260205f20905b8154815260200190600101908083116103bf575b50505050508152602001600182015481525050905084565b6006805460075460408051600880546060602082028401810185529383018181526fffffffffffffffffffffffffffffffff80881698700100000000000000000000000000000000909804169694849284918401828280156103d357602002820191905f5260205f20908154815260200190600101908083116103bf5750505050508152602001600182015481525050905084565b6060828210156104bc576040517f5c85a0e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104c7848484611159565b90505b9392505050565b5f6104db8a6111f8565b8051906020012090505f6104f833835f9182526020526040902090565b9050610506818c8c8c6112ea565b5f5f90505f60065f015f9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168d60200160208101906105509190612d77565b67ffffffffffffffff160361056b57506001905060066105f9565b60025f015f9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168d60200160208101906105b09190612d77565b67ffffffffffffffff16036105c7575060026105f9565b6040517fc06789fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61060884848e8e858f8f61143f565b5f6106128e611692565b9050821561082e5760065461063a906fffffffffffffffffffffffffffffffff166001612dcb565b6fffffffffffffffffffffffffffffffff1661065c60808b0160608c01612d77565b67ffffffffffffffff161461069d576040517fc72c820000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6106ba826106ab8c611829565b805190602001208b8b8b611925565b9050806106f3576040517f128597bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600680547001000000000000000000000000000000008082046fffffffffffffffffffffffffffffffff9081169091029116176002908155600754600355600880546004906107459082908490612920565b5060019182015491015550610762905060808b0160608c01612d77565b600680547fffffffffffffffffffffffffffffffff000000000000000000000000000000001667ffffffffffffffff929092169190911790556107ab60a08b0160808c01612df3565b600680546fffffffffffffffffffffffffffffffff1663ffffffff929092167001000000000000000000000000000000000291909117905560a08a018035600755610808906107fd9060808d01612df3565b63ffffffff166119ad565b8051805160089161081e9183916020019061296c565b5060208201518160010155905050505b5f81905561083f60208f018f612df3565b63ffffffff1660015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600a5f8581526020019081526020015f205f5f82015f6101000a81549067ffffffffffffffff02191690555f820160086101000a81549063ffffffff02191690555f8201600c6101000a81549063ffffffff0219169055600182015f9055600282015f905550507fd95fe1258d152dc91c81b09380498adc76ed36a6079bcb2ed31eff622ae2d0f1818f5f0160208101906109079190612df3565b6040805192835263ffffffff90911660208301520160405180910390a15050505050505050505050505050565b60605f600a5f61094d33885f9182526020526040902090565b81526020019081526020015f209050838360405160200161096f929190612e16565b604051602081830303815290604052805190602001208160020154146109c1576040517f6768c0aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a2981600101548585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855463ffffffff6c0100000000000000000000000082048116935068010000000000000000909104169050611a53565b95945050505050565b5f610a295f5486868686611925565b335f9081526020829052604081205f818152600a6020526040812080549293509167ffffffffffffffff169003610aa4576040517f6686db6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181015415610ae0576040517fe31d900500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054610b17907f00000000000000000000000000000000000000000000000000000000000000009067ffffffffffffffff16612e56565b431015610b50576040517fc77c194900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547f000000000000000000000000000000000000000000000000000000000000000090610ba9907f00000000000000000000000000000000000000000000000000000000000000009067ffffffffffffffff16612e56565b610bb39190612e56565b431115610c2d575f828152600a602052604080822080547fffffffffffffffffffffffffffffffff00000000000000000000000000000000168155600181018390556002019190915580517f40d3544700000000000000000000000000000000000000000000000000000000815290519081900360040190fd5b446001909101555050565b60015467ffffffffffffffff16610c526020860186612df3565b63ffffffff1611610c8f576040517f3d618e5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002545f9081906fffffffffffffffffffffffffffffffff16610cb86040880160208901612d77565b67ffffffffffffffff1603610d0157610cd660046060850135611afe565b9050610cf86060840135610cef61ffff84166001611b81565b60049190611b9f565b60029150610d6b565b6006546fffffffffffffffffffffffffffffffff16610d266040880160208901612d77565b67ffffffffffffffff16036105c757610d4460086060850135611afe565b9050610d666060840135610d5d61ffff84166001611b81565b60089190611b9f565b600691505b610d9682610d7f60a0860160808701612e69565b6060860135610d9160a0880188612e9c565b611c5f565b1580610dde5750610ddc8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060850135611d15565b155b15610e15576040517fe00153fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610e1f876111f8565b80516020909101209050610e3960a0850160808601612e69565b73ffffffffffffffffffffffffffffffffffffffff16610e6f82610e606020880188612f00565b87602001358860400135611d59565b73ffffffffffffffffffffffffffffffffffffffff1614610ebc576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8254610eed9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16611d7f565b610f288787808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250611da192505050565b1015610f60576040517fee3e74af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160a0810182524367ffffffffffffffff1681528454700100000000000000000000000000000000900463ffffffff811660208301529091820190610fdf906fffffffffffffffffffffffffffffffff1661ffff86167f000000000000000000000000000000000000000000000000000000000000000061200f565b63ffffffff1681526020015f81526020018787604051602001611003929190612e16565b60405160208183030381529060405280519060200120815250600a5f61103233855f9182526020526040902090565b815260208082019290925260409081015f2083518154858501519386015163ffffffff9081166c01000000000000000000000000027fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff9190951668010000000000000000027fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090921667ffffffffffffffff909316929092171716919091178155606083015160018201556080909201516002909201919091557fbee983fc706c692efb9b0240bddc5666c010a53af55ed5fb42d226e7e429386990339061111c908a018a612df3565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835263ffffffff90911660208301520160405180910390a150505050505050565b60605f61010061116a8460ff612e56565b6111749190612f4d565b90508067ffffffffffffffff81111561118f5761118f612f60565b6040519080825280602002602001820160405280156111b8578160200160208202803683370190505b5091505f5b848110156111ef576111e7838787848181106111db576111db612f8d565b90506020020135612067565b6001016111bd565b50509392505050565b606061120f61120a6040840184612e9c565b6120be565b61124661121f6020850185612df3565b600881811c62ff00ff1663ff00ff009290911b9190911617601081811c91901b1760e01b90565b6112c26112596040860160208701612d77565b5f65ff000000ff00600883811b91821664ff000000ff9185901c91821617601090811b67ff000000ff0000009390931666ff000000ff00009290921691909117901c17602081811b6bffffffffffffffff000000001691901c63ffffffff161760c01b92915050565b6040516020016112d493929190612fd1565b6040516020818303038152906040529050919050565b5f848152600a602052604081208054909167ffffffffffffffff909116900361133f576040517f6686db6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600101545f0361137c576040517f78ef3a4700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015467ffffffffffffffff166113966020860186612df3565b63ffffffff16116113d3576040517f3d618e5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82826040516020016113e6929190612e16565b60405160208183030381529060405280519060200120816002015414611438576040517f6768c0aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b5f868152600a6020526040902080546c01000000000000000000000000900463ffffffff1682811461149d576040517f1f1711da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61150883600101548989808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508a5487925070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff169050611a53565b90505f5b84811015611685573686868381811061152757611527612f8d565b90506020028101906115399190613034565b9050611549838260600135611d15565b61157f576040517fe00153fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115a58861159360a0840160808501612e69565b6060840135610d9160a0860186612e9c565b6115db576040517fe00153fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115eb60a0820160808301612e69565b73ffffffffffffffffffffffffffffffffffffffff166116218d6116126020850185612f00565b84602001358560400135611d59565b73ffffffffffffffffffffffffffffffffffffffff161461166e576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61167c8382606001356121cb565b5060010161150c565b5050505050505050505050565b5f805b6116a26040840184612e9c565b90508110156117f6577f6d680000000000000000000000000000000000000000000000000000000000006116d96040850185612e9c565b838181106116e9576116e9612f8d565b90506020028101906116fb9190613070565b6117099060208101906130a2565b7fffff00000000000000000000000000000000000000000000000000000000000016036117ee5761173d6040840184612e9c565b8281811061174d5761174d612f8d565b905060200281019061175f9190613070565b61176d9060208101906130e1565b90506020146117a8576040517f7df9c48600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117b56040840184612e9c565b828181106117c5576117c5612f8d565b90506020028101906117d79190613070565b6117e59060208101906130e1565b6104ca91613142565b600101611695565b506040517f484ab7df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606061184161183b6020840184612f00565b60f81b90565b61185461121f6040850160208601612df3565b604084013561186c6112596080870160608801612d77565b61187f61121f60a0880160808901612df3565b6040517fff0000000000000000000000000000000000000000000000000000000000000090951660208601527fffffffff00000000000000000000000000000000000000000000000000000000938416602186015260258501929092527fffffffffffffffff00000000000000000000000000000000000000000000000016604584015216604d82015260a0830135605182015260c083013560718201526091016112d4565b5f610100831115611962576040517f5e862a8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845f5b848110156119a0576119968287878481811061198357611983612f8d565b905060200201358387901c6001166121ff565b9150600101611965565b5090951495945050505050565b60408051808201909152606081525f60208201525f6119cd60108461317e565b156119d95760016119db565b5f5b60ff166119e9601085612f4d565b6119f39190612e56565b905060405180604001604052808267ffffffffffffffff811115611a1957611a19612f60565b604051908082528060200260200182016040528015611a42578160200160208202803683370190505b508152602001939093525090919050565b6060835167ffffffffffffffff811115611a6f57611a6f612f60565b604051908082528060200260200182016040528015611a98578160200160208202803683370190505b5090505f805b84821015611af4575f611ab2888387612228565b9050611abe8782611d15565b1580611acf5750611acf8482611d15565b15611add5750600101611a9e565b611ae78482612067565b5060019182019101611a9e565b5050949350505050565b5f82600101548210611b3c576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600482901c600f8316611b50816010613191565b60ff16855f018381548110611b6757611b67612f8d565b905f5260205f200154901c61ffff16925050505b92915050565b5f82820161ffff80851690821610156104ca5761ffff915050611b7b565b82600101548210611bdc576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600482901c600f83165f611bf1826010613191565b60ff1661ffff901b1990505f826010611c0a9190613191565b60ff168561ffff16901b90508082885f018681548110611c2c57611c2c612f8d565b905f5260205f2001541617875f018581548110611c4b57611c4b612f8d565b5f9182526020909120015550505050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660208201525f908190603401604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018152919052805160209091012060018801548854919250611d0a918390889070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16888861224b565b979650505050505050565b5f5f600883901c9050611d4a83858381518110611d3457611d34612f8d565b602002602001015161227690919063ffffffff16565b60ff1660011491505092915050565b5f5f5f611d6887878787612280565b91509150611d7581612368565b5095945050505050565b5f6003611d8d6001846131ad565b611d979190612f4d565b611b7b90836131ad565b5f80805b8351811015612008575f848281518110611dc157611dc1612f8d565b602002602001015190507f5555555555555555555555555555555555555555555555555555555555555555600182901c167f555555555555555555555555555555555555555555555555555555555555555582160190507f3333333333333333333333333333333333333333333333333333333333333333600282901c167f333333333333333333333333333333333333333333333333333333333333333382160190507f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f600482901c167f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f82160190507eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff600882901c167eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff82160190507dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff601082901c167dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff82160190507bffffffff00000000ffffffff00000000ffffffff00000000ffffffff602082901c167bffffffff00000000ffffffff00000000ffffffff00000000ffffffff821601905077ffffffffffffffff0000000000000000ffffffffffffffff604082901c1677ffffffffffffffff0000000000000000ffffffffffffffff82160190506fffffffffffffffffffffffffffffffff608082901c166fffffffffffffffffffffffffffffffff82160190508083019250508080600101915050611da5565b5092915050565b5f8161201c856001612522565b6120269082612e56565b9050612033846001612522565b61203e9060026131c0565b612049906001612e56565b6120539082612e56565b9050610a298161206287611d7f565b61255f565b5f600882901c905061209b8284838151811061208557612085612f8d565b602002602001015161257490919063ffffffff16565b8382815181106120ad576120ad612f8d565b602002602001018181525050505050565b60605f6120ca83612581565b90505f5b838110156121c357818585838181106120e9576120e9612f8d565b90506020028101906120fb9190613070565b6121099060208101906130a2565b61214587878581811061211e5761211e612f8d565b90506020028101906121309190613070565b61213e9060208101906130e1565b9050612581565b87878581811061215757612157612f8d565b90506020028101906121699190613070565b6121779060208101906130e1565b60405160200161218b9594939291906131d7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905291506001016120ce565b509392505050565b5f600882901c905061209b828483815181106121e9576121e9612f8d565b60200260200101516125ca90919063ffffffff16565b5f81801561221357835f528460205261221b565b845f52836020525b505060405f209392505050565b5f815f0361223757505f6104ca565b505f92835260209190915260409091200690565b5f83851061225a57505f61226c565b61226786868686866125d8565b871490505b9695505050505050565b60ff161c60011690565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156122b557505f9050600361235f565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612306573d5f5f3e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612359575f6001925092505061235f565b91505f90505b94509492505050565b5f81600481111561237b5761237b61322b565b036123835750565b60018160048111156123975761239761322b565b03612403576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064015b60405180910390fd5b60028160048111156124175761241761322b565b0361247e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016123fa565b60038160048111156124925761249261322b565b0361251f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016123fa565b50565b5f5f61252d8461269d565b905061253883612730565b8015612547575083816001901b105b612551575f612554565b60015b60ff16019392505050565b5f81831061256d57816104ca565b5090919050565b600160ff919091161b1790565b606063ffffffff8211156125c1576040517fe809999a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7b8261275c565b600160ff919091161b191690565b5f85815b838110156126925786600116600114806125f857508587600101145b1561262f5761262885858381811061261257612612612f8d565b90506020020135835f9182526020526040902090565b915061265d565b61265a8286868481811061264557612645612f8d565b905060200201355f9182526020526040902090565b91505b600196871c967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909601861c860195016125dc565b509695505050505050565b5f80608083901c156126b157608092831c92015b604083901c156126c357604092831c92015b602083901c156126d557602092831c92015b601083901c156126e757601092831c92015b600883901c156126f957600892831c92015b600483901c1561270b57600492831c92015b600283901c1561271d57600292831c92015b600183901c15611b7b5760010192915050565b5f60028260038111156127455761274561322b565b61274f9190613258565b60ff166001149050919050565b6060603f8263ffffffff16116127a3576040517ffc0000000000000000000000000000000000000000000000000000000000000060fa84901b1660208201526021016112d4565b613fff8263ffffffff161161281a576127df6127cb6403fffffffc600285901b166001613279565b600881811b62ffff001691901c60ff161790565b6040516020016112d4919060f09190911b7fffff00000000000000000000000000000000000000000000000000000000000016815260020190565b633fffffff8263ffffffff16116128a45761286960028363ffffffff16901b60026128459190613279565b600881811c62ff00ff1663ff00ff009290911b9190911617601081811c91901b1790565b6040516020016112d4919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b6040517f030000000000000000000000000000000000000000000000000000000000000060208201527fffffffff00000000000000000000000000000000000000000000000000000000600884811c62ff00ff1663ff00ff009186901b9190911617601081811c91901b1760e01b1660218201526025016112d4565b828054828255905f5260205f2090810192821561295c575f5260205f209182015b8281111561295c578254825591600101919060010190612941565b506129689291506129a5565b5090565b828054828255905f5260205f2090810192821561295c579160200282015b8281111561295c57825182559160200191906001019061298a565b5b80821115612968575f81556001016129a6565b6fffffffffffffffffffffffffffffffff851681526fffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f60c0820183516040608085015281815180845260e0860191506020830193505f92505b80831015612a3a5783518252602082019150602084019350600183019250612a17565b50602086015160a086015280935050505095945050505050565b5f5f83601f840112612a64575f5ffd5b50813567ffffffffffffffff811115612a7b575f5ffd5b6020830191508360208260051b8501011115612a95575f5ffd5b9250929050565b5f5f5f60408486031215612aae575f5ffd5b833567ffffffffffffffff811115612ac4575f5ffd5b612ad086828701612a54565b909790965060209590950135949350505050565b602080825282518282018190525f918401906040840190835b81811015612b1b578351835260209384019390920191600101612afd565b509095945050505050565b5f60608284031215612b36575f5ffd5b50919050565b5f60e08284031215612b36575f5ffd5b5f5f5f5f5f5f5f5f5f6101808a8c031215612b65575f5ffd5b893567ffffffffffffffff811115612b7b575f5ffd5b612b878c828d01612b26565b99505060208a013567ffffffffffffffff811115612ba3575f5ffd5b612baf8c828d01612a54565b90995097505060408a013567ffffffffffffffff811115612bce575f5ffd5b612bda8c828d01612a54565b9097509550612bee90508b60608c01612b3c565b93506101408a013567ffffffffffffffff811115612c0a575f5ffd5b612c168c828d01612a54565b9a9d999c50979a969995989497966101600135949350505050565b5f5f5f60408486031215612c43575f5ffd5b83359250602084013567ffffffffffffffff811115612c60575f5ffd5b612c6c86828701612a54565b9497909650939450505050565b5f5f5f5f60608587031215612c8c575f5ffd5b84359350602085013567ffffffffffffffff811115612ca9575f5ffd5b612cb587828801612a54565b9598909750949560400135949350505050565b5f60208284031215612cd8575f5ffd5b5035919050565b5f5f5f5f60608587031215612cf2575f5ffd5b843567ffffffffffffffff811115612d08575f5ffd5b612d1487828801612b26565b945050602085013567ffffffffffffffff811115612d30575f5ffd5b612d3c87828801612a54565b909450925050604085013567ffffffffffffffff811115612d5b575f5ffd5b850160c08188031215612d6c575f5ffd5b939692955090935050565b5f60208284031215612d87575f5ffd5b813567ffffffffffffffff811681146104ca575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6fffffffffffffffffffffffffffffffff8181168382160190811115611b7b57611b7b612d9e565b5f60208284031215612e03575f5ffd5b813563ffffffff811681146104ca575f5ffd5b5f7f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115612e43575f5ffd5b8260051b80858437919091019392505050565b80820180821115611b7b57611b7b612d9e565b5f60208284031215612e79575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff811681146104ca575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612ecf575f5ffd5b83018035915067ffffffffffffffff821115612ee9575f5ffd5b6020019150600581901b3603821315612a95575f5ffd5b5f60208284031215612f10575f5ffd5b813560ff811681146104ca575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f82612f5b57612f5b612f20565b500490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81518060208401855e5f93019283525090919050565b5f612fdc8286612fba565b7fffffffff0000000000000000000000000000000000000000000000000000000094909416845250507fffffffffffffffff000000000000000000000000000000000000000000000000166004820152600c01919050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112613066575f5ffd5b9190910192915050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112613066575f5ffd5b5f602082840312156130b2575f5ffd5b81357fffff000000000000000000000000000000000000000000000000000000000000811681146104ca575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613114575f5ffd5b83018035915067ffffffffffffffff82111561312e575f5ffd5b602001915036819003821315612a95575f5ffd5b80356020831015611b7b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b5f8261318c5761318c612f20565b500690565b60ff818116838216029081169081811461200857612008612d9e565b81810381811115611b7b57611b7b612d9e565b8082028115828204841417611b7b57611b7b612d9e565b5f6131e28288612fba565b7fffff000000000000000000000000000000000000000000000000000000000000871681526132146002820187612fba565b9050838582375f9301928352509095945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f60ff83168061326a5761326a612f20565b8060ff84160691505092915050565b63ffffffff8181168382160190811115611b7b57611b7b612d9e56fea2646970667358221220099447f8f7502b259b62a98a55af24aaa5f57f7a0c90e85f18b6c08660f0f82964736f6c634300081c0033";
|
|
1026
|
+
const _bytecode = "0x610100604052348015610010575f5ffd5b50604051613c94380380613c9483398101604081905261002f916102c2565b815161003c90600161034e565b6001600160801b0316815f01516001600160801b0316146100a35760405162461bcd60e51b815260206004820152601a60248201527f696e76616c69642d636f6e7374727563746f722d706172616d73000000000000604482015260640160405180910390fd5b608087905260a086905260c085905260e0849052600180546001600160401b0319166001600160401b038516179055815160208301516001600160801b03918216600160801b918316820217600281905560408501516003556101099291900416610189565b8051600490819061011a9082610373565b50602091820151600191909101558151908201516001600160801b03918216600160801b9183168202176006819055604084015160075561015e9291900416610189565b8051600890819061016f9082610373565b506020820151816001015590505050505050505050610460565b60408051808201909152606081525f60208201525f6101a9601084610427565b156101b55760016101b7565b5f5b60ff166101c560108561043a565b6101cf919061044d565b90506040518060400160405280826001600160401b038111156101f4576101f461022e565b60405190808252806020026020018201604052801561021d578160200160208202803683370190505b508152602001939093525090919050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160801b0381168114610258575f5ffd5b919050565b5f6060828403121561026d575f5ffd5b604051606081016001600160401b038111828210171561028f5761028f61022e565b60405290508061029e83610242565b81526102ac60208401610242565b6020820152604083015160408201525092915050565b5f5f5f5f5f5f5f610160888a0312156102d9575f5ffd5b8751602089015160408a015160608b015160808c0151939a50919850965094506001600160401b038116811461030d575f5ffd5b925061031c8960a08a0161025d565b915061032c896101008a0161025d565b905092959891949750929550565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b03818116838216019081111561036d5761036d61033a565b92915050565b81516001600160401b0381111561038c5761038c61022e565b680100000000000000008111156103a5576103a561022e565b8154818355808210156103d957825f528160205f20018282035f5b818110156103d5575f838201556001016103c0565b5050505b50602083016103ed835f9081526020902090565b5f5b8381101561040b578251828201556020909201916001016103ef565b505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f8261043557610435610413565b500690565b5f8261044857610448610413565b500490565b8082018082111561036d5761036d61033a565b60805160a05160c05160e0516137d76104bd5f395f818161029601528181611a4e015261249b01525f818161026f015261100601525f81816103060152610be201525f81816101f501528181610b900152610c0801526137d75ff3fe608060405234801561000f575f5ffd5b5060043610610127575f3560e01c80636f55bd32116100a9578063ad209a9b1161006e578063ad209a9b14610301578063bb51f1eb14610328578063c6405f311461033b578063c7d6e93d1461034e578063df0dd0d514610361575f5ffd5b80636f55bd321461026a57806383fe0ea0146102915780638ab81d13146102b8578063a401662b146102cb578063a77cf3d2146102ee575f5ffd5b80634b4cfb28116100ef5780634b4cfb28146101d0578063591d99ee146101f05780635da57fe914610217578063623b223d1461022a57806366ae69a01461023f575f5ffd5b80630a7c8faa1461012b57806315fac8c6146101555780632cdea7171461019a57806336667513146101b257806341c9634e146101ba575b5f5ffd5b610137610dad60f31b81565b6040516001600160f01b031990911681526020015b60405180910390f35b61018d60405180604001604052806019815260200178534e4f574252494447452d464941542d5348414d49522d563160381b81525081565b60405161014c9190612e17565b6101a26103eb565b60405161014c9493929190612e4c565b6101a261046c565b6101c25f5481565b60405190815260200161014c565b6101e36101de366004612f32565b6104eb565b60405161014c9190612f99565b6101c27f000000000000000000000000000000000000000000000000000000000000000081565b6101e3610225366004612fdb565b61063e565b61023d610238366004613032565b610674565b005b600154610252906001600160401b031681565b6040516001600160401b03909116815260200161014c565b6101c27f000000000000000000000000000000000000000000000000000000000000000081565b6101c27f000000000000000000000000000000000000000000000000000000000000000081565b6101e36102c6366004613113565b610a36565b6102de6102d9366004613141565b610b0d565b604051901515815260200161014c565b61023d6102fc36600461318f565b610b1c565b6101c27f000000000000000000000000000000000000000000000000000000000000000081565b61023d6103363660046131a6565b610ca5565b6101c261034936600461323b565b61115d565b61023d61035c366004613032565b611175565b6103af61036f36600461318f565b600a6020525f90815260409020805460018201546002909201546001600160401b0382169263ffffffff600160401b8404811693600160601b9004169185565b604080516001600160401b0396909616865263ffffffff948516602087015292909316918401919091526060830152608082015260a00161014c565b6002805460035460408051600480546060602082028401810185529383018181526001600160801b0380881698600160801b9098041696948492849184018282801561045457602002820191905f5260205f20905b815481526020019060010190808311610440575b50505050508152602001600182015481525050905084565b6006805460075460408051600880546060602082028401810185529383018181526001600160801b0380881698600160801b9098041696948492849184018282801561045457602002820191905f5260205f20908154815260200190600101908083116104405750505050508152602001600182015481525050905084565b6006546060906002906001600160801b031661050d604087016020880161326c565b6001600160401b03160361052357506006610566565b6002546001600160801b031661053f604087016020880161326c565b6001600160401b03161461056657604051636033c4fd60e11b815260040160405180910390fd5b805461058190600160801b90046001600160801b031661155a565b831415806105f5575080546105a590600160801b90046001600160801b0316611579565b6105f38585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508554600160801b90046001600160801b0316915061159b9050565b105b15610613576040516333b4605560e11b815260040160405180910390fd5b5f61061d86611915565b80519060200120905061063281868685611a07565b925050505b9392505050565b60608282101561066157604051635c85a0e760e01b815260040160405180910390fd5b61066c848484611aec565b949350505050565b5f61067e8a611915565b8051906020012090505f61069b33835f9182526020526040902090565b90506106a9818c8c8c611b76565b5f5f90505f6002905060065f015f9054906101000a90046001600160801b03166001600160801b03168d60200160208101906106e5919061326c565b6001600160401b0316036106ff5750600190506006610759565b60025f015f9054906101000a90046001600160801b03166001600160801b03168d6020016020810190610732919061326c565b6001600160401b03161461075957604051636033c4fd60e11b815260040160405180910390fd5b6107a78c8c808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508454600160801b90046001600160801b03169150611c659050565b6107b684848e8e858f8f611cf8565b5f6107c08e611eae565b90508215610933576006546001600160801b03166107e460808b0160608c0161326c565b6001600160401b03161161080a576040516263964160e91b815260040160405180910390fd5b5f610827826108188c611f81565b805190602001208b8b8b612035565b9050806108475760405163128597bb60e01b815260040160405180910390fd5b60068054600160801b8082046001600160801b039081169091029116176002908155600754600355600860048061087e838261331a565b506001918201549101555061089b905060808b0160608c0161326c565b600680546001600160801b0319166001600160401b03929092169190911790556108cb60a08b0160808c01613380565b600680546001600160801b031663ffffffff92909216600160801b0291909117905560a08a018035600755610912906109079060808d01613380565b63ffffffff166120a4565b8051600890819061092390826133a3565b5060208201518160010155905050505b5f81905561094460208f018f613380565b63ffffffff1660015f6101000a8154816001600160401b0302191690836001600160401b03160217905550600a5f8581526020019081526020015f205f5f82015f6101000a8154906001600160401b0302191690555f820160086101000a81549063ffffffff02191690555f8201600c6101000a81549063ffffffff0219169055600182015f9055600282015f905550507fd95fe1258d152dc91c81b09380498adc76ed36a6079bcb2ed31eff622ae2d0f1818f5f016020810190610a099190613380565b6040805192835263ffffffff90911660208301520160405180910390a15050505050505050505050505050565b60605f600a5f610a4f33885f9182526020526040902090565b81526020019081526020015f2090508383604051602001610a719291906133ef565b60405160208183030381529060405280519060200120816002015414610aaa576040516333b4605560e11b815260040160405180910390fd5b610b0481600101548585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855463ffffffff600160401b820481169350600160601b909104169050612149565b95945050505050565b5f610b045f5486868686612035565b335f9081526020829052604081205f818152600a602052604081208054929350916001600160401b03169003610b65576040516319a1b6d960e21b815260040160405180910390fd5b600181015415610b885760405163e31d900560e01b815260040160405180910390fd5b8054610bbe907f0000000000000000000000000000000000000000000000000000000000000000906001600160401b0316613416565b431015610bde5760405163c77c194960e01b815260040160405180910390fd5b80547f000000000000000000000000000000000000000000000000000000000000000090610c36907f0000000000000000000000000000000000000000000000000000000000000000906001600160401b0316613416565b610c409190613416565b431115610c9a575f828152600a602052604080822080546001600160801b031916815560018101839055600201829055517f40d3544771f3c2382030d7a42c371f55cb608ac0eaf54ef2fa846da65af1b9859190a1505050565b446001909101555050565b6001546001600160401b0316610cbe6020860186613380565b63ffffffff1611610ce2576040516303d618e560e41b815260040160405180910390fd5b600280545f906001600160801b0316610d01604088016020890161326c565b6001600160401b031603610d4557610d1e60046060850135612231565b9050610d406060840135610d3761ffff8416600161229a565b600491906122b8565b610dc2565b6006546001600160801b0316610d61604088016020890161326c565b6001600160401b031603610da957610d7e60086060850135612231565b9050610da06060840135610d9761ffff8416600161229a565b600891906122b8565b60069150610dc2565b604051636033c4fd60e11b815260040160405180910390fd5b610ded82610dd660a0860160808701613429565b6060860135610de860a088018861344f565b61235f565b1580610e355750610e338585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060608501356123ce565b155b15610e5357604051637000a9fd60e11b815260040160405180910390fd5b5f610e5d87611915565b80516020909101209050610e7760a0850160808601613429565b6001600160a01b0316610ea082610e916020880188613494565b87602001358860400135612412565b6001600160a01b031614610ec757604051638baa579f60e01b815260040160405180910390fd5b8254610ee290600160801b90046001600160801b031661155a565b85141580610f5657508254610f0690600160801b90046001600160801b0316611579565b610f548787808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508754600160801b90046001600160801b0316915061159b9050565b105b15610f74576040516333b4605560e11b815260040160405180910390fd5b610fc28686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508654600160801b90046001600160801b03169150611c659050565b6040805160a081018252436001600160401b031681528454600160801b900463ffffffff81166020830152909182019061102a906001600160801b031661ffff86167f000000000000000000000000000000000000000000000000000000000000000061243e565b63ffffffff1681526020015f8152602001878760405160200161104e9291906133ef565b60405160208183030381529060405280519060200120815250600a5f61107d33855f9182526020526040902090565b815260208082019290925260409081015f2083518154858501519386015163ffffffff908116600160601b0263ffffffff60601b1991909516600160401b026bffffffffffffffffffffffff199092166001600160401b03909316929092171716919091178155606083015160018201556080909201516002909201919091557fbee983fc706c692efb9b0240bddc5666c010a53af55ed5fb42d226e7e429386990339061112d908a018a613380565b604080516001600160a01b03909316835263ffffffff90911660208301520160405180910390a150505050505050565b5f61116782611915565b805190602001209050919050565b6001546001600160401b031661118e60208b018b613380565b63ffffffff16116111b2576040516303d618e560e41b815260040160405180910390fd5b6006545f906002906001600160801b03166111d360408d0160208e0161326c565b6001600160401b0316036111ed5750600190506006611230565b6002546001600160801b031661120960408d0160208e0161326c565b6001600160401b03161461123057604051636033c4fd60e11b815260040160405180910390fd5b805461124b90600160801b90046001600160801b031661155a565b891415806112bf5750805461126f90600160801b90046001600160801b0316611579565b6112bd8b8b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508554600160801b90046001600160801b0316915061159b9050565b105b156112dd576040516333b4605560e11b815260040160405180910390fd5b61132b8a8a808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508454600160801b90046001600160801b03169150611c659050565b5f6113358c611eae565b90505f6113418d611915565b805190602001209050611358818d8d868e8e612491565b83156114be576006546001600160801b031661137a60808a0160608b0161326c565b6001600160401b0316116113a0576040516263964160e91b815260040160405180910390fd5b5f6113bd836113ae8b611f81565b805190602001208a8a8a612035565b9050806113dd5760405163128597bb60e01b815260040160405180910390fd5b60068054600160801b8082046001600160801b0390811690910291161760029081556007546003556008600480611414838261331a565b5060019182015491015550611431905060808a0160608b0161326c565b600680546001600160801b0319166001600160401b039290921691909117905561146160a08a0160808b01613380565b600680546001600160801b031663ffffffff92909216600160801b0291909117905560a08901803560075561149d906109079060808c01613380565b805160089081906114ae90826133a3565b5060208201518160010155905050505b5f8290556114cf60208e018e613380565b63ffffffff1660015f6101000a8154816001600160401b0302191690836001600160401b031602179055507fd95fe1258d152dc91c81b09380498adc76ed36a6079bcb2ed31eff622ae2d0f1828e5f01602081019061152e9190613380565b6040805192835263ffffffff90911660208301520160405180910390a150505050505050505050505050565b5f6101006115698360ff613416565b61157391906134c8565b92915050565b5f60036115876001846134db565b61159191906134c8565b61157390836134db565b5f8115806115a857508251155b156115b457505f611573565b5f610100830460ff8416825b82811080156115cf5750865181105b15611764575f8782815181106115e7576115e76134ee565b602002602001015190505f5160206137625f395f51905f52600182901c165f5160206137625f395f51905f5282160190505f5160206137025f395f51905f52600282901c165f5160206137025f395f51905f5282160190505f5160206137425f395f51905f52600482901c165f5160206137425f395f51905f5282160190505f5160206137825f395f51905f52600882901c165f5160206137825f395f51905f5282160190505f5160206137225f395f51905f52601082901c165f5160206137225f395f51905f5282160190507bffffffff00000000ffffffff00000000ffffffff00000000ffffffff602082901c167bffffffff00000000ffffffff00000000ffffffff00000000ffffffff821601905077ffffffffffffffff0000000000000000ffffffffffffffff604082901c1677ffffffffffffffff0000000000000000ffffffffffffffff82160190506001600160801b03608082901c166001600160801b03821601905080850194505080806001019150506115c0565b505f811180156117745750855182105b1561190b575f6001826001901b0390505f81888581518110611798576117986134ee565b60200260200101511690505f5160206137625f395f51905f52600182901c165f5160206137625f395f51905f5282160190505f5160206137025f395f51905f52600282901c165f5160206137025f395f51905f5282160190505f5160206137425f395f51905f52600482901c165f5160206137425f395f51905f5282160190505f5160206137825f395f51905f52600882901c165f5160206137825f395f51905f5282160190505f5160206137225f395f51905f52601082901c165f5160206137225f395f51905f5282160190507bffffffff00000000ffffffff00000000ffffffff00000000ffffffff602082901c167bffffffff00000000ffffffff00000000ffffffff00000000ffffffff821601905077ffffffffffffffff0000000000000000ffffffffffffffff604082901c1677ffffffffffffffff0000000000000000ffffffffffffffff82160190506001600160801b03608082901c166001600160801b038216019050808501945050505b5090949350505050565b606061192c611927604084018461344f565b612605565b61196361193c6020850185613380565b600881811c62ff00ff1663ff00ff009290911b9190911617601081811c91901b1760e01b90565b6119df611976604086016020870161326c565b5f65ff000000ff00600883811b91821664ff000000ff9185901c91821617601090811b67ff000000ff0000009390931666ff000000ff00009290921691909117901c17602081811b6bffffffffffffffff000000001691901c63ffffffff161760c01b92915050565b6040516020016119f193929190613519565b6040516020818303038152906040529050919050565b60605f8484604051602001611a1d9291906133ef565b6040516020818303038152906040528051906020012090505f611a418783866126ec565b84549091505f90611a8c907f000000000000000000000000000000000000000000000000000000000000000090611a8790600160801b90046001600160801b0316612825565b61283c565b9050611ae0825f1c8888808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508954600160801b90046001600160801b03169150859050612149565b98975050505050505050565b6060611af78261155a565b6001600160401b03811115611b0e57611b0e613292565b604051908082528060200260200182016040528015611b37578160200160208202803683370190505b5090505f5b83811015611b6e57611b6682868684818110611b5a57611b5a6134ee565b90506020020135612851565b600101611b3c565b509392505050565b5f848152600a60205260408120805490916001600160401b039091169003611bb1576040516319a1b6d960e21b815260040160405180910390fd5b80600101545f03611bd5576040516378ef3a4760e01b815260040160405180910390fd5b6001546001600160401b0316611bee6020860186613380565b63ffffffff1611611c12576040516303d618e560e41b815260040160405180910390fd5b8282604051602001611c259291906133ef565b60405160208183030381529060405280519060200120816002015414611c5e576040516333b4605560e11b815260040160405180910390fd5b5050505050565b5f611c6f8261155a565b9050801580611c7d57508251155b15611c8757505050565b5f611c946101008461354c565b9050805f03611ca35750505050565b5f19811b5f85611cb46001866134db565b81518110611cc457611cc46134ee565b602002602001015190508181165f14611cf057604051631ee2aa4b60e11b815260040160405180910390fd5b505050505050565b5f868152600a602052604090208054600160601b900463ffffffff16828114611d3457604051630f8b88ed60e11b815260040160405180910390fd5b5f611d8983600101548989808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508a54600160801b90046001600160801b03169150869050612149565b90505f5b84811015611ea15736868683818110611da857611da86134ee565b9050602002810190611dba919061355f565b9050611de288611dd060a0840160808501613429565b6060840135610de860a086018661344f565b611dff57604051637000a9fd60e11b815260040160405180910390fd5b611e0d8382606001356123ce565b611e2a57604051637000a9fd60e11b815260040160405180910390fd5b611e3a60a0820160808301613429565b6001600160a01b0316611e638d611e546020850185613494565b84602001358560400135612412565b6001600160a01b031614611e8a57604051638baa579f60e01b815260040160405180910390fd5b611e988382606001356128a8565b50600101611d8d565b5050505050505050505050565b5f805b611ebe604084018461344f565b9050811015611f6757610dad60f31b611eda604085018561344f565b83818110611eea57611eea6134ee565b9050602002810190611efc919061357d565b611f0a906020810190613591565b6001600160f01b03191603611f5f57611f26604084018461344f565b82818110611f3657611f366134ee565b9050602002810190611f48919061357d565b611f569060208101906135b8565b610637916135fa565b600101611eb1565b5060405163484ab7df60e01b815260040160405180910390fd5b6060611f99611f936020840184613494565b60f81b90565b611fac61193c6040850160208601613380565b6040840135611fc4611976608087016060880161326c565b611fd761193c60a0880160808901613380565b6040516001600160f81b031990951660208601526001600160e01b0319938416602186015260258501929092526001600160c01b031916604584015216604d82015260a0830135605182015260c083013560718201526091016119f1565b5f61010083111561205957604051632f43154560e11b815260040160405180910390fd5b845f5b848110156120975761208d8287878481811061207a5761207a6134ee565b905060200201358387901c6001166128dc565b915060010161205c565b5090951495945050505050565b60408051808201909152606081525f60208201525f6120c460108461354c565b156120d05760016120d2565b5f5b60ff166120e06010856134c8565b6120ea9190613416565b90506040518060400160405280826001600160401b0381111561210f5761210f613292565b604051908082528060200260200182016040528015612138578160200160208202803683370190505b508152602001939093525090919050565b60606121548361155a565b845114158061216b5750612168848461159b565b82115b15612189576040516302fb251f60e51b815260040160405180910390fd5b83516001600160401b038111156121a2576121a2613292565b6040519080825280602002602001820160405280156121cb578160200160208202803683370190505b5090505f805b83821015612227575f6121e5888388612905565b90506121f187826123ce565b1580612202575061220284826123ce565b1561221057506001016121d1565b61221a8482612851565b50600191820191016121d1565b5050949350505050565b5f8260010154821061225657604051634e23d03560e01b815260040160405180910390fd5b600482901c600f831661226a816010613617565b60ff16855f018381548110612281576122816134ee565b905f5260205f200154901c61ffff169250505092915050565b5f82820161ffff80851690821610156106375761ffff915050611573565b826001015482106122dc57604051634e23d03560e01b815260040160405180910390fd5b600482901c600f83165f6122f1826010613617565b60ff1661ffff901b1990505f82601061230a9190613617565b60ff168561ffff16901b90508082885f01868154811061232c5761232c6134ee565b905f5260205f2001541617875f01858154811061234b5761234b6134ee565b5f9182526020909120015550505050505050565b6040516bffffffffffffffffffffffff19606086901b1660208201525f90819060340160408051808303601f190181529190528051602090910120600188015488549192506123c39183908890600160801b90046001600160801b03168888612928565b979650505050505050565b5f5f600883901c9050612403838583815181106123ed576123ed6134ee565b602002602001015161295390919063ffffffff16565b60ff1660011491505092915050565b5f5f5f5f6124228888888861295d565b9250925092506124328282612a25565b50909695505050505050565b5f8161244b856001612ae6565b6124559082613416565b9050612462846001612ae6565b61246d9060026132ba565b612478906001613416565b6124829082613416565b9050610b0481611a8787612825565b82545f906124d4907f000000000000000000000000000000000000000000000000000000000000000090611a8790600160801b90046001600160801b0316612825565b90508181146124f657604051630f8b88ed60e11b815260040160405180910390fd5b5f61250388888888611a07565b90505f5b838110156125fa5736858583818110612522576125226134ee565b9050602002810190612534919061355f565b90506125448382606001356123ce565b61256157604051637000a9fd60e11b815260040160405180910390fd5b61257587611dd060a0840160808501613429565b61259257604051637000a9fd60e11b815260040160405180910390fd5b6125a260a0820160808301613429565b6001600160a01b03166125bc8b611e546020850185613494565b6001600160a01b0316146125e357604051638baa579f60e01b815260040160405180910390fd5b6125f18382606001356128a8565b50600101612507565b505050505050505050565b60605f61261183612b23565b90505f5b83811015611b6e5781858583818110612630576126306134ee565b9050602002810190612642919061357d565b612650906020810190613591565b61268c878785818110612665576126656134ee565b9050602002810190612677919061357d565b6126859060208101906135b8565b9050612b23565b87878581811061269e5761269e6134ee565b90506020028101906126b0919061357d565b6126be9060208101906135b8565b6040516020016126d295949392919061363a565b60408051601f198184030181529190529150600101612615565b6040805180820182526019815278534e4f574252494447452d464941542d5348414d49522d563160381b60208083019190915260018401548454845192830188905293820186905260608201526001600160801b038084166080830152600160801b90930490921660a08301525f9160029190829060c00160408051601f198184030181529082905261277e91613676565b602060405180830381855afa158015612799573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906127bc9190613681565b6040516020016127cd929190613698565b60408051601f19818403018152908290526127e791613676565b602060405180830381855afa158015612802573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061066c9190613681565b5f6128316003836134c8565b611573906001613416565b5f81831061284a5781610637565b5090919050565b5f600882901c90506128858284838151811061286f5761286f6134ee565b6020026020010151612b5390919063ffffffff16565b838281518110612897576128976134ee565b602002602001018181525050505050565b5f600882901c9050612885828483815181106128c6576128c66134ee565b6020026020010151612b6090919063ffffffff16565b5f8180156128f057835f52846020526128f8565b845f52836020525b505060405f209392505050565b5f815f0361291457505f610637565b505f92835260209190915260409091200690565b5f83851061293757505f612949565b6129448686868686612b6e565b871490505b9695505050505050565b60ff161c60011690565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561299657505f91506003905082612a1b565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156129e7573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116612a1257505f925060019150829050612a1b565b92505f91508190505b9450945094915050565b5f826003811115612a3857612a386136b0565b03612a41575050565b6001826003811115612a5557612a556136b0565b03612a735760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612a8757612a876136b0565b03612aad5760405163fce698f760e01b8152600481018290526024015b60405180910390fd5b6003826003811115612ac157612ac16136b0565b03612ae2576040516335e2f38360e21b815260048101829052602401612aa4565b5050565b5f5f612af184612c14565b9050612afc83612ca7565b8015612b0b575083816001901b105b612b15575f612b18565b60015b60ff16019392505050565b606063ffffffff821115612b4a57604051637404cccd60e11b815260040160405180910390fd5b61157382612cd3565b600160ff919091161b1790565b600160ff919091161b191690565b5f85815b83811015612c09578660011660011480612b8e57508587600101145b15612bc557612bbe858583818110612ba857612ba86134ee565b90506020020135835f9182526020526040902090565b9150612bf3565b612bf082868684818110612bdb57612bdb6134ee565b905060200201355f9182526020526040902090565b91505b600196871c965f19909601861c86019501612b72565b509695505050505050565b5f80608083901c15612c2857608092831c92015b604083901c15612c3a57604092831c92015b602083901c15612c4c57602092831c92015b601083901c15612c5e57601092831c92015b600883901c15612c7057600892831c92015b600483901c15612c8257600492831c92015b600283901c15612c9457600292831c92015b600183901c156115735760010192915050565b5f6002826003811115612cbc57612cbc6136b0565b612cc691906136c4565b60ff166001149050919050565b6060603f8263ffffffff1611612cfe57604051603f60fa1b60fa84901b1660208201526021016119f1565b613fff8263ffffffff1611612d5d57612d3a612d266403fffffffc600285901b1660016136e5565b600881811b62ffff001691901c60ff161790565b6040516020016119f1919060f09190911b6001600160f01b031916815260020190565b633fffffff8263ffffffff1611612dcf57612dac60028363ffffffff16901b6002612d8891906136e5565b600881811c62ff00ff1663ff00ff009290911b9190911617601081811c91901b1790565b6040516020016119f1919060e09190911b6001600160e01b031916815260040190565b604051600360f81b60208201526001600160e01b0319600884811c62ff00ff1663ff00ff009186901b9190911617601081811c91901b1760e01b1660218201526025016119f1565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160801b03851681526001600160801b0384166020820152826040820152608060608201525f60c0820183516040608085015281815180845260e0860191506020830193505f92505b80831015612ebb5783518252602082019150602084019350600183019250612e98565b50602086015160a086015280935050505095945050505050565b5f60608284031215612ee5575f5ffd5b50919050565b5f5f83601f840112612efb575f5ffd5b5081356001600160401b03811115612f11575f5ffd5b6020830191508360208260051b8501011115612f2b575f5ffd5b9250929050565b5f5f5f60408486031215612f44575f5ffd5b83356001600160401b03811115612f59575f5ffd5b612f6586828701612ed5565b93505060208401356001600160401b03811115612f80575f5ffd5b612f8c86828701612eeb565b9497909650939450505050565b602080825282518282018190525f918401906040840190835b81811015612fd0578351835260209384019390920191600101612fb2565b509095945050505050565b5f5f5f60408486031215612fed575f5ffd5b83356001600160401b03811115613002575f5ffd5b61300e86828701612eeb565b909790965060209590950135949350505050565b5f60e08284031215612ee5575f5ffd5b5f5f5f5f5f5f5f5f5f6101808a8c03121561304b575f5ffd5b89356001600160401b03811115613060575f5ffd5b61306c8c828d01612ed5565b99505060208a01356001600160401b03811115613087575f5ffd5b6130938c828d01612eeb565b90995097505060408a01356001600160401b038111156130b1575f5ffd5b6130bd8c828d01612eeb565b90975095506130d190508b60608c01613022565b93506101408a01356001600160401b038111156130ec575f5ffd5b6130f88c828d01612eeb565b9a9d999c50979a969995989497966101600135949350505050565b5f5f5f60408486031215613125575f5ffd5b8335925060208401356001600160401b03811115612f80575f5ffd5b5f5f5f5f60608587031215613154575f5ffd5b8435935060208501356001600160401b03811115613170575f5ffd5b61317c87828801612eeb565b9598909750949560400135949350505050565b5f6020828403121561319f575f5ffd5b5035919050565b5f5f5f5f606085870312156131b9575f5ffd5b84356001600160401b038111156131ce575f5ffd5b6131da87828801612ed5565b94505060208501356001600160401b038111156131f5575f5ffd5b61320187828801612eeb565b90945092505060408501356001600160401b0381111561321f575f5ffd5b850160c08188031215613230575f5ffd5b939692955090935050565b5f6020828403121561324b575f5ffd5b81356001600160401b03811115613260575f5ffd5b61066c84828501612ed5565b5f6020828403121561327c575f5ffd5b81356001600160401b0381168114610637575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417611573576115736132a6565b600160401b8211156132e5576132e5613292565b80548282558083101561331557815f528260205f20018382035f5b81811015611cf0575f83820155600101613300565b505050565b818103613325575050565b81546001600160401b0381111561333e5761333e613292565b61334881836132d1565b825f5260205f20825f5260205f2081545f5b84811015613377576001938401805484830193909355930161335a565b50505050505050565b5f60208284031215613390575f5ffd5b813563ffffffff81168114610637575f5ffd5b81516001600160401b038111156133bc576133bc613292565b6133c681836132d1565b60208301825f5260205f205f5b83811015611cf0578251828201556020909201916001016133d3565b5f6001600160fb1b03831115613403575f5ffd5b8260051b80858437919091019392505050565b80820180821115611573576115736132a6565b5f60208284031215613439575f5ffd5b81356001600160a01b0381168114610637575f5ffd5b5f5f8335601e19843603018112613464575f5ffd5b8301803591506001600160401b0382111561347d575f5ffd5b6020019150600581901b3603821315612f2b575f5ffd5b5f602082840312156134a4575f5ffd5b813560ff81168114610637575f5ffd5b634e487b7160e01b5f52601260045260245ffd5b5f826134d6576134d66134b4565b500490565b81810381811115611573576115736132a6565b634e487b7160e01b5f52603260045260245ffd5b5f81518060208401855e5f93019283525090919050565b5f6135248286613502565b6001600160e01b031994909416845250506001600160c01b0319166004820152600c01919050565b5f8261355a5761355a6134b4565b500690565b5f823560be19833603018112613573575f5ffd5b9190910192915050565b5f8235603e19833603018112613573575f5ffd5b5f602082840312156135a1575f5ffd5b81356001600160f01b031981168114610637575f5ffd5b5f5f8335601e198436030181126135cd575f5ffd5b8301803591506001600160401b038211156135e6575f5ffd5b602001915036819003821315612f2b575f5ffd5b80356020831015611573575f19602084900360031b1b1692915050565b60ff8181168382160290811690818114613633576136336132a6565b5092915050565b5f6136458288613502565b6001600160f01b03198716815261365f6002820187613502565b9050838582375f9301928352509095945050505050565b5f6106378284613502565b5f60208284031215613691575f5ffd5b5051919050565b5f6136a38285613502565b9283525050602001919050565b634e487b7160e01b5f52602160045260245ffd5b5f60ff8316806136d6576136d66134b4565b8060ff84160691505092915050565b63ffffffff8181168382160190811115611573576115736132a656fe33333333333333333333333333333333333333333333333333333333333333330000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f555555555555555555555555555555555555555555555555555555555555555500ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ffa2646970667358221220202c864ac02de93c1a1157537ff1ffd06cd34fdd5fd4691a57792ee86aa15ae964736f6c63430008220033";
|
|
726
1027
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
727
1028
|
class BeefyClient__factory extends ethers_1.ContractFactory {
|
|
728
1029
|
constructor(...args) {
|
|
@@ -733,11 +1034,11 @@ class BeefyClient__factory extends ethers_1.ContractFactory {
|
|
|
733
1034
|
super(_abi, _bytecode, args[0]);
|
|
734
1035
|
}
|
|
735
1036
|
}
|
|
736
|
-
getDeployTransaction(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides) {
|
|
737
|
-
return super.getDeployTransaction(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides || {});
|
|
1037
|
+
getDeployTransaction(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _fiatShamirRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides) {
|
|
1038
|
+
return super.getDeployTransaction(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _fiatShamirRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides || {});
|
|
738
1039
|
}
|
|
739
|
-
deploy(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides) {
|
|
740
|
-
return super.deploy(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides || {});
|
|
1040
|
+
deploy(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _fiatShamirRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides) {
|
|
1041
|
+
return super.deploy(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _fiatShamirRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides || {});
|
|
741
1042
|
}
|
|
742
1043
|
connect(runner) {
|
|
743
1044
|
return super.connect(runner);
|
|
@@ -105,16 +105,6 @@ export declare class IGatewayV1__factory {
|
|
|
105
105
|
readonly internalType: "bytes32";
|
|
106
106
|
}];
|
|
107
107
|
readonly stateMutability: "view";
|
|
108
|
-
}, {
|
|
109
|
-
readonly type: "function";
|
|
110
|
-
readonly name: "quoteRegisterTokenFee";
|
|
111
|
-
readonly inputs: readonly [];
|
|
112
|
-
readonly outputs: readonly [{
|
|
113
|
-
readonly name: "";
|
|
114
|
-
readonly type: "uint256";
|
|
115
|
-
readonly internalType: "uint256";
|
|
116
|
-
}];
|
|
117
|
-
readonly stateMutability: "view";
|
|
118
108
|
}, {
|
|
119
109
|
readonly type: "function";
|
|
120
110
|
readonly name: "quoteSendTokenFee";
|
|
@@ -137,16 +127,6 @@ export declare class IGatewayV1__factory {
|
|
|
137
127
|
readonly internalType: "uint256";
|
|
138
128
|
}];
|
|
139
129
|
readonly stateMutability: "view";
|
|
140
|
-
}, {
|
|
141
|
-
readonly type: "function";
|
|
142
|
-
readonly name: "registerToken";
|
|
143
|
-
readonly inputs: readonly [{
|
|
144
|
-
readonly name: "token";
|
|
145
|
-
readonly type: "address";
|
|
146
|
-
readonly internalType: "address";
|
|
147
|
-
}];
|
|
148
|
-
readonly outputs: readonly [];
|
|
149
|
-
readonly stateMutability: "payable";
|
|
150
130
|
}, {
|
|
151
131
|
readonly type: "function";
|
|
152
132
|
readonly name: "sendToken";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IGatewayV1__factory.d.ts","sourceRoot":"","sources":["../../../src/factories/IGateway.sol/IGatewayV1__factory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"IGatewayV1__factory.d.ts","sourceRoot":"","sources":["../../../src/factories/IGateway.sol/IGatewayV1__factory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AAslBvC,qBAAa,mBAAmB;IAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,mBAAmB;IAG7C,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,UAAU;CAG5E"}
|
|
@@ -144,19 +144,6 @@ const _abi = [
|
|
|
144
144
|
],
|
|
145
145
|
stateMutability: "view",
|
|
146
146
|
},
|
|
147
|
-
{
|
|
148
|
-
type: "function",
|
|
149
|
-
name: "quoteRegisterTokenFee",
|
|
150
|
-
inputs: [],
|
|
151
|
-
outputs: [
|
|
152
|
-
{
|
|
153
|
-
name: "",
|
|
154
|
-
type: "uint256",
|
|
155
|
-
internalType: "uint256",
|
|
156
|
-
},
|
|
157
|
-
],
|
|
158
|
-
stateMutability: "view",
|
|
159
|
-
},
|
|
160
147
|
{
|
|
161
148
|
type: "function",
|
|
162
149
|
name: "quoteSendTokenFee",
|
|
@@ -186,19 +173,6 @@ const _abi = [
|
|
|
186
173
|
],
|
|
187
174
|
stateMutability: "view",
|
|
188
175
|
},
|
|
189
|
-
{
|
|
190
|
-
type: "function",
|
|
191
|
-
name: "registerToken",
|
|
192
|
-
inputs: [
|
|
193
|
-
{
|
|
194
|
-
name: "token",
|
|
195
|
-
type: "address",
|
|
196
|
-
internalType: "address",
|
|
197
|
-
},
|
|
198
|
-
],
|
|
199
|
-
outputs: [],
|
|
200
|
-
stateMutability: "payable",
|
|
201
|
-
},
|
|
202
176
|
{
|
|
203
177
|
type: "function",
|
|
204
178
|
name: "sendToken",
|
|
@@ -403,6 +403,10 @@ export declare class IGatewayV2__factory {
|
|
|
403
403
|
readonly type: "error";
|
|
404
404
|
readonly name: "InvalidAsset";
|
|
405
405
|
readonly inputs: readonly [];
|
|
406
|
+
}, {
|
|
407
|
+
readonly type: "error";
|
|
408
|
+
readonly name: "InvalidCommand";
|
|
409
|
+
readonly inputs: readonly [];
|
|
406
410
|
}, {
|
|
407
411
|
readonly type: "error";
|
|
408
412
|
readonly name: "InvalidNetwork";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IGatewayV2__factory.d.ts","sourceRoot":"","sources":["../../../src/factories/IGateway.sol/IGatewayV2__factory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"IGatewayV2__factory.d.ts","sourceRoot":"","sources":["../../../src/factories/IGateway.sol/IGatewayV2__factory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AA+hBvC,qBAAa,mBAAmB;IAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,mBAAmB;IAG7C,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,UAAU;CAG5E"}
|