-
Notifications
You must be signed in to change notification settings - Fork 196
Expand file tree
/
Copy pathERC20WithNativeTransfers.json
More file actions
813 lines (813 loc) · 51.4 KB
/
Copy pathERC20WithNativeTransfers.json
File metadata and controls
813 lines (813 loc) · 51.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
{
"_format": "hh-sol-artifact-1",
"contractName": "ERC20WithNativeTransfers",
"sourceName": "solidity/ERC20WithNativeTransfers.sol",
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "symbol",
"type": "string"
},
{
"internalType": "uint8",
"name": "decimals_",
"type": "uint8"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "BeforeTransferHookTriggered",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "available",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ContractBalanceCheck",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "DelegateCompleted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "step",
"type": "uint256"
}
],
"name": "NativeTransferCompleted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "previousAdminRole",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "newAdminRole",
"type": "bytes32"
}
],
"name": "RoleAdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleGranted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleRevoked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MINTER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "burnFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_recipient1",
"type": "address"
},
{
"internalType": "address",
"name": "_recipient2",
"type": "address"
},
{
"internalType": "uint256",
"name": "_transferAmount",
"type": "uint256"
},
{
"internalType": "address",
"name": "_validatorAddr",
"type": "address"
},
{
"internalType": "uint256",
"name": "_delegateAmount",
"type": "uint256"
},
{
"internalType": "bool",
"name": "_enableHook",
"type": "bool"
}
],
"name": "configureHook",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "delegateAmount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "enableHook",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleAdmin",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "getRoleMember",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleMemberCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "grantRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "hasRole",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "mint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "recipient1",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "recipient2",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "renounceRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "revokeRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "transferAmount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "validatorAddr",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"bytecode": "0x6040608081523462000406576200258c803803806200001e816200040a565b9283398101606082820312620004065781516001600160401b0391908281116200040657816200005091850162000430565b9160209182850151828111620004065786916200006f91870162000430565b9401519360ff85168095036200040657835182811162000326576005918254916001968784811c94168015620003fb575b8785101462000307578190601f94858111620003aa575b50879085831160011462000346575f926200033a575b50505f19600383901b1c191690871b1783555b805193841162000326576006548681811c911680156200031b575b8682101462000307578493838211620002b0575b5050849183116001146200024a575f926200023e575b50505f19600383901b1c191690831b176006555b5f80525f8152835f20335f52815260ff845f2054161562000208575b5f80528181526200016933855f20620004a0565b507f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6805f525f8252845f20335f52825260ff855f20541615620001d2575b5f5252620001b833835f20620004a0565b5060ff1960075416176007555161204090816200052c8239f35b805f525f8252845f20335f528252845f208360ff198254161790553333825f805160206200256c8339815191525f80a4620001a7565b5f80525f8152835f20335f528152835f208260ff1982541617905533335f5f805160206200256c8339815191528180a462000155565b015190505f8062000125565b90859350601f1983169160065f52855f20925f5b8782821062000299575050841162000280575b505050811b0160065562000139565b01515f1960f88460031b161c191690555f808062000271565b83850151865589979095019493840193016200025e565b909192935060065f52855f209084808701821c830193888810620002fd575b9187968a93969594929601901c01915b828110620002ee57506200010f565b5f8155869550889101620002df565b93508293620002cf565b634e487b7160e01b5f52602260045260245ffd5b90607f1690620000fb565b634e487b7160e01b5f52604160045260245ffd5b015190505f80620000cd565b90899350601f19831691875f52895f20925f5b8b8282106200039357505084116200037a575b505050811b018355620000e0565b01515f1960f88460031b161c191690555f80806200036c565b8385015186558d9790950194938401930162000359565b909150855f52875f2085808501881c8201928a8610620003f1575b918b918695949301891c01915b828110620003e2575050620000b7565b5f81558594508b9101620003d2565b92508192620003c5565b93607f1693620000a0565b5f80fd5b6040519190601f01601f191682016001600160401b038111838210176200032657604052565b919080601f84011215620004065782516001600160401b038111620003265760209062000466601f8201601f191683016200040a565b9281845282828701011162000406575f5b8181106200048c5750825f9394955001015290565b858101830151848201840152820162000477565b9190600183015f90828252806020526040822054155f14620005255784549468010000000000000000861015620005115760018601808255861015620004fd57836040949596828552602085200155549382526020522055600190565b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b83526041600452602483fd5b5092505056fe6080604081815260049182361015610021575b505050361561001f575f80fd5b005b5f92833560e01c91826301ffc9a714610e8f575081630688b13514610e6657816306fdde0314610dc5578163095ea7b314610d9b57816318160ddd14610d7d57816323b872dd14610d40578163248a9ca314610d165781632f2ff15d14610c62578163313ce56714610c4057816336568abe14610bae5781633950935114610b5e57816340c10f191461071657816342966c68146106f8578163504d27fd146106d957816370a08231146106a157816379cc6790146106715781639010d07c1461063057816391d14854146105ea57816395d89b41146105055781639f35c7e7146104dc578163a217fddf146104c1578163a457c2d714610419578163a9059cbb146103e8578163aa3744bd146103bb578163b64bdb341461039c578163ba84e21714610378578163c0f8c2fa14610275578163ca15c8731461024d578163d539139314610212578163d547741f146101d0575063dd62ed3e146101855780610012565b346101cc57806003193601126101cc57806020926101a1610f49565b6101a9610f63565b6001600160a01b0391821683526003865283832091168252845220549051908152f35b5080fd5b9190503461020e578060031936011261020e5761020b913561020660016101f5610f63565b938387528660205286200154610f79565b6112d4565b80f35b8280fd5b5050346101cc57816003193601126101cc57602090517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b90503461020e57602036600319011261020e5760209282913581526001845220549051908152f35b90503461020e5760c036600319011261020e57610290610f49565b90610299610f63565b906064359260018060a01b03918285168095036103745760a43595861515809703610370578780528760205280882033895260205260ff81892054161561033657505060075490610100600160a81b039060081b1690610100600160a81b0319161760075560018060a01b03199116816008541617600855604435600955600a541617600a55608435600b5560ff8019600c5416911617600c5580f35b906020606492519162461bcd60e51b835282015260146024820152734d75737420686176652061646d696e20726f6c6560601b6044820152fd5b8780fd5b8680fd5b5050346101cc57816003193601126101cc5760209060ff600c541690519015158152f35b5050346101cc57816003193601126101cc57602090600b549051908152f35b5050346101cc57816003193601126101cc57600754905160089190911c6001600160a01b03168152602090f35b5050346101cc57806003193601126101cc57602090610412610408610f49565b602435903361137b565b5160018152f35b905082346104be57826003193601126104be57610434610f49565b918360243592338152600360205281812060018060a01b038616825260205220549082821061046d5760208561041285850387336117cb565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b5050346101cc57816003193601126101cc5751908152602090f35b5050346101cc57816003193601126101cc57600a5490516001600160a01b039091168152602090f35b9190503461020e578260031936011261020e57805191836006549060019082821c9282811680156105e0575b60209586861082146105cd57508488529081156105ab5750600114610570575b61056c8686610562828b038361129e565b5191829182610f1d565b0390f35b929550600683528583205b828410610598575050508261056c9461056292820101945f610551565b805486850188015292860192810161057b565b60ff191687860152505050151560051b83010192506105628261056c5f610551565b634e487b7160e01b845260229052602483fd5b93607f1693610531565b90503461020e578160031936011261020e578160209360ff9261060b610f63565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b90503461020e578160031936011261020e5760209261065b9135815260018452826024359120611d39565b905491519160018060a01b039160031b1c168152f35b5050346101cc573660031901126104be5761020b61068d610f49565b6024359061069c8233836118c9565b61195c565b5050346101cc5760203660031901126101cc5760209181906001600160a01b036106c9610f49565b1681526002845220549051908152f35b5050346101cc57816003193601126101cc576020906009549051908152f35b8390346101cc5760203660031901126101cc5761020b90353361195c565b90503461020e578160031936011261020e57610730610f49565b906024928335917f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68652602093868552828720338852855260ff838820541615610b1d576001600160a01b03908116958615610adc5760ff600c541680610ad5575b80610acd575b6107d7575b505091859391836107bd835f80516020611f6b833981519152965461135a565b90558585526002835280852082815401905551908152a380f35b5f80516020611f0b83398151915260608593999897959694965189815288878201528585820152a16009548015801580610ab0575b610935575b50508697600b97959697549081151580610928575b610838575b505081939592945061079d565b85979496509061086392939591600a54168651938492839263c26f3acf60e01b845230898501611ea9565b03818b6108005af190811561091e5788916108e8575b50156108b457509183915f80516020611f6b833981519152935f80516020611feb8339815191528896600b548451908152a194935f8061082b565b60119085606494519362461bcd60e51b85528401528201527011195b1959d85d1a5bdb8819985a5b1959607a1b6044820152fd5b90508581813d8311610917575b6108ff818361129e565b8101031261037057518015158103610370575f610879565b503d6108f5565b84513d8a823e3d90fd5b5080600a54161515610826565b8160011b908282046002141715610a9e57475f80516020611f2b833981519152858051838152848a820152a110610a545787808080938c60075460081c165af161097d611ecb565b5015610a2657878780808060609c60075460081c16600954908851908152818b8201526001898201525f80516020611f4b8339815191529e8f91a185600854165af16109c7611ecb565b50156109f757879860608260089a98999a5416600954865191825288820152600286820152a1979695945f610811565b825162461bcd60e51b8152808701869052601d818401525f80516020611fcb8339815191526044820152606490fd5b601c859185606494519362461bcd60e51b85528401528201525f80516020611fab8339815191526044820152fd5b825162461bcd60e51b81528087018690526032818401525f80516020611f8b83398151915260448201527172206e6174697665207472616e736665727360701b6064820152608490fd5b634e487b7160e01b8952601187528289fd5b5060075460081c8a1615158061080c57508960085416151561080c565b506001610798565b5087610792565b601f915085606494519362461bcd60e51b85528401528201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b50601d8585606494519362461bcd60e51b85528401528201527f4d7573742068617665206d696e74657220726f6c6520746f206d696e740000006044820152fd5b5050346101cc57806003193601126101cc57610412602092610ba7610b81610f49565b338352600386528483206001600160a01b0382168452865291849020546024359061135a565b90336117cb565b839150346101cc57826003193601126101cc57610bc9610f63565b90336001600160a01b03831603610be5579061020b91356112d4565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b5050346101cc57816003193601126101cc5760209060ff600754169051908152f35b9190503461020e578060031936011261020e57610ccb9135906001610c85610f63565b92808652602090868252610c9d838589200154610f79565b80875286825283872094838060a01b031694858852825260ff848820541615610ccf575b8652528320611d4e565b5080f35b8087528682528387208588528252838720805460ff1916841790553385827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8a80a4610cc1565b90503461020e57602036600319011261020e57816020936001923581528085522001549051908152f35b5050346101cc5760603660031901126101cc57602090610412610d61610f49565b610d69610f63565b60443591610d788333836118c9565b61137b565b90503461020e578260031936011261020e5760209250549051908152f35b5050346101cc57806003193601126101cc57602090610412610dbb610f49565b60243590336117cb565b9190503461020e578260031936011261020e57805191836005549060019082821c928281168015610e5c575b60209586861082146105cd57508488529081156105ab5750600114610e215761056c8686610562828b038361129e565b929550600583528583205b828410610e49575050508261056c9461056292820101945f610551565b8054868501880152928601928101610e2c565b93607f1693610df1565b5050346101cc57816003193601126101cc5760085490516001600160a01b039091168152602090f35b84913461020e57602036600319011261020e573563ffffffff60e01b811680910361020e5760209250635a05180f60e01b8114908115610ed1575b5015158152f35b637965db0b60e01b811491508115610eeb575b5083610eca565b6301ffc9a760e01b14905083610ee4565b5f5b838110610f0d5750505f910152565b8181015183820152602001610efe565b60409160208252610f3d8151809281602086015260208686019101610efc565b601f01601f1916010190565b600435906001600160a01b0382168203610f5f57565b5f80fd5b602435906001600160a01b0382168203610f5f57565b5f818152602090808252604092838220338352835260ff848320541615610fa05750505050565b835167ffffffffffffffff919033606082018481118382101761128a578752602a825285820192873685378251156112765760308453825191600192831015611262576078602185015360295b8381116111f957506111b757908751946080860190868210908211176111a35788526042855286850195606036883785511561118f5760308753855182101561118f5790607860218701536041915b818311611122575050506110e0579385936110c6936110b760489461108e76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b996110dc9b519a8b978801525180926037880190610efc565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610efc565b0103602881018552018361129e565b5162461bcd60e51b815291829160048301610f1d565b0390fd5b60648587519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561117b576f181899199a1a9b1b9c1cb0b131b232b360811b901a6111528589611d14565b5360041c928015611167575f1901919061103c565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b87526041600452602487fd5b60648789519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f8116601081101561124e576f181899199a1a9b1b9c1cb0b131b232b360811b901a6112278387611d14565b5360041c90801561123a575f1901610fed565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b89526032600452602489fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b90601f8019910116810190811067ffffffffffffffff8211176112c057604052565b634e487b7160e01b5f52604160045260245ffd5b906040611310925f90808252816020528282209360018060a01b03169384835260205260ff8383205416611313575b8152600160205220611dd0565b50565b8082528160205282822084835260205282822060ff1981541690553384827ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8580a4611303565b9190820180921161136757565b634e487b7160e01b5f52601160045260245ffd5b90916001600160a01b03808316928315611778578185169485156117275760ff600c54168061171f575b80611717575b611451575b5050505f82815260026020526040812054918083106113fd57604082825f80516020611f6b83398151915295876020965260028652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b5f80516020611f0b8339815191529060409261147286855193849384611ea9565b0390a16009548015908115806116fa575b61158e575b5050600b549182151580611581575b156113b057600a54825163c26f3acf60e01b8152602094909283926114c29291163060048501611ea9565b0383825f9281846108005af191821561157557819261153b575b50501561150457905f80516020611feb83398151915291600b549051908152a15f80806113b0565b60649250519062461bcd60e51b82526004820152601160248201527011195b1959d85d1a5bdb8819985a5b1959607a1b6044820152fd5b9091508381813d831161156e575b611553818361129e565b810103126101cc57519081151582036104be57505f806114dc565b503d611549565b508251903d90823e3d90fd5b5080600a54161515611497565b8060011b9181830460021417156113675747918351928084525f80516020611f2b833981519152856020958487820152a1106116af575f80808080948860075460081c165af16115dc611ecb565b501561167f57908180806060948760075460081c1660095490885190815281878201526001898201525f80516020611f4b833981519152978891a188600854165af1611626611ecb565b501561164f57606090846008541690600954908551928352820152600284820152a15f80611488565b60649083519062461bcd60e51b82526004820152601d60248201525f80516020611fcb8339815191526044820152fd5b50606491519062461bcd60e51b82526004820152601c60248201525f80516020611fab8339815191526044820152fd5b50608491519062461bcd60e51b82526004820152603260248201525f80516020611f8b83398151915260448201527172206e6174697665207472616e736665727360701b6064820152fd5b5060075460081c8416151580611483575083600854161515611483565b5060016113ab565b5060016113a5565b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b0390811691821561187857169182156118285760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526003825260405f20855f5282528060405f2055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9060018060a01b038083165f52600360205260405f209082165f5260205260405f2054925f1984036118fc575b50505050565b8084106119175761190e9303916117cb565b5f8080806118f6565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b6001600160a01b03908116908115611cc55760ff600c541680611cbd575b80611cb6575b611a1d575b50805f52600260205260405f2054918083106119cd576020815f80516020611f6b833981519152925f95858752600284520360408620558060045403600455604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b60408051918383525f5f80516020611f0b833981519152606060209583878201528886820152a16009548015801580611c99575b611b1f575b5050600b549182151580611b12575b611a73575b50505050611985565b611a98928591600a54168551948592839263c26f3acf60e01b84523060048501611ea9565b0381846108005af1918215611575578192611ad8575b50501561150457905f80516020611feb83398151915291600b549051908152a15f80808080611a6a565b9091508381813d8311611b0b575b611af0818361129e565b810103126101cc57519081151582036104be57505f80611aae565b503d611ae6565b5080600a54161515611a65565b8160011b908282046002141715611c8557475f80516020611f2b833981519152868051838152848a820152a110611c395781808080938660075460081c165af1611b67611ecb565b5015611c08576060818080808660075460081c16600954908951908152818b82015260018a8201525f80516020611f4b833981519152968791a187600854165af1611bb0611ecb565b5015611bd75760608360085416600954865191825287820152600286820152a15f80611a56565b835162461bcd60e51b815260048101869052601d60248201525f80516020611fcb8339815191526044820152606490fd5b825162461bcd60e51b815260048101859052601c60248201525f80516020611fab8339815191526044820152606490fd5b835162461bcd60e51b815260048101869052603260248201525f80516020611f8b83398151915260448201527172206e6174697665207472616e736665727360701b6064820152608490fd5b634e487b7160e01b83526011600452602483fd5b5060075460081c8416151580611a51575083600854161515611a51565b505f611980565b50600161197a565b60405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b908151811015611d25570160200190565b634e487b7160e01b5f52603260045260245ffd5b8054821015611d25575f5260205f2001905f90565b9190600183015f90828252806020526040822054155f14611dca57845494600160401b861015611db65783611da6611d90886001604098999a01855584611d39565b819391549060031b91821b915f19901b19161790565b9055549382526020522055600190565b634e487b7160e01b83526041600452602483fd5b50925050565b9060018201905f92818452826020526040842054908115155f14611ea2575f1991808301818111611e8e5782549084820191821161123a57808203611e59575b50505080548015611e4557820191611e288383611d39565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b611e79611e69611d909386611d39565b90549060031b1c92839286611d39565b905586528460205260408620555f8080611e10565b634e487b7160e01b87526011600452602487fd5b5050505090565b6001600160a01b03918216815291166020820152604081019190915260600190565b3d15611f05573d9067ffffffffffffffff82116112c05760405191611efa601f8201601f19166020018461129e565b82523d5f602084013e565b60609056fef8c99ceb8ca6b64b60019ae7ba043e6753f3aeb6d4d6da4632448e2f0ce24c7f3d9cb59aaaabeafebf96f5927674f7bdb281620132fb370f5486016f4557699709374e11d36c216b990e8a6a68cb669a6233bad8bc3abc452666829b8cc0ea25ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef496e73756666696369656e7420636f6e74726163742062616c616e636520666f4669727374206e6174697665207472616e73666572206661696c6564000000005365636f6e64206e6174697665207472616e73666572206661696c6564000000f6b9808ab5f93046dc92bff4d681788d48019c7bb71644624464cc99b51f15bda2646970667358221220a58ad9b187434daef4c8ee281f4a98b74f241d965c7e17870cfb1f5e6f2b920d64736f6c634300081400332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
"deployedBytecode": "0x6080604081815260049182361015610021575b505050361561001f575f80fd5b005b5f92833560e01c91826301ffc9a714610e8f575081630688b13514610e6657816306fdde0314610dc5578163095ea7b314610d9b57816318160ddd14610d7d57816323b872dd14610d40578163248a9ca314610d165781632f2ff15d14610c62578163313ce56714610c4057816336568abe14610bae5781633950935114610b5e57816340c10f191461071657816342966c68146106f8578163504d27fd146106d957816370a08231146106a157816379cc6790146106715781639010d07c1461063057816391d14854146105ea57816395d89b41146105055781639f35c7e7146104dc578163a217fddf146104c1578163a457c2d714610419578163a9059cbb146103e8578163aa3744bd146103bb578163b64bdb341461039c578163ba84e21714610378578163c0f8c2fa14610275578163ca15c8731461024d578163d539139314610212578163d547741f146101d0575063dd62ed3e146101855780610012565b346101cc57806003193601126101cc57806020926101a1610f49565b6101a9610f63565b6001600160a01b0391821683526003865283832091168252845220549051908152f35b5080fd5b9190503461020e578060031936011261020e5761020b913561020660016101f5610f63565b938387528660205286200154610f79565b6112d4565b80f35b8280fd5b5050346101cc57816003193601126101cc57602090517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b90503461020e57602036600319011261020e5760209282913581526001845220549051908152f35b90503461020e5760c036600319011261020e57610290610f49565b90610299610f63565b906064359260018060a01b03918285168095036103745760a43595861515809703610370578780528760205280882033895260205260ff81892054161561033657505060075490610100600160a81b039060081b1690610100600160a81b0319161760075560018060a01b03199116816008541617600855604435600955600a541617600a55608435600b5560ff8019600c5416911617600c5580f35b906020606492519162461bcd60e51b835282015260146024820152734d75737420686176652061646d696e20726f6c6560601b6044820152fd5b8780fd5b8680fd5b5050346101cc57816003193601126101cc5760209060ff600c541690519015158152f35b5050346101cc57816003193601126101cc57602090600b549051908152f35b5050346101cc57816003193601126101cc57600754905160089190911c6001600160a01b03168152602090f35b5050346101cc57806003193601126101cc57602090610412610408610f49565b602435903361137b565b5160018152f35b905082346104be57826003193601126104be57610434610f49565b918360243592338152600360205281812060018060a01b038616825260205220549082821061046d5760208561041285850387336117cb565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b5050346101cc57816003193601126101cc5751908152602090f35b5050346101cc57816003193601126101cc57600a5490516001600160a01b039091168152602090f35b9190503461020e578260031936011261020e57805191836006549060019082821c9282811680156105e0575b60209586861082146105cd57508488529081156105ab5750600114610570575b61056c8686610562828b038361129e565b5191829182610f1d565b0390f35b929550600683528583205b828410610598575050508261056c9461056292820101945f610551565b805486850188015292860192810161057b565b60ff191687860152505050151560051b83010192506105628261056c5f610551565b634e487b7160e01b845260229052602483fd5b93607f1693610531565b90503461020e578160031936011261020e578160209360ff9261060b610f63565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b90503461020e578160031936011261020e5760209261065b9135815260018452826024359120611d39565b905491519160018060a01b039160031b1c168152f35b5050346101cc573660031901126104be5761020b61068d610f49565b6024359061069c8233836118c9565b61195c565b5050346101cc5760203660031901126101cc5760209181906001600160a01b036106c9610f49565b1681526002845220549051908152f35b5050346101cc57816003193601126101cc576020906009549051908152f35b8390346101cc5760203660031901126101cc5761020b90353361195c565b90503461020e578160031936011261020e57610730610f49565b906024928335917f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68652602093868552828720338852855260ff838820541615610b1d576001600160a01b03908116958615610adc5760ff600c541680610ad5575b80610acd575b6107d7575b505091859391836107bd835f80516020611f6b833981519152965461135a565b90558585526002835280852082815401905551908152a380f35b5f80516020611f0b83398151915260608593999897959694965189815288878201528585820152a16009548015801580610ab0575b610935575b50508697600b97959697549081151580610928575b610838575b505081939592945061079d565b85979496509061086392939591600a54168651938492839263c26f3acf60e01b845230898501611ea9565b03818b6108005af190811561091e5788916108e8575b50156108b457509183915f80516020611f6b833981519152935f80516020611feb8339815191528896600b548451908152a194935f8061082b565b60119085606494519362461bcd60e51b85528401528201527011195b1959d85d1a5bdb8819985a5b1959607a1b6044820152fd5b90508581813d8311610917575b6108ff818361129e565b8101031261037057518015158103610370575f610879565b503d6108f5565b84513d8a823e3d90fd5b5080600a54161515610826565b8160011b908282046002141715610a9e57475f80516020611f2b833981519152858051838152848a820152a110610a545787808080938c60075460081c165af161097d611ecb565b5015610a2657878780808060609c60075460081c16600954908851908152818b8201526001898201525f80516020611f4b8339815191529e8f91a185600854165af16109c7611ecb565b50156109f757879860608260089a98999a5416600954865191825288820152600286820152a1979695945f610811565b825162461bcd60e51b8152808701869052601d818401525f80516020611fcb8339815191526044820152606490fd5b601c859185606494519362461bcd60e51b85528401528201525f80516020611fab8339815191526044820152fd5b825162461bcd60e51b81528087018690526032818401525f80516020611f8b83398151915260448201527172206e6174697665207472616e736665727360701b6064820152608490fd5b634e487b7160e01b8952601187528289fd5b5060075460081c8a1615158061080c57508960085416151561080c565b506001610798565b5087610792565b601f915085606494519362461bcd60e51b85528401528201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b50601d8585606494519362461bcd60e51b85528401528201527f4d7573742068617665206d696e74657220726f6c6520746f206d696e740000006044820152fd5b5050346101cc57806003193601126101cc57610412602092610ba7610b81610f49565b338352600386528483206001600160a01b0382168452865291849020546024359061135a565b90336117cb565b839150346101cc57826003193601126101cc57610bc9610f63565b90336001600160a01b03831603610be5579061020b91356112d4565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b5050346101cc57816003193601126101cc5760209060ff600754169051908152f35b9190503461020e578060031936011261020e57610ccb9135906001610c85610f63565b92808652602090868252610c9d838589200154610f79565b80875286825283872094838060a01b031694858852825260ff848820541615610ccf575b8652528320611d4e565b5080f35b8087528682528387208588528252838720805460ff1916841790553385827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8a80a4610cc1565b90503461020e57602036600319011261020e57816020936001923581528085522001549051908152f35b5050346101cc5760603660031901126101cc57602090610412610d61610f49565b610d69610f63565b60443591610d788333836118c9565b61137b565b90503461020e578260031936011261020e5760209250549051908152f35b5050346101cc57806003193601126101cc57602090610412610dbb610f49565b60243590336117cb565b9190503461020e578260031936011261020e57805191836005549060019082821c928281168015610e5c575b60209586861082146105cd57508488529081156105ab5750600114610e215761056c8686610562828b038361129e565b929550600583528583205b828410610e49575050508261056c9461056292820101945f610551565b8054868501880152928601928101610e2c565b93607f1693610df1565b5050346101cc57816003193601126101cc5760085490516001600160a01b039091168152602090f35b84913461020e57602036600319011261020e573563ffffffff60e01b811680910361020e5760209250635a05180f60e01b8114908115610ed1575b5015158152f35b637965db0b60e01b811491508115610eeb575b5083610eca565b6301ffc9a760e01b14905083610ee4565b5f5b838110610f0d5750505f910152565b8181015183820152602001610efe565b60409160208252610f3d8151809281602086015260208686019101610efc565b601f01601f1916010190565b600435906001600160a01b0382168203610f5f57565b5f80fd5b602435906001600160a01b0382168203610f5f57565b5f818152602090808252604092838220338352835260ff848320541615610fa05750505050565b835167ffffffffffffffff919033606082018481118382101761128a578752602a825285820192873685378251156112765760308453825191600192831015611262576078602185015360295b8381116111f957506111b757908751946080860190868210908211176111a35788526042855286850195606036883785511561118f5760308753855182101561118f5790607860218701536041915b818311611122575050506110e0579385936110c6936110b760489461108e76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b996110dc9b519a8b978801525180926037880190610efc565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610efc565b0103602881018552018361129e565b5162461bcd60e51b815291829160048301610f1d565b0390fd5b60648587519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561117b576f181899199a1a9b1b9c1cb0b131b232b360811b901a6111528589611d14565b5360041c928015611167575f1901919061103c565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b87526041600452602487fd5b60648789519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f8116601081101561124e576f181899199a1a9b1b9c1cb0b131b232b360811b901a6112278387611d14565b5360041c90801561123a575f1901610fed565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b89526032600452602489fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b90601f8019910116810190811067ffffffffffffffff8211176112c057604052565b634e487b7160e01b5f52604160045260245ffd5b906040611310925f90808252816020528282209360018060a01b03169384835260205260ff8383205416611313575b8152600160205220611dd0565b50565b8082528160205282822084835260205282822060ff1981541690553384827ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8580a4611303565b9190820180921161136757565b634e487b7160e01b5f52601160045260245ffd5b90916001600160a01b03808316928315611778578185169485156117275760ff600c54168061171f575b80611717575b611451575b5050505f82815260026020526040812054918083106113fd57604082825f80516020611f6b83398151915295876020965260028652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b5f80516020611f0b8339815191529060409261147286855193849384611ea9565b0390a16009548015908115806116fa575b61158e575b5050600b549182151580611581575b156113b057600a54825163c26f3acf60e01b8152602094909283926114c29291163060048501611ea9565b0383825f9281846108005af191821561157557819261153b575b50501561150457905f80516020611feb83398151915291600b549051908152a15f80806113b0565b60649250519062461bcd60e51b82526004820152601160248201527011195b1959d85d1a5bdb8819985a5b1959607a1b6044820152fd5b9091508381813d831161156e575b611553818361129e565b810103126101cc57519081151582036104be57505f806114dc565b503d611549565b508251903d90823e3d90fd5b5080600a54161515611497565b8060011b9181830460021417156113675747918351928084525f80516020611f2b833981519152856020958487820152a1106116af575f80808080948860075460081c165af16115dc611ecb565b501561167f57908180806060948760075460081c1660095490885190815281878201526001898201525f80516020611f4b833981519152978891a188600854165af1611626611ecb565b501561164f57606090846008541690600954908551928352820152600284820152a15f80611488565b60649083519062461bcd60e51b82526004820152601d60248201525f80516020611fcb8339815191526044820152fd5b50606491519062461bcd60e51b82526004820152601c60248201525f80516020611fab8339815191526044820152fd5b50608491519062461bcd60e51b82526004820152603260248201525f80516020611f8b83398151915260448201527172206e6174697665207472616e736665727360701b6064820152fd5b5060075460081c8416151580611483575083600854161515611483565b5060016113ab565b5060016113a5565b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b0390811691821561187857169182156118285760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526003825260405f20855f5282528060405f2055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9060018060a01b038083165f52600360205260405f209082165f5260205260405f2054925f1984036118fc575b50505050565b8084106119175761190e9303916117cb565b5f8080806118f6565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b6001600160a01b03908116908115611cc55760ff600c541680611cbd575b80611cb6575b611a1d575b50805f52600260205260405f2054918083106119cd576020815f80516020611f6b833981519152925f95858752600284520360408620558060045403600455604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b60408051918383525f5f80516020611f0b833981519152606060209583878201528886820152a16009548015801580611c99575b611b1f575b5050600b549182151580611b12575b611a73575b50505050611985565b611a98928591600a54168551948592839263c26f3acf60e01b84523060048501611ea9565b0381846108005af1918215611575578192611ad8575b50501561150457905f80516020611feb83398151915291600b549051908152a15f80808080611a6a565b9091508381813d8311611b0b575b611af0818361129e565b810103126101cc57519081151582036104be57505f80611aae565b503d611ae6565b5080600a54161515611a65565b8160011b908282046002141715611c8557475f80516020611f2b833981519152868051838152848a820152a110611c395781808080938660075460081c165af1611b67611ecb565b5015611c08576060818080808660075460081c16600954908951908152818b82015260018a8201525f80516020611f4b833981519152968791a187600854165af1611bb0611ecb565b5015611bd75760608360085416600954865191825287820152600286820152a15f80611a56565b835162461bcd60e51b815260048101869052601d60248201525f80516020611fcb8339815191526044820152606490fd5b825162461bcd60e51b815260048101859052601c60248201525f80516020611fab8339815191526044820152606490fd5b835162461bcd60e51b815260048101869052603260248201525f80516020611f8b83398151915260448201527172206e6174697665207472616e736665727360701b6064820152608490fd5b634e487b7160e01b83526011600452602483fd5b5060075460081c8416151580611a51575083600854161515611a51565b505f611980565b50600161197a565b60405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b908151811015611d25570160200190565b634e487b7160e01b5f52603260045260245ffd5b8054821015611d25575f5260205f2001905f90565b9190600183015f90828252806020526040822054155f14611dca57845494600160401b861015611db65783611da6611d90886001604098999a01855584611d39565b819391549060031b91821b915f19901b19161790565b9055549382526020522055600190565b634e487b7160e01b83526041600452602483fd5b50925050565b9060018201905f92818452826020526040842054908115155f14611ea2575f1991808301818111611e8e5782549084820191821161123a57808203611e59575b50505080548015611e4557820191611e288383611d39565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b611e79611e69611d909386611d39565b90549060031b1c92839286611d39565b905586528460205260408620555f8080611e10565b634e487b7160e01b87526011600452602487fd5b5050505090565b6001600160a01b03918216815291166020820152604081019190915260600190565b3d15611f05573d9067ffffffffffffffff82116112c05760405191611efa601f8201601f19166020018461129e565b82523d5f602084013e565b60609056fef8c99ceb8ca6b64b60019ae7ba043e6753f3aeb6d4d6da4632448e2f0ce24c7f3d9cb59aaaabeafebf96f5927674f7bdb281620132fb370f5486016f4557699709374e11d36c216b990e8a6a68cb669a6233bad8bc3abc452666829b8cc0ea25ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef496e73756666696369656e7420636f6e74726163742062616c616e636520666f4669727374206e6174697665207472616e73666572206661696c6564000000005365636f6e64206e6174697665207472616e73666572206661696c6564000000f6b9808ab5f93046dc92bff4d681788d48019c7bb71644624464cc99b51f15bda2646970667358221220a58ad9b187434daef4c8ee281f4a98b74f241d965c7e17870cfb1f5e6f2b920d64736f6c63430008140033",
"linkReferences": {},
"deployedLinkReferences": {}
}