@lukso/lsp11-contracts 0.1.2

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.
@@ -0,0 +1,1171 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "LSP11SocialRecovery",
4
+ "sourceName": "contracts/LSP11SocialRecovery.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "AccountNotSetupYet",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "iteration",
16
+ "type": "uint256"
17
+ }
18
+ ],
19
+ "name": "BatchCallsFailed",
20
+ "type": "error"
21
+ },
22
+ {
23
+ "inputs": [],
24
+ "name": "BatchExecuteRelayCallParamsLengthMismatch",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "address",
31
+ "name": "guardian",
32
+ "type": "address"
33
+ },
34
+ {
35
+ "internalType": "address",
36
+ "name": "caller",
37
+ "type": "address"
38
+ }
39
+ ],
40
+ "name": "CallerIsNotGuardian",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [
45
+ {
46
+ "internalType": "address",
47
+ "name": "account",
48
+ "type": "address"
49
+ },
50
+ {
51
+ "internalType": "address",
52
+ "name": "caller",
53
+ "type": "address"
54
+ }
55
+ ],
56
+ "name": "CallerIsNotTheAccount",
57
+ "type": "error"
58
+ },
59
+ {
60
+ "inputs": [
61
+ {
62
+ "internalType": "address",
63
+ "name": "votedAddress",
64
+ "type": "address"
65
+ },
66
+ {
67
+ "internalType": "address",
68
+ "name": "caller",
69
+ "type": "address"
70
+ }
71
+ ],
72
+ "name": "CallerIsNotVotedAddress",
73
+ "type": "error"
74
+ },
75
+ {
76
+ "inputs": [
77
+ {
78
+ "internalType": "address",
79
+ "name": "account",
80
+ "type": "address"
81
+ },
82
+ {
83
+ "internalType": "address",
84
+ "name": "recoverer",
85
+ "type": "address"
86
+ }
87
+ ],
88
+ "name": "CallerVotesHaveNotReachedThreshold",
89
+ "type": "error"
90
+ },
91
+ {
92
+ "inputs": [
93
+ {
94
+ "internalType": "address",
95
+ "name": "account",
96
+ "type": "address"
97
+ },
98
+ {
99
+ "internalType": "address",
100
+ "name": "committer",
101
+ "type": "address"
102
+ }
103
+ ],
104
+ "name": "CannotRecoverAfterDirectCommit",
105
+ "type": "error"
106
+ },
107
+ {
108
+ "inputs": [
109
+ {
110
+ "internalType": "address",
111
+ "name": "account",
112
+ "type": "address"
113
+ },
114
+ {
115
+ "internalType": "uint256",
116
+ "name": "delay",
117
+ "type": "uint256"
118
+ }
119
+ ],
120
+ "name": "CannotRecoverBeforeDelay",
121
+ "type": "error"
122
+ },
123
+ {
124
+ "inputs": [
125
+ {
126
+ "internalType": "address",
127
+ "name": "account",
128
+ "type": "address"
129
+ },
130
+ {
131
+ "internalType": "address",
132
+ "name": "guardian",
133
+ "type": "address"
134
+ },
135
+ {
136
+ "internalType": "address",
137
+ "name": "guardianVotedAddress",
138
+ "type": "address"
139
+ }
140
+ ],
141
+ "name": "CannotVoteToAddressTwice",
142
+ "type": "error"
143
+ },
144
+ {
145
+ "inputs": [
146
+ {
147
+ "internalType": "address",
148
+ "name": "account",
149
+ "type": "address"
150
+ },
151
+ {
152
+ "internalType": "address",
153
+ "name": "guardian",
154
+ "type": "address"
155
+ }
156
+ ],
157
+ "name": "GuardianAlreadyExists",
158
+ "type": "error"
159
+ },
160
+ {
161
+ "inputs": [
162
+ {
163
+ "internalType": "address",
164
+ "name": "account",
165
+ "type": "address"
166
+ },
167
+ {
168
+ "internalType": "address",
169
+ "name": "guardian",
170
+ "type": "address"
171
+ }
172
+ ],
173
+ "name": "GuardianNotFound",
174
+ "type": "error"
175
+ },
176
+ {
177
+ "inputs": [
178
+ {
179
+ "internalType": "address",
180
+ "name": "account",
181
+ "type": "address"
182
+ },
183
+ {
184
+ "internalType": "uint256",
185
+ "name": "threshold",
186
+ "type": "uint256"
187
+ }
188
+ ],
189
+ "name": "GuardianNumberCannotGoBelowThreshold",
190
+ "type": "error"
191
+ },
192
+ {
193
+ "inputs": [
194
+ {
195
+ "internalType": "address",
196
+ "name": "account",
197
+ "type": "address"
198
+ },
199
+ {
200
+ "internalType": "address",
201
+ "name": "committer",
202
+ "type": "address"
203
+ }
204
+ ],
205
+ "name": "InvalidCommitment",
206
+ "type": "error"
207
+ },
208
+ {
209
+ "inputs": [
210
+ {
211
+ "internalType": "address",
212
+ "name": "signer",
213
+ "type": "address"
214
+ },
215
+ {
216
+ "internalType": "uint256",
217
+ "name": "invalidNonce",
218
+ "type": "uint256"
219
+ },
220
+ {
221
+ "internalType": "bytes",
222
+ "name": "signature",
223
+ "type": "bytes"
224
+ }
225
+ ],
226
+ "name": "InvalidRelayNonce",
227
+ "type": "error"
228
+ },
229
+ {
230
+ "inputs": [
231
+ {
232
+ "internalType": "address",
233
+ "name": "account",
234
+ "type": "address"
235
+ },
236
+ {
237
+ "internalType": "bytes32",
238
+ "name": "secretHash",
239
+ "type": "bytes32"
240
+ }
241
+ ],
242
+ "name": "InvalidSecretHash",
243
+ "type": "error"
244
+ },
245
+ {
246
+ "inputs": [
247
+ {
248
+ "internalType": "uint256",
249
+ "name": "totalValues",
250
+ "type": "uint256"
251
+ },
252
+ {
253
+ "internalType": "uint256",
254
+ "name": "msgValue",
255
+ "type": "uint256"
256
+ }
257
+ ],
258
+ "name": "LSP11BatchExcessiveValueSent",
259
+ "type": "error"
260
+ },
261
+ {
262
+ "inputs": [
263
+ {
264
+ "internalType": "uint256",
265
+ "name": "totalValues",
266
+ "type": "uint256"
267
+ },
268
+ {
269
+ "internalType": "uint256",
270
+ "name": "msgValue",
271
+ "type": "uint256"
272
+ }
273
+ ],
274
+ "name": "LSP11BatchInsufficientValueSent",
275
+ "type": "error"
276
+ },
277
+ {
278
+ "inputs": [
279
+ {
280
+ "internalType": "address",
281
+ "name": "account",
282
+ "type": "address"
283
+ },
284
+ {
285
+ "internalType": "address",
286
+ "name": "nonGuardian",
287
+ "type": "address"
288
+ }
289
+ ],
290
+ "name": "NotAGuardianOfTheAccount",
291
+ "type": "error"
292
+ },
293
+ {
294
+ "inputs": [],
295
+ "name": "RelayCallBeforeStartTime",
296
+ "type": "error"
297
+ },
298
+ {
299
+ "inputs": [],
300
+ "name": "RelayCallExpired",
301
+ "type": "error"
302
+ },
303
+ {
304
+ "inputs": [
305
+ {
306
+ "internalType": "bytes4",
307
+ "name": "functionSelector",
308
+ "type": "bytes4"
309
+ }
310
+ ],
311
+ "name": "RelayCallNotSupported",
312
+ "type": "error"
313
+ },
314
+ {
315
+ "inputs": [
316
+ {
317
+ "internalType": "address",
318
+ "name": "votedAddress",
319
+ "type": "address"
320
+ },
321
+ {
322
+ "internalType": "address",
323
+ "name": "recoveredAddress",
324
+ "type": "address"
325
+ }
326
+ ],
327
+ "name": "SignerIsNotVotedAddress",
328
+ "type": "error"
329
+ },
330
+ {
331
+ "inputs": [
332
+ {
333
+ "internalType": "address",
334
+ "name": "account",
335
+ "type": "address"
336
+ },
337
+ {
338
+ "internalType": "uint256",
339
+ "name": "threshold",
340
+ "type": "uint256"
341
+ }
342
+ ],
343
+ "name": "ThresholdExceedsGuardianNumber",
344
+ "type": "error"
345
+ },
346
+ {
347
+ "anonymous": false,
348
+ "inputs": [
349
+ {
350
+ "indexed": true,
351
+ "internalType": "address",
352
+ "name": "account",
353
+ "type": "address"
354
+ },
355
+ {
356
+ "indexed": true,
357
+ "internalType": "address",
358
+ "name": "guardian",
359
+ "type": "address"
360
+ }
361
+ ],
362
+ "name": "GuardianAdded",
363
+ "type": "event"
364
+ },
365
+ {
366
+ "anonymous": false,
367
+ "inputs": [
368
+ {
369
+ "indexed": true,
370
+ "internalType": "address",
371
+ "name": "account",
372
+ "type": "address"
373
+ },
374
+ {
375
+ "indexed": true,
376
+ "internalType": "address",
377
+ "name": "guardian",
378
+ "type": "address"
379
+ }
380
+ ],
381
+ "name": "GuardianRemoved",
382
+ "type": "event"
383
+ },
384
+ {
385
+ "anonymous": false,
386
+ "inputs": [
387
+ {
388
+ "indexed": true,
389
+ "internalType": "address",
390
+ "name": "account",
391
+ "type": "address"
392
+ },
393
+ {
394
+ "indexed": false,
395
+ "internalType": "uint256",
396
+ "name": "recoveryCounter",
397
+ "type": "uint256"
398
+ },
399
+ {
400
+ "indexed": true,
401
+ "internalType": "address",
402
+ "name": "guardian",
403
+ "type": "address"
404
+ },
405
+ {
406
+ "indexed": true,
407
+ "internalType": "address",
408
+ "name": "guardianVotedAddress",
409
+ "type": "address"
410
+ }
411
+ ],
412
+ "name": "GuardianVotedFor",
413
+ "type": "event"
414
+ },
415
+ {
416
+ "anonymous": false,
417
+ "inputs": [
418
+ {
419
+ "indexed": true,
420
+ "internalType": "address",
421
+ "name": "account",
422
+ "type": "address"
423
+ },
424
+ {
425
+ "indexed": true,
426
+ "internalType": "uint256",
427
+ "name": "guardianThreshold",
428
+ "type": "uint256"
429
+ }
430
+ ],
431
+ "name": "GuardiansThresholdChanged",
432
+ "type": "event"
433
+ },
434
+ {
435
+ "anonymous": false,
436
+ "inputs": [
437
+ {
438
+ "indexed": true,
439
+ "internalType": "address",
440
+ "name": "account",
441
+ "type": "address"
442
+ },
443
+ {
444
+ "indexed": true,
445
+ "internalType": "uint256",
446
+ "name": "previousRecoveryCounter",
447
+ "type": "uint256"
448
+ }
449
+ ],
450
+ "name": "RecoveryCancelled",
451
+ "type": "event"
452
+ },
453
+ {
454
+ "anonymous": false,
455
+ "inputs": [
456
+ {
457
+ "indexed": true,
458
+ "internalType": "address",
459
+ "name": "account",
460
+ "type": "address"
461
+ },
462
+ {
463
+ "indexed": true,
464
+ "internalType": "uint256",
465
+ "name": "recoveryDelay",
466
+ "type": "uint256"
467
+ }
468
+ ],
469
+ "name": "RecoveryDelayChanged",
470
+ "type": "event"
471
+ },
472
+ {
473
+ "anonymous": false,
474
+ "inputs": [
475
+ {
476
+ "indexed": true,
477
+ "internalType": "address",
478
+ "name": "account",
479
+ "type": "address"
480
+ },
481
+ {
482
+ "indexed": true,
483
+ "internalType": "uint256",
484
+ "name": "recoveryCounter",
485
+ "type": "uint256"
486
+ },
487
+ {
488
+ "indexed": true,
489
+ "internalType": "address",
490
+ "name": "guardianVotedAddress",
491
+ "type": "address"
492
+ },
493
+ {
494
+ "indexed": false,
495
+ "internalType": "bytes",
496
+ "name": "calldataExecuted",
497
+ "type": "bytes"
498
+ }
499
+ ],
500
+ "name": "RecoveryProcessSuccessful",
501
+ "type": "event"
502
+ },
503
+ {
504
+ "anonymous": false,
505
+ "inputs": [
506
+ {
507
+ "indexed": true,
508
+ "internalType": "address",
509
+ "name": "account",
510
+ "type": "address"
511
+ },
512
+ {
513
+ "indexed": true,
514
+ "internalType": "bytes32",
515
+ "name": "secretHash",
516
+ "type": "bytes32"
517
+ }
518
+ ],
519
+ "name": "SecretHashChanged",
520
+ "type": "event"
521
+ },
522
+ {
523
+ "anonymous": false,
524
+ "inputs": [
525
+ {
526
+ "indexed": true,
527
+ "internalType": "address",
528
+ "name": "account",
529
+ "type": "address"
530
+ },
531
+ {
532
+ "indexed": false,
533
+ "internalType": "uint256",
534
+ "name": "recoveryCounter",
535
+ "type": "uint256"
536
+ },
537
+ {
538
+ "indexed": true,
539
+ "internalType": "address",
540
+ "name": "committedBy",
541
+ "type": "address"
542
+ },
543
+ {
544
+ "indexed": true,
545
+ "internalType": "bytes32",
546
+ "name": "commitment",
547
+ "type": "bytes32"
548
+ }
549
+ ],
550
+ "name": "SecretHashCommitted",
551
+ "type": "event"
552
+ },
553
+ {
554
+ "inputs": [],
555
+ "name": "COMMITMEMT_DELAY",
556
+ "outputs": [
557
+ {
558
+ "internalType": "uint256",
559
+ "name": "",
560
+ "type": "uint256"
561
+ }
562
+ ],
563
+ "stateMutability": "view",
564
+ "type": "function"
565
+ },
566
+ {
567
+ "inputs": [],
568
+ "name": "DEFAULT_RECOVERY_DELAY",
569
+ "outputs": [
570
+ {
571
+ "internalType": "uint256",
572
+ "name": "",
573
+ "type": "uint256"
574
+ }
575
+ ],
576
+ "stateMutability": "view",
577
+ "type": "function"
578
+ },
579
+ {
580
+ "inputs": [
581
+ {
582
+ "internalType": "address",
583
+ "name": "account",
584
+ "type": "address"
585
+ },
586
+ {
587
+ "internalType": "address",
588
+ "name": "newGuardian",
589
+ "type": "address"
590
+ }
591
+ ],
592
+ "name": "addGuardian",
593
+ "outputs": [],
594
+ "stateMutability": "nonpayable",
595
+ "type": "function"
596
+ },
597
+ {
598
+ "inputs": [
599
+ {
600
+ "internalType": "bytes[]",
601
+ "name": "data",
602
+ "type": "bytes[]"
603
+ }
604
+ ],
605
+ "name": "batchCalls",
606
+ "outputs": [
607
+ {
608
+ "internalType": "bytes[]",
609
+ "name": "results",
610
+ "type": "bytes[]"
611
+ }
612
+ ],
613
+ "stateMutability": "nonpayable",
614
+ "type": "function"
615
+ },
616
+ {
617
+ "inputs": [
618
+ {
619
+ "internalType": "address",
620
+ "name": "account",
621
+ "type": "address"
622
+ }
623
+ ],
624
+ "name": "cancelRecoveryProcess",
625
+ "outputs": [],
626
+ "stateMutability": "nonpayable",
627
+ "type": "function"
628
+ },
629
+ {
630
+ "inputs": [
631
+ {
632
+ "internalType": "address",
633
+ "name": "account",
634
+ "type": "address"
635
+ },
636
+ {
637
+ "internalType": "address",
638
+ "name": "votedAddress",
639
+ "type": "address"
640
+ },
641
+ {
642
+ "internalType": "bytes32",
643
+ "name": "commitment",
644
+ "type": "bytes32"
645
+ }
646
+ ],
647
+ "name": "commitToRecover",
648
+ "outputs": [],
649
+ "stateMutability": "nonpayable",
650
+ "type": "function"
651
+ },
652
+ {
653
+ "inputs": [
654
+ {
655
+ "internalType": "bytes",
656
+ "name": "signature",
657
+ "type": "bytes"
658
+ },
659
+ {
660
+ "internalType": "uint256",
661
+ "name": "nonce",
662
+ "type": "uint256"
663
+ },
664
+ {
665
+ "internalType": "uint256",
666
+ "name": "validityTimestamps",
667
+ "type": "uint256"
668
+ },
669
+ {
670
+ "internalType": "bytes",
671
+ "name": "payload",
672
+ "type": "bytes"
673
+ }
674
+ ],
675
+ "name": "executeRelayCall",
676
+ "outputs": [
677
+ {
678
+ "internalType": "bytes",
679
+ "name": "",
680
+ "type": "bytes"
681
+ }
682
+ ],
683
+ "stateMutability": "payable",
684
+ "type": "function"
685
+ },
686
+ {
687
+ "inputs": [
688
+ {
689
+ "internalType": "bytes[]",
690
+ "name": "signatures",
691
+ "type": "bytes[]"
692
+ },
693
+ {
694
+ "internalType": "uint256[]",
695
+ "name": "nonces",
696
+ "type": "uint256[]"
697
+ },
698
+ {
699
+ "internalType": "uint256[]",
700
+ "name": "validityTimestamps",
701
+ "type": "uint256[]"
702
+ },
703
+ {
704
+ "internalType": "uint256[]",
705
+ "name": "values",
706
+ "type": "uint256[]"
707
+ },
708
+ {
709
+ "internalType": "bytes[]",
710
+ "name": "payloads",
711
+ "type": "bytes[]"
712
+ }
713
+ ],
714
+ "name": "executeRelayCallBatch",
715
+ "outputs": [
716
+ {
717
+ "internalType": "bytes[]",
718
+ "name": "",
719
+ "type": "bytes[]"
720
+ }
721
+ ],
722
+ "stateMutability": "payable",
723
+ "type": "function"
724
+ },
725
+ {
726
+ "inputs": [
727
+ {
728
+ "internalType": "address",
729
+ "name": "account",
730
+ "type": "address"
731
+ },
732
+ {
733
+ "internalType": "uint256",
734
+ "name": "recoveryCounter",
735
+ "type": "uint256"
736
+ },
737
+ {
738
+ "internalType": "address",
739
+ "name": "committedBy",
740
+ "type": "address"
741
+ }
742
+ ],
743
+ "name": "getCommitmentInfoOf",
744
+ "outputs": [
745
+ {
746
+ "internalType": "bytes32",
747
+ "name": "",
748
+ "type": "bytes32"
749
+ },
750
+ {
751
+ "internalType": "uint256",
752
+ "name": "",
753
+ "type": "uint256"
754
+ }
755
+ ],
756
+ "stateMutability": "view",
757
+ "type": "function"
758
+ },
759
+ {
760
+ "inputs": [
761
+ {
762
+ "internalType": "address",
763
+ "name": "account",
764
+ "type": "address"
765
+ },
766
+ {
767
+ "internalType": "uint256",
768
+ "name": "recoveryCounter",
769
+ "type": "uint256"
770
+ }
771
+ ],
772
+ "name": "getFirstRecoveryTimestampOf",
773
+ "outputs": [
774
+ {
775
+ "internalType": "uint256",
776
+ "name": "",
777
+ "type": "uint256"
778
+ }
779
+ ],
780
+ "stateMutability": "view",
781
+ "type": "function"
782
+ },
783
+ {
784
+ "inputs": [
785
+ {
786
+ "internalType": "address",
787
+ "name": "account",
788
+ "type": "address"
789
+ }
790
+ ],
791
+ "name": "getGuardiansOf",
792
+ "outputs": [
793
+ {
794
+ "internalType": "address[]",
795
+ "name": "",
796
+ "type": "address[]"
797
+ }
798
+ ],
799
+ "stateMutability": "view",
800
+ "type": "function"
801
+ },
802
+ {
803
+ "inputs": [
804
+ {
805
+ "internalType": "address",
806
+ "name": "account",
807
+ "type": "address"
808
+ }
809
+ ],
810
+ "name": "getGuardiansThresholdOf",
811
+ "outputs": [
812
+ {
813
+ "internalType": "uint256",
814
+ "name": "",
815
+ "type": "uint256"
816
+ }
817
+ ],
818
+ "stateMutability": "view",
819
+ "type": "function"
820
+ },
821
+ {
822
+ "inputs": [
823
+ {
824
+ "internalType": "address",
825
+ "name": "from",
826
+ "type": "address"
827
+ },
828
+ {
829
+ "internalType": "uint128",
830
+ "name": "channelId",
831
+ "type": "uint128"
832
+ }
833
+ ],
834
+ "name": "getNonce",
835
+ "outputs": [
836
+ {
837
+ "internalType": "uint256",
838
+ "name": "",
839
+ "type": "uint256"
840
+ }
841
+ ],
842
+ "stateMutability": "view",
843
+ "type": "function"
844
+ },
845
+ {
846
+ "inputs": [
847
+ {
848
+ "internalType": "address",
849
+ "name": "account",
850
+ "type": "address"
851
+ }
852
+ ],
853
+ "name": "getRecoveryCounterOf",
854
+ "outputs": [
855
+ {
856
+ "internalType": "uint256",
857
+ "name": "",
858
+ "type": "uint256"
859
+ }
860
+ ],
861
+ "stateMutability": "view",
862
+ "type": "function"
863
+ },
864
+ {
865
+ "inputs": [
866
+ {
867
+ "internalType": "address",
868
+ "name": "account",
869
+ "type": "address"
870
+ }
871
+ ],
872
+ "name": "getRecoveryDelayOf",
873
+ "outputs": [
874
+ {
875
+ "internalType": "uint256",
876
+ "name": "",
877
+ "type": "uint256"
878
+ }
879
+ ],
880
+ "stateMutability": "view",
881
+ "type": "function"
882
+ },
883
+ {
884
+ "inputs": [
885
+ {
886
+ "internalType": "address",
887
+ "name": "account",
888
+ "type": "address"
889
+ }
890
+ ],
891
+ "name": "getSecretHashOf",
892
+ "outputs": [
893
+ {
894
+ "internalType": "bytes32",
895
+ "name": "",
896
+ "type": "bytes32"
897
+ }
898
+ ],
899
+ "stateMutability": "view",
900
+ "type": "function"
901
+ },
902
+ {
903
+ "inputs": [
904
+ {
905
+ "internalType": "address",
906
+ "name": "account",
907
+ "type": "address"
908
+ },
909
+ {
910
+ "internalType": "uint256",
911
+ "name": "recoveryCounter",
912
+ "type": "uint256"
913
+ },
914
+ {
915
+ "internalType": "address",
916
+ "name": "guardian",
917
+ "type": "address"
918
+ }
919
+ ],
920
+ "name": "getVotedAddressByGuardian",
921
+ "outputs": [
922
+ {
923
+ "internalType": "address",
924
+ "name": "",
925
+ "type": "address"
926
+ }
927
+ ],
928
+ "stateMutability": "view",
929
+ "type": "function"
930
+ },
931
+ {
932
+ "inputs": [
933
+ {
934
+ "internalType": "address",
935
+ "name": "account",
936
+ "type": "address"
937
+ },
938
+ {
939
+ "internalType": "uint256",
940
+ "name": "recoveryCounter",
941
+ "type": "uint256"
942
+ },
943
+ {
944
+ "internalType": "address",
945
+ "name": "votedAddress",
946
+ "type": "address"
947
+ }
948
+ ],
949
+ "name": "getVotesOfGuardianVotedAddress",
950
+ "outputs": [
951
+ {
952
+ "internalType": "uint256",
953
+ "name": "",
954
+ "type": "uint256"
955
+ }
956
+ ],
957
+ "stateMutability": "view",
958
+ "type": "function"
959
+ },
960
+ {
961
+ "inputs": [
962
+ {
963
+ "internalType": "address",
964
+ "name": "account",
965
+ "type": "address"
966
+ },
967
+ {
968
+ "internalType": "uint256",
969
+ "name": "recoveryCounter",
970
+ "type": "uint256"
971
+ },
972
+ {
973
+ "internalType": "address",
974
+ "name": "votedAddress",
975
+ "type": "address"
976
+ }
977
+ ],
978
+ "name": "hasReachedThreshold",
979
+ "outputs": [
980
+ {
981
+ "internalType": "bool",
982
+ "name": "",
983
+ "type": "bool"
984
+ }
985
+ ],
986
+ "stateMutability": "view",
987
+ "type": "function"
988
+ },
989
+ {
990
+ "inputs": [
991
+ {
992
+ "internalType": "address",
993
+ "name": "account",
994
+ "type": "address"
995
+ },
996
+ {
997
+ "internalType": "address",
998
+ "name": "guardianAddress",
999
+ "type": "address"
1000
+ }
1001
+ ],
1002
+ "name": "isGuardianOf",
1003
+ "outputs": [
1004
+ {
1005
+ "internalType": "bool",
1006
+ "name": "",
1007
+ "type": "bool"
1008
+ }
1009
+ ],
1010
+ "stateMutability": "view",
1011
+ "type": "function"
1012
+ },
1013
+ {
1014
+ "inputs": [
1015
+ {
1016
+ "internalType": "address",
1017
+ "name": "account",
1018
+ "type": "address"
1019
+ },
1020
+ {
1021
+ "internalType": "address",
1022
+ "name": "votedAddress",
1023
+ "type": "address"
1024
+ },
1025
+ {
1026
+ "internalType": "bytes32",
1027
+ "name": "secretHash",
1028
+ "type": "bytes32"
1029
+ },
1030
+ {
1031
+ "internalType": "bytes32",
1032
+ "name": "newSecretHash",
1033
+ "type": "bytes32"
1034
+ },
1035
+ {
1036
+ "internalType": "bytes",
1037
+ "name": "calldataToExecute",
1038
+ "type": "bytes"
1039
+ }
1040
+ ],
1041
+ "name": "recoverAccess",
1042
+ "outputs": [
1043
+ {
1044
+ "internalType": "bytes",
1045
+ "name": "",
1046
+ "type": "bytes"
1047
+ }
1048
+ ],
1049
+ "stateMutability": "payable",
1050
+ "type": "function"
1051
+ },
1052
+ {
1053
+ "inputs": [
1054
+ {
1055
+ "internalType": "address",
1056
+ "name": "account",
1057
+ "type": "address"
1058
+ },
1059
+ {
1060
+ "internalType": "address",
1061
+ "name": "existingGuardian",
1062
+ "type": "address"
1063
+ }
1064
+ ],
1065
+ "name": "removeGuardian",
1066
+ "outputs": [],
1067
+ "stateMutability": "nonpayable",
1068
+ "type": "function"
1069
+ },
1070
+ {
1071
+ "inputs": [
1072
+ {
1073
+ "internalType": "address",
1074
+ "name": "account",
1075
+ "type": "address"
1076
+ },
1077
+ {
1078
+ "internalType": "uint256",
1079
+ "name": "newThreshold",
1080
+ "type": "uint256"
1081
+ }
1082
+ ],
1083
+ "name": "setGuardiansThreshold",
1084
+ "outputs": [],
1085
+ "stateMutability": "nonpayable",
1086
+ "type": "function"
1087
+ },
1088
+ {
1089
+ "inputs": [
1090
+ {
1091
+ "internalType": "address",
1092
+ "name": "account",
1093
+ "type": "address"
1094
+ },
1095
+ {
1096
+ "internalType": "uint256",
1097
+ "name": "recoveryDelay",
1098
+ "type": "uint256"
1099
+ }
1100
+ ],
1101
+ "name": "setRecoveryDelay",
1102
+ "outputs": [],
1103
+ "stateMutability": "nonpayable",
1104
+ "type": "function"
1105
+ },
1106
+ {
1107
+ "inputs": [
1108
+ {
1109
+ "internalType": "address",
1110
+ "name": "account",
1111
+ "type": "address"
1112
+ },
1113
+ {
1114
+ "internalType": "bytes32",
1115
+ "name": "newRecoverSecretHash",
1116
+ "type": "bytes32"
1117
+ }
1118
+ ],
1119
+ "name": "setRecoverySecretHash",
1120
+ "outputs": [],
1121
+ "stateMutability": "nonpayable",
1122
+ "type": "function"
1123
+ },
1124
+ {
1125
+ "inputs": [
1126
+ {
1127
+ "internalType": "bytes4",
1128
+ "name": "interfaceId",
1129
+ "type": "bytes4"
1130
+ }
1131
+ ],
1132
+ "name": "supportsInterface",
1133
+ "outputs": [
1134
+ {
1135
+ "internalType": "bool",
1136
+ "name": "",
1137
+ "type": "bool"
1138
+ }
1139
+ ],
1140
+ "stateMutability": "view",
1141
+ "type": "function"
1142
+ },
1143
+ {
1144
+ "inputs": [
1145
+ {
1146
+ "internalType": "address",
1147
+ "name": "account",
1148
+ "type": "address"
1149
+ },
1150
+ {
1151
+ "internalType": "address",
1152
+ "name": "guardian",
1153
+ "type": "address"
1154
+ },
1155
+ {
1156
+ "internalType": "address",
1157
+ "name": "guardianVotedAddress",
1158
+ "type": "address"
1159
+ }
1160
+ ],
1161
+ "name": "voteForRecovery",
1162
+ "outputs": [],
1163
+ "stateMutability": "nonpayable",
1164
+ "type": "function"
1165
+ }
1166
+ ],
1167
+ "bytecode": "0x608060405234801561001057600080fd5b50612de4806100206000396000f3fe6080604052600436106101ac5760003560e01c80638ca4aaaf116100ec578063b79336ee1161008a578063d617b89011610064578063d617b890146105a2578063dbd119bd146105fd578063f3b3c78514610633578063fa04a7f11461064657600080fd5b8063b79336ee14610537578063c68452101461054c578063cee79d451461056c57600080fd5b8063a219b404116100c6578063a219b40414610489578063a65068b6146104a9578063a9e3b276146104f7578063b44581d91461051757600080fd5b80638ca4aaaf146104295780639b27a90e14610456578063a20856a51461047657600080fd5b80636289a16311610159578063769e54df11610133578063769e54df1461039057806378f84ebd146103b057806388095527146103d05780638bc0ab751461041357600080fd5b80636289a163146102c4578063639cea19146103435780636963d4381461036357600080fd5b80631ce596661161018a5780631ce596661461024a5780634c8a4e741461026c578063506d1a0f1461028c57600080fd5b806301ffc9a7146101b157806302543bff146101e657806306fe173814610214575b600080fd5b3480156101bd57600080fd5b506101d16101cc3660046124b2565b610666565b60405190151581526020015b60405180910390f35b3480156101f257600080fd5b506102066102013660046124f1565b610703565b6040519081526020016101dd565b34801561022057600080fd5b5061020661022f3660046124f1565b6001600160a01b031660009081526005602052604090205490565b34801561025657600080fd5b5061026a6102653660046124f1565b610748565b005b61027f61027a366004612550565b6107ef565b6040516101dd9190612623565b34801561029857600080fd5b506102ac6102a7366004612636565b61080b565b6040516001600160a01b0390911681526020016101dd565b3480156102d057600080fd5b5061032e6102df366004612636565b6001600160a01b03928316600090815260096020908152604080832094835293815283822092909416815290835281902081518083019092528054808352600190910154919092018190529091565b604080519283526020830191909152016101dd565b34801561034f57600080fd5b5061026a61035e366004612678565b610843565b34801561036f57600080fd5b5061038361037e3660046126e9565b610932565b6040516101dd919061272b565b34801561039c57600080fd5b506101d16103ab36600461278d565b610a82565b3480156103bc57600080fd5b5061026a6103cb366004612678565b610aa4565b3480156103dc57600080fd5b506102066103eb366004612678565b6001600160a01b03919091166000908152600a60209081526040808320938352929052205490565b34801561041f57600080fd5b5061020661096081565b34801561043557600080fd5b506104496104443660046124f1565b610b27565b6040516101dd91906127c6565b34801561046257600080fd5b5061026a61047136600461278d565b610b4b565b610383610484366004612813565b610ce0565b34801561049557600080fd5b5061026a6104a4366004612678565b610f18565b3480156104b557600080fd5b506102066104c4366004612636565b6001600160a01b039283166000908152600860209081526040808320948352938152838220929094168152925290205490565b34801561050357600080fd5b5061026a610512366004612904565b610fdf565b34801561052357600080fd5b50610206610532366004612945565b611044565b34801561054357600080fd5b50610206603c81565b34801561055857600080fd5b5061026a61056736600461278d565b6110a5565b34801561057857600080fd5b506102066105873660046124f1565b6001600160a01b031660009081526006602052604090205490565b3480156105ae57600080fd5b506101d16105bd366004612636565b6001600160a01b03928316600081815260086020908152604080832095835294815284822093909516815291845282822054908252600290935220541490565b34801561060957600080fd5b506102066106183660046124f1565b6001600160a01b031660009081526002602052604090205490565b61027f610641366004612988565b611194565b34801561065257600080fd5b5061026a6106613660046129f2565b61124b565b60006001600160e01b031982167f23a45ef00000000000000000000000000000000000000000000000000000000014806106c957506001600160e01b031982167f5ac7990800000000000000000000000000000000000000000000000000000000145b806106fd57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b03811660009081526004602052604081205460ff1661072c5750610960919050565b506001600160a01b031660009081526003602052604090205490565b806001600160a01b0381163314610788576040516308fd287f60e01b81526001600160a01b03821660048201523360248201526044015b60405180910390fd5b6001600160a01b0382166000908152600660205260408120805490826107ad83612a48565b91905055905080836001600160a01b03167f500ec1d4b692d3c788bfd78a898de379cfd93ab8177575efc7593f87bd051a0760405160405180910390a3505050565b6060610800878787873488886115d4565b979650505050505050565b6001600160a01b03808416600090815260076020908152604080832086845282528083208585168452909152902054165b9392505050565b816001600160a01b038116331461087e576040516308fd287f60e01b81526001600160a01b038216600482015233602482015260440161077f565b6001600160a01b038316600090815260016020526040902061089f90611729565b8211156108ea576040517f217be3a70000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024810183905260440161077f565b6001600160a01b038316600081815260026020526040808220859055518492917f996d956afb7500c4fb0d329508832321c79e3f8fbee914c7e3cf1700053b4b3991a3505050565b60608167ffffffffffffffff81111561094d5761094d612a61565b60405190808252806020026020018201604052801561098057816020015b606081526020019060019003908161096b5790505b50905060005b82811015610a7b57600080308686858181106109a4576109a4612a77565b90506020028101906109b69190612a8d565b6040516109c4929190612ad4565b600060405180830381855af49150503d80600081146109ff576040519150601f19603f3d011682016040523d82523d6000602084013e610a04565b606091505b509150915081610a5357805115610a1e5780518082602001fd5b6040517fd9a023030000000000000000000000000000000000000000000000000000000081526004810184905260240161077f565b80848481518110610a6657610a66612a77565b60209081029190910101525050600101610986565b5092915050565b6001600160a01b038216600090815260016020526040812061083c9083611733565b816001600160a01b0381163314610adf576040516308fd287f60e01b81526001600160a01b038216600482015233602482015260440161077f565b6001600160a01b038316600081815260056020526040808220859055518492917ff1d777ea951a50389c566bd715dcc9fb133ff06f077278fde63b3c6d544580a291a3505050565b6001600160a01b03811660009081526001602052604090206060906106fd90611755565b816001600160a01b0381163314610b86576040516308fd287f60e01b81526001600160a01b038216600482015233602482015260440161077f565b6001600160a01b0383166000908152600160205260409020610ba89083611733565b610bf1576040517f925f444b0000000000000000000000000000000000000000000000000000000081526001600160a01b0380851660048301528316602482015260440161077f565b6001600160a01b0383166000908152600260209081526040808320546001909252909120610c1e90611729565b03610c78576001600160a01b038316600081815260026020526040908190205490517f85283f150000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161077f565b6001600160a01b0383166000908152600160205260409020610c9a9083611762565b50816001600160a01b0316836001600160a01b03167fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b60405160405180910390a3505050565b60608988141580610cf15750878614155b80610cfc5750858414155b80610d075750838214155b15610d3e576040517fb4d50d2100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008267ffffffffffffffff811115610d5957610d59612a61565b604051908082528060200260200182016040528015610d8c57816020015b6060815260200190600190039081610d775790505b5090506000805b84811015610ec45734888883818110610dae57610dae612a77565b9050602002013583610dc09190612ae4565b9250821115610e04576040517fd42081cc0000000000000000000000000000000000000000000000000000000081526004810183905234602482015260440161077f565b610e9f8e8e83818110610e1957610e19612a77565b9050602002810190610e2b9190612a8d565b8e8e85818110610e3d57610e3d612a77565b905060200201358d8d86818110610e5657610e56612a77565b905060200201358c8c87818110610e6f57610e6f612a77565b905060200201358b8b88818110610e8857610e88612a77565b9050602002810190610e9a9190612a8d565b6115d4565b838281518110610eb157610eb1612a77565b6020908102919091010152600101610d93565b5034811015610f08576040517f7c3328da0000000000000000000000000000000000000000000000000000000081526004810182905234602482015260440161077f565b509b9a5050505050505050505050565b816001600160a01b0381163314610f53576040516308fd287f60e01b81526001600160a01b038216600482015233602482015260440161077f565b6001600160a01b038316600081815260036020526040808220859055518492917fdc9e5e7eb38f77984d9a899bfdc7ca9e531f85f450602723e2adb9a37cebf4bc91a36001600160a01b03831660009081526004602052604090205460ff16610fda576001600160a01b0383166000908152600460205260409020805460ff191660011790555b505050565b6001600160a01b0382163314611019576040516304a78bbb60e51b81526001600160a01b038316600482015233602482015260440161077f565b6001600160a01b03831660009081526006602052604090205461103e84828585611777565b50505050565b6001600160a01b0382166000908152602081815260408083206fffffffffffffffffffffffffffffffff85168452909152812054608083901b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000161761083c565b816001600160a01b03811633146110e0576040516308fd287f60e01b81526001600160a01b038216600482015233602482015260440161077f565b6001600160a01b03831660009081526001602052604081206111029084611804565b90508061114e576040517f242d9f790000000000000000000000000000000000000000000000000000000081526001600160a01b0380861660048301528416602482015260440161077f565b826001600160a01b0316846001600160a01b03167fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a60405160405180910390a350505050565b60606001600160a01b03861633146111d0576040516304a78bbb60e51b81526001600160a01b038716600482015233602482015260440161077f565b600060066000896001600160a01b03166001600160a01b0316815260200190815260200160002054905061123f8882898989348a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061181992505050565b98975050505050505050565b82826001600160a01b03811633146112a0576040517f17c6343d0000000000000000000000000000000000000000000000000000000081526001600160a01b038216600482015233602482015260440161077f565b6001600160a01b03821660009081526001602052604090206112c29082611733565b61130b576040517f2835d4f40000000000000000000000000000000000000000000000000000000081526001600160a01b0380841660048301528216602482015260440161077f565b6001600160a01b038516600090815260066020908152604080832054600a83528184208185529092528220549091819003611367576001600160a01b0387166000908152600a6020908152604080832085845290915290204290555b6001600160a01b03808816600090815260076020908152604080832086845282528083208a8516845290915290205481169086168190036113ef576040517f92dd87f60000000000000000000000000000000000000000000000000000000081526001600160a01b03808a16600483015280891660248301528716604482015260640161077f565b6001600160a01b038116611479576001600160a01b03888116600081815260076020908152604080832088845282528083208c861684528252808320805473ffffffffffffffffffffffffffffffffffffffff1916958c16958617905592825260088152828220878352815282822093825292909252812080549161147383612a48565b91905055505b806001600160a01b0316866001600160a01b0316141580156114a357506001600160a01b03811615155b15611573576001600160a01b03888116600081815260076020908152604080832088845282528083208c861684528252808320805473ffffffffffffffffffffffffffffffffffffffff19168c8716179055928252600881528282208783528152828220938516825292909252812080549161151e83612af7565b90915550506001600160a01b03861615611573576001600160a01b0380891660009081526008602090815260408083208784528252808320938a16835292905290812080549161156d83612a48565b91905055505b856001600160a01b0316876001600160a01b0316896001600160a01b03167f6e8b2d5fb446171938316212bee6fc889dccfacfdb73d7ffbfb4d5f784c90b99866040516115c291815260200190565b60405180910390a45050505050505050565b606060006115e28385612b0e565b90507f561c4d8a000000000000000000000000000000000000000000000000000000006001600160e01b03198216016116605761165b89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b92508a91508990508888611c64565b61171d565b7f0c4c387b000000000000000000000000000000000000000000000000000000006001600160e01b03198216016116df576116d789898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b92508a91508990508888611d10565b915050610800565b6040517f0602d2700000000000000000000000000000000000000000000000000000000081526001600160e01b03198216600482015260240161077f565b50979650505050505050565b60006106fd825490565b6001600160a01b0381166000908152600183016020526040812054151561083c565b6060600061083c83611dcc565b600061083c836001600160a01b038416611e28565b6040805180820182528281524260208083019182526001600160a01b038881166000818152600984528681208a825284528681209289168082529284528690208551815593516001909401939093559351878152929385939092917f896d444743de428958414d9a86fad106a57cb372ee349d27b86fe2d51622209c910160405180910390a45050505050565b600061083c836001600160a01b038416611f1b565b606061182488610703565b6001600160a01b0389166000908152600a602090815260408083208b84529091529020546118529190612ae4565b4210156118a6578761186389610703565b6040517f7c1b17000000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482015260440161077f565b6001600160a01b03881660009081526005602090815260408083205460029092528220549091819003611905576040517f1d20946c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808b1660009081526008602090815260408083208d84528252808320938c168352929052205481811015611980576040517f36dbf4c80000000000000000000000000000000000000000000000000000000081526001600160a01b03808d1660048301528a16602482015260440161077f565b508115611b2657604080516001600160a01b038c811660208084018290528385018c9052845180850386018152606085018652805190820120928d166080850181905260a08086018590528651808703909101815260c090950186528451948201949094206000928352600982528583208f8452825285832094835293905292909220548114611a4f576040517feca9e4a60000000000000000000000000000000000000000000000000000000081526001600160a01b03808e1660048301528b16602482015260440161077f565b6001600160a01b03808d1660009081526009602090815260408083208f84528252808320938e16835292905220600101544290611a8d90603c612ae4565b1115611ad8576040517ffe75f6280000000000000000000000000000000000000000000000000000000081526001600160a01b03808e1660048301528b16602482015260440161077f565b838214611b23576040517f84bb073d0000000000000000000000000000000000000000000000000000000081526001600160a01b038d166004820152602481018a905260440161077f565b50505b6001600160a01b038a166000908152600660205260408120805491611b4a83612a48565b90915550506001600160a01b038a16600081815260056020526040808220899055518892917ff1d777ea951a50389c566bd715dcc9fb133ff06f077278fde63b3c6d544580a291a3876001600160a01b0316898b6001600160a01b03167f813cb1764d0ee698a363ee823a078c5d80bef414205b6d280820336972cf6d9987604051611bd69190612623565b60405180910390a46000808b6001600160a01b03168787604051611bfa9190612b3e565b60006040518083038185875af1925050503d8060008114611c37576040519150601f19603f3d011682016040523d82523d6000602084013e611c3c565b606091505b5091509150610f088282604051806060016040528060298152602001612d8660299139611f6a565b60008080611c758460048188612b5a565b810190611c829190612904565b925092509250600060066000856001600160a01b03166001600160a01b03168152602001908152602001600020549050611cf88a8a8a8a858b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508c9250611f83915050565b611d0484828585611777565b50505050505050505050565b6060600080808080611d25876004818b612b5a565b810190611d329190612b84565b94509450945094509450600060066000876001600160a01b03166001600160a01b03168152602001908152602001600020549050611dac8d8d8d8d858e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508e9250611f83915050565b611dbb86828787878f88611819565b9d9c50505050505050505050505050565b606081600001805480602002602001604051908101604052809291908181526020018280548015611e1c57602002820191906000526020600020905b815481526020019060010190808311611e08575b50505050509050919050565b60008181526001830160205260408120548015611f11576000611e4c600183612c6e565b8554909150600090611e6090600190612c6e565b9050818114611ec5576000866000018281548110611e8057611e80612a77565b9060005260206000200154905080876000018481548110611ea357611ea3612a77565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611ed657611ed6612c81565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506106fd565b60009150506106fd565b6000818152600183016020526040812054611f62575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106fd565b5060006106fd565b60608315611f7957508161083c565b61083c83836120b3565b6000611f938888888888886120dd565b6001600160a01b03811660009081526020818152604080832060808c901c84529091529020549091506fffffffffffffffffffffffffffffffff88161461200c578087896040517fc9bd9eb900000000000000000000000000000000000000000000000000000000815260040161077f93929190612c97565b6001600160a01b03811660009081526020818152604080832060808b901c8452909152812080549161203d83612a48565b919050555061204b86612135565b806001600160a01b0316826001600160a01b0316146120a9576040517f40a556320000000000000000000000000000000000000000000000000000000081526001600160a01b0380841660048301528216602482015260440161077f565b5050505050505050565b8151156120c35781518083602001fd5b8060405162461bcd60e51b815260040161077f9190612623565b600080600b4688888888886040516020016120fe9796959493929190612cc8565b60408051601f198184030181529190529050600061211c30836121ea565b9050612128818a61221d565b9998505050505050505050565b806000036121405750565b608081901c814282111561217f576040517ede4b8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806fffffffffffffffffffffffffffffffff1660000361219e57505050565b806fffffffffffffffffffffffffffffffff16421115610fda576040517f5c53a98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082826040516020016121ff929190612d11565b60405160208183030381529060405280519060200120905092915050565b600080600061222c8585612241565b9150915061223981612286565b509392505050565b60008082516041036122775760208301516040840151606085015160001a61226b878285856123ee565b9450945050505061227f565b506000905060025b9250929050565b600081600481111561229a5761229a612d6f565b036122a25750565b60018160048111156122b6576122b6612d6f565b036123035760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161077f565b600281600481111561231757612317612d6f565b036123645760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161077f565b600381600481111561237857612378612d6f565b036123eb5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161077f565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561242557506000905060036124a9565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612479573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166124a2576000600192509250506124a9565b9150600090505b94509492505050565b6000602082840312156124c457600080fd5b81356001600160e01b03198116811461083c57600080fd5b6001600160a01b03811681146123eb57600080fd5b60006020828403121561250357600080fd5b813561083c816124dc565b60008083601f84011261252057600080fd5b50813567ffffffffffffffff81111561253857600080fd5b60208301915083602082850101111561227f57600080fd5b6000806000806000806080878903121561256957600080fd5b863567ffffffffffffffff8082111561258157600080fd5b61258d8a838b0161250e565b9098509650602089013595506040890135945060608901359150808211156125b457600080fd5b506125c189828a0161250e565b979a9699509497509295939492505050565b60005b838110156125ee5781810151838201526020016125d6565b50506000910152565b6000815180845261260f8160208601602086016125d3565b601f01601f19169290920160200192915050565b60208152600061083c60208301846125f7565b60008060006060848603121561264b57600080fd5b8335612656816124dc565b925060208401359150604084013561266d816124dc565b809150509250925092565b6000806040838503121561268b57600080fd5b8235612696816124dc565b946020939093013593505050565b60008083601f8401126126b657600080fd5b50813567ffffffffffffffff8111156126ce57600080fd5b6020830191508360208260051b850101111561227f57600080fd5b600080602083850312156126fc57600080fd5b823567ffffffffffffffff81111561271357600080fd5b61271f858286016126a4565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561278057603f1988860301845261276e8583516125f7565b94509285019290850190600101612752565b5092979650505050505050565b600080604083850312156127a057600080fd5b82356127ab816124dc565b915060208301356127bb816124dc565b809150509250929050565b6020808252825182820181905260009190848201906040850190845b818110156128075783516001600160a01b0316835292840192918401916001016127e2565b50909695505050505050565b60008060008060008060008060008060a08b8d03121561283257600080fd5b8a3567ffffffffffffffff8082111561284a57600080fd5b6128568e838f016126a4565b909c509a5060208d013591508082111561286f57600080fd5b61287b8e838f016126a4565b909a50985060408d013591508082111561289457600080fd5b6128a08e838f016126a4565b909850965060608d01359150808211156128b957600080fd5b6128c58e838f016126a4565b909650945060808d01359150808211156128de57600080fd5b506128eb8d828e016126a4565b915080935050809150509295989b9194979a5092959850565b60008060006060848603121561291957600080fd5b8335612924816124dc565b92506020840135612934816124dc565b929592945050506040919091013590565b6000806040838503121561295857600080fd5b8235612963816124dc565b915060208301356fffffffffffffffffffffffffffffffff811681146127bb57600080fd5b60008060008060008060a087890312156129a157600080fd5b86356129ac816124dc565b955060208701356129bc816124dc565b94506040870135935060608701359250608087013567ffffffffffffffff8111156129e657600080fd5b6125c189828a0161250e565b600080600060608486031215612a0757600080fd5b8335612a12816124dc565b92506020840135612a22816124dc565b9150604084013561266d816124dc565b634e487b7160e01b600052601160045260246000fd5b600060018201612a5a57612a5a612a32565b5060010190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000808335601e19843603018112612aa457600080fd5b83018035915067ffffffffffffffff821115612abf57600080fd5b60200191503681900382131561227f57600080fd5b8183823760009101908152919050565b808201808211156106fd576106fd612a32565b600081612b0657612b06612a32565b506000190190565b6001600160e01b03198135818116916004851015612b365780818660040360031b1b83161692505b505092915050565b60008251612b508184602087016125d3565b9190910192915050565b60008085851115612b6a57600080fd5b83861115612b7757600080fd5b5050820193919092039150565b600080600080600060a08688031215612b9c57600080fd5b8535612ba7816124dc565b94506020860135612bb7816124dc565b93506040860135925060608601359150608086013567ffffffffffffffff80821115612be257600080fd5b818801915088601f830112612bf657600080fd5b813581811115612c0857612c08612a61565b604051601f8201601f19908116603f01168101908382118183101715612c3057612c30612a61565b816040528281528b6020848701011115612c4957600080fd5b8260208601602083013760006020848301015280955050505050509295509295909350565b818103818111156106fd576106fd612a32565b634e487b7160e01b600052603160045260246000fd5b6001600160a01b0384168152826020820152606060408201526000612cbf60608301846125f7565b95945050505050565b8781528660208201528560408201528460608201528360808201528260a082015260008251612cfe8160c08501602087016125d3565b9190910160c00198975050505050505050565b7f190000000000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff198360601b16600282015260008251612d618160168501602087016125d3565b919091016016019392505050565b634e487b7160e01b600052602160045260246000fdfe4c535031313a204661696c656420746f2063616c6c2066756e6374696f6e206f6e206163636f756e74a264697066735822122090205e643052532ccca7cb8f4ac3424dfdde1e18fc842792b9d9dae635f9b88664736f6c63430008110033",
1168
+ "deployedBytecode": "0x6080604052600436106101ac5760003560e01c80638ca4aaaf116100ec578063b79336ee1161008a578063d617b89011610064578063d617b890146105a2578063dbd119bd146105fd578063f3b3c78514610633578063fa04a7f11461064657600080fd5b8063b79336ee14610537578063c68452101461054c578063cee79d451461056c57600080fd5b8063a219b404116100c6578063a219b40414610489578063a65068b6146104a9578063a9e3b276146104f7578063b44581d91461051757600080fd5b80638ca4aaaf146104295780639b27a90e14610456578063a20856a51461047657600080fd5b80636289a16311610159578063769e54df11610133578063769e54df1461039057806378f84ebd146103b057806388095527146103d05780638bc0ab751461041357600080fd5b80636289a163146102c4578063639cea19146103435780636963d4381461036357600080fd5b80631ce596661161018a5780631ce596661461024a5780634c8a4e741461026c578063506d1a0f1461028c57600080fd5b806301ffc9a7146101b157806302543bff146101e657806306fe173814610214575b600080fd5b3480156101bd57600080fd5b506101d16101cc3660046124b2565b610666565b60405190151581526020015b60405180910390f35b3480156101f257600080fd5b506102066102013660046124f1565b610703565b6040519081526020016101dd565b34801561022057600080fd5b5061020661022f3660046124f1565b6001600160a01b031660009081526005602052604090205490565b34801561025657600080fd5b5061026a6102653660046124f1565b610748565b005b61027f61027a366004612550565b6107ef565b6040516101dd9190612623565b34801561029857600080fd5b506102ac6102a7366004612636565b61080b565b6040516001600160a01b0390911681526020016101dd565b3480156102d057600080fd5b5061032e6102df366004612636565b6001600160a01b03928316600090815260096020908152604080832094835293815283822092909416815290835281902081518083019092528054808352600190910154919092018190529091565b604080519283526020830191909152016101dd565b34801561034f57600080fd5b5061026a61035e366004612678565b610843565b34801561036f57600080fd5b5061038361037e3660046126e9565b610932565b6040516101dd919061272b565b34801561039c57600080fd5b506101d16103ab36600461278d565b610a82565b3480156103bc57600080fd5b5061026a6103cb366004612678565b610aa4565b3480156103dc57600080fd5b506102066103eb366004612678565b6001600160a01b03919091166000908152600a60209081526040808320938352929052205490565b34801561041f57600080fd5b5061020661096081565b34801561043557600080fd5b506104496104443660046124f1565b610b27565b6040516101dd91906127c6565b34801561046257600080fd5b5061026a61047136600461278d565b610b4b565b610383610484366004612813565b610ce0565b34801561049557600080fd5b5061026a6104a4366004612678565b610f18565b3480156104b557600080fd5b506102066104c4366004612636565b6001600160a01b039283166000908152600860209081526040808320948352938152838220929094168152925290205490565b34801561050357600080fd5b5061026a610512366004612904565b610fdf565b34801561052357600080fd5b50610206610532366004612945565b611044565b34801561054357600080fd5b50610206603c81565b34801561055857600080fd5b5061026a61056736600461278d565b6110a5565b34801561057857600080fd5b506102066105873660046124f1565b6001600160a01b031660009081526006602052604090205490565b3480156105ae57600080fd5b506101d16105bd366004612636565b6001600160a01b03928316600081815260086020908152604080832095835294815284822093909516815291845282822054908252600290935220541490565b34801561060957600080fd5b506102066106183660046124f1565b6001600160a01b031660009081526002602052604090205490565b61027f610641366004612988565b611194565b34801561065257600080fd5b5061026a6106613660046129f2565b61124b565b60006001600160e01b031982167f23a45ef00000000000000000000000000000000000000000000000000000000014806106c957506001600160e01b031982167f5ac7990800000000000000000000000000000000000000000000000000000000145b806106fd57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b03811660009081526004602052604081205460ff1661072c5750610960919050565b506001600160a01b031660009081526003602052604090205490565b806001600160a01b0381163314610788576040516308fd287f60e01b81526001600160a01b03821660048201523360248201526044015b60405180910390fd5b6001600160a01b0382166000908152600660205260408120805490826107ad83612a48565b91905055905080836001600160a01b03167f500ec1d4b692d3c788bfd78a898de379cfd93ab8177575efc7593f87bd051a0760405160405180910390a3505050565b6060610800878787873488886115d4565b979650505050505050565b6001600160a01b03808416600090815260076020908152604080832086845282528083208585168452909152902054165b9392505050565b816001600160a01b038116331461087e576040516308fd287f60e01b81526001600160a01b038216600482015233602482015260440161077f565b6001600160a01b038316600090815260016020526040902061089f90611729565b8211156108ea576040517f217be3a70000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024810183905260440161077f565b6001600160a01b038316600081815260026020526040808220859055518492917f996d956afb7500c4fb0d329508832321c79e3f8fbee914c7e3cf1700053b4b3991a3505050565b60608167ffffffffffffffff81111561094d5761094d612a61565b60405190808252806020026020018201604052801561098057816020015b606081526020019060019003908161096b5790505b50905060005b82811015610a7b57600080308686858181106109a4576109a4612a77565b90506020028101906109b69190612a8d565b6040516109c4929190612ad4565b600060405180830381855af49150503d80600081146109ff576040519150601f19603f3d011682016040523d82523d6000602084013e610a04565b606091505b509150915081610a5357805115610a1e5780518082602001fd5b6040517fd9a023030000000000000000000000000000000000000000000000000000000081526004810184905260240161077f565b80848481518110610a6657610a66612a77565b60209081029190910101525050600101610986565b5092915050565b6001600160a01b038216600090815260016020526040812061083c9083611733565b816001600160a01b0381163314610adf576040516308fd287f60e01b81526001600160a01b038216600482015233602482015260440161077f565b6001600160a01b038316600081815260056020526040808220859055518492917ff1d777ea951a50389c566bd715dcc9fb133ff06f077278fde63b3c6d544580a291a3505050565b6001600160a01b03811660009081526001602052604090206060906106fd90611755565b816001600160a01b0381163314610b86576040516308fd287f60e01b81526001600160a01b038216600482015233602482015260440161077f565b6001600160a01b0383166000908152600160205260409020610ba89083611733565b610bf1576040517f925f444b0000000000000000000000000000000000000000000000000000000081526001600160a01b0380851660048301528316602482015260440161077f565b6001600160a01b0383166000908152600260209081526040808320546001909252909120610c1e90611729565b03610c78576001600160a01b038316600081815260026020526040908190205490517f85283f150000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161077f565b6001600160a01b0383166000908152600160205260409020610c9a9083611762565b50816001600160a01b0316836001600160a01b03167fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b60405160405180910390a3505050565b60608988141580610cf15750878614155b80610cfc5750858414155b80610d075750838214155b15610d3e576040517fb4d50d2100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008267ffffffffffffffff811115610d5957610d59612a61565b604051908082528060200260200182016040528015610d8c57816020015b6060815260200190600190039081610d775790505b5090506000805b84811015610ec45734888883818110610dae57610dae612a77565b9050602002013583610dc09190612ae4565b9250821115610e04576040517fd42081cc0000000000000000000000000000000000000000000000000000000081526004810183905234602482015260440161077f565b610e9f8e8e83818110610e1957610e19612a77565b9050602002810190610e2b9190612a8d565b8e8e85818110610e3d57610e3d612a77565b905060200201358d8d86818110610e5657610e56612a77565b905060200201358c8c87818110610e6f57610e6f612a77565b905060200201358b8b88818110610e8857610e88612a77565b9050602002810190610e9a9190612a8d565b6115d4565b838281518110610eb157610eb1612a77565b6020908102919091010152600101610d93565b5034811015610f08576040517f7c3328da0000000000000000000000000000000000000000000000000000000081526004810182905234602482015260440161077f565b509b9a5050505050505050505050565b816001600160a01b0381163314610f53576040516308fd287f60e01b81526001600160a01b038216600482015233602482015260440161077f565b6001600160a01b038316600081815260036020526040808220859055518492917fdc9e5e7eb38f77984d9a899bfdc7ca9e531f85f450602723e2adb9a37cebf4bc91a36001600160a01b03831660009081526004602052604090205460ff16610fda576001600160a01b0383166000908152600460205260409020805460ff191660011790555b505050565b6001600160a01b0382163314611019576040516304a78bbb60e51b81526001600160a01b038316600482015233602482015260440161077f565b6001600160a01b03831660009081526006602052604090205461103e84828585611777565b50505050565b6001600160a01b0382166000908152602081815260408083206fffffffffffffffffffffffffffffffff85168452909152812054608083901b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000161761083c565b816001600160a01b03811633146110e0576040516308fd287f60e01b81526001600160a01b038216600482015233602482015260440161077f565b6001600160a01b03831660009081526001602052604081206111029084611804565b90508061114e576040517f242d9f790000000000000000000000000000000000000000000000000000000081526001600160a01b0380861660048301528416602482015260440161077f565b826001600160a01b0316846001600160a01b03167fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a60405160405180910390a350505050565b60606001600160a01b03861633146111d0576040516304a78bbb60e51b81526001600160a01b038716600482015233602482015260440161077f565b600060066000896001600160a01b03166001600160a01b0316815260200190815260200160002054905061123f8882898989348a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061181992505050565b98975050505050505050565b82826001600160a01b03811633146112a0576040517f17c6343d0000000000000000000000000000000000000000000000000000000081526001600160a01b038216600482015233602482015260440161077f565b6001600160a01b03821660009081526001602052604090206112c29082611733565b61130b576040517f2835d4f40000000000000000000000000000000000000000000000000000000081526001600160a01b0380841660048301528216602482015260440161077f565b6001600160a01b038516600090815260066020908152604080832054600a83528184208185529092528220549091819003611367576001600160a01b0387166000908152600a6020908152604080832085845290915290204290555b6001600160a01b03808816600090815260076020908152604080832086845282528083208a8516845290915290205481169086168190036113ef576040517f92dd87f60000000000000000000000000000000000000000000000000000000081526001600160a01b03808a16600483015280891660248301528716604482015260640161077f565b6001600160a01b038116611479576001600160a01b03888116600081815260076020908152604080832088845282528083208c861684528252808320805473ffffffffffffffffffffffffffffffffffffffff1916958c16958617905592825260088152828220878352815282822093825292909252812080549161147383612a48565b91905055505b806001600160a01b0316866001600160a01b0316141580156114a357506001600160a01b03811615155b15611573576001600160a01b03888116600081815260076020908152604080832088845282528083208c861684528252808320805473ffffffffffffffffffffffffffffffffffffffff19168c8716179055928252600881528282208783528152828220938516825292909252812080549161151e83612af7565b90915550506001600160a01b03861615611573576001600160a01b0380891660009081526008602090815260408083208784528252808320938a16835292905290812080549161156d83612a48565b91905055505b856001600160a01b0316876001600160a01b0316896001600160a01b03167f6e8b2d5fb446171938316212bee6fc889dccfacfdb73d7ffbfb4d5f784c90b99866040516115c291815260200190565b60405180910390a45050505050505050565b606060006115e28385612b0e565b90507f561c4d8a000000000000000000000000000000000000000000000000000000006001600160e01b03198216016116605761165b89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b92508a91508990508888611c64565b61171d565b7f0c4c387b000000000000000000000000000000000000000000000000000000006001600160e01b03198216016116df576116d789898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b92508a91508990508888611d10565b915050610800565b6040517f0602d2700000000000000000000000000000000000000000000000000000000081526001600160e01b03198216600482015260240161077f565b50979650505050505050565b60006106fd825490565b6001600160a01b0381166000908152600183016020526040812054151561083c565b6060600061083c83611dcc565b600061083c836001600160a01b038416611e28565b6040805180820182528281524260208083019182526001600160a01b038881166000818152600984528681208a825284528681209289168082529284528690208551815593516001909401939093559351878152929385939092917f896d444743de428958414d9a86fad106a57cb372ee349d27b86fe2d51622209c910160405180910390a45050505050565b600061083c836001600160a01b038416611f1b565b606061182488610703565b6001600160a01b0389166000908152600a602090815260408083208b84529091529020546118529190612ae4565b4210156118a6578761186389610703565b6040517f7c1b17000000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482015260440161077f565b6001600160a01b03881660009081526005602090815260408083205460029092528220549091819003611905576040517f1d20946c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808b1660009081526008602090815260408083208d84528252808320938c168352929052205481811015611980576040517f36dbf4c80000000000000000000000000000000000000000000000000000000081526001600160a01b03808d1660048301528a16602482015260440161077f565b508115611b2657604080516001600160a01b038c811660208084018290528385018c9052845180850386018152606085018652805190820120928d166080850181905260a08086018590528651808703909101815260c090950186528451948201949094206000928352600982528583208f8452825285832094835293905292909220548114611a4f576040517feca9e4a60000000000000000000000000000000000000000000000000000000081526001600160a01b03808e1660048301528b16602482015260440161077f565b6001600160a01b03808d1660009081526009602090815260408083208f84528252808320938e16835292905220600101544290611a8d90603c612ae4565b1115611ad8576040517ffe75f6280000000000000000000000000000000000000000000000000000000081526001600160a01b03808e1660048301528b16602482015260440161077f565b838214611b23576040517f84bb073d0000000000000000000000000000000000000000000000000000000081526001600160a01b038d166004820152602481018a905260440161077f565b50505b6001600160a01b038a166000908152600660205260408120805491611b4a83612a48565b90915550506001600160a01b038a16600081815260056020526040808220899055518892917ff1d777ea951a50389c566bd715dcc9fb133ff06f077278fde63b3c6d544580a291a3876001600160a01b0316898b6001600160a01b03167f813cb1764d0ee698a363ee823a078c5d80bef414205b6d280820336972cf6d9987604051611bd69190612623565b60405180910390a46000808b6001600160a01b03168787604051611bfa9190612b3e565b60006040518083038185875af1925050503d8060008114611c37576040519150601f19603f3d011682016040523d82523d6000602084013e611c3c565b606091505b5091509150610f088282604051806060016040528060298152602001612d8660299139611f6a565b60008080611c758460048188612b5a565b810190611c829190612904565b925092509250600060066000856001600160a01b03166001600160a01b03168152602001908152602001600020549050611cf88a8a8a8a858b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508c9250611f83915050565b611d0484828585611777565b50505050505050505050565b6060600080808080611d25876004818b612b5a565b810190611d329190612b84565b94509450945094509450600060066000876001600160a01b03166001600160a01b03168152602001908152602001600020549050611dac8d8d8d8d858e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508e9250611f83915050565b611dbb86828787878f88611819565b9d9c50505050505050505050505050565b606081600001805480602002602001604051908101604052809291908181526020018280548015611e1c57602002820191906000526020600020905b815481526020019060010190808311611e08575b50505050509050919050565b60008181526001830160205260408120548015611f11576000611e4c600183612c6e565b8554909150600090611e6090600190612c6e565b9050818114611ec5576000866000018281548110611e8057611e80612a77565b9060005260206000200154905080876000018481548110611ea357611ea3612a77565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611ed657611ed6612c81565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506106fd565b60009150506106fd565b6000818152600183016020526040812054611f62575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106fd565b5060006106fd565b60608315611f7957508161083c565b61083c83836120b3565b6000611f938888888888886120dd565b6001600160a01b03811660009081526020818152604080832060808c901c84529091529020549091506fffffffffffffffffffffffffffffffff88161461200c578087896040517fc9bd9eb900000000000000000000000000000000000000000000000000000000815260040161077f93929190612c97565b6001600160a01b03811660009081526020818152604080832060808b901c8452909152812080549161203d83612a48565b919050555061204b86612135565b806001600160a01b0316826001600160a01b0316146120a9576040517f40a556320000000000000000000000000000000000000000000000000000000081526001600160a01b0380841660048301528216602482015260440161077f565b5050505050505050565b8151156120c35781518083602001fd5b8060405162461bcd60e51b815260040161077f9190612623565b600080600b4688888888886040516020016120fe9796959493929190612cc8565b60408051601f198184030181529190529050600061211c30836121ea565b9050612128818a61221d565b9998505050505050505050565b806000036121405750565b608081901c814282111561217f576040517ede4b8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806fffffffffffffffffffffffffffffffff1660000361219e57505050565b806fffffffffffffffffffffffffffffffff16421115610fda576040517f5c53a98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082826040516020016121ff929190612d11565b60405160208183030381529060405280519060200120905092915050565b600080600061222c8585612241565b9150915061223981612286565b509392505050565b60008082516041036122775760208301516040840151606085015160001a61226b878285856123ee565b9450945050505061227f565b506000905060025b9250929050565b600081600481111561229a5761229a612d6f565b036122a25750565b60018160048111156122b6576122b6612d6f565b036123035760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161077f565b600281600481111561231757612317612d6f565b036123645760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161077f565b600381600481111561237857612378612d6f565b036123eb5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161077f565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561242557506000905060036124a9565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612479573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166124a2576000600192509250506124a9565b9150600090505b94509492505050565b6000602082840312156124c457600080fd5b81356001600160e01b03198116811461083c57600080fd5b6001600160a01b03811681146123eb57600080fd5b60006020828403121561250357600080fd5b813561083c816124dc565b60008083601f84011261252057600080fd5b50813567ffffffffffffffff81111561253857600080fd5b60208301915083602082850101111561227f57600080fd5b6000806000806000806080878903121561256957600080fd5b863567ffffffffffffffff8082111561258157600080fd5b61258d8a838b0161250e565b9098509650602089013595506040890135945060608901359150808211156125b457600080fd5b506125c189828a0161250e565b979a9699509497509295939492505050565b60005b838110156125ee5781810151838201526020016125d6565b50506000910152565b6000815180845261260f8160208601602086016125d3565b601f01601f19169290920160200192915050565b60208152600061083c60208301846125f7565b60008060006060848603121561264b57600080fd5b8335612656816124dc565b925060208401359150604084013561266d816124dc565b809150509250925092565b6000806040838503121561268b57600080fd5b8235612696816124dc565b946020939093013593505050565b60008083601f8401126126b657600080fd5b50813567ffffffffffffffff8111156126ce57600080fd5b6020830191508360208260051b850101111561227f57600080fd5b600080602083850312156126fc57600080fd5b823567ffffffffffffffff81111561271357600080fd5b61271f858286016126a4565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561278057603f1988860301845261276e8583516125f7565b94509285019290850190600101612752565b5092979650505050505050565b600080604083850312156127a057600080fd5b82356127ab816124dc565b915060208301356127bb816124dc565b809150509250929050565b6020808252825182820181905260009190848201906040850190845b818110156128075783516001600160a01b0316835292840192918401916001016127e2565b50909695505050505050565b60008060008060008060008060008060a08b8d03121561283257600080fd5b8a3567ffffffffffffffff8082111561284a57600080fd5b6128568e838f016126a4565b909c509a5060208d013591508082111561286f57600080fd5b61287b8e838f016126a4565b909a50985060408d013591508082111561289457600080fd5b6128a08e838f016126a4565b909850965060608d01359150808211156128b957600080fd5b6128c58e838f016126a4565b909650945060808d01359150808211156128de57600080fd5b506128eb8d828e016126a4565b915080935050809150509295989b9194979a5092959850565b60008060006060848603121561291957600080fd5b8335612924816124dc565b92506020840135612934816124dc565b929592945050506040919091013590565b6000806040838503121561295857600080fd5b8235612963816124dc565b915060208301356fffffffffffffffffffffffffffffffff811681146127bb57600080fd5b60008060008060008060a087890312156129a157600080fd5b86356129ac816124dc565b955060208701356129bc816124dc565b94506040870135935060608701359250608087013567ffffffffffffffff8111156129e657600080fd5b6125c189828a0161250e565b600080600060608486031215612a0757600080fd5b8335612a12816124dc565b92506020840135612a22816124dc565b9150604084013561266d816124dc565b634e487b7160e01b600052601160045260246000fd5b600060018201612a5a57612a5a612a32565b5060010190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000808335601e19843603018112612aa457600080fd5b83018035915067ffffffffffffffff821115612abf57600080fd5b60200191503681900382131561227f57600080fd5b8183823760009101908152919050565b808201808211156106fd576106fd612a32565b600081612b0657612b06612a32565b506000190190565b6001600160e01b03198135818116916004851015612b365780818660040360031b1b83161692505b505092915050565b60008251612b508184602087016125d3565b9190910192915050565b60008085851115612b6a57600080fd5b83861115612b7757600080fd5b5050820193919092039150565b600080600080600060a08688031215612b9c57600080fd5b8535612ba7816124dc565b94506020860135612bb7816124dc565b93506040860135925060608601359150608086013567ffffffffffffffff80821115612be257600080fd5b818801915088601f830112612bf657600080fd5b813581811115612c0857612c08612a61565b604051601f8201601f19908116603f01168101908382118183101715612c3057612c30612a61565b816040528281528b6020848701011115612c4957600080fd5b8260208601602083013760006020848301015280955050505050509295509295909350565b818103818111156106fd576106fd612a32565b634e487b7160e01b600052603160045260246000fd5b6001600160a01b0384168152826020820152606060408201526000612cbf60608301846125f7565b95945050505050565b8781528660208201528560408201528460608201528360808201528260a082015260008251612cfe8160c08501602087016125d3565b9190910160c00198975050505050505050565b7f190000000000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff198360601b16600282015260008251612d618160168501602087016125d3565b919091016016019392505050565b634e487b7160e01b600052602160045260246000fdfe4c535031313a204661696c656420746f2063616c6c2066756e6374696f6e206f6e206163636f756e74a264697066735822122090205e643052532ccca7cb8f4ac3424dfdde1e18fc842792b9d9dae635f9b88664736f6c63430008110033",
1169
+ "linkReferences": {},
1170
+ "deployedLinkReferences": {}
1171
+ }