@totems/evm 1.0.7 → 1.0.9

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,1060 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "ModMarket",
4
+ "sourceName": "contracts/market/ModMarket.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "uint256",
10
+ "name": "_minBaseFee",
11
+ "type": "uint256"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "_burnedFee",
16
+ "type": "uint256"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "inputs": [
24
+ {
25
+ "internalType": "enum ITotemTypes.Hook",
26
+ "name": "hook",
27
+ "type": "uint8"
28
+ }
29
+ ],
30
+ "name": "DuplicateHook",
31
+ "type": "error"
32
+ },
33
+ {
34
+ "inputs": [],
35
+ "name": "EmptyModImage",
36
+ "type": "error"
37
+ },
38
+ {
39
+ "inputs": [],
40
+ "name": "EmptyModName",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [],
45
+ "name": "EmptyModSummary",
46
+ "type": "error"
47
+ },
48
+ {
49
+ "inputs": [
50
+ {
51
+ "internalType": "uint256",
52
+ "name": "required",
53
+ "type": "uint256"
54
+ },
55
+ {
56
+ "internalType": "uint256",
57
+ "name": "provided",
58
+ "type": "uint256"
59
+ }
60
+ ],
61
+ "name": "InsufficientFee",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "inputs": [],
66
+ "name": "InvalidContractAddress",
67
+ "type": "error"
68
+ },
69
+ {
70
+ "inputs": [
71
+ {
72
+ "internalType": "enum ITotemTypes.Hook",
73
+ "name": "hook",
74
+ "type": "uint8"
75
+ }
76
+ ],
77
+ "name": "InvalidHook",
78
+ "type": "error"
79
+ },
80
+ {
81
+ "inputs": [
82
+ {
83
+ "internalType": "address",
84
+ "name": "mod",
85
+ "type": "address"
86
+ }
87
+ ],
88
+ "name": "ModAlreadyPublished",
89
+ "type": "error"
90
+ },
91
+ {
92
+ "inputs": [
93
+ {
94
+ "internalType": "uint256",
95
+ "name": "length",
96
+ "type": "uint256"
97
+ }
98
+ ],
99
+ "name": "ModNameTooLong",
100
+ "type": "error"
101
+ },
102
+ {
103
+ "inputs": [
104
+ {
105
+ "internalType": "uint256",
106
+ "name": "length",
107
+ "type": "uint256"
108
+ }
109
+ ],
110
+ "name": "ModNameTooShort",
111
+ "type": "error"
112
+ },
113
+ {
114
+ "inputs": [
115
+ {
116
+ "internalType": "address",
117
+ "name": "mod",
118
+ "type": "address"
119
+ }
120
+ ],
121
+ "name": "ModNotFound",
122
+ "type": "error"
123
+ },
124
+ {
125
+ "inputs": [
126
+ {
127
+ "internalType": "uint256",
128
+ "name": "length",
129
+ "type": "uint256"
130
+ }
131
+ ],
132
+ "name": "ModSummaryTooLong",
133
+ "type": "error"
134
+ },
135
+ {
136
+ "inputs": [
137
+ {
138
+ "internalType": "uint256",
139
+ "name": "length",
140
+ "type": "uint256"
141
+ }
142
+ ],
143
+ "name": "ModSummaryTooShort",
144
+ "type": "error"
145
+ },
146
+ {
147
+ "inputs": [],
148
+ "name": "NoHooksSpecified",
149
+ "type": "error"
150
+ },
151
+ {
152
+ "inputs": [
153
+ {
154
+ "internalType": "uint256",
155
+ "name": "minFee",
156
+ "type": "uint256"
157
+ }
158
+ ],
159
+ "name": "ReferrerFeeTooLow",
160
+ "type": "error"
161
+ },
162
+ {
163
+ "inputs": [],
164
+ "name": "TransferFailed",
165
+ "type": "error"
166
+ },
167
+ {
168
+ "inputs": [],
169
+ "name": "Unauthorized",
170
+ "type": "error"
171
+ },
172
+ {
173
+ "anonymous": false,
174
+ "inputs": [
175
+ {
176
+ "indexed": true,
177
+ "internalType": "address",
178
+ "name": "mod",
179
+ "type": "address"
180
+ }
181
+ ],
182
+ "name": "ModPublished",
183
+ "type": "event"
184
+ },
185
+ {
186
+ "anonymous": false,
187
+ "inputs": [
188
+ {
189
+ "indexed": true,
190
+ "internalType": "address",
191
+ "name": "mod",
192
+ "type": "address"
193
+ }
194
+ ],
195
+ "name": "ModUpdated",
196
+ "type": "event"
197
+ },
198
+ {
199
+ "inputs": [],
200
+ "name": "burnedFee",
201
+ "outputs": [
202
+ {
203
+ "internalType": "uint256",
204
+ "name": "",
205
+ "type": "uint256"
206
+ }
207
+ ],
208
+ "stateMutability": "view",
209
+ "type": "function"
210
+ },
211
+ {
212
+ "inputs": [
213
+ {
214
+ "internalType": "address",
215
+ "name": "referrer",
216
+ "type": "address"
217
+ }
218
+ ],
219
+ "name": "getFee",
220
+ "outputs": [
221
+ {
222
+ "internalType": "uint256",
223
+ "name": "",
224
+ "type": "uint256"
225
+ }
226
+ ],
227
+ "stateMutability": "view",
228
+ "type": "function"
229
+ },
230
+ {
231
+ "inputs": [
232
+ {
233
+ "internalType": "address",
234
+ "name": "mod",
235
+ "type": "address"
236
+ }
237
+ ],
238
+ "name": "getMod",
239
+ "outputs": [
240
+ {
241
+ "components": [
242
+ {
243
+ "internalType": "address",
244
+ "name": "mod",
245
+ "type": "address"
246
+ },
247
+ {
248
+ "internalType": "address payable",
249
+ "name": "seller",
250
+ "type": "address"
251
+ },
252
+ {
253
+ "internalType": "uint64",
254
+ "name": "publishedAt",
255
+ "type": "uint64"
256
+ },
257
+ {
258
+ "internalType": "uint64",
259
+ "name": "updatedAt",
260
+ "type": "uint64"
261
+ },
262
+ {
263
+ "internalType": "uint256",
264
+ "name": "price",
265
+ "type": "uint256"
266
+ },
267
+ {
268
+ "internalType": "enum ITotemTypes.Hook[]",
269
+ "name": "hooks",
270
+ "type": "uint8[]"
271
+ },
272
+ {
273
+ "components": [
274
+ {
275
+ "internalType": "string",
276
+ "name": "name",
277
+ "type": "string"
278
+ },
279
+ {
280
+ "internalType": "string",
281
+ "name": "summary",
282
+ "type": "string"
283
+ },
284
+ {
285
+ "internalType": "string",
286
+ "name": "markdown",
287
+ "type": "string"
288
+ },
289
+ {
290
+ "internalType": "string",
291
+ "name": "image",
292
+ "type": "string"
293
+ },
294
+ {
295
+ "internalType": "string",
296
+ "name": "website",
297
+ "type": "string"
298
+ },
299
+ {
300
+ "internalType": "string",
301
+ "name": "websiteTickerPath",
302
+ "type": "string"
303
+ },
304
+ {
305
+ "internalType": "bool",
306
+ "name": "isMinter",
307
+ "type": "bool"
308
+ },
309
+ {
310
+ "internalType": "bool",
311
+ "name": "needsUnlimited",
312
+ "type": "bool"
313
+ }
314
+ ],
315
+ "internalType": "struct ITotemTypes.ModDetails",
316
+ "name": "details",
317
+ "type": "tuple"
318
+ }
319
+ ],
320
+ "internalType": "struct ITotemTypes.Mod",
321
+ "name": "",
322
+ "type": "tuple"
323
+ }
324
+ ],
325
+ "stateMutability": "view",
326
+ "type": "function"
327
+ },
328
+ {
329
+ "inputs": [
330
+ {
331
+ "internalType": "address",
332
+ "name": "mod",
333
+ "type": "address"
334
+ }
335
+ ],
336
+ "name": "getModFee",
337
+ "outputs": [
338
+ {
339
+ "internalType": "uint256",
340
+ "name": "",
341
+ "type": "uint256"
342
+ }
343
+ ],
344
+ "stateMutability": "view",
345
+ "type": "function"
346
+ },
347
+ {
348
+ "inputs": [
349
+ {
350
+ "internalType": "address",
351
+ "name": "mod",
352
+ "type": "address"
353
+ }
354
+ ],
355
+ "name": "getModRequiredActions",
356
+ "outputs": [
357
+ {
358
+ "components": [
359
+ {
360
+ "internalType": "string",
361
+ "name": "signature",
362
+ "type": "string"
363
+ },
364
+ {
365
+ "components": [
366
+ {
367
+ "internalType": "string",
368
+ "name": "name",
369
+ "type": "string"
370
+ },
371
+ {
372
+ "internalType": "enum ITotemTypes.ModActionFieldInputMode",
373
+ "name": "mode",
374
+ "type": "uint8"
375
+ },
376
+ {
377
+ "internalType": "string",
378
+ "name": "value",
379
+ "type": "string"
380
+ },
381
+ {
382
+ "internalType": "string",
383
+ "name": "description",
384
+ "type": "string"
385
+ },
386
+ {
387
+ "internalType": "uint256",
388
+ "name": "min",
389
+ "type": "uint256"
390
+ },
391
+ {
392
+ "internalType": "uint256",
393
+ "name": "max",
394
+ "type": "uint256"
395
+ },
396
+ {
397
+ "internalType": "bool",
398
+ "name": "isTotems",
399
+ "type": "bool"
400
+ }
401
+ ],
402
+ "internalType": "struct ITotemTypes.ModActionField[]",
403
+ "name": "inputFields",
404
+ "type": "tuple[]"
405
+ },
406
+ {
407
+ "internalType": "uint256",
408
+ "name": "cost",
409
+ "type": "uint256"
410
+ },
411
+ {
412
+ "internalType": "string",
413
+ "name": "reason",
414
+ "type": "string"
415
+ }
416
+ ],
417
+ "internalType": "struct ITotemTypes.ModRequiredAction[]",
418
+ "name": "",
419
+ "type": "tuple[]"
420
+ }
421
+ ],
422
+ "stateMutability": "view",
423
+ "type": "function"
424
+ },
425
+ {
426
+ "inputs": [
427
+ {
428
+ "internalType": "address[]",
429
+ "name": "contracts",
430
+ "type": "address[]"
431
+ }
432
+ ],
433
+ "name": "getMods",
434
+ "outputs": [
435
+ {
436
+ "components": [
437
+ {
438
+ "internalType": "address",
439
+ "name": "mod",
440
+ "type": "address"
441
+ },
442
+ {
443
+ "internalType": "address payable",
444
+ "name": "seller",
445
+ "type": "address"
446
+ },
447
+ {
448
+ "internalType": "uint64",
449
+ "name": "publishedAt",
450
+ "type": "uint64"
451
+ },
452
+ {
453
+ "internalType": "uint64",
454
+ "name": "updatedAt",
455
+ "type": "uint64"
456
+ },
457
+ {
458
+ "internalType": "uint256",
459
+ "name": "price",
460
+ "type": "uint256"
461
+ },
462
+ {
463
+ "internalType": "enum ITotemTypes.Hook[]",
464
+ "name": "hooks",
465
+ "type": "uint8[]"
466
+ },
467
+ {
468
+ "components": [
469
+ {
470
+ "internalType": "string",
471
+ "name": "name",
472
+ "type": "string"
473
+ },
474
+ {
475
+ "internalType": "string",
476
+ "name": "summary",
477
+ "type": "string"
478
+ },
479
+ {
480
+ "internalType": "string",
481
+ "name": "markdown",
482
+ "type": "string"
483
+ },
484
+ {
485
+ "internalType": "string",
486
+ "name": "image",
487
+ "type": "string"
488
+ },
489
+ {
490
+ "internalType": "string",
491
+ "name": "website",
492
+ "type": "string"
493
+ },
494
+ {
495
+ "internalType": "string",
496
+ "name": "websiteTickerPath",
497
+ "type": "string"
498
+ },
499
+ {
500
+ "internalType": "bool",
501
+ "name": "isMinter",
502
+ "type": "bool"
503
+ },
504
+ {
505
+ "internalType": "bool",
506
+ "name": "needsUnlimited",
507
+ "type": "bool"
508
+ }
509
+ ],
510
+ "internalType": "struct ITotemTypes.ModDetails",
511
+ "name": "details",
512
+ "type": "tuple"
513
+ }
514
+ ],
515
+ "internalType": "struct ITotemTypes.Mod[]",
516
+ "name": "",
517
+ "type": "tuple[]"
518
+ }
519
+ ],
520
+ "stateMutability": "view",
521
+ "type": "function"
522
+ },
523
+ {
524
+ "inputs": [
525
+ {
526
+ "internalType": "address[]",
527
+ "name": "contracts",
528
+ "type": "address[]"
529
+ }
530
+ ],
531
+ "name": "getModsFee",
532
+ "outputs": [
533
+ {
534
+ "internalType": "uint256",
535
+ "name": "",
536
+ "type": "uint256"
537
+ }
538
+ ],
539
+ "stateMutability": "view",
540
+ "type": "function"
541
+ },
542
+ {
543
+ "inputs": [
544
+ {
545
+ "internalType": "address",
546
+ "name": "mod",
547
+ "type": "address"
548
+ }
549
+ ],
550
+ "name": "getSupportedHooks",
551
+ "outputs": [
552
+ {
553
+ "internalType": "enum ITotemTypes.Hook[]",
554
+ "name": "",
555
+ "type": "uint8[]"
556
+ }
557
+ ],
558
+ "stateMutability": "view",
559
+ "type": "function"
560
+ },
561
+ {
562
+ "inputs": [
563
+ {
564
+ "internalType": "address",
565
+ "name": "mod",
566
+ "type": "address"
567
+ }
568
+ ],
569
+ "name": "isUnlimitedMinter",
570
+ "outputs": [
571
+ {
572
+ "internalType": "bool",
573
+ "name": "",
574
+ "type": "bool"
575
+ }
576
+ ],
577
+ "stateMutability": "view",
578
+ "type": "function"
579
+ },
580
+ {
581
+ "inputs": [
582
+ {
583
+ "internalType": "uint32",
584
+ "name": "perPage",
585
+ "type": "uint32"
586
+ },
587
+ {
588
+ "internalType": "uint256",
589
+ "name": "cursor",
590
+ "type": "uint256"
591
+ }
592
+ ],
593
+ "name": "listMods",
594
+ "outputs": [
595
+ {
596
+ "components": [
597
+ {
598
+ "internalType": "address",
599
+ "name": "mod",
600
+ "type": "address"
601
+ },
602
+ {
603
+ "internalType": "address payable",
604
+ "name": "seller",
605
+ "type": "address"
606
+ },
607
+ {
608
+ "internalType": "uint64",
609
+ "name": "publishedAt",
610
+ "type": "uint64"
611
+ },
612
+ {
613
+ "internalType": "uint64",
614
+ "name": "updatedAt",
615
+ "type": "uint64"
616
+ },
617
+ {
618
+ "internalType": "uint256",
619
+ "name": "price",
620
+ "type": "uint256"
621
+ },
622
+ {
623
+ "internalType": "enum ITotemTypes.Hook[]",
624
+ "name": "hooks",
625
+ "type": "uint8[]"
626
+ },
627
+ {
628
+ "components": [
629
+ {
630
+ "internalType": "string",
631
+ "name": "name",
632
+ "type": "string"
633
+ },
634
+ {
635
+ "internalType": "string",
636
+ "name": "summary",
637
+ "type": "string"
638
+ },
639
+ {
640
+ "internalType": "string",
641
+ "name": "markdown",
642
+ "type": "string"
643
+ },
644
+ {
645
+ "internalType": "string",
646
+ "name": "image",
647
+ "type": "string"
648
+ },
649
+ {
650
+ "internalType": "string",
651
+ "name": "website",
652
+ "type": "string"
653
+ },
654
+ {
655
+ "internalType": "string",
656
+ "name": "websiteTickerPath",
657
+ "type": "string"
658
+ },
659
+ {
660
+ "internalType": "bool",
661
+ "name": "isMinter",
662
+ "type": "bool"
663
+ },
664
+ {
665
+ "internalType": "bool",
666
+ "name": "needsUnlimited",
667
+ "type": "bool"
668
+ }
669
+ ],
670
+ "internalType": "struct ITotemTypes.ModDetails",
671
+ "name": "details",
672
+ "type": "tuple"
673
+ }
674
+ ],
675
+ "internalType": "struct ITotemTypes.Mod[]",
676
+ "name": "mods_",
677
+ "type": "tuple[]"
678
+ },
679
+ {
680
+ "internalType": "uint256",
681
+ "name": "nextCursor",
682
+ "type": "uint256"
683
+ },
684
+ {
685
+ "internalType": "bool",
686
+ "name": "hasMore",
687
+ "type": "bool"
688
+ }
689
+ ],
690
+ "stateMutability": "view",
691
+ "type": "function"
692
+ },
693
+ {
694
+ "inputs": [],
695
+ "name": "minBaseFee",
696
+ "outputs": [
697
+ {
698
+ "internalType": "uint256",
699
+ "name": "",
700
+ "type": "uint256"
701
+ }
702
+ ],
703
+ "stateMutability": "view",
704
+ "type": "function"
705
+ },
706
+ {
707
+ "inputs": [
708
+ {
709
+ "internalType": "uint256",
710
+ "name": "",
711
+ "type": "uint256"
712
+ }
713
+ ],
714
+ "name": "modList",
715
+ "outputs": [
716
+ {
717
+ "internalType": "address",
718
+ "name": "",
719
+ "type": "address"
720
+ }
721
+ ],
722
+ "stateMutability": "view",
723
+ "type": "function"
724
+ },
725
+ {
726
+ "inputs": [
727
+ {
728
+ "internalType": "address",
729
+ "name": "mod",
730
+ "type": "address"
731
+ },
732
+ {
733
+ "internalType": "enum ITotemTypes.Hook[]",
734
+ "name": "hooks",
735
+ "type": "uint8[]"
736
+ },
737
+ {
738
+ "internalType": "uint256",
739
+ "name": "price",
740
+ "type": "uint256"
741
+ },
742
+ {
743
+ "components": [
744
+ {
745
+ "internalType": "string",
746
+ "name": "name",
747
+ "type": "string"
748
+ },
749
+ {
750
+ "internalType": "string",
751
+ "name": "summary",
752
+ "type": "string"
753
+ },
754
+ {
755
+ "internalType": "string",
756
+ "name": "markdown",
757
+ "type": "string"
758
+ },
759
+ {
760
+ "internalType": "string",
761
+ "name": "image",
762
+ "type": "string"
763
+ },
764
+ {
765
+ "internalType": "string",
766
+ "name": "website",
767
+ "type": "string"
768
+ },
769
+ {
770
+ "internalType": "string",
771
+ "name": "websiteTickerPath",
772
+ "type": "string"
773
+ },
774
+ {
775
+ "internalType": "bool",
776
+ "name": "isMinter",
777
+ "type": "bool"
778
+ },
779
+ {
780
+ "internalType": "bool",
781
+ "name": "needsUnlimited",
782
+ "type": "bool"
783
+ }
784
+ ],
785
+ "internalType": "struct ITotemTypes.ModDetails",
786
+ "name": "details",
787
+ "type": "tuple"
788
+ },
789
+ {
790
+ "components": [
791
+ {
792
+ "internalType": "string",
793
+ "name": "signature",
794
+ "type": "string"
795
+ },
796
+ {
797
+ "components": [
798
+ {
799
+ "internalType": "string",
800
+ "name": "name",
801
+ "type": "string"
802
+ },
803
+ {
804
+ "internalType": "enum ITotemTypes.ModActionFieldInputMode",
805
+ "name": "mode",
806
+ "type": "uint8"
807
+ },
808
+ {
809
+ "internalType": "string",
810
+ "name": "value",
811
+ "type": "string"
812
+ },
813
+ {
814
+ "internalType": "string",
815
+ "name": "description",
816
+ "type": "string"
817
+ },
818
+ {
819
+ "internalType": "uint256",
820
+ "name": "min",
821
+ "type": "uint256"
822
+ },
823
+ {
824
+ "internalType": "uint256",
825
+ "name": "max",
826
+ "type": "uint256"
827
+ },
828
+ {
829
+ "internalType": "bool",
830
+ "name": "isTotems",
831
+ "type": "bool"
832
+ }
833
+ ],
834
+ "internalType": "struct ITotemTypes.ModActionField[]",
835
+ "name": "inputFields",
836
+ "type": "tuple[]"
837
+ },
838
+ {
839
+ "internalType": "uint256",
840
+ "name": "cost",
841
+ "type": "uint256"
842
+ },
843
+ {
844
+ "internalType": "string",
845
+ "name": "reason",
846
+ "type": "string"
847
+ }
848
+ ],
849
+ "internalType": "struct ITotemTypes.ModRequiredAction[]",
850
+ "name": "requiredActions",
851
+ "type": "tuple[]"
852
+ },
853
+ {
854
+ "internalType": "address payable",
855
+ "name": "referrer",
856
+ "type": "address"
857
+ }
858
+ ],
859
+ "name": "publish",
860
+ "outputs": [],
861
+ "stateMutability": "payable",
862
+ "type": "function"
863
+ },
864
+ {
865
+ "inputs": [
866
+ {
867
+ "internalType": "uint256",
868
+ "name": "fee",
869
+ "type": "uint256"
870
+ }
871
+ ],
872
+ "name": "setReferrerFee",
873
+ "outputs": [],
874
+ "stateMutability": "nonpayable",
875
+ "type": "function"
876
+ },
877
+ {
878
+ "inputs": [
879
+ {
880
+ "internalType": "address",
881
+ "name": "mod",
882
+ "type": "address"
883
+ },
884
+ {
885
+ "internalType": "uint256",
886
+ "name": "newPrice",
887
+ "type": "uint256"
888
+ },
889
+ {
890
+ "components": [
891
+ {
892
+ "internalType": "string",
893
+ "name": "name",
894
+ "type": "string"
895
+ },
896
+ {
897
+ "internalType": "string",
898
+ "name": "summary",
899
+ "type": "string"
900
+ },
901
+ {
902
+ "internalType": "string",
903
+ "name": "markdown",
904
+ "type": "string"
905
+ },
906
+ {
907
+ "internalType": "string",
908
+ "name": "image",
909
+ "type": "string"
910
+ },
911
+ {
912
+ "internalType": "string",
913
+ "name": "website",
914
+ "type": "string"
915
+ },
916
+ {
917
+ "internalType": "string",
918
+ "name": "websiteTickerPath",
919
+ "type": "string"
920
+ },
921
+ {
922
+ "internalType": "bool",
923
+ "name": "isMinter",
924
+ "type": "bool"
925
+ },
926
+ {
927
+ "internalType": "bool",
928
+ "name": "needsUnlimited",
929
+ "type": "bool"
930
+ }
931
+ ],
932
+ "internalType": "struct ITotemTypes.ModDetails",
933
+ "name": "details",
934
+ "type": "tuple"
935
+ }
936
+ ],
937
+ "name": "update",
938
+ "outputs": [],
939
+ "stateMutability": "nonpayable",
940
+ "type": "function"
941
+ },
942
+ {
943
+ "inputs": [
944
+ {
945
+ "internalType": "address",
946
+ "name": "mod",
947
+ "type": "address"
948
+ },
949
+ {
950
+ "components": [
951
+ {
952
+ "internalType": "string",
953
+ "name": "signature",
954
+ "type": "string"
955
+ },
956
+ {
957
+ "components": [
958
+ {
959
+ "internalType": "string",
960
+ "name": "name",
961
+ "type": "string"
962
+ },
963
+ {
964
+ "internalType": "enum ITotemTypes.ModActionFieldInputMode",
965
+ "name": "mode",
966
+ "type": "uint8"
967
+ },
968
+ {
969
+ "internalType": "string",
970
+ "name": "value",
971
+ "type": "string"
972
+ },
973
+ {
974
+ "internalType": "string",
975
+ "name": "description",
976
+ "type": "string"
977
+ },
978
+ {
979
+ "internalType": "uint256",
980
+ "name": "min",
981
+ "type": "uint256"
982
+ },
983
+ {
984
+ "internalType": "uint256",
985
+ "name": "max",
986
+ "type": "uint256"
987
+ },
988
+ {
989
+ "internalType": "bool",
990
+ "name": "isTotems",
991
+ "type": "bool"
992
+ }
993
+ ],
994
+ "internalType": "struct ITotemTypes.ModActionField[]",
995
+ "name": "inputFields",
996
+ "type": "tuple[]"
997
+ },
998
+ {
999
+ "internalType": "uint256",
1000
+ "name": "cost",
1001
+ "type": "uint256"
1002
+ },
1003
+ {
1004
+ "internalType": "string",
1005
+ "name": "reason",
1006
+ "type": "string"
1007
+ }
1008
+ ],
1009
+ "internalType": "struct ITotemTypes.ModRequiredAction[]",
1010
+ "name": "requiredActions",
1011
+ "type": "tuple[]"
1012
+ }
1013
+ ],
1014
+ "name": "updateRequiredActions",
1015
+ "outputs": [],
1016
+ "stateMutability": "nonpayable",
1017
+ "type": "function"
1018
+ }
1019
+ ],
1020
+ "bytecode": "0x60c03461013457601f61398338819003918201601f19168301916001600160401b0383118484101761013857808492604094855283398101031261013457602081519101519080156100ef5780821161009c5760805260a052604051613836908161014d82396080518181816104120152818161059c0152818161153d015281816135d50152613609015260a051818181610ea501526110a20152f35b60405162461bcd60e51b815260206004820152602560248201527f4275726e6564206665652063616e6e6f7420657863656564206d696e20626173604482015264652066656560d81b6064820152608490fd5b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964206d696e2062617365206665650000000000000000000000006044820152606490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c9081631a0ea5b614612160575080632071a2d21461211e57806345296b3814611f50578063532efe051461184257806355344713146116745780635c77f839146116475780639124b8af14611560578063a62611a214611526578063b88c9148146114fb578063d391420d146112c2578063d4c4b40214611220578063da1ea50e146110c5578063e1a267e51461108b578063f3f0e07b1461045c578063f81a95db146103fc5763fdf3c55a146100cc575f80fd5b346103f85760203660031901126103f8576001600160a01b036100ed6121c9565b165f818152600260205260409020546001600160a01b0316156103e6575f52600360205260405f2080549061012182612483565b9161012f6040519384612462565b808352602083019081925f5260205f205f925b8284106102b35785856040519060208201926020835251809352604082019260408160051b84010191905f5b81811061017b5784840385f35b909192603f1985820301865283519061019d8251608083526080830190612226565b916020810151928281036020840152835180825260208201906020808260051b8501019601925f905b8282106102085750505050506101f960019360209360608460408796015160408401520151906060818403910152612226565b9501960191019491909461016e565b9091929396601f19828203018552875161022b815160e0845260e0840190612226565b90602081015190600382101561029f578360c08061027461026260209788978860019b015260408701518682036040880152612226565b60608601518582036060870152612226565b936080810151608085015260a081015160a085015201511515910152990195019201909291926101c6565b634e487b7160e01b5f52602160045260245ffd5b604051608081018181106001600160401b038211176103d2576040526102d883612d1a565b8152600183018054906102ea82612483565b916102f86040519384612462565b80835260208301915f5260205f205f925b82841061034a5750505050600192826020928360049501526002860154604082015261033760038701612d1a565b6060820152815201920193019290610142565b6040516103568161242b565b61035f83612d1a565b815260ff600184015416600381101561029f576001928260209283600795015261038b60028701612d1a565b604082015261039c60038701612d1a565b606082015260048601546080820152600586015460a082015260ff600687015416151560c0820152815201920193019290610309565b634e487b7160e01b5f52604160045260245ffd5b633bdb61c960e01b5f5260045260245ffd5b5f80fd5b346103f85760203660031901126103f8576004357f000000000000000000000000000000000000000000000000000000000000000080821061044a5750335f52600160205260405f20555f80f35b634eda71b160e11b5f5260045260245ffd5b60c03660031901126103f8576104706121c9565b6024356001600160401b0381116103f85761048f9036906004016123e1565b90606435906001600160401b0382116103f8578160040161010060031984360301126103f8576084356001600160401b0381116103f8576104d49036906004016123e1565b93909260a4359560018060a01b0387168097036103f85760015f546104fc60ff821615612db8565b60ff1916175f556001600160a01b03881697881561107c573b1561107c575f888152600260205260409020546001600160a01b031661106957604051636de870db60e11b8152926020846004818c5afa93841561105e575f9461101a575b50336001600160a01b0385160361100c5761057485613639565b8115610ffd575f5b828110610f20575087159788610f1a57805f52600160205260405f20545b7f000000000000000000000000000000000000000000000000000000000000000080821115610f125750985b893410610efb5715610ea057506105dc88613766565b885f52600260205260405f2094896bffffffffffffffffffffffff60a01b875416178655600186019460018060a01b03166bffffffffffffffffffffffff60a01b8654161785556044356003870155600586016106398280612e04565b906001600160401b0382116103d2576106528354612ce2565b601f8111610e70575b505f90601f8311600114610e0c5761068a92915f9183610bb1575b50508160011b915f199060031b1c19161790565b90555b6006860161069e6024840183612e04565b906001600160401b0382116103d2576106b78354612ce2565b601f8111610ddc575b505f90601f8311600114610d78576106ee92915f9183610bb15750508160011b915f199060031b1c19161790565b90555b600786016107026044840183612e04565b906001600160401b0382116103d25761071b8354612ce2565b601f8111610d48575b505f90601f8311600114610ce45761075292915f9183610bb15750508160011b915f199060031b1c19161790565b90555b600886016107666064840183612e04565b906001600160401b0382116103d25761077f8354612ce2565b601f8111610cb4575b505f90601f8311600114610c50576107b692915f9183610bb15750508160011b915f199060031b1c19161790565b90555b600986016107ca6084840183612e04565b906001600160401b0382116103d2576107e38354612ce2565b601f8111610c20575b505f90601f8311600114610bbc5761081a92915f9183610bb15750508160011b915f199060031b1c19161790565b90555b61082f600a87019160a4840190612e04565b906001600160401b0382116103d2576108488354612ce2565b601f8111610b76575b505f90601f8311600114610b125761087f92915f9183610b075750508160011b915f199060031b1c19161790565b90555b6108b360e4600b8701926108ad61089b60c48301612e4c565b859060ff801983541691151516179055565b01612e4c565b815461ff00191690151560081b61ff001617905560048401916001600160401b0382116103d257600160401b82116103d2578254828455808310610abb575b50915f5260205f208160051c915f5b838110610a6f5750601f198116900380610a1e575b505050509081600292546001600160401b0360a01b4260a01b16906001600160401b0360a01b1916179055016001600160401b03804216166001600160401b03198254161790555f5b8281106109f557505050600454600160401b8110156103d25780600161098892016004556121df565b81546001600160a01b0360039290921b91821b19169084901b1790553481106109dc575b507fe23b4bee3dd66029c0d9f4e9e65c3a106e886bbe10a46b27780762327eec62455f80a25f805460ff19169055005b6109e96109ef913461241e565b336137c0565b816109ac565b600190855f526003602052610a1860405f20610a12838787612ea7565b90612ec9565b0161095f565b925f935f5b818110610a395750505001556002878080610916565b909194853560058110156103f857610a65602091846001949060ff809160031b9316831b921b19161790565b9601929101610a23565b5f5f5b60208110610a87575083820155600101610901565b9590813560058110156103f857610ab2602091896001949060ff809160031b9316831b921b19161790565b92019601610a72565b610ae690845f5260205f20601f80860160051c82019281871680610aec575b500160051c0190612e36565b896108f2565b5f198501908154905f199060200360031b1c1690558e610ada565b013590508d80610676565b601f19831691845f5260205f20925f5b818110610b5e5750908460019594939210610b45575b505050811b019055610882565b01355f19600384901b60f8161c191690558c8080610b38565b91936020600181928787013581550195019201610b22565b610ba190845f5260205f20601f850160051c81019160208610610ba7575b601f0160051c0190612e36565b8c610851565b9091508190610b94565b013590508e80610676565b601f19831691845f5260205f20925f5b818110610c085750908460019594939210610bef575b505050811b01905561081d565b01355f19600384901b60f8161c191690558d8080610be2565b91936020600181928787013581550195019201610bcc565b610c4a90845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b8d6107ec565b601f19831691845f5260205f20925f5b818110610c9c5750908460019594939210610c83575b505050811b0190556107b9565b01355f19600384901b60f8161c191690558d8080610c76565b91936020600181928787013581550195019201610c60565b610cde90845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b8d610788565b601f19831691845f5260205f20925f5b818110610d305750908460019594939210610d17575b505050811b019055610755565b01355f19600384901b60f8161c191690558d8080610d0a565b91936020600181928787013581550195019201610cf4565b610d7290845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b8d610724565b601f19831691845f5260205f20925f5b818110610dc45750908460019594939210610dab575b505050811b0190556106f1565b01355f19600384901b60f8161c191690558d8080610d9e565b91936020600181928787013581550195019201610d88565b610e0690845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b8d6106c0565b601f19831691845f5260205f20925f5b818110610e585750908460019594939210610e3f575b505050811b01905561068d565b01355f19600384901b60f8161c191690558d8080610e32565b91936020600181928787013581550195019201610e1c565b610e9a90845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b8d61065b565b610ed07f000000000000000000000000000000000000000000000000000000000000000080610eed575b8a61241e565b80610edd575b50506105dc565b610ee6916137c0565b8980610ed6565b610ef681613766565b610eca565b8963a458261b60e01b5f526004523460245260445ffd5b9050986105c6565b5f61059a565b610f2b818486613594565b3560058110156103f85760ff6004911611610fd55760018101808211610fc1575b838110610f5c575060010161057c565b610f67828587613594565b3560058110156103f857610f7c828688613594565b359060058210156103f85714610f9457600101610f4c565b610f9f828587613594565b3560058110156103f8576306ca20fd60e51b5f52610fbc9061220b565b60245ffd5b634e487b7160e01b5f52601160045260245ffd5b610fe0908385613594565b3560058110156103f857633a20350360e11b5f52610fbc9061220b565b6377451ae960e01b5f5260045ffd5b6282b42960e81b5f5260045ffd5b9093506020813d602011611056575b8161103660209383612462565b810103126103f857516001600160a01b03811681036103f857928961055a565b3d9150611029565b6040513d5f823e3d90fd5b87636b03e38760e01b5f5260045260245ffd5b63a710429d60e01b5f5260045ffd5b346103f8575f3660031901126103f85760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346103f85760203660031901126103f8576110de6121c9565b6110e661249a565b506001600160a01b039081165f81815260026020526040902054909116156103e6575f52600260205261121c60405f20604051906111238261242b565b80546001600160a01b0390811683526001820154908116602084015260a01c6001600160401b03908116604084015260028201541660608301526003810154608083015261117360048201612571565b60a083015260ff600b6040519261118984612446565b61119560058201612d1a565b84526111a360068201612d1a565b60208501526111b460078201612d1a565b60408501526111c560088201612d1a565b60608501526111d660098201612d1a565b60808501526111e7600a8201612d1a565b60a08501520154818116151560c084015260081c16151560e082015260c082015260405191829160208352602083019061224a565b0390f35b346103f85760203660031901126103f8576001600160a01b036112416121c9565b165f818152600260205260409020546001600160a01b0316156103e6575f526002602052611274600460405f2001612571565b6040518091602082016020835281518091526020604084019201905f5b81811061129f575050500390f35b91935091602080826112b46001948851612219565b019401910191849392611291565b346103f85760203660031901126103f8576004356001600160401b0381116103f8576112f29036906004016123e1565b5f5f5b8281106114ac57506113069061250e565b915f5f5b838110611327576040516020808252819061121c90820188612389565b6001600160a01b0361134261133d838787613594565b6135a4565b165f908152600260205260409020546001600160a01b0316611367575b60010161130a565b906001906114a4906001600160a01b0361138561133d868989613594565b165f52600260205260405f206040519061139e8261242b565b848060a01b0381541682526001600160401b0385820154868060a01b038116602085015260a01c1660408301526001600160401b036002820154166060830152600381015460808301526113f460048201612571565b60a083015260ff600b6040519261140a84612446565b61141660058201612d1a565b845261142460068201612d1a565b602085015261143560078201612d1a565b604085015261144660088201612d1a565b606085015261145760098201612d1a565b6080850152611468600a8201612d1a565b60a08501520154818116151560c084015260081c16151560e082015260c0820152611493828961255d565b5261149e818861255d565b5061362b565b91905061135f565b6001600160a01b036114c261133d838688613594565b165f908152600260205260409020546001600160a01b03166114e7575b6001016112f5565b906114f360019161362b565b9190506114df565b346103f85760203660031901126103f857602061151e6115196121c9565b6135b8565b604051908152f35b346103f8575f3660031901126103f85760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346103f85760203660031901126103f8576004356001600160401b0381116103f8576115909036906004016123e1565b5f905f925b8184106115a757602083604051908152f35b90916001600160a01b036115bf61133d868686613594565b165f908152600260205260409020546001600160a01b0316156116195760019061160f906001600160a01b036115f961133d888888613594565b165f526002602052600360405f20015490612411565b9301929190611595565b61162761133d858585613594565b633bdb61c960e01b5f9081526001600160a01b0391909116600452602490fd5b346103f85760203660031901126103f857602061166a6116656121c9565b61354c565b6040519015158152f35b346103f85760403660031901126103f85761168d6121c9565b6024356001600160401b0381116103f8576116ac9036906004016123e1565b6001600160a01b039283165f81815260026020526040902080549194909391161561182f5760018301546001600160a01b0316330361100c57835f52600360205260405f208054905f815581611770575b50505f5b82811061174d5760028401805467ffffffffffffffff1916426001600160401b0316179055847fccd73d5c00c933c14ae40184aa6331bed6477c7a0522553a55311aad2ad8784b5f80a2005b600190855f52600360205261176a60405f20610a12838787612ea7565b01611701565b6001600160fe1b0382168203610fc1575f5260205f209060021b8101905b818110156116fd5761179f81612e59565b600181018054905f8155816117cc575b5050805f600260049301556117c660038201612e59565b0161178e565b81600702916007830403610fc1575f5260205f20908101905b818110156117af57806117f9600792612e59565b5f600182015561180b60028201612e59565b61181760038201612e59565b5f60048201555f60058201555f6006820155016117e5565b83633bdb61c960e01b5f5260045260245ffd5b346103f85760603660031901126103f85761185b6121c9565b6044356001600160401b0381116103f857806004019161010060031983360301126103f85760015f5461189160ff821615612db8565b60ff1916175f9081556001600160a01b039182168082526002602052604090912080549193909290911615611f3d5760018201546001600160a01b0316330361100c576118dd84613639565b6024356003830155600582016118f38580612e04565b906001600160401b0382116103d25761190c8354612ce2565b601f8111611f0d575b505f90601f8311600114611ea95761194392915f9183611bb75750508160011b915f199060031b1c19161790565b90555b600682016119576024830186612e04565b906001600160401b0382116103d2576119708354612ce2565b601f8111611e79575b505f90601f8311600114611e15576119a792915f9183611bb75750508160011b915f199060031b1c19161790565b90555b600782016119bb6044830186612e04565b906001600160401b0382116103d2576119d48354612ce2565b601f8111611de5575b505f90601f8311600114611d8157611a0b92915f9183611bb75750508160011b915f199060031b1c19161790565b90555b60088201611a1f6064830186612e04565b906001600160401b0382116103d257611a388354612ce2565b601f8111611d51575b505f90601f8311600114611ced57611a6f92915f9183611bb75750508160011b915f199060031b1c19161790565b90555b60098201611a836084830186612e04565b906001600160401b0382116103d257611a9c8354612ce2565b601f8111611cbd575b505f90601f8311600114611c5957611ad392915f9183611bb75750508160011b915f199060031b1c19161790565b90555b611ae8600a83019460a4830190612e04565b94906001600160401b0386116103d257611b028254612ce2565b601f8111611c29575b505f90601f8711600114611bc2579580611b3d92600297985f92611bb75750508160011b915f199060031b1c19161790565b90555b611b5960e4600b8401926108ad61089b60c48301612e4c565b815461ff00191690151560081b61ff001617905501805467ffffffffffffffff1916426001600160401b03161790557fccd73d5c00c933c14ae40184aa6331bed6477c7a0522553a55311aad2ad8784b5f80a25f805460ff19169055005b013590508880610676565b601f19871691835f5260205f20925f5b818110611c1157509160019391896002999a9410611bf8575b505050811b019055611b40565b01355f19600384901b60f8161c19169055878080611beb565b91936020600181928787013581550195019201611bd2565b611c5390835f5260205f20601f890160051c81019160208a10610ba757601f0160051c0190612e36565b86611b0b565b601f19831691845f5260205f20925f5b818110611ca55750908460019594939210611c8c575b505050811b019055611ad6565b01355f19600384901b60f8161c19169055878080611c7f565b91936020600181928787013581550195019201611c69565b611ce790845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b87611aa5565b601f19831691845f5260205f20925f5b818110611d395750908460019594939210611d20575b505050811b019055611a72565b01355f19600384901b60f8161c19169055878080611d13565b91936020600181928787013581550195019201611cfd565b611d7b90845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b87611a41565b601f19831691845f5260205f20925f5b818110611dcd5750908460019594939210611db4575b505050811b019055611a0e565b01355f19600384901b60f8161c19169055878080611da7565b91936020600181928787013581550195019201611d91565b611e0f90845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b876119dd565b601f19831691845f5260205f20925f5b818110611e615750908460019594939210611e48575b505050811b0190556119aa565b01355f19600384901b60f8161c19169055878080611e3b565b91936020600181928787013581550195019201611e25565b611ea390845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b87611979565b601f19831691845f5260205f20925f5b818110611ef55750908460019594939210611edc575b505050811b019055611946565b01355f19600384901b60f8161c19169055878080611ecf565b91936020600181928787013581550195019201611eb9565b611f3790845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b87611915565b82633bdb61c960e01b5f5260045260245ffd5b346103f85760403660031901126103f85760043563ffffffff81168091036103f857611f7f6024359182612411565b9060045491828111612117575b611f96828261241e565b611f9f8161250e565b925f5b828110611fd557505050611fc492604051938493606085526060850190612389565b918060208501521060408301520390f35b80611fea611fe560019385612411565b6121df565b838060a01b0391549060031b1c165f52600260205260405f20604051906120108261242b565b838060a01b0381541682526001600160401b0384820154858060a01b038116602085015260a01c1660408301526001600160401b0360028201541660608301526003810154608083015261206660048201612571565b60a083015260ff600b6040519261207c84612446565b61208860058201612d1a565b845261209660068201612d1a565b60208501526120a760078201612d1a565b60408501526120b860088201612d1a565b60608501526120c960098201612d1a565b60808501526120da600a8201612d1a565b60a08501520154818116151560c084015260081c16151560e082015260c0820152612105828861255d565b52612110818761255d565b5001611fa2565b5081611f8c565b346103f85760203660031901126103f8576004356004548110156103f8576121476020916121df565b905460405160039290921b1c6001600160a01b03168152f35b346103f85760203660031901126103f8576001600160a01b036121816121c9565b165f818152600260205260409020549091906001600160a01b0316156121b6576020915f5260028252600360405f2001548152f35b50633bdb61c960e01b5f5260045260245ffd5b600435906001600160a01b03821682036103f857565b6004548110156121f75760045f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b600581101561029f57600452565b90600582101561029f5752565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60e082019060018060a01b03815116835260018060a01b0360208201511660208401526001600160401b0360408201511660408401526001600160401b0360608201511660608401526080810151608084015260a08101519160e060a08501528251809152602061010085019301905f5b81811061236a5750505060c001519160c081830391015260e08061235361234161232f61231d61230b6122f989516101008a526101008a0190612226565b60208a015189820360208b0152612226565b604089015188820360408a0152612226565b60608801518782036060890152612226565b60808701518682036080880152612226565b60a086015185820360a0870152612226565b9360c0810151151560c08501520151151591015290565b9091936020808261237e6001948951612219565b0195019291016122bb565b9080602083519182815201916020808360051b8301019401925f915b8383106123b457505050505090565b90919293946020806123d2600193601f19868203018752895161224a565b970193019301919392906123a5565b9181601f840112156103f8578235916001600160401b0383116103f8576020808501948460051b0101116103f857565b91908201809211610fc157565b91908203918211610fc157565b60e081019081106001600160401b038211176103d257604052565b61010081019081106001600160401b038211176103d257604052565b90601f801991011681019081106001600160401b038211176103d257604052565b6001600160401b0381116103d25760051b60200190565b604051906124a78261242b565b815f81525f60208201525f60408201525f60608201525f6080820152606060a082015260c0604051916124d983612446565b60608352606060208401526060604084015260608084015260606080840152606060a08401525f828401525f60e08401520152565b9061251882612483565b6125256040519182612462565b8281528092612536601f1991612483565b01905f5b82811061254657505050565b60209061255161249a565b8282850101520161253a565b80518210156121f75760209160051b010190565b90604051918281549182825260208201905f5260205f20925f905b80601f830110612a59576126a2945491818110612a3e575b818110612a20575b818110612a02575b8181106129e4575b8181106129c7575b8181106129a9575b81811061298b575b81811061296d575b81811061294f575b818110612931575b818110612913575b8181106128f5575b8181106128d7575b8181106128b9575b81811061289b575b81811061287d575b81811061285f575b818110612841575b818110612823575b818110612805575b8181106127e7575b8181106127c9575b8181106127ab575b81811061278d575b81811061276f575b818110612751575b818110612733575b818110612715575b8181106126f7575b8181106126d9575b8181106126bb575b106126a4575b500383612462565b565b906126b48160209360f81c612219565b015f61269a565b926020816126d160019360ff8760f01c16612219565b019301612694565b926020816126ef60019360ff8760e81c16612219565b01930161268c565b9260208161270d60019360ff8760e01c16612219565b019301612684565b9260208161272b60019360ff8760d81c16612219565b01930161267c565b9260208161274960019360ff8760d01c16612219565b019301612674565b9260208161276760019360ff8760c81c16612219565b01930161266c565b9260208161278560019360ff8760c01c16612219565b019301612664565b926020816127a360019360ff8760b81c16612219565b01930161265c565b926020816127c160019360ff8760b01c16612219565b019301612654565b926020816127df60019360ff8760a81c16612219565b01930161264c565b926020816127fd60019360ff8760a01c16612219565b019301612644565b9260208161281b60019360ff8760981c16612219565b01930161263c565b9260208161283960019360ff8760901c16612219565b019301612634565b9260208161285760019360ff8760881c16612219565b01930161262c565b9260208161287560019360ff8760801c16612219565b019301612624565b9260208161289360019360ff8760781c16612219565b01930161261c565b926020816128b160019360ff8760701c16612219565b019301612614565b926020816128cf60019360ff8760681c16612219565b01930161260c565b926020816128ed60019360ff8760601c16612219565b019301612604565b9260208161290b60019360ff8760581c16612219565b0193016125fc565b9260208161292960019360ff8760501c16612219565b0193016125f4565b9260208161294760019360ff8760481c16612219565b0193016125ec565b9260208161296560019360ff8760401c16612219565b0193016125e4565b9260208161298360019360ff8760381c16612219565b0193016125dc565b926020816129a160019360ff8760301c16612219565b0193016125d4565b926020816129bf60019360ff8760281c16612219565b0193016125cc565b926020816129dc60019360ff87851c16612219565b0193016125c4565b926020816129fa60019360ff8760181c16612219565b0193016125bc565b92602081612a1860019360ff8760101c16612219565b0193016125b4565b92602081612a3660019360ff8760081c16612219565b0193016125ac565b92602081612a5160019360ff8716612219565b0193016125a4565b916020919350610400600191612cd48754612a778360ff8316612219565b612a8986840160ff8360081c16612219565b612a9c6040840160ff8360101c16612219565b612aaf6060840160ff8360181c16612219565b612ac16080840160ff83891c16612219565b612ad460a0840160ff8360281c16612219565b612ae760c0840160ff8360301c16612219565b612afa60e0840160ff8360381c16612219565b612b0e610100840160ff8360401c16612219565b612b22610120840160ff8360481c16612219565b612b36610140840160ff8360501c16612219565b612b4a610160840160ff8360581c16612219565b612b5e610180840160ff8360601c16612219565b612b726101a0840160ff8360681c16612219565b612b866101c0840160ff8360701c16612219565b612b9a6101e0840160ff8360781c16612219565b612bae610200840160ff8360801c16612219565b612bc2610220840160ff8360881c16612219565b612bd6610240840160ff8360901c16612219565b612bea610260840160ff8360981c16612219565b612bfe610280840160ff8360a01c16612219565b612c126102a0840160ff8360a81c16612219565b612c266102c0840160ff8360b01c16612219565b612c3a6102e0840160ff8360b81c16612219565b612c4e610300840160ff8360c01c16612219565b612c62610320840160ff8360c81c16612219565b612c76610340840160ff8360d01c16612219565b612c8a610360840160ff8360d81c16612219565b612c9e610380840160ff8360e01c16612219565b612cb26103a0840160ff8360e81c16612219565b612cc66103c0840160ff8360f01c16612219565b6103e083019060f81c612219565b01940192018592939161258c565b90600182811c92168015612d10575b6020831014612cfc57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612cf1565b9060405191825f825492612d2d84612ce2565b8084529360018116908115612d965750600114612d52575b506126a292500383612462565b90505f9291925260205f20905f915b818310612d7a5750509060206126a2928201015f612d45565b6020919350806001915483858901015201910190918492612d61565b9050602092506126a294915060ff191682840152151560051b8201015f612d45565b15612dbf57565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b903590601e19813603018212156103f857018035906001600160401b0382116103f8576020019181360383136103f857565b818110612e41575050565b5f8155600101612e36565b3580151581036103f85790565b612e638154612ce2565b9081612e6d575050565b81601f5f9311600114612e7e575055565b81835260208320612e9a91601f0160051c810190600101612e36565b8082528160208120915555565b91908110156121f75760051b81013590607e19813603018212156103f8570190565b805490600160401b8210156103d257600182018082558210156121f7575f5260205f209060021b0191612efc8280612e04565b6001600160401b0381959295116103d257612f178254612ce2565b601f811161351c575b505f601f82116001146134b9578190612f50939495965f9261303a5750508160011b915f199060031b1c19161790565b81555b600181016020840135601e19853603018112156103f857840180356001600160401b0381116103f857602082018160051b360381136103f857600160401b82116103d2578354828555808310613441575b505f938452602084209391923681900360fe1901915b8484106130d4575050505050506003612fe3916040850135600282015501926060810190612e04565b6001600160401b0381949294116103d257612ffe8254612ce2565b601f81116130a4575b505f601f82116001146130455781906130369394955f9261303a5750508160011b915f199060031b1c19161790565b9055565b013590505f80610676565b601f19821694835f5260205f20915f5b87811061308c575083600195969710613073575b505050811b019055565b01355f19600384901b60f8161c191690555f8080613069565b90926020600181928686013581550194019101613055565b6130ce90835f5260205f20601f840160051c81019160208510610ba757601f0160051c0190612e36565b5f613007565b8035838112156103f8578201602081016130ee8180612e04565b906001600160401b0382116103d2576131078a54612ce2565b601f8111613411575b505f90601f83116001146133ad5761313e92915f918361303a5750508160011b915f199060031b1c19161790565b88555b60018801604083013560038110156103f85760ff80198354169116179055600288016131706060840183612e04565b906001600160401b0382116103d2576131898354612ce2565b601f811161337d575b505f90601f8311600114613319576131c092915f918361303a5750508160011b915f199060031b1c19161790565b90555b6131d560038901916080840190612e04565b906001600160401b0382116103d2576131ee8354612ce2565b601f81116132e9575b505f90601f83116001146132755760e06007956020956132378660019a9761326997613254975f9261303a5750508160011b915f199060031b1c19161790565b90555b60a081013560048e015560c081013560058e015501612e4c565b60068b019060ff801983541691151516179055565b01960193019294612fba565b601f19831691845f5260205f20925f5b8181106132d1575095602095600186613269966132549660e096849d9a60079d106132b8575b505050811b01905561323a565b01355f19600384901b60f8161c191690555f80806132ab565b91936020600181928787013581550195019201613285565b61331390845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b5f6131f7565b601f19831691845f5260205f20925f5b818110613365575090846001959493921061334c575b505050811b0190556131c3565b01355f19600384901b60f8161c191690555f808061333f565b91936020600181928787013581550195019201613329565b6133a790845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b5f613192565b601f198316918b5f5260205f20925f5b8181106133f957509084600195949392106133e0575b505050811b018855613141565b01355f19600384901b60f8161c191690555f80806133d3565b919360206001819287870135815501950192016133bd565b61343b908b5f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b5f613110565b80600702906007820403610fc15782600702600781048403610fc157855f5260205f2091820191015b8181106134775750612fa4565b80613483600792612e59565b5f600182015561349560028201612e59565b6134a160038201612e59565b5f60048201555f60058201555f60068201550161346a565b601f19821695835f5260205f20915f5b888110613504575083600195969798106134eb575b505050811b018155612f53565b01355f19600384901b60f8161c191690555f80806134de565b909260206001819286860135815501940191016134c9565b61354690835f5260205f20601f840160051c81019160208510610ba757601f0160051c0190612e36565b5f612f20565b6001600160a01b03165f8181526002602052604090206001015460a01c6001600160401b03161561358f575f52600260205260ff600b60405f20015460081c1690565b505f90565b91908110156121f75760051b0190565b356001600160a01b03811681036103f85790565b6001600160a01b03168015613606575f52600160205260405f20547f00000000000000000000000000000000000000000000000000000000000000008082115f14613601575090565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b5f198114610fc15760010190565b6136438180612e04565b9050156137575760036136568280612e04565b9050106137395760646136698280612e04565b90501161371b576020810161367e8183612e04565b90501561370c57600a6136918284612e04565b9050106136ef5760966136a48284612e04565b9050116136d257508060606136ba920190612e04565b9050156136c357565b630590f92760e21b5f5260045ffd5b6136db91612e04565b905063e8cbcae160e01b5f5260045260245ffd5b6136f891612e04565b9050632eeb453960e11b5f5260045260245ffd5b63180f3baf60e21b5f5260045ffd5b8061372591612e04565b90506301b2172960e71b5f5260045260245ffd5b8061374391612e04565b9050633fa85ca560e11b5f5260045260245ffd5b6315925f1f60e21b5f5260045ffd5b5f80808093815af13d156137bb573d6001600160401b0381116103d2576040519061379b601f8201601f191660200183612462565b81525f60203d92013e5b156137ac57565b6312171d8360e31b5f5260045ffd5b6137a5565b5f918291829182916001600160a01b03165af13d156137bb573d6001600160401b0381116103d2576040519061379b601f8201601f19166020018361246256fea2646970667358221220291ff5d814f5f012d0eb1d4abf7382522ed1f4262d8727efe443aede4fa292c764736f6c634300081c0033",
1021
+ "deployedBytecode": "0x6080806040526004361015610012575f80fd5b5f3560e01c9081631a0ea5b614612160575080632071a2d21461211e57806345296b3814611f50578063532efe051461184257806355344713146116745780635c77f839146116475780639124b8af14611560578063a62611a214611526578063b88c9148146114fb578063d391420d146112c2578063d4c4b40214611220578063da1ea50e146110c5578063e1a267e51461108b578063f3f0e07b1461045c578063f81a95db146103fc5763fdf3c55a146100cc575f80fd5b346103f85760203660031901126103f8576001600160a01b036100ed6121c9565b165f818152600260205260409020546001600160a01b0316156103e6575f52600360205260405f2080549061012182612483565b9161012f6040519384612462565b808352602083019081925f5260205f205f925b8284106102b35785856040519060208201926020835251809352604082019260408160051b84010191905f5b81811061017b5784840385f35b909192603f1985820301865283519061019d8251608083526080830190612226565b916020810151928281036020840152835180825260208201906020808260051b8501019601925f905b8282106102085750505050506101f960019360209360608460408796015160408401520151906060818403910152612226565b9501960191019491909461016e565b9091929396601f19828203018552875161022b815160e0845260e0840190612226565b90602081015190600382101561029f578360c08061027461026260209788978860019b015260408701518682036040880152612226565b60608601518582036060870152612226565b936080810151608085015260a081015160a085015201511515910152990195019201909291926101c6565b634e487b7160e01b5f52602160045260245ffd5b604051608081018181106001600160401b038211176103d2576040526102d883612d1a565b8152600183018054906102ea82612483565b916102f86040519384612462565b80835260208301915f5260205f205f925b82841061034a5750505050600192826020928360049501526002860154604082015261033760038701612d1a565b6060820152815201920193019290610142565b6040516103568161242b565b61035f83612d1a565b815260ff600184015416600381101561029f576001928260209283600795015261038b60028701612d1a565b604082015261039c60038701612d1a565b606082015260048601546080820152600586015460a082015260ff600687015416151560c0820152815201920193019290610309565b634e487b7160e01b5f52604160045260245ffd5b633bdb61c960e01b5f5260045260245ffd5b5f80fd5b346103f85760203660031901126103f8576004357f000000000000000000000000000000000000000000000000000000000000000080821061044a5750335f52600160205260405f20555f80f35b634eda71b160e11b5f5260045260245ffd5b60c03660031901126103f8576104706121c9565b6024356001600160401b0381116103f85761048f9036906004016123e1565b90606435906001600160401b0382116103f8578160040161010060031984360301126103f8576084356001600160401b0381116103f8576104d49036906004016123e1565b93909260a4359560018060a01b0387168097036103f85760015f546104fc60ff821615612db8565b60ff1916175f556001600160a01b03881697881561107c573b1561107c575f888152600260205260409020546001600160a01b031661106957604051636de870db60e11b8152926020846004818c5afa93841561105e575f9461101a575b50336001600160a01b0385160361100c5761057485613639565b8115610ffd575f5b828110610f20575087159788610f1a57805f52600160205260405f20545b7f000000000000000000000000000000000000000000000000000000000000000080821115610f125750985b893410610efb5715610ea057506105dc88613766565b885f52600260205260405f2094896bffffffffffffffffffffffff60a01b875416178655600186019460018060a01b03166bffffffffffffffffffffffff60a01b8654161785556044356003870155600586016106398280612e04565b906001600160401b0382116103d2576106528354612ce2565b601f8111610e70575b505f90601f8311600114610e0c5761068a92915f9183610bb1575b50508160011b915f199060031b1c19161790565b90555b6006860161069e6024840183612e04565b906001600160401b0382116103d2576106b78354612ce2565b601f8111610ddc575b505f90601f8311600114610d78576106ee92915f9183610bb15750508160011b915f199060031b1c19161790565b90555b600786016107026044840183612e04565b906001600160401b0382116103d25761071b8354612ce2565b601f8111610d48575b505f90601f8311600114610ce45761075292915f9183610bb15750508160011b915f199060031b1c19161790565b90555b600886016107666064840183612e04565b906001600160401b0382116103d25761077f8354612ce2565b601f8111610cb4575b505f90601f8311600114610c50576107b692915f9183610bb15750508160011b915f199060031b1c19161790565b90555b600986016107ca6084840183612e04565b906001600160401b0382116103d2576107e38354612ce2565b601f8111610c20575b505f90601f8311600114610bbc5761081a92915f9183610bb15750508160011b915f199060031b1c19161790565b90555b61082f600a87019160a4840190612e04565b906001600160401b0382116103d2576108488354612ce2565b601f8111610b76575b505f90601f8311600114610b125761087f92915f9183610b075750508160011b915f199060031b1c19161790565b90555b6108b360e4600b8701926108ad61089b60c48301612e4c565b859060ff801983541691151516179055565b01612e4c565b815461ff00191690151560081b61ff001617905560048401916001600160401b0382116103d257600160401b82116103d2578254828455808310610abb575b50915f5260205f208160051c915f5b838110610a6f5750601f198116900380610a1e575b505050509081600292546001600160401b0360a01b4260a01b16906001600160401b0360a01b1916179055016001600160401b03804216166001600160401b03198254161790555f5b8281106109f557505050600454600160401b8110156103d25780600161098892016004556121df565b81546001600160a01b0360039290921b91821b19169084901b1790553481106109dc575b507fe23b4bee3dd66029c0d9f4e9e65c3a106e886bbe10a46b27780762327eec62455f80a25f805460ff19169055005b6109e96109ef913461241e565b336137c0565b816109ac565b600190855f526003602052610a1860405f20610a12838787612ea7565b90612ec9565b0161095f565b925f935f5b818110610a395750505001556002878080610916565b909194853560058110156103f857610a65602091846001949060ff809160031b9316831b921b19161790565b9601929101610a23565b5f5f5b60208110610a87575083820155600101610901565b9590813560058110156103f857610ab2602091896001949060ff809160031b9316831b921b19161790565b92019601610a72565b610ae690845f5260205f20601f80860160051c82019281871680610aec575b500160051c0190612e36565b896108f2565b5f198501908154905f199060200360031b1c1690558e610ada565b013590508d80610676565b601f19831691845f5260205f20925f5b818110610b5e5750908460019594939210610b45575b505050811b019055610882565b01355f19600384901b60f8161c191690558c8080610b38565b91936020600181928787013581550195019201610b22565b610ba190845f5260205f20601f850160051c81019160208610610ba7575b601f0160051c0190612e36565b8c610851565b9091508190610b94565b013590508e80610676565b601f19831691845f5260205f20925f5b818110610c085750908460019594939210610bef575b505050811b01905561081d565b01355f19600384901b60f8161c191690558d8080610be2565b91936020600181928787013581550195019201610bcc565b610c4a90845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b8d6107ec565b601f19831691845f5260205f20925f5b818110610c9c5750908460019594939210610c83575b505050811b0190556107b9565b01355f19600384901b60f8161c191690558d8080610c76565b91936020600181928787013581550195019201610c60565b610cde90845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b8d610788565b601f19831691845f5260205f20925f5b818110610d305750908460019594939210610d17575b505050811b019055610755565b01355f19600384901b60f8161c191690558d8080610d0a565b91936020600181928787013581550195019201610cf4565b610d7290845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b8d610724565b601f19831691845f5260205f20925f5b818110610dc45750908460019594939210610dab575b505050811b0190556106f1565b01355f19600384901b60f8161c191690558d8080610d9e565b91936020600181928787013581550195019201610d88565b610e0690845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b8d6106c0565b601f19831691845f5260205f20925f5b818110610e585750908460019594939210610e3f575b505050811b01905561068d565b01355f19600384901b60f8161c191690558d8080610e32565b91936020600181928787013581550195019201610e1c565b610e9a90845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b8d61065b565b610ed07f000000000000000000000000000000000000000000000000000000000000000080610eed575b8a61241e565b80610edd575b50506105dc565b610ee6916137c0565b8980610ed6565b610ef681613766565b610eca565b8963a458261b60e01b5f526004523460245260445ffd5b9050986105c6565b5f61059a565b610f2b818486613594565b3560058110156103f85760ff6004911611610fd55760018101808211610fc1575b838110610f5c575060010161057c565b610f67828587613594565b3560058110156103f857610f7c828688613594565b359060058210156103f85714610f9457600101610f4c565b610f9f828587613594565b3560058110156103f8576306ca20fd60e51b5f52610fbc9061220b565b60245ffd5b634e487b7160e01b5f52601160045260245ffd5b610fe0908385613594565b3560058110156103f857633a20350360e11b5f52610fbc9061220b565b6377451ae960e01b5f5260045ffd5b6282b42960e81b5f5260045ffd5b9093506020813d602011611056575b8161103660209383612462565b810103126103f857516001600160a01b03811681036103f857928961055a565b3d9150611029565b6040513d5f823e3d90fd5b87636b03e38760e01b5f5260045260245ffd5b63a710429d60e01b5f5260045ffd5b346103f8575f3660031901126103f85760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346103f85760203660031901126103f8576110de6121c9565b6110e661249a565b506001600160a01b039081165f81815260026020526040902054909116156103e6575f52600260205261121c60405f20604051906111238261242b565b80546001600160a01b0390811683526001820154908116602084015260a01c6001600160401b03908116604084015260028201541660608301526003810154608083015261117360048201612571565b60a083015260ff600b6040519261118984612446565b61119560058201612d1a565b84526111a360068201612d1a565b60208501526111b460078201612d1a565b60408501526111c560088201612d1a565b60608501526111d660098201612d1a565b60808501526111e7600a8201612d1a565b60a08501520154818116151560c084015260081c16151560e082015260c082015260405191829160208352602083019061224a565b0390f35b346103f85760203660031901126103f8576001600160a01b036112416121c9565b165f818152600260205260409020546001600160a01b0316156103e6575f526002602052611274600460405f2001612571565b6040518091602082016020835281518091526020604084019201905f5b81811061129f575050500390f35b91935091602080826112b46001948851612219565b019401910191849392611291565b346103f85760203660031901126103f8576004356001600160401b0381116103f8576112f29036906004016123e1565b5f5f5b8281106114ac57506113069061250e565b915f5f5b838110611327576040516020808252819061121c90820188612389565b6001600160a01b0361134261133d838787613594565b6135a4565b165f908152600260205260409020546001600160a01b0316611367575b60010161130a565b906001906114a4906001600160a01b0361138561133d868989613594565b165f52600260205260405f206040519061139e8261242b565b848060a01b0381541682526001600160401b0385820154868060a01b038116602085015260a01c1660408301526001600160401b036002820154166060830152600381015460808301526113f460048201612571565b60a083015260ff600b6040519261140a84612446565b61141660058201612d1a565b845261142460068201612d1a565b602085015261143560078201612d1a565b604085015261144660088201612d1a565b606085015261145760098201612d1a565b6080850152611468600a8201612d1a565b60a08501520154818116151560c084015260081c16151560e082015260c0820152611493828961255d565b5261149e818861255d565b5061362b565b91905061135f565b6001600160a01b036114c261133d838688613594565b165f908152600260205260409020546001600160a01b03166114e7575b6001016112f5565b906114f360019161362b565b9190506114df565b346103f85760203660031901126103f857602061151e6115196121c9565b6135b8565b604051908152f35b346103f8575f3660031901126103f85760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346103f85760203660031901126103f8576004356001600160401b0381116103f8576115909036906004016123e1565b5f905f925b8184106115a757602083604051908152f35b90916001600160a01b036115bf61133d868686613594565b165f908152600260205260409020546001600160a01b0316156116195760019061160f906001600160a01b036115f961133d888888613594565b165f526002602052600360405f20015490612411565b9301929190611595565b61162761133d858585613594565b633bdb61c960e01b5f9081526001600160a01b0391909116600452602490fd5b346103f85760203660031901126103f857602061166a6116656121c9565b61354c565b6040519015158152f35b346103f85760403660031901126103f85761168d6121c9565b6024356001600160401b0381116103f8576116ac9036906004016123e1565b6001600160a01b039283165f81815260026020526040902080549194909391161561182f5760018301546001600160a01b0316330361100c57835f52600360205260405f208054905f815581611770575b50505f5b82811061174d5760028401805467ffffffffffffffff1916426001600160401b0316179055847fccd73d5c00c933c14ae40184aa6331bed6477c7a0522553a55311aad2ad8784b5f80a2005b600190855f52600360205261176a60405f20610a12838787612ea7565b01611701565b6001600160fe1b0382168203610fc1575f5260205f209060021b8101905b818110156116fd5761179f81612e59565b600181018054905f8155816117cc575b5050805f600260049301556117c660038201612e59565b0161178e565b81600702916007830403610fc1575f5260205f20908101905b818110156117af57806117f9600792612e59565b5f600182015561180b60028201612e59565b61181760038201612e59565b5f60048201555f60058201555f6006820155016117e5565b83633bdb61c960e01b5f5260045260245ffd5b346103f85760603660031901126103f85761185b6121c9565b6044356001600160401b0381116103f857806004019161010060031983360301126103f85760015f5461189160ff821615612db8565b60ff1916175f9081556001600160a01b039182168082526002602052604090912080549193909290911615611f3d5760018201546001600160a01b0316330361100c576118dd84613639565b6024356003830155600582016118f38580612e04565b906001600160401b0382116103d25761190c8354612ce2565b601f8111611f0d575b505f90601f8311600114611ea95761194392915f9183611bb75750508160011b915f199060031b1c19161790565b90555b600682016119576024830186612e04565b906001600160401b0382116103d2576119708354612ce2565b601f8111611e79575b505f90601f8311600114611e15576119a792915f9183611bb75750508160011b915f199060031b1c19161790565b90555b600782016119bb6044830186612e04565b906001600160401b0382116103d2576119d48354612ce2565b601f8111611de5575b505f90601f8311600114611d8157611a0b92915f9183611bb75750508160011b915f199060031b1c19161790565b90555b60088201611a1f6064830186612e04565b906001600160401b0382116103d257611a388354612ce2565b601f8111611d51575b505f90601f8311600114611ced57611a6f92915f9183611bb75750508160011b915f199060031b1c19161790565b90555b60098201611a836084830186612e04565b906001600160401b0382116103d257611a9c8354612ce2565b601f8111611cbd575b505f90601f8311600114611c5957611ad392915f9183611bb75750508160011b915f199060031b1c19161790565b90555b611ae8600a83019460a4830190612e04565b94906001600160401b0386116103d257611b028254612ce2565b601f8111611c29575b505f90601f8711600114611bc2579580611b3d92600297985f92611bb75750508160011b915f199060031b1c19161790565b90555b611b5960e4600b8401926108ad61089b60c48301612e4c565b815461ff00191690151560081b61ff001617905501805467ffffffffffffffff1916426001600160401b03161790557fccd73d5c00c933c14ae40184aa6331bed6477c7a0522553a55311aad2ad8784b5f80a25f805460ff19169055005b013590508880610676565b601f19871691835f5260205f20925f5b818110611c1157509160019391896002999a9410611bf8575b505050811b019055611b40565b01355f19600384901b60f8161c19169055878080611beb565b91936020600181928787013581550195019201611bd2565b611c5390835f5260205f20601f890160051c81019160208a10610ba757601f0160051c0190612e36565b86611b0b565b601f19831691845f5260205f20925f5b818110611ca55750908460019594939210611c8c575b505050811b019055611ad6565b01355f19600384901b60f8161c19169055878080611c7f565b91936020600181928787013581550195019201611c69565b611ce790845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b87611aa5565b601f19831691845f5260205f20925f5b818110611d395750908460019594939210611d20575b505050811b019055611a72565b01355f19600384901b60f8161c19169055878080611d13565b91936020600181928787013581550195019201611cfd565b611d7b90845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b87611a41565b601f19831691845f5260205f20925f5b818110611dcd5750908460019594939210611db4575b505050811b019055611a0e565b01355f19600384901b60f8161c19169055878080611da7565b91936020600181928787013581550195019201611d91565b611e0f90845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b876119dd565b601f19831691845f5260205f20925f5b818110611e615750908460019594939210611e48575b505050811b0190556119aa565b01355f19600384901b60f8161c19169055878080611e3b565b91936020600181928787013581550195019201611e25565b611ea390845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b87611979565b601f19831691845f5260205f20925f5b818110611ef55750908460019594939210611edc575b505050811b019055611946565b01355f19600384901b60f8161c19169055878080611ecf565b91936020600181928787013581550195019201611eb9565b611f3790845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b87611915565b82633bdb61c960e01b5f5260045260245ffd5b346103f85760403660031901126103f85760043563ffffffff81168091036103f857611f7f6024359182612411565b9060045491828111612117575b611f96828261241e565b611f9f8161250e565b925f5b828110611fd557505050611fc492604051938493606085526060850190612389565b918060208501521060408301520390f35b80611fea611fe560019385612411565b6121df565b838060a01b0391549060031b1c165f52600260205260405f20604051906120108261242b565b838060a01b0381541682526001600160401b0384820154858060a01b038116602085015260a01c1660408301526001600160401b0360028201541660608301526003810154608083015261206660048201612571565b60a083015260ff600b6040519261207c84612446565b61208860058201612d1a565b845261209660068201612d1a565b60208501526120a760078201612d1a565b60408501526120b860088201612d1a565b60608501526120c960098201612d1a565b60808501526120da600a8201612d1a565b60a08501520154818116151560c084015260081c16151560e082015260c0820152612105828861255d565b52612110818761255d565b5001611fa2565b5081611f8c565b346103f85760203660031901126103f8576004356004548110156103f8576121476020916121df565b905460405160039290921b1c6001600160a01b03168152f35b346103f85760203660031901126103f8576001600160a01b036121816121c9565b165f818152600260205260409020549091906001600160a01b0316156121b6576020915f5260028252600360405f2001548152f35b50633bdb61c960e01b5f5260045260245ffd5b600435906001600160a01b03821682036103f857565b6004548110156121f75760045f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b600581101561029f57600452565b90600582101561029f5752565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60e082019060018060a01b03815116835260018060a01b0360208201511660208401526001600160401b0360408201511660408401526001600160401b0360608201511660608401526080810151608084015260a08101519160e060a08501528251809152602061010085019301905f5b81811061236a5750505060c001519160c081830391015260e08061235361234161232f61231d61230b6122f989516101008a526101008a0190612226565b60208a015189820360208b0152612226565b604089015188820360408a0152612226565b60608801518782036060890152612226565b60808701518682036080880152612226565b60a086015185820360a0870152612226565b9360c0810151151560c08501520151151591015290565b9091936020808261237e6001948951612219565b0195019291016122bb565b9080602083519182815201916020808360051b8301019401925f915b8383106123b457505050505090565b90919293946020806123d2600193601f19868203018752895161224a565b970193019301919392906123a5565b9181601f840112156103f8578235916001600160401b0383116103f8576020808501948460051b0101116103f857565b91908201809211610fc157565b91908203918211610fc157565b60e081019081106001600160401b038211176103d257604052565b61010081019081106001600160401b038211176103d257604052565b90601f801991011681019081106001600160401b038211176103d257604052565b6001600160401b0381116103d25760051b60200190565b604051906124a78261242b565b815f81525f60208201525f60408201525f60608201525f6080820152606060a082015260c0604051916124d983612446565b60608352606060208401526060604084015260608084015260606080840152606060a08401525f828401525f60e08401520152565b9061251882612483565b6125256040519182612462565b8281528092612536601f1991612483565b01905f5b82811061254657505050565b60209061255161249a565b8282850101520161253a565b80518210156121f75760209160051b010190565b90604051918281549182825260208201905f5260205f20925f905b80601f830110612a59576126a2945491818110612a3e575b818110612a20575b818110612a02575b8181106129e4575b8181106129c7575b8181106129a9575b81811061298b575b81811061296d575b81811061294f575b818110612931575b818110612913575b8181106128f5575b8181106128d7575b8181106128b9575b81811061289b575b81811061287d575b81811061285f575b818110612841575b818110612823575b818110612805575b8181106127e7575b8181106127c9575b8181106127ab575b81811061278d575b81811061276f575b818110612751575b818110612733575b818110612715575b8181106126f7575b8181106126d9575b8181106126bb575b106126a4575b500383612462565b565b906126b48160209360f81c612219565b015f61269a565b926020816126d160019360ff8760f01c16612219565b019301612694565b926020816126ef60019360ff8760e81c16612219565b01930161268c565b9260208161270d60019360ff8760e01c16612219565b019301612684565b9260208161272b60019360ff8760d81c16612219565b01930161267c565b9260208161274960019360ff8760d01c16612219565b019301612674565b9260208161276760019360ff8760c81c16612219565b01930161266c565b9260208161278560019360ff8760c01c16612219565b019301612664565b926020816127a360019360ff8760b81c16612219565b01930161265c565b926020816127c160019360ff8760b01c16612219565b019301612654565b926020816127df60019360ff8760a81c16612219565b01930161264c565b926020816127fd60019360ff8760a01c16612219565b019301612644565b9260208161281b60019360ff8760981c16612219565b01930161263c565b9260208161283960019360ff8760901c16612219565b019301612634565b9260208161285760019360ff8760881c16612219565b01930161262c565b9260208161287560019360ff8760801c16612219565b019301612624565b9260208161289360019360ff8760781c16612219565b01930161261c565b926020816128b160019360ff8760701c16612219565b019301612614565b926020816128cf60019360ff8760681c16612219565b01930161260c565b926020816128ed60019360ff8760601c16612219565b019301612604565b9260208161290b60019360ff8760581c16612219565b0193016125fc565b9260208161292960019360ff8760501c16612219565b0193016125f4565b9260208161294760019360ff8760481c16612219565b0193016125ec565b9260208161296560019360ff8760401c16612219565b0193016125e4565b9260208161298360019360ff8760381c16612219565b0193016125dc565b926020816129a160019360ff8760301c16612219565b0193016125d4565b926020816129bf60019360ff8760281c16612219565b0193016125cc565b926020816129dc60019360ff87851c16612219565b0193016125c4565b926020816129fa60019360ff8760181c16612219565b0193016125bc565b92602081612a1860019360ff8760101c16612219565b0193016125b4565b92602081612a3660019360ff8760081c16612219565b0193016125ac565b92602081612a5160019360ff8716612219565b0193016125a4565b916020919350610400600191612cd48754612a778360ff8316612219565b612a8986840160ff8360081c16612219565b612a9c6040840160ff8360101c16612219565b612aaf6060840160ff8360181c16612219565b612ac16080840160ff83891c16612219565b612ad460a0840160ff8360281c16612219565b612ae760c0840160ff8360301c16612219565b612afa60e0840160ff8360381c16612219565b612b0e610100840160ff8360401c16612219565b612b22610120840160ff8360481c16612219565b612b36610140840160ff8360501c16612219565b612b4a610160840160ff8360581c16612219565b612b5e610180840160ff8360601c16612219565b612b726101a0840160ff8360681c16612219565b612b866101c0840160ff8360701c16612219565b612b9a6101e0840160ff8360781c16612219565b612bae610200840160ff8360801c16612219565b612bc2610220840160ff8360881c16612219565b612bd6610240840160ff8360901c16612219565b612bea610260840160ff8360981c16612219565b612bfe610280840160ff8360a01c16612219565b612c126102a0840160ff8360a81c16612219565b612c266102c0840160ff8360b01c16612219565b612c3a6102e0840160ff8360b81c16612219565b612c4e610300840160ff8360c01c16612219565b612c62610320840160ff8360c81c16612219565b612c76610340840160ff8360d01c16612219565b612c8a610360840160ff8360d81c16612219565b612c9e610380840160ff8360e01c16612219565b612cb26103a0840160ff8360e81c16612219565b612cc66103c0840160ff8360f01c16612219565b6103e083019060f81c612219565b01940192018592939161258c565b90600182811c92168015612d10575b6020831014612cfc57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612cf1565b9060405191825f825492612d2d84612ce2565b8084529360018116908115612d965750600114612d52575b506126a292500383612462565b90505f9291925260205f20905f915b818310612d7a5750509060206126a2928201015f612d45565b6020919350806001915483858901015201910190918492612d61565b9050602092506126a294915060ff191682840152151560051b8201015f612d45565b15612dbf57565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b903590601e19813603018212156103f857018035906001600160401b0382116103f8576020019181360383136103f857565b818110612e41575050565b5f8155600101612e36565b3580151581036103f85790565b612e638154612ce2565b9081612e6d575050565b81601f5f9311600114612e7e575055565b81835260208320612e9a91601f0160051c810190600101612e36565b8082528160208120915555565b91908110156121f75760051b81013590607e19813603018212156103f8570190565b805490600160401b8210156103d257600182018082558210156121f7575f5260205f209060021b0191612efc8280612e04565b6001600160401b0381959295116103d257612f178254612ce2565b601f811161351c575b505f601f82116001146134b9578190612f50939495965f9261303a5750508160011b915f199060031b1c19161790565b81555b600181016020840135601e19853603018112156103f857840180356001600160401b0381116103f857602082018160051b360381136103f857600160401b82116103d2578354828555808310613441575b505f938452602084209391923681900360fe1901915b8484106130d4575050505050506003612fe3916040850135600282015501926060810190612e04565b6001600160401b0381949294116103d257612ffe8254612ce2565b601f81116130a4575b505f601f82116001146130455781906130369394955f9261303a5750508160011b915f199060031b1c19161790565b9055565b013590505f80610676565b601f19821694835f5260205f20915f5b87811061308c575083600195969710613073575b505050811b019055565b01355f19600384901b60f8161c191690555f8080613069565b90926020600181928686013581550194019101613055565b6130ce90835f5260205f20601f840160051c81019160208510610ba757601f0160051c0190612e36565b5f613007565b8035838112156103f8578201602081016130ee8180612e04565b906001600160401b0382116103d2576131078a54612ce2565b601f8111613411575b505f90601f83116001146133ad5761313e92915f918361303a5750508160011b915f199060031b1c19161790565b88555b60018801604083013560038110156103f85760ff80198354169116179055600288016131706060840183612e04565b906001600160401b0382116103d2576131898354612ce2565b601f811161337d575b505f90601f8311600114613319576131c092915f918361303a5750508160011b915f199060031b1c19161790565b90555b6131d560038901916080840190612e04565b906001600160401b0382116103d2576131ee8354612ce2565b601f81116132e9575b505f90601f83116001146132755760e06007956020956132378660019a9761326997613254975f9261303a5750508160011b915f199060031b1c19161790565b90555b60a081013560048e015560c081013560058e015501612e4c565b60068b019060ff801983541691151516179055565b01960193019294612fba565b601f19831691845f5260205f20925f5b8181106132d1575095602095600186613269966132549660e096849d9a60079d106132b8575b505050811b01905561323a565b01355f19600384901b60f8161c191690555f80806132ab565b91936020600181928787013581550195019201613285565b61331390845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b5f6131f7565b601f19831691845f5260205f20925f5b818110613365575090846001959493921061334c575b505050811b0190556131c3565b01355f19600384901b60f8161c191690555f808061333f565b91936020600181928787013581550195019201613329565b6133a790845f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b5f613192565b601f198316918b5f5260205f20925f5b8181106133f957509084600195949392106133e0575b505050811b018855613141565b01355f19600384901b60f8161c191690555f80806133d3565b919360206001819287870135815501950192016133bd565b61343b908b5f5260205f20601f850160051c81019160208610610ba757601f0160051c0190612e36565b5f613110565b80600702906007820403610fc15782600702600781048403610fc157855f5260205f2091820191015b8181106134775750612fa4565b80613483600792612e59565b5f600182015561349560028201612e59565b6134a160038201612e59565b5f60048201555f60058201555f60068201550161346a565b601f19821695835f5260205f20915f5b888110613504575083600195969798106134eb575b505050811b018155612f53565b01355f19600384901b60f8161c191690555f80806134de565b909260206001819286860135815501940191016134c9565b61354690835f5260205f20601f840160051c81019160208510610ba757601f0160051c0190612e36565b5f612f20565b6001600160a01b03165f8181526002602052604090206001015460a01c6001600160401b03161561358f575f52600260205260ff600b60405f20015460081c1690565b505f90565b91908110156121f75760051b0190565b356001600160a01b03811681036103f85790565b6001600160a01b03168015613606575f52600160205260405f20547f00000000000000000000000000000000000000000000000000000000000000008082115f14613601575090565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b5f198114610fc15760010190565b6136438180612e04565b9050156137575760036136568280612e04565b9050106137395760646136698280612e04565b90501161371b576020810161367e8183612e04565b90501561370c57600a6136918284612e04565b9050106136ef5760966136a48284612e04565b9050116136d257508060606136ba920190612e04565b9050156136c357565b630590f92760e21b5f5260045ffd5b6136db91612e04565b905063e8cbcae160e01b5f5260045260245ffd5b6136f891612e04565b9050632eeb453960e11b5f5260045260245ffd5b63180f3baf60e21b5f5260045ffd5b8061372591612e04565b90506301b2172960e71b5f5260045260245ffd5b8061374391612e04565b9050633fa85ca560e11b5f5260045260245ffd5b6315925f1f60e21b5f5260045ffd5b5f80808093815af13d156137bb573d6001600160401b0381116103d2576040519061379b601f8201601f191660200183612462565b81525f60203d92013e5b156137ac57565b6312171d8360e31b5f5260045ffd5b6137a5565b5f918291829182916001600160a01b03165af13d156137bb573d6001600160401b0381116103d2576040519061379b601f8201601f19166020018361246256fea2646970667358221220291ff5d814f5f012d0eb1d4abf7382522ed1f4262d8727efe443aede4fa292c764736f6c634300081c0033",
1022
+ "linkReferences": {},
1023
+ "deployedLinkReferences": {},
1024
+ "immutableReferences": {
1025
+ "9542": [
1026
+ {
1027
+ "length": 32,
1028
+ "start": 1042
1029
+ },
1030
+ {
1031
+ "length": 32,
1032
+ "start": 1436
1033
+ },
1034
+ {
1035
+ "length": 32,
1036
+ "start": 5437
1037
+ },
1038
+ {
1039
+ "length": 32,
1040
+ "start": 13781
1041
+ },
1042
+ {
1043
+ "length": 32,
1044
+ "start": 13833
1045
+ }
1046
+ ],
1047
+ "9545": [
1048
+ {
1049
+ "length": 32,
1050
+ "start": 3749
1051
+ },
1052
+ {
1053
+ "length": 32,
1054
+ "start": 4258
1055
+ }
1056
+ ]
1057
+ },
1058
+ "inputSourceName": "project/contracts/market/ModMarket.sol",
1059
+ "buildInfoId": "solc-0_8_28-813de41d5af7a7078e25cb39688078cb60731cc6"
1060
+ }