privately-smartcontract-lib 1.0.2

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