-
Notifications
You must be signed in to change notification settings - Fork 0
/
GrantManager.json
2957 lines (2957 loc) · 208 KB
/
GrantManager.json
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
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"contractName": "GrantManager",
"abi": [
{
"inputs": [],
"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": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Paused",
"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"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Unpaused",
"type": "event"
},
{
"inputs": [],
"name": "PAUSER_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": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "awards",
"outputs": [
{
"internalType": "string",
"name": "awardeeName",
"type": "string"
},
{
"internalType": "address",
"name": "awardeeAddr",
"type": "address"
},
{
"internalType": "string",
"name": "cageCode",
"type": "string"
},
{
"internalType": "string",
"name": "naicsCode",
"type": "string"
},
{
"internalType": "string",
"name": "grantNumber",
"type": "string"
},
{
"internalType": "string",
"name": "effectiveDate",
"type": "string"
},
{
"internalType": "string",
"name": "completionDate",
"type": "string"
},
{
"internalType": "uint256",
"name": "laborCLINValue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "travelCLINValue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "odcValue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalAwardValue",
"type": "uint256"
},
{
"internalType": "bool",
"name": "completed",
"type": "bool"
}
],
"stateMutability": "view",
"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": "string",
"name": "_awardeeName",
"type": "string"
},
{
"internalType": "address",
"name": "_awardeeAddr",
"type": "address"
},
{
"internalType": "string",
"name": "_cageCode",
"type": "string"
},
{
"internalType": "string",
"name": "_naicsCode",
"type": "string"
},
{
"internalType": "string",
"name": "_grantNumber",
"type": "string"
},
{
"internalType": "string",
"name": "_effectiveDate",
"type": "string"
},
{
"internalType": "string",
"name": "_completionDate",
"type": "string"
},
{
"internalType": "uint256",
"name": "_laborCLINValue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_travelCLINValue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_odcValue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_totalAwardValue",
"type": "uint256"
}
],
"name": "createGrant",
"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": "getNumberAwards",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"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": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "paused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"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": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "unpause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"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\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"PAUSER_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\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"awards\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"awardeeName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"awardeeAddr\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"cageCode\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"naicsCode\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"grantNumber\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"effectiveDate\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"completionDate\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"laborCLINValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"travelCLINValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"odcValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAwardValue\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"completed\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"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\":\"string\",\"name\":\"_awardeeName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_awardeeAddr\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_cageCode\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_naicsCode\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_grantNumber\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_effectiveDate\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_completionDate\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_laborCLINValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_travelCLINValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_odcValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalAwardValue\",\"type\":\"uint256\"}],\"name\":\"createGrant\",\"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\":\"getNumberAwards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"custom:security-contact\":\"[email protected]\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"createGrant(string,address,string,string,string,string,string,uint256,uint256,uint256,uint256)\":{\"details\":\"creates a new grant and pushes the struct to the end of the awards array only the contract Owner can create a new grant\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"getNumberAwards()\":{\"details\":\"Returns the number of awards in the AwardInfo array\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"mint(address,uint256)\":{\"details\":\"Creates `amount` tokens and assigns them to `account`, increasing the total supply. Emits a {Transfer} event with `from` set to the zero address. Requirements: - `account` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pause()\":{\"details\":\"pauses the contract\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"unpause()\":{\"details\":\"unpauses the contract\"}},\"stateVariables\":{\"PAUSER_ROLE\":{\"details\":\"Set who may pause the contract\"},\"awards\":{\"details\":\"Create an array of 'AwardInfo' structs\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/GrantMgmt/contracts/GrantManager.sol\":\"GrantManager\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/GrantMgmt/contracts/GrantManager.sol\":{\"keccak256\":\"0x3ec11e58ffb6d7859e10bc00933e34892c46536d34c1a5478b7379257358c530\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a49993633d3a47b5ac39a16faf7f8d53e80f94fa90d80e60be75424d870ac1\",\"dweb:/ipfs/QmfWq4vRKcDk34LFo1ggQM3PE5wxn4mzjF2KpirGxBYh3M\"]},\"/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x6bb804a310218875e89d12c053e94a13a4607cdf7cc2052f3e52bd32a0dc50a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2ebbbe6d0011175bd9e7268b83de3f9c2f9d8d4cbfbaef12aff977d7d727163\",\"dweb:/ipfs/Qmd5c7Vxtis9wzkDNhxwc6A2QT5H9xn9kfjhx7qx44vpro\"]},\"/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/node_modules/@openzeppelin/contracts/security/Pausable.sol\":{\"keccak256\":\"0xa35b1f2a670cd2a701a52c398032c9fed72df1909fe394d77ceacbf074e8937b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72b957861691ebdaa78c52834465c4f8296480fe4f1a12ba72dc6c0c8ac076dd\",\"dweb:/ipfs/QmVz1sHCwgEivHPRDswdt9tdvky7EnWqFmbuk1wFE55VMG\"]},\"/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb03df8481a954604ad0c9125680893b2e3f7ff770fe470e38b89ac61b84e8072\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b34655953d18ba3a45b762fb6bdbb6549af69a27435e10ece178742bf70baf45\",\"dweb:/ipfs/QmcqjUoFLLMyx7dbwSHUnDBH6aphkVHXWQvQRRev5EAWEh\"]},\"/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x027b891937d20ccf213fdb9c31531574256de774bda99d3a70ecef6e1913ed2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://087318b21c528119f649899f5b5580566dd8d7b0303d4904bd0e8580c3545f14\",\"dweb:/ipfs/Qmbn5Mj7aUn8hJuQ8VrQjjEXRsXyJKykgnjR9p4C3nfLtL\"]},\"/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0xf98cb1651a90d20ef77d8c1dd10d5fce4954e747603e5672a8292bd4368120dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76b539a8edd558b010d1ff3e462c5d4edd039b790b91f31a5bce18957655cc9f\",\"dweb:/ipfs/QmSdJehhx1SwCWLSFFgHQTmUY2YwDTBQjTVjkmhXhA1srb\"]},\"/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x83fe24f5c04a56091e50f4a345ff504c8bff658a76d4c43b16878c8f940c53b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4c3df1a7ca104b633a7d81c6c6f5192367d150cd5a32cba81f7f27012729013\",\"dweb:/ipfs/QmSim72e3ZVsfgZt8UceCvbiSuMRHR6WDsiamqNzZahGSY\"]},\"/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x90565a39ae45c80f0468dc96c7b20d0afc3055f344c8203a0c9258239f350b9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26e8b38a7ac8e7b4463af00cf7fff1bf48ae9875765bf4f7751e100124d0bc8c\",\"dweb:/ipfs/QmWcsmkVr24xmmjfnBQZoemFniXjj3vwT78Cz6uqZW1Hux\"]}},\"version\":1}",
"bytecode": "60806040523480156200001157600080fd5b50604080518082018252600a8152694e534643546f6b656e7360b01b6020808301918252835180850190945260048452634e53464360e01b9084015281519192916200006091600391620000fc565b50805162000076906004906020840190620000fc565b505050620000936200008d620000a660201b60201c565b620000aa565b6005805460ff60a01b19169055620001df565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200010a90620001a2565b90600052602060002090601f0160209004810192826200012e576000855562000179565b82601f106200014957805160ff191683800117855562000179565b8280016001018555821562000179579182015b82811115620001795782518255916020019190600101906200015c565b50620001879291506200018b565b5090565b5b808211156200018757600081556001016200018c565b600181811c90821680620001b757607f821691505b60208210811415620001d957634e487b7160e01b600052602260045260246000fd5b50919050565b611b0180620001ef6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063a457c2d71161007c578063a457c2d7146102b1578063a9059cbb146102c4578063dd62ed3e146102d7578063e63ab1e914610310578063f2fde38b14610337578063fc5a5b631461034a57600080fd5b806370a0823114610242578063715018a61461026b57806379cc6790146102735780638456cb59146102865780638da5cb5b1461028e57806395d89b41146102a957600080fd5b8063313ce56711610115578063313ce567146101e057806339509351146101ef5780633f4ba83a1461020257806340c10f191461020a57806342966c681461021d5780635c975abb1461023057600080fd5b806306fdde031461015d578063095ea7b31461017b57806318160ddd1461019e57806323b872dd146101b0578063250b5dd1146101c35780632766c8cf146101d8575b600080fd5b610165610375565b6040516101729190611565565b60405180910390f35b61018e61018936600461159b565b610407565b6040519015158152602001610172565b6002545b604051908152602001610172565b61018e6101be3660046115c5565b61041e565b6101d66101d13660046116a4565b6104cd565b005b6006546101a2565b60405160128152602001610172565b61018e6101fd36600461159b565b6106c2565b6101d66106fe565b6101d661021836600461159b565b610732565b6101d661022b3660046117d9565b61077f565b600554600160a01b900460ff1661018e565b6101a26102503660046117f2565b6001600160a01b031660009081526020819052604090205490565b6101d661078c565b6101d661028136600461159b565b6107c0565b6101d6610846565b6005546040516001600160a01b039091168152602001610172565b610165610878565b61018e6102bf36600461159b565b610887565b61018e6102d236600461159b565b610920565b6101a26102e536600461180d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101a27f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b6101d66103453660046117f2565b61092d565b61035d6103583660046117d9565b6109c5565b6040516101729c9b9a99989796959493929190611840565b60606003805461038490611904565b80601f01602080910402602001604051908101604052809291908181526020018280546103b090611904565b80156103fd5780601f106103d2576101008083540402835291602001916103fd565b820191906000526020600020905b8154815290600101906020018083116103e057829003601f168201915b5050505050905090565b6000610414338484610d78565b5060015b92915050565b600061042b848484610e9c565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156104b55760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104c28533858403610d78565b506001949350505050565b6005546001600160a01b031633146104f75760405162461bcd60e51b81526004016104ac9061193f565b60408051610180810182528c81526001600160a01b038c166020808301919091529181018b9052606081018a90526080810189905260a0810188905260c0810187905260e0810186905261010081018590526101208101849052610140810183905260006101608201819052600680546001810182559152815180519293600c9092027ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01926105aa928492019061147f565b506020828101516001830180546001600160a01b0319166001600160a01b03909216919091179055604083015180516105e9926002850192019061147f565b506060820151805161060591600384019160209091019061147f565b506080820151805161062191600484019160209091019061147f565b5060a0820151805161063d91600584019160209091019061147f565b5060c0820151805161065991600684019160209091019061147f565b5060e0820151600782015561010082015160088201556101208201516009820155610140820151600a82015561016090910151600b909101805460ff19169115159190911790556106aa8a82610732565b6106b48a826106c2565b505050505050505050505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104149185906106f990869061198a565b610d78565b6005546001600160a01b031633146107285760405162461bcd60e51b81526004016104ac9061193f565b610730611076565b565b6005546001600160a01b0316331461075c5760405162461bcd60e51b81526004016104ac9061193f565b61077b8261076c6012600a611a86565b6107769084611a95565b611113565b5050565b61078933826111fe565b50565b6005546001600160a01b031633146107b65760405162461bcd60e51b81526004016104ac9061193f565b6107306000611358565b60006107cc83336102e5565b90508181101561082a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b60648201526084016104ac565b6108378333848403610d78565b61084183836111fe565b505050565b6005546001600160a01b031633146108705760405162461bcd60e51b81526004016104ac9061193f565b6107306113aa565b60606004805461038490611904565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156109095760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016104ac565b6109163385858403610d78565b5060019392505050565b6000610414338484610e9c565b6005546001600160a01b031633146109575760405162461bcd60e51b81526004016104ac9061193f565b6001600160a01b0381166109bc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ac565b61078981611358565b600681815481106109d557600080fd5b90600052602060002090600c02016000915090508060000180546109f890611904565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2490611904565b8015610a715780601f10610a4657610100808354040283529160200191610a71565b820191906000526020600020905b815481529060010190602001808311610a5457829003601f168201915b505050600184015460028501805494956001600160a01b03909216949193509150610a9b90611904565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac790611904565b8015610b145780601f10610ae957610100808354040283529160200191610b14565b820191906000526020600020905b815481529060010190602001808311610af757829003601f168201915b505050505090806003018054610b2990611904565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5590611904565b8015610ba25780601f10610b7757610100808354040283529160200191610ba2565b820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505050505090806004018054610bb790611904565b80601f0160208091040260200160405190810160405280929190818152602001828054610be390611904565b8015610c305780601f10610c0557610100808354040283529160200191610c30565b820191906000526020600020905b815481529060010190602001808311610c1357829003601f168201915b505050505090806005018054610c4590611904565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7190611904565b8015610cbe5780601f10610c9357610100808354040283529160200191610cbe565b820191906000526020600020905b815481529060010190602001808311610ca157829003601f168201915b505050505090806006018054610cd390611904565b80601f0160208091040260200160405190810160405280929190818152602001828054610cff90611904565b8015610d4c5780601f10610d2157610100808354040283529160200191610d4c565b820191906000526020600020905b815481529060010190602001808311610d2f57829003601f168201915b505050600784015460088501546009860154600a870154600b9097015495969295919450925060ff168c565b6001600160a01b038316610dda5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ac565b6001600160a01b038216610e3b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ac565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f005760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ac565b6001600160a01b038216610f625760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ac565b610f6d838383611432565b6001600160a01b03831660009081526020819052604090205481811015610fe55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104ac565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061101c90849061198a565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161106891815260200190565b60405180910390a350505050565b600554600160a01b900460ff166110c65760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016104ac565b6005805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0382166111695760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016104ac565b61117560008383611432565b8060026000828254611187919061198a565b90915550506001600160a01b038216600090815260208190526040812080548392906111b490849061198a565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b03821661125e5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016104ac565b61126a82600083611432565b6001600160a01b038216600090815260208190526040902054818110156112de5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016104ac565b6001600160a01b038316600090815260208190526040812083830390556002805484929061130d908490611ab4565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600554600160a01b900460ff16156113f75760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016104ac565b6005805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586110f63390565b600554600160a01b900460ff16156108415760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016104ac565b82805461148b90611904565b90600052602060002090601f0160209004810192826114ad57600085556114f3565b82601f106114c657805160ff19168380011785556114f3565b828001600101855582156114f3579182015b828111156114f35782518255916020019190600101906114d8565b506114ff929150611503565b5090565b5b808211156114ff5760008155600101611504565b6000815180845260005b8181101561153e57602081850181015186830182015201611522565b81811115611550576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006115786020830184611518565b9392505050565b80356001600160a01b038116811461159657600080fd5b919050565b600080604083850312156115ae57600080fd5b6115b78361157f565b946020939093013593505050565b6000806000606084860312156115da57600080fd5b6115e38461157f565b92506115f16020850161157f565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261162857600080fd5b813567ffffffffffffffff8082111561164357611643611601565b604051601f8301601f19908116603f0116810190828211818310171561166b5761166b611601565b8160405283815286602085880101111561168457600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101608c8e0312156116c657600080fd5b67ffffffffffffffff808d3511156116dd57600080fd5b6116ea8e8e358f01611617565b9b506116f860208e0161157f565b9a508060408e0135111561170b57600080fd5b61171b8e60408f01358f01611617565b99508060608e0135111561172e57600080fd5b61173e8e60608f01358f01611617565b98508060808e0135111561175157600080fd5b6117618e60808f01358f01611617565b97508060a08e0135111561177457600080fd5b6117848e60a08f01358f01611617565b96508060c08e0135111561179757600080fd5b506117a88d60c08e01358e01611617565b945060e08c013593506101008c013592506101208c013591506101408c013590509295989b509295989b9093969950565b6000602082840312156117eb57600080fd5b5035919050565b60006020828403121561180457600080fd5b6115788261157f565b6000806040838503121561182057600080fd5b6118298361157f565b91506118376020840161157f565b90509250929050565b6101808152600061185561018083018f611518565b6001600160a01b038e1660208401528281036040840152611876818e611518565b9050828103606084015261188a818d611518565b9050828103608084015261189e818c611518565b905082810360a08401526118b2818b611518565b905082810360c08401526118c6818a611518565b9150508660e08301528561010083015284610120830152836101408301526118f361016083018415159052565b9d9c50505050505050505050505050565b600181811c9082168061191857607f821691505b6020821081141561193957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561199d5761199d611974565b500190565b600181815b808511156119dd5781600019048211156119c3576119c3611974565b808516156119d057918102915b93841c93908002906119a7565b509250929050565b6000826119f457506001610418565b81611a0157506000610418565b8160018114611a175760028114611a2157611a3d565b6001915050610418565b60ff841115611a3257611a32611974565b50506001821b610418565b5060208310610133831016604e8410600b8410161715611a60575081810a610418565b611a6a83836119a2565b8060001904821115611a7e57611a7e611974565b029392505050565b600061157860ff8416836119e5565b6000816000190483118215151615611aaf57611aaf611974565b500290565b600082821015611ac657611ac6611974565b50039056fea2646970667358221220b445f314f180448e65ba37f11b7263952106330543b3135b86064612ec90bc5864736f6c634300080a0033",
"deployedBytecode": "608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063a457c2d71161007c578063a457c2d7146102b1578063a9059cbb146102c4578063dd62ed3e146102d7578063e63ab1e914610310578063f2fde38b14610337578063fc5a5b631461034a57600080fd5b806370a0823114610242578063715018a61461026b57806379cc6790146102735780638456cb59146102865780638da5cb5b1461028e57806395d89b41146102a957600080fd5b8063313ce56711610115578063313ce567146101e057806339509351146101ef5780633f4ba83a1461020257806340c10f191461020a57806342966c681461021d5780635c975abb1461023057600080fd5b806306fdde031461015d578063095ea7b31461017b57806318160ddd1461019e57806323b872dd146101b0578063250b5dd1146101c35780632766c8cf146101d8575b600080fd5b610165610375565b6040516101729190611565565b60405180910390f35b61018e61018936600461159b565b610407565b6040519015158152602001610172565b6002545b604051908152602001610172565b61018e6101be3660046115c5565b61041e565b6101d66101d13660046116a4565b6104cd565b005b6006546101a2565b60405160128152602001610172565b61018e6101fd36600461159b565b6106c2565b6101d66106fe565b6101d661021836600461159b565b610732565b6101d661022b3660046117d9565b61077f565b600554600160a01b900460ff1661018e565b6101a26102503660046117f2565b6001600160a01b031660009081526020819052604090205490565b6101d661078c565b6101d661028136600461159b565b6107c0565b6101d6610846565b6005546040516001600160a01b039091168152602001610172565b610165610878565b61018e6102bf36600461159b565b610887565b61018e6102d236600461159b565b610920565b6101a26102e536600461180d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101a27f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b6101d66103453660046117f2565b61092d565b61035d6103583660046117d9565b6109c5565b6040516101729c9b9a99989796959493929190611840565b60606003805461038490611904565b80601f01602080910402602001604051908101604052809291908181526020018280546103b090611904565b80156103fd5780601f106103d2576101008083540402835291602001916103fd565b820191906000526020600020905b8154815290600101906020018083116103e057829003601f168201915b5050505050905090565b6000610414338484610d78565b5060015b92915050565b600061042b848484610e9c565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156104b55760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104c28533858403610d78565b506001949350505050565b6005546001600160a01b031633146104f75760405162461bcd60e51b81526004016104ac9061193f565b60408051610180810182528c81526001600160a01b038c166020808301919091529181018b9052606081018a90526080810189905260a0810188905260c0810187905260e0810186905261010081018590526101208101849052610140810183905260006101608201819052600680546001810182559152815180519293600c9092027ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01926105aa928492019061147f565b506020828101516001830180546001600160a01b0319166001600160a01b03909216919091179055604083015180516105e9926002850192019061147f565b506060820151805161060591600384019160209091019061147f565b506080820151805161062191600484019160209091019061147f565b5060a0820151805161063d91600584019160209091019061147f565b5060c0820151805161065991600684019160209091019061147f565b5060e0820151600782015561010082015160088201556101208201516009820155610140820151600a82015561016090910151600b909101805460ff19169115159190911790556106aa8a82610732565b6106b48a826106c2565b505050505050505050505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104149185906106f990869061198a565b610d78565b6005546001600160a01b031633146107285760405162461bcd60e51b81526004016104ac9061193f565b610730611076565b565b6005546001600160a01b0316331461075c5760405162461bcd60e51b81526004016104ac9061193f565b61077b8261076c6012600a611a86565b6107769084611a95565b611113565b5050565b61078933826111fe565b50565b6005546001600160a01b031633146107b65760405162461bcd60e51b81526004016104ac9061193f565b6107306000611358565b60006107cc83336102e5565b90508181101561082a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b60648201526084016104ac565b6108378333848403610d78565b61084183836111fe565b505050565b6005546001600160a01b031633146108705760405162461bcd60e51b81526004016104ac9061193f565b6107306113aa565b60606004805461038490611904565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156109095760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016104ac565b6109163385858403610d78565b5060019392505050565b6000610414338484610e9c565b6005546001600160a01b031633146109575760405162461bcd60e51b81526004016104ac9061193f565b6001600160a01b0381166109bc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ac565b61078981611358565b600681815481106109d557600080fd5b90600052602060002090600c02016000915090508060000180546109f890611904565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2490611904565b8015610a715780601f10610a4657610100808354040283529160200191610a71565b820191906000526020600020905b815481529060010190602001808311610a5457829003601f168201915b505050600184015460028501805494956001600160a01b03909216949193509150610a9b90611904565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac790611904565b8015610b145780601f10610ae957610100808354040283529160200191610b14565b820191906000526020600020905b815481529060010190602001808311610af757829003601f168201915b505050505090806003018054610b2990611904565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5590611904565b8015610ba25780601f10610b7757610100808354040283529160200191610ba2565b820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505050505090806004018054610bb790611904565b80601f0160208091040260200160405190810160405280929190818152602001828054610be390611904565b8015610c305780601f10610c0557610100808354040283529160200191610c30565b820191906000526020600020905b815481529060010190602001808311610c1357829003601f168201915b505050505090806005018054610c4590611904565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7190611904565b8015610cbe5780601f10610c9357610100808354040283529160200191610cbe565b820191906000526020600020905b815481529060010190602001808311610ca157829003601f168201915b505050505090806006018054610cd390611904565b80601f0160208091040260200160405190810160405280929190818152602001828054610cff90611904565b8015610d4c5780601f10610d2157610100808354040283529160200191610d4c565b820191906000526020600020905b815481529060010190602001808311610d2f57829003601f168201915b505050600784015460088501546009860154600a870154600b9097015495969295919450925060ff168c565b6001600160a01b038316610dda5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ac565b6001600160a01b038216610e3b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ac565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f005760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ac565b6001600160a01b038216610f625760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ac565b610f6d838383611432565b6001600160a01b03831660009081526020819052604090205481811015610fe55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104ac565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061101c90849061198a565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161106891815260200190565b60405180910390a350505050565b600554600160a01b900460ff166110c65760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016104ac565b6005805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0382166111695760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016104ac565b61117560008383611432565b8060026000828254611187919061198a565b90915550506001600160a01b038216600090815260208190526040812080548392906111b490849061198a565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b03821661125e5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016104ac565b61126a82600083611432565b6001600160a01b038216600090815260208190526040902054818110156112de5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016104ac565b6001600160a01b038316600090815260208190526040812083830390556002805484929061130d908490611ab4565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600554600160a01b900460ff16156113f75760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016104ac565b6005805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586110f63390565b600554600160a01b900460ff16156108415760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016104ac565b82805461148b90611904565b90600052602060002090601f0160209004810192826114ad57600085556114f3565b82601f106114c657805160ff19168380011785556114f3565b828001600101855582156114f3579182015b828111156114f35782518255916020019190600101906114d8565b506114ff929150611503565b5090565b5b808211156114ff5760008155600101611504565b6000815180845260005b8181101561153e57602081850181015186830182015201611522565b81811115611550576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006115786020830184611518565b9392505050565b80356001600160a01b038116811461159657600080fd5b919050565b600080604083850312156115ae57600080fd5b6115b78361157f565b946020939093013593505050565b6000806000606084860312156115da57600080fd5b6115e38461157f565b92506115f16020850161157f565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261162857600080fd5b813567ffffffffffffffff8082111561164357611643611601565b604051601f8301601f19908116603f0116810190828211818310171561166b5761166b611601565b8160405283815286602085880101111561168457600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101608c8e0312156116c657600080fd5b67ffffffffffffffff808d3511156116dd57600080fd5b6116ea8e8e358f01611617565b9b506116f860208e0161157f565b9a508060408e0135111561170b57600080fd5b61171b8e60408f01358f01611617565b99508060608e0135111561172e57600080fd5b61173e8e60608f01358f01611617565b98508060808e0135111561175157600080fd5b6117618e60808f01358f01611617565b97508060a08e0135111561177457600080fd5b6117848e60a08f01358f01611617565b96508060c08e0135111561179757600080fd5b506117a88d60c08e01358e01611617565b945060e08c013593506101008c013592506101208c013591506101408c013590509295989b509295989b9093969950565b6000602082840312156117eb57600080fd5b5035919050565b60006020828403121561180457600080fd5b6115788261157f565b6000806040838503121561182057600080fd5b6118298361157f565b91506118376020840161157f565b90509250929050565b6101808152600061185561018083018f611518565b6001600160a01b038e1660208401528281036040840152611876818e611518565b9050828103606084015261188a818d611518565b9050828103608084015261189e818c611518565b905082810360a08401526118b2818b611518565b905082810360c08401526118c6818a611518565b9150508660e08301528561010083015284610120830152836101408301526118f361016083018415159052565b9d9c50505050505050505050505050565b600181811c9082168061191857607f821691505b6020821081141561193957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561199d5761199d611974565b500190565b600181815b808511156119dd5781600019048211156119c3576119c3611974565b808516156119d057918102915b93841c93908002906119a7565b509250929050565b6000826119f457506001610418565b81611a0157506000610418565b8160018114611a175760028114611a2157611a3d565b6001915050610418565b60ff841115611a3257611a32611974565b50506001821b610418565b5060208310610133831016604e8410600b8410161715611a60575081810a610418565b611a6a83836119a2565b8060001904821115611a7e57611a7e611974565b029392505050565b600061157860ff8416836119e5565b6000816000190483118215151615611aaf57611aaf611974565b500290565b600082821015611ac657611ac6611974565b50039056fea2646970667358221220b445f314f180448e65ba37f11b7263952106330543b3135b86064612ec90bc5864736f6c634300080a0033",
"sourceMap": "909:3624:0:-:0;;;1642:50;;;;;;;;;-1:-1:-1;1906:113:3;;;;;;;;;;;-1:-1:-1;;;1906:113:3;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1906:113:3;;;;1972:13;;1906:113;;;1972:13;;:5;;:13;:::i;:::-;-1:-1:-1;1995:17:3;;;;:7;;:17;;;;;:::i;:::-;;1906:113;;867:23:1;877:12;:10;;;:12;;:::i;:::-;867:9;:23::i;:::-;924:7:2;:15;;-1:-1:-1;;;;924:15:2;;;909:3624:0;;587:96:7;666:10;;587:96::o;2041:169:1:-;2115:6;;;-1:-1:-1;;;;;2131:17:1;;;-1:-1:-1;;;;;;2131:17:1;;;;;;;2163:40;;2115:6;;;2131:17;2115:6;;2163:40;;2096:16;;2163:40;2086:124;2041:169;:::o;909:3624:0:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;909:3624:0;;;-1:-1:-1;909:3624:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:380:8;93:1;89:12;;;;136;;;157:61;;211:4;203:6;199:17;189:27;;157:61;264:2;256:6;253:14;233:18;230:38;227:161;;;310:10;305:3;301:20;298:1;291:31;345:4;342:1;335:15;373:4;370:1;363:15;227:161;;14:380;;;:::o;:::-;909:3624:0;;;;;;",
"deployedSourceMap": "909:3624:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2084:98:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4181:166;;;;;;:::i;:::-;;:::i;:::-;;;1414:14:8;;1407:22;1389:41;;1377:2;1362:18;4181:166:3;1249:187:8;3172:106:3;3259:12;;3172:106;;;1587:25:8;;;1575:2;1560:18;3172:106:3;1441:177:8;4814:478:3;;;;;;:::i;:::-;;:::i;3603:919:0:-;;;;;;:::i;:::-;;:::i;:::-;;1778:91;1849:6;:13;1778:91;;3021::3;;;3103:2;4604:36:8;;4592:2;4577:18;3021:91:3;4462:184:8;5687:212:3;;;;;;:::i;:::-;;:::i;2037:63:0:-;;;:::i;2633:142::-;;;;;;:::i;:::-;;:::i;487:89:5:-;;;;;;:::i;:::-;;:::i;1041:84:2:-;1111:7;;-1:-1:-1;;;1111:7:2;;;;1041:84;;3336:125:3;;;;;;:::i;:::-;-1:-1:-1;;;;;3436:18:3;3410:7;3436:18;;;;;;;;;;;;3336:125;1605:92:1;;;:::i;882:361:5:-;;;;;;:::i;:::-;;:::i;1922:59:0:-;;;:::i;973:85:1:-;1045:6;;973:85;;-1:-1:-1;;;;;1045:6:1;;;5282:51:8;;5270:2;5255:18;973:85:1;5136:203:8;2295:102:3;;;:::i;6386:405::-;;;;;;:::i;:::-;;:::i;3664:172::-;;;;;;:::i;:::-;;:::i;3894:149::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4009:18:3;;;3983:7;4009:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3894:149;1040:62:0;;1078:24;1040:62;;1846:189:1;;;;;;:::i;:::-;;:::i;1610:25:0:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;2084:98:3:-;2138:13;2170:5;2163:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2084:98;:::o;4181:166::-;4264:4;4280:39;666:10:7;4303:7:3;4312:6;4280:8;:39::i;:::-;-1:-1:-1;4336:4:3;4181:166;;;;;:::o;4814:478::-;4950:4;4966:36;4976:6;4984:9;4995:6;4966:9;:36::i;:::-;-1:-1:-1;;;;;5040:19:3;;5013:24;5040:19;;;:11;:19;;;;;;;;666:10:7;5040:33:3;;;;;;;;5091:26;;;;5083:79;;;;-1:-1:-1;;;5083:79:3;;7873:2:8;5083:79:3;;;7855:21:8;7912:2;7892:18;;;7885:30;7951:34;7931:18;;;7924:62;-1:-1:-1;;;8002:18:8;;;7995:38;8050:19;;5083:79:3;;;;;;;;;5196:57;5205:6;666:10:7;5246:6:3;5227:16;:25;5196:8;:57::i;:::-;-1:-1:-1;5281:4:3;;4814:478;-1:-1:-1;;;;4814:478:3:o;3603:919:0:-;1045:6:1;;-1:-1:-1;;;;;1045:6:1;666:10:7;1185:23:1;1177:68;;;;-1:-1:-1;;;1177:68:1;;;;;;;:::i;:::-;4075:332:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;-1:-1:-1;;;;;4075:332:0;::::1;;::::0;;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4075:332:0;;;;;;4063:6:::1;:345:::0;;4075:332;4063:345;::::1;::::0;;;;;;;;4075:332;;4063:345:::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;4063:345:0::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;4063:345:0::1;-1:-1:-1::0;;;;;4063:345:0;;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;4063:345:0::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;4063:345:0::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;4063:345:0::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;4063:345:0::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;4063:345:0::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;-1:-1:-1;;4063:345:0::1;::::0;::::1;;::::0;;;::::1;::::0;;4419:36:::1;4424:12:::0;4438:16;4419:4:::1;:36::i;:::-;4465:49;4483:12;4497:16;4465:17;:49::i;:::-;;3603:919:::0;;;;;;;;;;;:::o;5687:212:3:-;666:10:7;5775:4:3;5823:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;5823:34:3;;;;;;;;;;5775:4;;5791:80;;5814:7;;5823:47;;5860:10;;5823:47;:::i;:::-;5791:8;:80::i;2037:63:0:-;1045:6:1;;-1:-1:-1;;;;;1045:6:1;666:10:7;1185:23:1;1177:68;;;;-1:-1:-1;;;1177:68:1;;;;;;;:::i;:::-;2083:10:0::1;:8;:10::i;:::-;2037:63::o:0;2633:142::-;1045:6:1;;-1:-1:-1;;;;;1045:6:1;666:10:7;1185:23:1;1177:68;;;;-1:-1:-1;;;1177:68:1;;;;;;;:::i;:::-;2702:36:0::1;2708:2:::0;2721:16:::1;3103:2:3::0;2721::0::1;:16;:::i;:::-;2712:25;::::0;:6;:25:::1;:::i;:::-;2702:5;:36::i;:::-;2633:142:::0;;:::o;487:89:5:-;542:27;666:10:7;562:6:5;542:5;:27::i;:::-;487:89;:::o;1605:92:1:-;1045:6;;-1:-1:-1;;;;;1045:6:1;666:10:7;1185:23:1;1177:68;;;;-1:-1:-1;;;1177:68:1;;;;;;;:::i;:::-;1669:21:::1;1687:1;1669:9;:21::i;882:361:5:-:0;958:24;985:32;995:7;666:10:7;3894:149:3;:::i;985:32:5:-;958:59;;1055:6;1035:16;:26;;1027:75;;;;-1:-1:-1;;;1027:75:5;;10464:2:8;1027:75:5;;;10446:21:8;10503:2;10483:18;;;10476:30;10542:34;10522:18;;;10515:62;-1:-1:-1;;;10593:18:8;;;10586:34;10637:19;;1027:75:5;10262:400:8;1027:75:5;1136:58;1145:7;666:10:7;1187:6:5;1168:16;:25;1136:8;:58::i;:::-;1214:22;1220:7;1229:6;1214:5;:22::i;:::-;948:295;882:361;;:::o;1922:59:0:-;1045:6:1;;-1:-1:-1;;;;;1045:6:1;666:10:7;1185:23:1;1177:68;;;;-1:-1:-1;;;1177:68:1;;;;;;;:::i;:::-;1966:8:0::1;:6;:8::i;2295:102:3:-:0;2351:13;2383:7;2376:14;;;;;:::i;6386:405::-;666:10:7;6479:4:3;6522:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6522:34:3;;;;;;;;;;6574:35;;;;6566:85;;;;-1:-1:-1;;;6566:85:3;;10869:2:8;6566:85:3;;;10851:21:8;10908:2;10888:18;;;10881:30;10947:34;10927:18;;;10920:62;-1:-1:-1;;;10998:18:8;;;10991:35;11043:19;;6566:85:3;10667:401:8;6566:85:3;6685:67;666:10:7;6708:7:3;6736:15;6717:16;:34;6685:8;:67::i;:::-;-1:-1:-1;6780:4:3;;6386:405;-1:-1:-1;;;6386:405:3:o;3664:172::-;3750:4;3766:42;666:10:7;3790:9:3;3801:6;3766:9;:42::i;1846:189:1:-;1045:6;;-1:-1:-1;;;;;1045:6:1;666:10:7;1185:23:1;1177:68;;;;-1:-1:-1;;;1177:68:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;1934:22:1;::::1;1926:73;;;::::0;-1:-1:-1;;;1926:73:1;;11275:2:8;1926:73:1::1;::::0;::::1;11257:21:8::0;11314:2;11294:18;;;11287:30;11353:34;11333:18;;;11326:62;-1:-1:-1;;;11404:18:8;;;11397:36;11450:19;;1926:73:1::1;11073:402:8::0;1926:73:1::1;2009:19;2019:8;2009:9;:19::i;1610:25:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1610:25:0;;;;;;;;;;;-1:-1:-1;;;;;1610:25:0;;;;;;-1:-1:-1;1610:25:0;-1:-1:-1;1610:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1610:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1610:25:0;-1:-1:-1;1610:25:0;;;:::o;9962:370:3:-;-1:-1:-1;;;;;10093:19:3;;10085:68;;;;-1:-1:-1;;;10085:68:3;;11682:2:8;10085:68:3;;;11664:21:8;11721:2;11701:18;;;11694:30;11760:34;11740:18;;;11733:62;-1:-1:-1;;;11811:18:8;;;11804:34;11855:19;;10085:68:3;11480:400:8;10085:68:3;-1:-1:-1;;;;;10171:21:3;;10163:68;;;;-1:-1:-1;;;10163:68:3;;12087:2:8;10163:68:3;;;12069:21:8;12126:2;12106:18;;;12099:30;12165:34;12145:18;;;12138:62;-1:-1:-1;;;12216:18:8;;;12209:32;12258:19;;10163:68:3;11885:398:8;10163:68:3;-1:-1:-1;;;;;10242:18:3;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10293:32;;1587:25:8;;;10293:32:3;;1560:18:8;10293:32:3;;;;;;;9962:370;;;:::o;7265:713::-;-1:-1:-1;;;;;7400:20:3;;7392:70;;;;-1:-1:-1;;;7392:70:3;;12490:2:8;7392:70:3;;;12472:21:8;12529:2;12509:18;;;12502:30;12568:34;12548:18;;;12541:62;-1:-1:-1;;;12619:18:8;;;12612:35;12664:19;;7392:70:3;12288:401:8;7392:70:3;-1:-1:-1;;;;;7480:23:3;;7472:71;;;;-1:-1:-1;;;7472:71:3;;12896:2:8;7472:71:3;;;12878:21:8;12935:2;12915:18;;;12908:30;12974:34;12954:18;;;12947:62;-1:-1:-1;;;13025:18:8;;;13018:33;13068:19;;7472:71:3;12694:399:8;7472:71:3;7554:47;7575:6;7583:9;7594:6;7554:20;:47::i;:::-;-1:-1:-1;;;;;7636:17:3;;7612:21;7636:17;;;;;;;;;;;7671:23;;;;7663:74;;;;-1:-1:-1;;;7663:74:3;;13300:2:8;7663:74:3;;;13282:21:8;13339:2;13319:18;;;13312:30;13378:34;13358:18;;;13351:62;-1:-1:-1;;;13429:18:8;;;13422:36;13475:19;;7663:74:3;13098:402:8;7663:74:3;-1:-1:-1;;;;;7771:17:3;;;:9;:17;;;;;;;;;;;7791:22;;;7771:42;;7833:20;;;;;;;;:30;;7807:6;;7771:9;7833:30;;7807:6;;7833:30;:::i;:::-;;;;;;;;7896:9;-1:-1:-1;;;;;7879:35:3;7888:6;-1:-1:-1;;;;;7879:35:3;;7907:6;7879:35;;;;1587:25:8;;1575:2;1560:18;;1441:177;7879:35:3;;;;;;;;7382:596;7265:713;;;:::o;2053:117:2:-;1111:7;;-1:-1:-1;;;1111:7:2;;;;1612:41;;;;-1:-1:-1;;;1612:41:2;;13707:2:8;1612:41:2;;;13689:21:8;13746:2;13726:18;;;13719:30;-1:-1:-1;;;13765:18:8;;;13758:50;13825:18;;1612:41:2;13505:344:8;1612:41:2;2111:7:::1;:15:::0;;-1:-1:-1;;;;2111:15:2::1;::::0;;2141:22:::1;666:10:7::0;2150:12:2::1;2141:22;::::0;-1:-1:-1;;;;;5300:32:8;;;5282:51;;5270:2;5255:18;2141:22:2::1;;;;;;;2053:117::o:0;8254:389:3:-;-1:-1:-1;;;;;8337:21:3;;8329:65;;;;-1:-1:-1;;;8329:65:3;;14056:2:8;8329:65:3;;;14038:21:8;14095:2;14075:18;;;14068:30;14134:33;14114:18;;;14107:61;14185:18;;8329:65:3;13854:355:8;8329:65:3;8405:49;8434:1;8438:7;8447:6;8405:20;:49::i;:::-;8481:6;8465:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8497:18:3;;:9;:18;;;;;;;;;;:28;;8519:6;;8497:9;:28;;8519:6;;8497:28;:::i;:::-;;;;-1:-1:-1;;8540:37:3;;1587:25:8;;;-1:-1:-1;;;;;8540:37:3;;;8557:1;;8540:37;;1575:2:8;1560:18;8540:37:3;;;;;;;2633:142:0;;:::o;8963:576:3:-;-1:-1:-1;;;;;9046:21:3;;9038:67;;;;-1:-1:-1;;;9038:67:3;;14416:2:8;9038:67:3;;;14398:21:8;14455:2;14435:18;;;14428:30;14494:34;14474:18;;;14467:62;-1:-1:-1;;;14545:18:8;;;14538:31;14586:19;;9038:67:3;14214:397:8;9038:67:3;9116:49;9137:7;9154:1;9158:6;9116:20;:49::i;:::-;-1:-1:-1;;;;;9201:18:3;;9176:22;9201:18;;;;;;;;;;;9237:24;;;;9229:71;;;;-1:-1:-1;;;9229:71:3;;14818:2:8;9229:71:3;;;14800:21:8;14857:2;14837:18;;;14830:30;14896:34;14876:18;;;14869:62;-1:-1:-1;;;14947:18:8;;;14940:32;14989:19;;9229:71:3;14616:398:8;9229:71:3;-1:-1:-1;;;;;9334:18:3;;:9;:18;;;;;;;;;;9355:23;;;9334:44;;9398:12;:22;;9372:6;;9334:9;9398:22;;9372:6;;9398:22;:::i;:::-;;;;-1:-1:-1;;9436:37:3;;1587:25:8;;;9462:1:3;;-1:-1:-1;;;;;9436:37:3;;;;;1575:2:8;1560:18;9436:37:3;;;;;;;948:295:5;882:361;;:::o;2041:169:1:-;2115:6;;;-1:-1:-1;;;;;2131:17:1;;;-1:-1:-1;;;;;;2131:17:1;;;;;;;2163:40;;2115:6;;;2131:17;2115:6;;2163:40;;2096:16;;2163:40;2086:124;2041:169;:::o;1806:115:2:-;1111:7;;-1:-1:-1;;;1111:7:2;;;;1354:9;1346:38;;;;-1:-1:-1;;;1346:38:2;;15351:2:8;1346:38:2;;;15333:21:8;15390:2;15370:18;;;15363:30;-1:-1:-1;;;15409:18:8;;;15402:46;15465:18;;1346:38:2;15149:340:8;1346:38:2;1865:7:::1;:14:::0;;-1:-1:-1;;;;1865:14:2::1;-1:-1:-1::0;;;1865:14:2::1;::::0;;1894:20:::1;1901:12;666:10:7::0;;587:96;3249:193:0;1111:7:2;;-1:-1:-1;;;1111:7:2;;;;1354:9;1346:38;;;;-1:-1:-1;;;1346:38:2;;15351:2:8;1346:38:2;;;15333:21:8;15390:2;15370:18;;;15363:30;-1:-1:-1;;;15409:18:8;;;15402:46;15465:18;;1346:38:2;15149:340:8;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:472:8;56:3;94:5;88:12;121:6;116:3;109:19;146:1;156:162;170:6;167:1;164:13;156:162;;;232:4;288:13;;;284:22;;278:29;260:11;;;256:20;;249:59;185:12;156:162;;;336:6;333:1;330:13;327:87;;;402:1;395:4;386:6;381:3;377:16;373:27;366:38;327:87;-1:-1:-1;468:2:8;447:15;-1:-1:-1;;443:29:8;434:39;;;;475:4;430:50;;14:472;-1:-1:-1;;14:472:8:o;491:220::-;640:2;629:9;622:21;603:4;660:45;701:2;690:9;686:18;678:6;660:45;:::i;:::-;652:53;491:220;-1:-1:-1;;;491:220:8:o;716:173::-;784:20;;-1:-1:-1;;;;;833:31:8;;823:42;;813:70;;879:1;876;869:12;813:70;716:173;;;:::o;894:254::-;962:6;970;1023:2;1011:9;1002:7;998:23;994:32;991:52;;;1039:1;1036;1029:12;991:52;1062:29;1081:9;1062:29;:::i;:::-;1052:39;1138:2;1123:18;;;;1110:32;;-1:-1:-1;;;894:254:8:o;1623:328::-;1700:6;1708;1716;1769:2;1757:9;1748:7;1744:23;1740:32;1737:52;;;1785:1;1782;1775:12;1737:52;1808:29;1827:9;1808:29;:::i;:::-;1798:39;;1856:38;1890:2;1879:9;1875:18;1856:38;:::i;:::-;1846:48;;1941:2;1930:9;1926:18;1913:32;1903:42;;1623:328;;;;;:::o;1956:127::-;2017:10;2012:3;2008:20;2005:1;1998:31;2048:4;2045:1;2038:15;2072:4;2069:1;2062:15;2088:719;2131:5;2184:3;2177:4;2169:6;2165:17;2161:27;2151:55;;2202:1;2199;2192:12;2151:55;2238:6;2225:20;2264:18;2301:2;2297;2294:10;2291:36;;;2307:18;;:::i;:::-;2382:2;2376:9;2350:2;2436:13;;-1:-1:-1;;2432:22:8;;;2456:2;2428:31;2424:40;2412:53;;;2480:18;;;2500:22;;;2477:46;2474:72;;;2526:18;;:::i;:::-;2566:10;2562:2;2555:22;2601:2;2593:6;2586:18;2647:3;2640:4;2635:2;2627:6;2623:15;2619:26;2616:35;2613:55;;;2664:1;2661;2654:12;2613:55;2728:2;2721:4;2713:6;2709:17;2702:4;2694:6;2690:17;2677:54;2775:1;2768:4;2763:2;2755:6;2751:15;2747:26;2740:37;2795:6;2786:15;;;;;;2088:719;;;;:::o;2812:1645::-;3021:6;3029;3037;3045;3053;3061;3069;3077;3085;3093;3101:7;3155:3;3143:9;3134:7;3130:23;3126:33;3123:53;;;3172:1;3169;3162:12;3123:53;3195:18;3253:2;3241:9;3228:23;3225:31;3222:51;;;3269:1;3266;3259:12;3222:51;3292:67;3351:7;3338:9;3325:23;3314:9;3310:39;3292:67;:::i;:::-;3282:77;;3378:38;3412:2;3401:9;3397:18;3378:38;:::i;:::-;3368:48;;3465:2;3459;3448:9;3444:18;3431:32;3428:40;3425:60;;;3481:1;3478;3471:12;3425:60;3504:76;3572:7;3565:2;3554:9;3550:18;3537:32;3526:9;3522:48;3504:76;:::i;:::-;3494:86;;3629:2;3623;3612:9;3608:18;3595:32;3592:40;3589:60;;;3645:1;3642;3635:12;3589:60;3668:76;3736:7;3729:2;3718:9;3714:18;3701:32;3690:9;3686:48;3668:76;:::i;:::-;3658:86;;3794:2;3787:3;3776:9;3772:19;3759:33;3756:41;3753:61;;;3810:1;3807;3800:12;3753:61;3833:77;3902:7;3894:3;3883:9;3879:19;3866:33;3855:9;3851:49;3833:77;:::i;:::-;3823:87;;3960:2;3953:3;3942:9;3938:19;3925:33;3922:41;3919:61;;;3976:1;3973;3966:12;3919:61;3999:77;4068:7;4060:3;4049:9;4045:19;4032:33;4021:9;4017:49;3999:77;:::i;:::-;3989:87;;4126:2;4119:3;4108:9;4104:19;4091:33;4088:41;4085:61;;;4142:1;4139;4132:12;4085:61;;4165:77;4234:7;4226:3;4215:9;4211:19;4198:33;4187:9;4183:49;4165:77;:::i;:::-;4155:87;;4289:3;4278:9;4274:19;4261:33;4251:43;;4341:3;4330:9;4326:19;4313:33;4303:43;;4393:3;4382:9;4378:19;4365:33;4355:43;;4446:3;4435:9;4431:19;4418:33;4407:44;;2812:1645;;;;;;;;;;;;;;:::o;4651:180::-;4710:6;4763:2;4751:9;4742:7;4738:23;4734:32;4731:52;;;4779:1;4776;4769:12;4731:52;-1:-1:-1;4802:23:8;;4651:180;-1:-1:-1;4651:180:8:o;4836:186::-;4895:6;4948:2;4936:9;4927:7;4923:23;4919:32;4916:52;;;4964:1;4961;4954:12;4916:52;4987:29;5006:9;4987:29;:::i;5344:260::-;5412:6;5420;5473:2;5461:9;5452:7;5448:23;5444:32;5441:52;;;5489:1;5486;5479:12;5441:52;5512:29;5531:9;5512:29;:::i;:::-;5502:39;;5560:38;5594:2;5583:9;5579:18;5560:38;:::i;:::-;5550:48;;5344:260;;;;;:::o;5791:1490::-;6344:3;6333:9;6326:22;6307:4;6371:46;6412:3;6401:9;6397:19;6389:6;6371:46;:::i;:::-;-1:-1:-1;;;;;5093:31:8;;6468:2;6453:18;;5081:44;6520:9;6512:6;6508:22;6503:2;6492:9;6488:18;6481:50;6554:33;6580:6;6572;6554:33;:::i;:::-;6540:47;;6635:9;6627:6;6623:22;6618:2;6607:9;6603:18;6596:50;6669:33;6695:6;6687;6669:33;:::i;:::-;6655:47;;6751:9;6743:6;6739:22;6733:3;6722:9;6718:19;6711:51;6785:33;6811:6;6803;6785:33;:::i;:::-;6771:47;;6867:9;6859:6;6855:22;6849:3;6838:9;6834:19;6827:51;6901:33;6927:6;6919;6901:33;:::i;:::-;6887:47;;6983:9;6975:6;6971:22;6965:3;6954:9;6950:19;6943:51;7011:33;7037:6;7029;7011:33;:::i;:::-;7003:41;;;7081:6;7075:3;7064:9;7060:19;7053:35;7125:6;7119:3;7108:9;7104:19;7097:35;7169:6;7163:3;7152:9;7148:19;7141:35;7213:7;7207:3;7196:9;7192:19;7185:36;7230:45;7270:3;7259:9;7255:19;7246:7;1223:13;1216:21;1204:34;;1153:91;7230:45;5791:1490;;;;;;;;;;;;;;;:::o;7286:380::-;7365:1;7361:12;;;;7408;;;7429:61;;7483:4;7475:6;7471:17;7461:27;;7429:61;7536:2;7528:6;7525:14;7505:18;7502:38;7499:161;;;7582:10;7577:3;7573:20;7570:1;7563:31;7617:4;7614:1;7607:15;7645:4;7642:1;7635:15;7499:161;;7286:380;;;:::o;8080:356::-;8282:2;8264:21;;;8301:18;;;8294:30;8360:34;8355:2;8340:18;;8333:62;8427:2;8412:18;;8080:356::o;8441:127::-;8502:10;8497:3;8493:20;8490:1;8483:31;8533:4;8530:1;8523:15;8557:4;8554:1;8547:15;8573:128;8613:3;8644:1;8640:6;8637:1;8634:13;8631:39;;;8650:18;;:::i;:::-;-1:-1:-1;8686:9:8;;8573:128::o;8706:422::-;8795:1;8838:5;8795:1;8852:270;8873:7;8863:8;8860:21;8852:270;;;8932:4;8928:1;8924:6;8920:17;8914:4;8911:27;8908:53;;;8941:18;;:::i;:::-;8991:7;8981:8;8977:22;8974:55;;;9011:16;;;;8974:55;9090:22;;;;9050:15;;;;8852:270;;;8856:3;8706:422;;;;;:::o;9133:806::-;9182:5;9212:8;9202:80;;-1:-1:-1;9253:1:8;9267:5;;9202:80;9301:4;9291:76;;-1:-1:-1;9338:1:8;9352:5;;9291:76;9383:4;9401:1;9396:59;;;;9469:1;9464:130;;;;9376:218;;9396:59;9426:1;9417:10;;9440:5;;;9464:130;9501:3;9491:8;9488:17;9485:43;;;9508:18;;:::i;:::-;-1:-1:-1;;9564:1:8;9550:16;;9579:5;;9376:218;;9678:2;9668:8;9665:16;9659:3;9653:4;9650:13;9646:36;9640:2;9630:8;9627:16;9622:2;9616:4;9613:12;9609:35;9606:77;9603:159;;;-1:-1:-1;9715:19:8;;;9747:5;;9603:159;9794:34;9819:8;9813:4;9794:34;:::i;:::-;9864:6;9860:1;9856:6;9852:19;9843:7;9840:32;9837:58;;;9875:18;;:::i;:::-;9913:20;;9133:806;-1:-1:-1;;;9133:806:8:o;9944:140::-;10002:5;10031:47;10072:4;10062:8;10058:19;10052:4;10031:47;:::i;10089:168::-;10129:7;10195:1;10191;10187:6;10183:14;10180:1;10177:21;10172:1;10165:9;10158:17;10154:45;10151:71;;;10202:18;;:::i;:::-;-1:-1:-1;10242:9:8;;10089:168::o;15019:125::-;15059:4;15087:1;15084;15081:8;15078:34;;;15092:18;;:::i;:::-;-1:-1:-1;15129:9:8;;15019:125::o",
"sourcePath": "/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/GrantMgmt/contracts/GrantManager.sol",
"compiler": {
"name": "solc",
"version": "0.8.10+commit.fc410830"
},
"ast": {
"absolutePath": "/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/GrantMgmt/contracts/GrantManager.sol",
"exportedSymbols": {
"Context": [
1119
],
"ERC20": [
932
],
"ERC20Burnable": [
1072
],
"GrantManager": [
190
],
"IERC20": [
1010
],
"IERC20Metadata": [
1097
],
"Ownable": [
294
],
"Pausable": [
386
]
},
"id": 191,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "32:23:0"
},
{
"absolutePath": "/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol",
"file": "/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol",
"id": 2,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 191,
"sourceUnit": 933,
"src": "56:153:0",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol",
"file": "/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol",
"id": 3,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 191,
"sourceUnit": 1073,
"src": "210:172:0",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/node_modules/@openzeppelin/contracts/access/Ownable.sol",
"file": "/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/node_modules/@openzeppelin/contracts/access/Ownable.sol",
"id": 4,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 191,
"sourceUnit": 295,
"src": "383:150:0",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/node_modules/@openzeppelin/contracts/security/Pausable.sol",
"file": "/Users/christopherstone/Documents/GitHub/blockchain-developer-bootcamp-final-project/node_modules/@openzeppelin/contracts/security/Pausable.sol",
"id": 5,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 191,
"sourceUnit": 387,
"src": "534:153:0",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 7,
"name": "ERC20",
"nodeType": "IdentifierPath",
"referencedDeclaration": 932,
"src": "934:5:0"
},
"id": 8,
"nodeType": "InheritanceSpecifier",
"src": "934:5:0"
},
{
"baseName": {
"id": 9,
"name": "ERC20Burnable",
"nodeType": "IdentifierPath",
"referencedDeclaration": 1072,
"src": "941:13:0"
},
"id": 10,
"nodeType": "InheritanceSpecifier",
"src": "941:13:0"
},
{
"baseName": {
"id": 11,
"name": "Ownable",
"nodeType": "IdentifierPath",
"referencedDeclaration": 294,
"src": "956:7:0"
},
"id": 12,
"nodeType": "InheritanceSpecifier",
"src": "956:7:0"
},
{
"baseName": {
"id": 13,
"name": "Pausable",
"nodeType": "IdentifierPath",
"referencedDeclaration": 386,
"src": "965:8:0"
},
"id": 14,
"nodeType": "InheritanceSpecifier",
"src": "965:8:0"
}
],
"canonicalName": "GrantManager",
"contractDependencies": [],
"contractKind": "contract",
"documentation": {
"id": 6,
"nodeType": "StructuredDocumentation",
"src": "688:54:0",
"text": "@custom:security-contact [email protected]"
},
"fullyImplemented": true,
"id": 190,
"linearizedBaseContracts": [
190,
386,
294,
1072,
932,
1097,
1010,
1119
],
"name": "GrantManager",
"nameLocation": "918:12:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"documentation": {
"id": 15,
"nodeType": "StructuredDocumentation",
"src": "981:54:0",
"text": " @dev Set who may pause the contract"
},
"functionSelector": "e63ab1e9",
"id": 20,
"mutability": "constant",
"name": "PAUSER_ROLE",
"nameLocation": "1064:11:0",
"nodeType": "VariableDeclaration",
"scope": 190,
"src": "1040:62:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 16,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1040:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": {
"arguments": [
{
"hexValue": "5041555345525f524f4c45",
"id": 18,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1088:13:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a",
"typeString": "literal_string \"PAUSER_ROLE\""
},
"value": "PAUSER_ROLE"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a",
"typeString": "literal_string \"PAUSER_ROLE\""
}
],
"id": 17,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967288,
"src": "1078:9:0",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 19,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1078:24:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "public"
},
{
"canonicalName": "GrantManager.AwardInfo",
"id": 45,
"members": [
{
"constant": false,
"id": 22,
"mutability": "mutable",
"name": "awardeeName",
"nameLocation": "1209:11:0",
"nodeType": "VariableDeclaration",
"scope": 45,
"src": "1202:18:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 21,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1202:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 24,
"mutability": "mutable",
"name": "awardeeAddr",
"nameLocation": "1238:11:0",
"nodeType": "VariableDeclaration",
"scope": 45,
"src": "1230:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 23,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1230:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 26,
"mutability": "mutable",
"name": "cageCode",
"nameLocation": "1266:8:0",
"nodeType": "VariableDeclaration",
"scope": 45,
"src": "1259:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 25,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1259:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 28,
"mutability": "mutable",
"name": "naicsCode",
"nameLocation": "1291:9:0",
"nodeType": "VariableDeclaration",
"scope": 45,
"src": "1284:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 27,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1284:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 30,
"mutability": "mutable",
"name": "grantNumber",
"nameLocation": "1317:11:0",
"nodeType": "VariableDeclaration",
"scope": 45,
"src": "1310:18:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 29,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1310:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},