privately-smartcontract-lib 1.0.6 → 1.1.0

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 (64) hide show
  1. package/MockUSDC.json +342 -0
  2. package/package.json +4 -4
  3. package/PrivatelyCoin.json +0 -863
  4. package/dist/PrivatelyAuctionSystem.json +0 -734
  5. package/dist/PrivatelyCoin.json +0 -863
  6. package/dist/PrivatelyCollection.json +0 -865
  7. package/dist/client.d.ts +0 -38
  8. package/dist/client.js +0 -67
  9. package/dist/common/index.d.ts +0 -2
  10. package/dist/common/index.js +0 -18
  11. package/dist/common/privately.error.d.ts +0 -5
  12. package/dist/common/privately.error.js +0 -47
  13. package/dist/common/request-signature.d.ts +0 -17
  14. package/dist/common/request-signature.js +0 -38
  15. package/dist/index.d.ts +0 -5
  16. package/dist/index.js +0 -21
  17. package/dist/modules/auctions/auctions.auction.d.ts +0 -12
  18. package/dist/modules/auctions/auctions.auction.js +0 -29
  19. package/dist/modules/auctions/auctions.bid.reqest.d.ts +0 -12
  20. package/dist/modules/auctions/auctions.bid.reqest.js +0 -11
  21. package/dist/modules/auctions/auctions.client.d.ts +0 -147
  22. package/dist/modules/auctions/auctions.client.js +0 -312
  23. package/dist/modules/auctions/auctions.create.request.d.ts +0 -13
  24. package/dist/modules/auctions/auctions.create.request.js +0 -12
  25. package/dist/modules/auctions/auctions.errors.d.ts +0 -6
  26. package/dist/modules/auctions/auctions.errors.js +0 -14
  27. package/dist/modules/auctions/auctions.events.d.ts +0 -5
  28. package/dist/modules/auctions/auctions.events.js +0 -2
  29. package/dist/modules/auctions/auctions.nonces.d.ts +0 -4
  30. package/dist/modules/auctions/auctions.nonces.js +0 -2
  31. package/dist/modules/auctions/index.d.ts +0 -6
  32. package/dist/modules/auctions/index.js +0 -22
  33. package/dist/modules/coin/coin.approve.request.d.ts +0 -8
  34. package/dist/modules/coin/coin.approve.request.js +0 -11
  35. package/dist/modules/coin/coin.client.d.ts +0 -120
  36. package/dist/modules/coin/coin.client.js +0 -246
  37. package/dist/modules/coin/coin.errors.d.ts +0 -6
  38. package/dist/modules/coin/coin.errors.js +0 -23
  39. package/dist/modules/coin/coin.events.d.ts +0 -3
  40. package/dist/modules/coin/coin.events.js +0 -2
  41. package/dist/modules/coin/coin.nonces.d.ts +0 -4
  42. package/dist/modules/coin/coin.nonces.js +0 -2
  43. package/dist/modules/coin/coin.transfer.request.d.ts +0 -8
  44. package/dist/modules/coin/coin.transfer.request.js +0 -11
  45. package/dist/modules/coin/index.d.ts +0 -5
  46. package/dist/modules/coin/index.js +0 -21
  47. package/dist/modules/collection/collection.approve.request.d.ts +0 -8
  48. package/dist/modules/collection/collection.approve.request.js +0 -11
  49. package/dist/modules/collection/collection.client.d.ts +0 -97
  50. package/dist/modules/collection/collection.client.js +0 -224
  51. package/dist/modules/collection/collection.errors.d.ts +0 -6
  52. package/dist/modules/collection/collection.errors.js +0 -14
  53. package/dist/modules/collection/collection.events.d.ts +0 -3
  54. package/dist/modules/collection/collection.events.js +0 -2
  55. package/dist/modules/collection/collection.mint.request.d.ts +0 -9
  56. package/dist/modules/collection/collection.mint.request.js +0 -12
  57. package/dist/modules/collection/collection.nft.d.ts +0 -8
  58. package/dist/modules/collection/collection.nft.js +0 -21
  59. package/dist/modules/collection/collection.nonces.d.ts +0 -5
  60. package/dist/modules/collection/collection.nonces.js +0 -2
  61. package/dist/modules/collection/collection.transfer.request.d.ts +0 -12
  62. package/dist/modules/collection/collection.transfer.request.js +0 -11
  63. package/dist/modules/collection/index.d.ts +0 -7
  64. package/dist/modules/collection/index.js +0 -23
@@ -1,863 +0,0 @@
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
- }