@towns-protocol/generated 0.0.376 → 0.0.378

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 (42) hide show
  1. package/dev/.contracts-hash +1 -1
  2. package/dev/abis/Channels.abi.json +1035 -63
  3. package/dev/abis/Channels.abi.ts +1035 -63
  4. package/dev/abis/EntitlementsManager.abi.json +982 -10
  5. package/dev/abis/EntitlementsManager.abi.ts +982 -10
  6. package/dev/abis/IAppFactory.abi.json +87 -0
  7. package/dev/abis/IAppFactory.abi.ts +87 -0
  8. package/dev/abis/IAppFactoryBase.abi.json +36 -0
  9. package/dev/abis/IAppFactoryBase.abi.ts +36 -0
  10. package/dev/abis/IAppRegistry.abi.json +0 -70
  11. package/dev/abis/IAppRegistry.abi.ts +0 -70
  12. package/dev/abis/IAppRegistryBase.abi.json +0 -19
  13. package/dev/abis/IAppRegistryBase.abi.ts +0 -19
  14. package/dev/abis/ITipping.abi.json +3 -3
  15. package/dev/abis/ITipping.abi.ts +3 -3
  16. package/dev/abis/ITippingBase.abi.json +3 -3
  17. package/dev/abis/ITippingBase.abi.ts +3 -3
  18. package/dev/abis/MembershipFacet.abi.json +1000 -28
  19. package/dev/abis/MembershipFacet.abi.ts +1000 -28
  20. package/dev/abis/PrepayFacet.abi.json +993 -21
  21. package/dev/abis/PrepayFacet.abi.ts +993 -21
  22. package/dev/abis/Roles.abi.json +972 -0
  23. package/dev/abis/Roles.abi.ts +972 -0
  24. package/dev/typings/Channels.ts +657 -0
  25. package/dev/typings/EntitlementsManager.ts +658 -0
  26. package/dev/typings/IAppFactory.ts +154 -0
  27. package/dev/typings/IAppRegistry.ts +0 -73
  28. package/dev/typings/ITipping.ts +6 -6
  29. package/dev/typings/MembershipFacet.ts +657 -0
  30. package/dev/typings/PrepayFacet.ts +657 -0
  31. package/dev/typings/Roles.ts +657 -0
  32. package/dev/typings/factories/Channels__factory.ts +1036 -64
  33. package/dev/typings/factories/EntitlementsManager__factory.ts +982 -10
  34. package/dev/typings/factories/IAppFactory__factory.ts +108 -0
  35. package/dev/typings/factories/IAppRegistry__factory.ts +0 -70
  36. package/dev/typings/factories/ITipping__factory.ts +3 -3
  37. package/dev/typings/factories/MembershipFacet__factory.ts +1000 -28
  38. package/dev/typings/factories/PrepayFacet__factory.ts +993 -21
  39. package/dev/typings/factories/Roles__factory.ts +973 -1
  40. package/dev/typings/factories/index.ts +1 -0
  41. package/dev/typings/index.ts +2 -0
  42. package/package.json +3 -3
@@ -231,6 +231,220 @@ const _abi = [
231
231
  outputs: [],
232
232
  stateMutability: "nonpayable",
233
233
  },
234
+ {
235
+ type: "event",
236
+ name: "AppBanned",
237
+ inputs: [
238
+ {
239
+ name: "app",
240
+ type: "address",
241
+ indexed: true,
242
+ internalType: "address",
243
+ },
244
+ {
245
+ name: "uid",
246
+ type: "bytes32",
247
+ indexed: false,
248
+ internalType: "bytes32",
249
+ },
250
+ ],
251
+ anonymous: false,
252
+ },
253
+ {
254
+ type: "event",
255
+ name: "AppInstalled",
256
+ inputs: [
257
+ {
258
+ name: "app",
259
+ type: "address",
260
+ indexed: true,
261
+ internalType: "address",
262
+ },
263
+ {
264
+ name: "account",
265
+ type: "address",
266
+ indexed: true,
267
+ internalType: "address",
268
+ },
269
+ {
270
+ name: "appId",
271
+ type: "bytes32",
272
+ indexed: true,
273
+ internalType: "bytes32",
274
+ },
275
+ ],
276
+ anonymous: false,
277
+ },
278
+ {
279
+ type: "event",
280
+ name: "AppRegistered",
281
+ inputs: [
282
+ {
283
+ name: "app",
284
+ type: "address",
285
+ indexed: true,
286
+ internalType: "address",
287
+ },
288
+ {
289
+ name: "uid",
290
+ type: "bytes32",
291
+ indexed: false,
292
+ internalType: "bytes32",
293
+ },
294
+ ],
295
+ anonymous: false,
296
+ },
297
+ {
298
+ type: "event",
299
+ name: "AppRenewed",
300
+ inputs: [
301
+ {
302
+ name: "app",
303
+ type: "address",
304
+ indexed: true,
305
+ internalType: "address",
306
+ },
307
+ {
308
+ name: "account",
309
+ type: "address",
310
+ indexed: true,
311
+ internalType: "address",
312
+ },
313
+ {
314
+ name: "appId",
315
+ type: "bytes32",
316
+ indexed: true,
317
+ internalType: "bytes32",
318
+ },
319
+ ],
320
+ anonymous: false,
321
+ },
322
+ {
323
+ type: "event",
324
+ name: "AppSchemaSet",
325
+ inputs: [
326
+ {
327
+ name: "uid",
328
+ type: "bytes32",
329
+ indexed: false,
330
+ internalType: "bytes32",
331
+ },
332
+ ],
333
+ anonymous: false,
334
+ },
335
+ {
336
+ type: "event",
337
+ name: "AppUninstalled",
338
+ inputs: [
339
+ {
340
+ name: "app",
341
+ type: "address",
342
+ indexed: true,
343
+ internalType: "address",
344
+ },
345
+ {
346
+ name: "account",
347
+ type: "address",
348
+ indexed: true,
349
+ internalType: "address",
350
+ },
351
+ {
352
+ name: "appId",
353
+ type: "bytes32",
354
+ indexed: true,
355
+ internalType: "bytes32",
356
+ },
357
+ ],
358
+ anonymous: false,
359
+ },
360
+ {
361
+ type: "event",
362
+ name: "AppUnregistered",
363
+ inputs: [
364
+ {
365
+ name: "app",
366
+ type: "address",
367
+ indexed: true,
368
+ internalType: "address",
369
+ },
370
+ {
371
+ name: "uid",
372
+ type: "bytes32",
373
+ indexed: false,
374
+ internalType: "bytes32",
375
+ },
376
+ ],
377
+ anonymous: false,
378
+ },
379
+ {
380
+ type: "event",
381
+ name: "AppUpdated",
382
+ inputs: [
383
+ {
384
+ name: "app",
385
+ type: "address",
386
+ indexed: true,
387
+ internalType: "address",
388
+ },
389
+ {
390
+ name: "uid",
391
+ type: "bytes32",
392
+ indexed: false,
393
+ internalType: "bytes32",
394
+ },
395
+ ],
396
+ anonymous: false,
397
+ },
398
+ {
399
+ type: "event",
400
+ name: "AppUpdated",
401
+ inputs: [
402
+ {
403
+ name: "app",
404
+ type: "address",
405
+ indexed: true,
406
+ internalType: "address",
407
+ },
408
+ {
409
+ name: "account",
410
+ type: "address",
411
+ indexed: true,
412
+ internalType: "address",
413
+ },
414
+ {
415
+ name: "appId",
416
+ type: "bytes32",
417
+ indexed: true,
418
+ internalType: "bytes32",
419
+ },
420
+ ],
421
+ anonymous: false,
422
+ },
423
+ {
424
+ type: "event",
425
+ name: "AppUpgraded",
426
+ inputs: [
427
+ {
428
+ name: "app",
429
+ type: "address",
430
+ indexed: true,
431
+ internalType: "address",
432
+ },
433
+ {
434
+ name: "oldVersionId",
435
+ type: "bytes32",
436
+ indexed: true,
437
+ internalType: "bytes32",
438
+ },
439
+ {
440
+ name: "newVersionId",
441
+ type: "bytes32",
442
+ indexed: true,
443
+ internalType: "bytes32",
444
+ },
445
+ ],
446
+ anonymous: false,
447
+ },
234
448
  {
235
449
  type: "event",
236
450
  name: "ChannelCreated",
@@ -340,64 +554,496 @@ const _abi = [
340
554
  },
341
555
  {
342
556
  type: "event",
343
- name: "Initialized",
557
+ name: "ExecutionInstalled",
344
558
  inputs: [
345
559
  {
346
- name: "version",
347
- type: "uint32",
560
+ name: "module",
561
+ type: "address",
562
+ indexed: true,
563
+ internalType: "address",
564
+ },
565
+ {
566
+ name: "manifest",
567
+ type: "tuple",
348
568
  indexed: false,
349
- internalType: "uint32",
569
+ internalType: "struct ExecutionManifest",
570
+ components: [
571
+ {
572
+ name: "executionFunctions",
573
+ type: "tuple[]",
574
+ internalType: "struct ManifestExecutionFunction[]",
575
+ components: [
576
+ {
577
+ name: "executionSelector",
578
+ type: "bytes4",
579
+ internalType: "bytes4",
580
+ },
581
+ {
582
+ name: "skipRuntimeValidation",
583
+ type: "bool",
584
+ internalType: "bool",
585
+ },
586
+ {
587
+ name: "allowGlobalValidation",
588
+ type: "bool",
589
+ internalType: "bool",
590
+ },
591
+ ],
592
+ },
593
+ {
594
+ name: "executionHooks",
595
+ type: "tuple[]",
596
+ internalType: "struct ManifestExecutionHook[]",
597
+ components: [
598
+ {
599
+ name: "executionSelector",
600
+ type: "bytes4",
601
+ internalType: "bytes4",
602
+ },
603
+ {
604
+ name: "entityId",
605
+ type: "uint32",
606
+ internalType: "uint32",
607
+ },
608
+ {
609
+ name: "isPreHook",
610
+ type: "bool",
611
+ internalType: "bool",
612
+ },
613
+ {
614
+ name: "isPostHook",
615
+ type: "bool",
616
+ internalType: "bool",
617
+ },
618
+ ],
619
+ },
620
+ {
621
+ name: "interfaceIds",
622
+ type: "bytes4[]",
623
+ internalType: "bytes4[]",
624
+ },
625
+ ],
350
626
  },
351
627
  ],
352
628
  anonymous: false,
353
629
  },
354
630
  {
355
631
  type: "event",
356
- name: "InterfaceAdded",
632
+ name: "ExecutionUninstalled",
357
633
  inputs: [
358
634
  {
359
- name: "interfaceId",
360
- type: "bytes4",
635
+ name: "module",
636
+ type: "address",
361
637
  indexed: true,
362
- internalType: "bytes4",
638
+ internalType: "address",
639
+ },
640
+ {
641
+ name: "success",
642
+ type: "bool",
643
+ indexed: false,
644
+ internalType: "bool",
645
+ },
646
+ {
647
+ name: "manifest",
648
+ type: "tuple",
649
+ indexed: false,
650
+ internalType: "struct ExecutionManifest",
651
+ components: [
652
+ {
653
+ name: "executionFunctions",
654
+ type: "tuple[]",
655
+ internalType: "struct ManifestExecutionFunction[]",
656
+ components: [
657
+ {
658
+ name: "executionSelector",
659
+ type: "bytes4",
660
+ internalType: "bytes4",
661
+ },
662
+ {
663
+ name: "skipRuntimeValidation",
664
+ type: "bool",
665
+ internalType: "bool",
666
+ },
667
+ {
668
+ name: "allowGlobalValidation",
669
+ type: "bool",
670
+ internalType: "bool",
671
+ },
672
+ ],
673
+ },
674
+ {
675
+ name: "executionHooks",
676
+ type: "tuple[]",
677
+ internalType: "struct ManifestExecutionHook[]",
678
+ components: [
679
+ {
680
+ name: "executionSelector",
681
+ type: "bytes4",
682
+ internalType: "bytes4",
683
+ },
684
+ {
685
+ name: "entityId",
686
+ type: "uint32",
687
+ internalType: "uint32",
688
+ },
689
+ {
690
+ name: "isPreHook",
691
+ type: "bool",
692
+ internalType: "bool",
693
+ },
694
+ {
695
+ name: "isPostHook",
696
+ type: "bool",
697
+ internalType: "bool",
698
+ },
699
+ ],
700
+ },
701
+ {
702
+ name: "interfaceIds",
703
+ type: "bytes4[]",
704
+ internalType: "bytes4[]",
705
+ },
706
+ ],
363
707
  },
364
708
  ],
365
709
  anonymous: false,
366
710
  },
367
711
  {
368
712
  type: "event",
369
- name: "InterfaceRemoved",
713
+ name: "ExecutionUpdated",
370
714
  inputs: [
371
715
  {
372
- name: "interfaceId",
373
- type: "bytes4",
716
+ name: "module",
717
+ type: "address",
374
718
  indexed: true,
375
- internalType: "bytes4",
719
+ internalType: "address",
720
+ },
721
+ {
722
+ name: "manifest",
723
+ type: "tuple",
724
+ indexed: false,
725
+ internalType: "struct ExecutionManifest",
726
+ components: [
727
+ {
728
+ name: "executionFunctions",
729
+ type: "tuple[]",
730
+ internalType: "struct ManifestExecutionFunction[]",
731
+ components: [
732
+ {
733
+ name: "executionSelector",
734
+ type: "bytes4",
735
+ internalType: "bytes4",
736
+ },
737
+ {
738
+ name: "skipRuntimeValidation",
739
+ type: "bool",
740
+ internalType: "bool",
741
+ },
742
+ {
743
+ name: "allowGlobalValidation",
744
+ type: "bool",
745
+ internalType: "bool",
746
+ },
747
+ ],
748
+ },
749
+ {
750
+ name: "executionHooks",
751
+ type: "tuple[]",
752
+ internalType: "struct ManifestExecutionHook[]",
753
+ components: [
754
+ {
755
+ name: "executionSelector",
756
+ type: "bytes4",
757
+ internalType: "bytes4",
758
+ },
759
+ {
760
+ name: "entityId",
761
+ type: "uint32",
762
+ internalType: "uint32",
763
+ },
764
+ {
765
+ name: "isPreHook",
766
+ type: "bool",
767
+ internalType: "bool",
768
+ },
769
+ {
770
+ name: "isPostHook",
771
+ type: "bool",
772
+ internalType: "bool",
773
+ },
774
+ ],
775
+ },
776
+ {
777
+ name: "interfaceIds",
778
+ type: "bytes4[]",
779
+ internalType: "bytes4[]",
780
+ },
781
+ ],
376
782
  },
377
783
  ],
378
784
  anonymous: false,
379
785
  },
380
786
  {
381
787
  type: "event",
382
- name: "OwnershipTransferred",
788
+ name: "GroupAccessGranted",
383
789
  inputs: [
384
790
  {
385
- name: "previousOwner",
386
- type: "address",
791
+ name: "groupId",
792
+ type: "bytes32",
387
793
  indexed: true,
388
- internalType: "address",
794
+ internalType: "bytes32",
389
795
  },
390
796
  {
391
- name: "newOwner",
797
+ name: "account",
392
798
  type: "address",
393
799
  indexed: true,
394
800
  internalType: "address",
395
801
  },
396
- ],
397
- anonymous: false,
398
- },
399
- {
400
- type: "event",
802
+ {
803
+ name: "delay",
804
+ type: "uint32",
805
+ indexed: false,
806
+ internalType: "uint32",
807
+ },
808
+ {
809
+ name: "since",
810
+ type: "uint48",
811
+ indexed: false,
812
+ internalType: "uint48",
813
+ },
814
+ {
815
+ name: "newMember",
816
+ type: "bool",
817
+ indexed: false,
818
+ internalType: "bool",
819
+ },
820
+ ],
821
+ anonymous: false,
822
+ },
823
+ {
824
+ type: "event",
825
+ name: "GroupAccessRevoked",
826
+ inputs: [
827
+ {
828
+ name: "groupId",
829
+ type: "bytes32",
830
+ indexed: true,
831
+ internalType: "bytes32",
832
+ },
833
+ {
834
+ name: "account",
835
+ type: "address",
836
+ indexed: true,
837
+ internalType: "address",
838
+ },
839
+ {
840
+ name: "revoked",
841
+ type: "bool",
842
+ indexed: false,
843
+ internalType: "bool",
844
+ },
845
+ ],
846
+ anonymous: false,
847
+ },
848
+ {
849
+ type: "event",
850
+ name: "GroupExpirationSet",
851
+ inputs: [
852
+ {
853
+ name: "groupId",
854
+ type: "bytes32",
855
+ indexed: true,
856
+ internalType: "bytes32",
857
+ },
858
+ {
859
+ name: "expiration",
860
+ type: "uint48",
861
+ indexed: false,
862
+ internalType: "uint48",
863
+ },
864
+ ],
865
+ anonymous: false,
866
+ },
867
+ {
868
+ type: "event",
869
+ name: "GroupGrantDelaySet",
870
+ inputs: [
871
+ {
872
+ name: "groupId",
873
+ type: "bytes32",
874
+ indexed: true,
875
+ internalType: "bytes32",
876
+ },
877
+ {
878
+ name: "delay",
879
+ type: "uint32",
880
+ indexed: false,
881
+ internalType: "uint32",
882
+ },
883
+ ],
884
+ anonymous: false,
885
+ },
886
+ {
887
+ type: "event",
888
+ name: "GroupGuardianSet",
889
+ inputs: [
890
+ {
891
+ name: "groupId",
892
+ type: "bytes32",
893
+ indexed: true,
894
+ internalType: "bytes32",
895
+ },
896
+ {
897
+ name: "guardian",
898
+ type: "bytes32",
899
+ indexed: false,
900
+ internalType: "bytes32",
901
+ },
902
+ ],
903
+ anonymous: false,
904
+ },
905
+ {
906
+ type: "event",
907
+ name: "GroupStatusSet",
908
+ inputs: [
909
+ {
910
+ name: "groupId",
911
+ type: "bytes32",
912
+ indexed: true,
913
+ internalType: "bytes32",
914
+ },
915
+ {
916
+ name: "active",
917
+ type: "bool",
918
+ indexed: false,
919
+ internalType: "bool",
920
+ },
921
+ ],
922
+ anonymous: false,
923
+ },
924
+ {
925
+ type: "event",
926
+ name: "Initialized",
927
+ inputs: [
928
+ {
929
+ name: "version",
930
+ type: "uint32",
931
+ indexed: false,
932
+ internalType: "uint32",
933
+ },
934
+ ],
935
+ anonymous: false,
936
+ },
937
+ {
938
+ type: "event",
939
+ name: "InterfaceAdded",
940
+ inputs: [
941
+ {
942
+ name: "interfaceId",
943
+ type: "bytes4",
944
+ indexed: true,
945
+ internalType: "bytes4",
946
+ },
947
+ ],
948
+ anonymous: false,
949
+ },
950
+ {
951
+ type: "event",
952
+ name: "InterfaceRemoved",
953
+ inputs: [
954
+ {
955
+ name: "interfaceId",
956
+ type: "bytes4",
957
+ indexed: true,
958
+ internalType: "bytes4",
959
+ },
960
+ ],
961
+ anonymous: false,
962
+ },
963
+ {
964
+ type: "event",
965
+ name: "OperationCanceled",
966
+ inputs: [
967
+ {
968
+ name: "operationId",
969
+ type: "bytes32",
970
+ indexed: true,
971
+ internalType: "bytes32",
972
+ },
973
+ {
974
+ name: "nonce",
975
+ type: "uint32",
976
+ indexed: false,
977
+ internalType: "uint32",
978
+ },
979
+ ],
980
+ anonymous: false,
981
+ },
982
+ {
983
+ type: "event",
984
+ name: "OperationExecuted",
985
+ inputs: [
986
+ {
987
+ name: "operationId",
988
+ type: "bytes32",
989
+ indexed: true,
990
+ internalType: "bytes32",
991
+ },
992
+ {
993
+ name: "nonce",
994
+ type: "uint32",
995
+ indexed: false,
996
+ internalType: "uint32",
997
+ },
998
+ ],
999
+ anonymous: false,
1000
+ },
1001
+ {
1002
+ type: "event",
1003
+ name: "OperationScheduled",
1004
+ inputs: [
1005
+ {
1006
+ name: "operationId",
1007
+ type: "bytes32",
1008
+ indexed: true,
1009
+ internalType: "bytes32",
1010
+ },
1011
+ {
1012
+ name: "timepoint",
1013
+ type: "uint48",
1014
+ indexed: false,
1015
+ internalType: "uint48",
1016
+ },
1017
+ {
1018
+ name: "nonce",
1019
+ type: "uint32",
1020
+ indexed: false,
1021
+ internalType: "uint32",
1022
+ },
1023
+ ],
1024
+ anonymous: false,
1025
+ },
1026
+ {
1027
+ type: "event",
1028
+ name: "OwnershipTransferred",
1029
+ inputs: [
1030
+ {
1031
+ name: "previousOwner",
1032
+ type: "address",
1033
+ indexed: true,
1034
+ internalType: "address",
1035
+ },
1036
+ {
1037
+ name: "newOwner",
1038
+ type: "address",
1039
+ indexed: true,
1040
+ internalType: "address",
1041
+ },
1042
+ ],
1043
+ anonymous: false,
1044
+ },
1045
+ {
1046
+ type: "event",
401
1047
  name: "PermissionsAddedToChannelRole",
402
1048
  inputs: [
403
1049
  {
@@ -412,18 +1058,106 @@ const _abi = [
412
1058
  indexed: true,
413
1059
  internalType: "uint256",
414
1060
  },
415
- {
416
- name: "channelId",
417
- type: "bytes32",
418
- indexed: true,
419
- internalType: "bytes32",
420
- },
1061
+ {
1062
+ name: "channelId",
1063
+ type: "bytes32",
1064
+ indexed: true,
1065
+ internalType: "bytes32",
1066
+ },
1067
+ ],
1068
+ anonymous: false,
1069
+ },
1070
+ {
1071
+ type: "event",
1072
+ name: "PermissionsRemovedFromChannelRole",
1073
+ inputs: [
1074
+ {
1075
+ name: "updater",
1076
+ type: "address",
1077
+ indexed: true,
1078
+ internalType: "address",
1079
+ },
1080
+ {
1081
+ name: "roleId",
1082
+ type: "uint256",
1083
+ indexed: true,
1084
+ internalType: "uint256",
1085
+ },
1086
+ {
1087
+ name: "channelId",
1088
+ type: "bytes32",
1089
+ indexed: true,
1090
+ internalType: "bytes32",
1091
+ },
1092
+ ],
1093
+ anonymous: false,
1094
+ },
1095
+ {
1096
+ type: "event",
1097
+ name: "PermissionsUpdatedForChannelRole",
1098
+ inputs: [
1099
+ {
1100
+ name: "updater",
1101
+ type: "address",
1102
+ indexed: true,
1103
+ internalType: "address",
1104
+ },
1105
+ {
1106
+ name: "roleId",
1107
+ type: "uint256",
1108
+ indexed: true,
1109
+ internalType: "uint256",
1110
+ },
1111
+ {
1112
+ name: "channelId",
1113
+ type: "bytes32",
1114
+ indexed: true,
1115
+ internalType: "bytes32",
1116
+ },
1117
+ ],
1118
+ anonymous: false,
1119
+ },
1120
+ {
1121
+ type: "event",
1122
+ name: "RoleCreated",
1123
+ inputs: [
1124
+ {
1125
+ name: "creator",
1126
+ type: "address",
1127
+ indexed: true,
1128
+ internalType: "address",
1129
+ },
1130
+ {
1131
+ name: "roleId",
1132
+ type: "uint256",
1133
+ indexed: true,
1134
+ internalType: "uint256",
1135
+ },
1136
+ ],
1137
+ anonymous: false,
1138
+ },
1139
+ {
1140
+ type: "event",
1141
+ name: "RoleRemoved",
1142
+ inputs: [
1143
+ {
1144
+ name: "remover",
1145
+ type: "address",
1146
+ indexed: true,
1147
+ internalType: "address",
1148
+ },
1149
+ {
1150
+ name: "roleId",
1151
+ type: "uint256",
1152
+ indexed: true,
1153
+ internalType: "uint256",
1154
+ },
421
1155
  ],
422
1156
  anonymous: false,
423
1157
  },
424
1158
  {
425
1159
  type: "event",
426
- name: "PermissionsRemovedFromChannelRole",
1160
+ name: "RoleUpdated",
427
1161
  inputs: [
428
1162
  {
429
1163
  name: "updater",
@@ -437,97 +1171,153 @@ const _abi = [
437
1171
  indexed: true,
438
1172
  internalType: "uint256",
439
1173
  },
440
- {
441
- name: "channelId",
442
- type: "bytes32",
443
- indexed: true,
444
- internalType: "bytes32",
445
- },
446
1174
  ],
447
1175
  anonymous: false,
448
1176
  },
449
1177
  {
450
1178
  type: "event",
451
- name: "PermissionsUpdatedForChannelRole",
1179
+ name: "TargetDisabledSet",
452
1180
  inputs: [
453
1181
  {
454
- name: "updater",
1182
+ name: "target",
455
1183
  type: "address",
456
1184
  indexed: true,
457
1185
  internalType: "address",
458
1186
  },
459
1187
  {
460
- name: "roleId",
461
- type: "uint256",
462
- indexed: true,
463
- internalType: "uint256",
464
- },
465
- {
466
- name: "channelId",
467
- type: "bytes32",
468
- indexed: true,
469
- internalType: "bytes32",
1188
+ name: "disabled",
1189
+ type: "bool",
1190
+ indexed: false,
1191
+ internalType: "bool",
470
1192
  },
471
1193
  ],
472
1194
  anonymous: false,
473
1195
  },
474
1196
  {
475
1197
  type: "event",
476
- name: "RoleCreated",
1198
+ name: "TargetFunctionDelaySet",
477
1199
  inputs: [
478
1200
  {
479
- name: "creator",
1201
+ name: "target",
480
1202
  type: "address",
481
1203
  indexed: true,
482
1204
  internalType: "address",
483
1205
  },
484
1206
  {
485
- name: "roleId",
486
- type: "uint256",
487
- indexed: true,
488
- internalType: "uint256",
1207
+ name: "newDelay",
1208
+ type: "uint32",
1209
+ indexed: false,
1210
+ internalType: "uint32",
1211
+ },
1212
+ {
1213
+ name: "minSetback",
1214
+ type: "uint32",
1215
+ indexed: false,
1216
+ internalType: "uint32",
489
1217
  },
490
1218
  ],
491
1219
  anonymous: false,
492
1220
  },
493
1221
  {
494
1222
  type: "event",
495
- name: "RoleRemoved",
1223
+ name: "TargetFunctionDisabledSet",
496
1224
  inputs: [
497
1225
  {
498
- name: "remover",
1226
+ name: "target",
499
1227
  type: "address",
500
1228
  indexed: true,
501
1229
  internalType: "address",
502
1230
  },
503
1231
  {
504
- name: "roleId",
505
- type: "uint256",
1232
+ name: "selector",
1233
+ type: "bytes4",
506
1234
  indexed: true,
507
- internalType: "uint256",
1235
+ internalType: "bytes4",
1236
+ },
1237
+ {
1238
+ name: "disabled",
1239
+ type: "bool",
1240
+ indexed: false,
1241
+ internalType: "bool",
508
1242
  },
509
1243
  ],
510
1244
  anonymous: false,
511
1245
  },
512
1246
  {
513
1247
  type: "event",
514
- name: "RoleUpdated",
1248
+ name: "TargetFunctionGroupSet",
515
1249
  inputs: [
516
1250
  {
517
- name: "updater",
1251
+ name: "target",
518
1252
  type: "address",
519
1253
  indexed: true,
520
1254
  internalType: "address",
521
1255
  },
522
1256
  {
523
- name: "roleId",
524
- type: "uint256",
1257
+ name: "selector",
1258
+ type: "bytes4",
525
1259
  indexed: true,
526
- internalType: "uint256",
1260
+ internalType: "bytes4",
1261
+ },
1262
+ {
1263
+ name: "groupId",
1264
+ type: "bytes32",
1265
+ indexed: true,
1266
+ internalType: "bytes32",
527
1267
  },
528
1268
  ],
529
1269
  anonymous: false,
530
1270
  },
1271
+ {
1272
+ type: "error",
1273
+ name: "AlreadyScheduled",
1274
+ inputs: [],
1275
+ },
1276
+ {
1277
+ type: "error",
1278
+ name: "AppAlreadyInstalled",
1279
+ inputs: [],
1280
+ },
1281
+ {
1282
+ type: "error",
1283
+ name: "AppAlreadyRegistered",
1284
+ inputs: [],
1285
+ },
1286
+ {
1287
+ type: "error",
1288
+ name: "AppDoesNotImplementInterface",
1289
+ inputs: [],
1290
+ },
1291
+ {
1292
+ type: "error",
1293
+ name: "AppNotInstalled",
1294
+ inputs: [],
1295
+ },
1296
+ {
1297
+ type: "error",
1298
+ name: "AppNotRegistered",
1299
+ inputs: [],
1300
+ },
1301
+ {
1302
+ type: "error",
1303
+ name: "AppRevoked",
1304
+ inputs: [],
1305
+ },
1306
+ {
1307
+ type: "error",
1308
+ name: "BannedApp",
1309
+ inputs: [],
1310
+ },
1311
+ {
1312
+ type: "error",
1313
+ name: "CallerAlreadyRegistered",
1314
+ inputs: [],
1315
+ },
1316
+ {
1317
+ type: "error",
1318
+ name: "CallerNotRegistered",
1319
+ inputs: [],
1320
+ },
531
1321
  {
532
1322
  type: "error",
533
1323
  name: "ChannelService__ChannelAlreadyExists",
@@ -553,6 +1343,16 @@ const _abi = [
553
1343
  name: "ChannelService__RoleDoesNotExist",
554
1344
  inputs: [],
555
1345
  },
1346
+ {
1347
+ type: "error",
1348
+ name: "ClientAlreadyRegistered",
1349
+ inputs: [],
1350
+ },
1351
+ {
1352
+ type: "error",
1353
+ name: "ClientNotRegistered",
1354
+ inputs: [],
1355
+ },
556
1356
  {
557
1357
  type: "error",
558
1358
  name: "Entitlement__InvalidValue",
@@ -573,11 +1373,51 @@ const _abi = [
573
1373
  name: "Entitlement__ValueAlreadyExists",
574
1374
  inputs: [],
575
1375
  },
1376
+ {
1377
+ type: "error",
1378
+ name: "ExecutionAlreadyRegistered",
1379
+ inputs: [],
1380
+ },
1381
+ {
1382
+ type: "error",
1383
+ name: "ExecutionFunctionAlreadySet",
1384
+ inputs: [],
1385
+ },
1386
+ {
1387
+ type: "error",
1388
+ name: "ExecutionHookAlreadySet",
1389
+ inputs: [],
1390
+ },
1391
+ {
1392
+ type: "error",
1393
+ name: "ExecutionNotFound",
1394
+ inputs: [],
1395
+ },
1396
+ {
1397
+ type: "error",
1398
+ name: "ExecutionNotRegistered",
1399
+ inputs: [],
1400
+ },
1401
+ {
1402
+ type: "error",
1403
+ name: "ExecutorCallFailed",
1404
+ inputs: [],
1405
+ },
1406
+ {
1407
+ type: "error",
1408
+ name: "Expired",
1409
+ inputs: [],
1410
+ },
576
1411
  {
577
1412
  type: "error",
578
1413
  name: "Initializable_InInitializingState",
579
1414
  inputs: [],
580
1415
  },
1416
+ {
1417
+ type: "error",
1418
+ name: "InsufficientPayment",
1419
+ inputs: [],
1420
+ },
581
1421
  {
582
1422
  type: "error",
583
1423
  name: "Introspection_AlreadySupported",
@@ -588,6 +1428,102 @@ const _abi = [
588
1428
  name: "Introspection_NotSupported",
589
1429
  inputs: [],
590
1430
  },
1431
+ {
1432
+ type: "error",
1433
+ name: "InvalidAddressInput",
1434
+ inputs: [],
1435
+ },
1436
+ {
1437
+ type: "error",
1438
+ name: "InvalidAppAddress",
1439
+ inputs: [
1440
+ {
1441
+ name: "app",
1442
+ type: "address",
1443
+ internalType: "address",
1444
+ },
1445
+ ],
1446
+ },
1447
+ {
1448
+ type: "error",
1449
+ name: "InvalidAppId",
1450
+ inputs: [],
1451
+ },
1452
+ {
1453
+ type: "error",
1454
+ name: "InvalidAppName",
1455
+ inputs: [],
1456
+ },
1457
+ {
1458
+ type: "error",
1459
+ name: "InvalidArrayInput",
1460
+ inputs: [],
1461
+ },
1462
+ {
1463
+ type: "error",
1464
+ name: "InvalidCaller",
1465
+ inputs: [],
1466
+ },
1467
+ {
1468
+ type: "error",
1469
+ name: "InvalidDataLength",
1470
+ inputs: [],
1471
+ },
1472
+ {
1473
+ type: "error",
1474
+ name: "InvalidDuration",
1475
+ inputs: [],
1476
+ },
1477
+ {
1478
+ type: "error",
1479
+ name: "InvalidExpiration",
1480
+ inputs: [],
1481
+ },
1482
+ {
1483
+ type: "error",
1484
+ name: "InvalidManifest",
1485
+ inputs: [],
1486
+ },
1487
+ {
1488
+ type: "error",
1489
+ name: "InvalidPrice",
1490
+ inputs: [],
1491
+ },
1492
+ {
1493
+ type: "error",
1494
+ name: "ModuleInstallCallbackFailed",
1495
+ inputs: [],
1496
+ },
1497
+ {
1498
+ type: "error",
1499
+ name: "NotAllowed",
1500
+ inputs: [],
1501
+ },
1502
+ {
1503
+ type: "error",
1504
+ name: "NotAppOwner",
1505
+ inputs: [],
1506
+ },
1507
+ {
1508
+ type: "error",
1509
+ name: "NotEnoughEth",
1510
+ inputs: [],
1511
+ },
1512
+ {
1513
+ type: "error",
1514
+ name: "NotReady",
1515
+ inputs: [],
1516
+ },
1517
+ {
1518
+ type: "error",
1519
+ name: "NotScheduled",
1520
+ inputs: [],
1521
+ },
1522
+ {
1523
+ type: "error",
1524
+ name: "NullModule",
1525
+ inputs: [],
1526
+ },
591
1527
  {
592
1528
  type: "error",
593
1529
  name: "Ownable__NotOwner",
@@ -665,10 +1601,46 @@ const _abi = [
665
1601
  },
666
1602
  ],
667
1603
  },
1604
+ {
1605
+ type: "error",
1606
+ name: "UnauthorizedApp",
1607
+ inputs: [
1608
+ {
1609
+ name: "app",
1610
+ type: "address",
1611
+ internalType: "address",
1612
+ },
1613
+ ],
1614
+ },
1615
+ {
1616
+ type: "error",
1617
+ name: "UnauthorizedCall",
1618
+ inputs: [],
1619
+ },
1620
+ {
1621
+ type: "error",
1622
+ name: "UnauthorizedCancel",
1623
+ inputs: [],
1624
+ },
1625
+ {
1626
+ type: "error",
1627
+ name: "UnauthorizedRenounce",
1628
+ inputs: [],
1629
+ },
1630
+ {
1631
+ type: "error",
1632
+ name: "UnauthorizedSelector",
1633
+ inputs: [],
1634
+ },
1635
+ {
1636
+ type: "error",
1637
+ name: "UnauthorizedTarget",
1638
+ inputs: [],
1639
+ },
668
1640
  ] as const;
669
1641
 
670
1642
  const _bytecode =
671
- "0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b613718806100ca5f395ff3fe608060405234801561000f575f5ffd5b506004361061009f575f3560e01c8063921f7175116100725780639935218311610058578063993521831461012f578063b9de61591461014f578063ef86d69614610162575f5ffd5b8063921f7175146101075780639575f6ac1461011a575f5ffd5b806302da0e51146100a357806337644cf7146100b85780635a2dce7a146100cb578063831c2b82146100de575b5f5ffd5b6100b66100b1366004612909565b610175565b005b6100b66100c6366004612920565b6101bf565b6100b66100d93660046129c6565b61020b565b6100f16100ec366004612909565b61036d565b6040516100fe9190612af9565b60405180910390f35b6100b66101153660046129c6565b6103a7565b61012261042a565b6040516100fe9190612b0b565b61014261013d366004612909565b610439565b6040516100fe9190612b8c565b6100b661015d366004612920565b610444565b6100b6610170366004612bdb565b61048c565b6101b36040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b6101bc81610589565b50565b6101fd6040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b61020782826105ca565b5050565b6102496040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b5f8167ffffffffffffffff81111561026357610263612c36565b60405190808252806020026020018201604052801561028c578160200160208202803683370190505b5090505f5b828110156102e5578383828181106102ab576102ab612c63565b90506020028101906102bd9190612c90565b5f01358282815181106102d2576102d2612c63565b6020908102919091010152600101610291565b506102f286868684610614565b5f5b828110156103645761035c84848381811061031157610311612c63565b90506020028101906103239190612c90565b358886868581811061033757610337612c63565b90506020028101906103499190612c90565b610357906020810190612ccc565b610667565b6001016102f4565b50505050505050565b61039860405180608001604052805f81526020015f1515815260200160608152602001606081525090565b6103a1826107de565b92915050565b6103e56040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b6104238585858585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061061492505050565b5050505050565b606061043461083e565b905090565b60606103a182610967565b6104826040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b6102078282610972565b6104ca6040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b6104d6848484846109b4565b50505050565b336104e56109f2565b73ffffffffffffffffffffffffffffffffffffffff16036105035750565b7fe17a067c7963a59b6dfd65d33b053fdbea1c56500e2aae4f976d9eda4da9eb005460ff16610560575f61053682612d30565b90506105423383610ab2565b1561054b575050565b6105553382610acd565b1561055e575050565b505b6101bc7f338e692c00000000000000000000000000000000000000000000000000000000610bc2565b61059281610bca565b60405181815233907f3a3f387aa42656bc1732adfc7aea5cde9ccc05a59f9af9c29ebfa68e66383e939060200160405180910390a250565b6105d48282610c64565b604080518381526020810183905233917f2b10481523b59a7978f8ab73b237349b0f38c801f6094bdc8994d379c067d71391015b60405180910390a25050565b61061f83835f610d06565b61062b84848484610d3c565b60405184815233907fdd6c5b83be3557f8b2674712946f9f05dcd882b82bfd58b9539b9706efd35d8c906020015b60405180910390a250505050565b8080156107d45761067785610e53565b61068084610eaa565b5f8581527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd056020908152604080832087845290915290207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd00906106e281610f03565b5f5b838110156107845761071886868381811061070157610701612c63565b90506020028101906107139190612d72565b610feb565b61077b86868381811061072d5761072d612c63565b905060200281019061073f9190612d72565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250869392505061101c9050565b506001016106e4565b505f878152600483016020526040902061079e9087611072565b506040518690889033907f38ef31503bf60258feeceab5e2c3778cf74be2a8fbcc150d209ca96cd3c98553905f90a45050610423565b610423858561107d565b61080960405180608001604052805f81526020015f1515815260200160608152602001606081525090565b5f5f6108148461113f565b92509250505f61082385611242565b60608501525060408301919091521515602082015290815290565b60605f6108496112a4565b9050805167ffffffffffffffff81111561086557610865612c36565b6040519080825280602002602001820160405280156108c157816020015b6108ae60405180608001604052805f81526020015f1515815260200160608152602001606081525090565b8152602001906001900390816108835790505b5091505f5b8151811015610962575f5f5f6108f48585815181106108e7576108e7612c63565b602002602001015161113f565b9250925092505f61091d86868151811061091057610910612c63565b6020026020010151611242565b90505f87868151811061093257610932612c63565b602090810291909101810151606081019390935260408301949094525090151591810191909152526001016108c6565b505090565b60606103a182611242565b61097c82826112d0565b604080518381526020810183905233917faee688d80dbf97230e5d2b4b06aa7074bfe38ddd8abf856551177db3039561299101610608565b6109c084848484611371565b60405184815233907f94af4a611b3fb1eaa653a6b29f82b71bcea25ca378171c5f059010fa18e0716e90602001610659565b5f807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915291925073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015610a88573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aac9190612dfb565b91505090565b5f610ac68184610ac185612d30565b6114ff565b9392505050565b5f73ffffffffffffffffffffffffffffffffffffffff8316610af057505f6103a1565b5f610af96117b9565b6040517f75dfa34200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015291909116906375dfa34290602401602060405180830381865afa158015610b65573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b899190612dfb565b905073ffffffffffffffffffffffffffffffffffffffff8116610baf575f9150506103a1565b610bba818585611804565b949350505050565b805f5260045ffd5b610bd381610eaa565b7f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504300610bfe81836118a8565b505f8281526002808301602052604082208281556001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690559190610c4a90830182612822565b50505f8281526003820160205260409020610207906118b3565b610c6d82610eaa565b610c76826118bc565b5f8281527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504303602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430090610cce818461191d565b15610cfc57610cfc7f2369ff3000000000000000000000000000000000000000000000000000000000610bc2565b6104238184611072565b80821015610d3757610d377f947d5a8400000000000000000000000000000000000000000000000000000000610bc2565b505050565b610d4584611934565b7f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504300610d708186611072565b505f858152600280830160205260408220918791879187918591908201610d98848683612ea3565b50509290925550505f8681526003830160205260408120905b8451811015610e4957610de6858281518110610dcf57610dcf612c63565b60200260200101518361191d90919063ffffffff16565b15610e1457610e147f2369ff3000000000000000000000000000000000000000000000000000000000610bc2565b610e40858281518110610e2957610e29612c63565b60200260200101518361107290919063ffffffff16565b50600101610db1565b5050505050505050565b610e7d7f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd018261191d565b6101bc576101bc7fa3f70f7b00000000000000000000000000000000000000000000000000000000610bc2565b610ed6817f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af5185043005b9061191d565b6101bc576101bc7fac16968200000000000000000000000000000000000000000000000000000000610bc2565b805481905f5b81811015610fe3575f84815260208120820190505f610fcf86835f018054610f3090612e14565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5c90612e14565b8015610fa75780601f10610f7e57610100808354040283529160200191610fa7565b820191905f5260205f20905b815481529060010190602001808311610f8a57829003601f168201915b5050505050805180820160209081018051600195909501815291810192019190912091905290565b55610fda815f612822565b50600101610f09565b50505f905550565b5f819003610207576102077f0ce76c1000000000000000000000000000000000000000000000000000000000610bc2565b80516020818301810180516001860182529282019184019190912091905280541590811561106b578354600181018086555f868152602090208692919082016110658782612fb9565b50835550505b5092915050565b5f610ac6838361198c565b61108682610e53565b61108f81610eaa565b5f8281527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd056020908152604080832084845290915290207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd00906110f181610f03565b5f848152600483016020526040902061110a90846118a8565b506040518390859033907f07439707c74b686d8e4d3f3226348eac82205e6dffd780ac4c555a4c2dc9d86c905f90a450505050565b5f60605f61114c84610eaa565b5f8481527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af5185043026020526040902080546002820180549195507f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430092916111af90612e14565b80601f01602080910402602001604051908101604052809291908181526020018280546111db90612e14565b80156112265780601f106111fd57610100808354040283529160200191611226565b820191905f5260205f20905b81548152906001019060200180831161120957829003601f168201915b50505060019093015496989197505060ff909516949350505050565b606061124d82610eaa565b5f8281527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504303602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430090610ac6906119d8565b60607f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504300610aac816119d8565b6112d982610eaa565b6112e2826118bc565b5f8281527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504303602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af5185043009061133a818461191d565b611367576113677f6796073e00000000000000000000000000000000000000000000000000000000610bc2565b61042381846118a8565b61137a84610eaa565b5f8481527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504302602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af5185043009083158015906114a0575061149e8160020180546113e490612e14565b80601f016020809104026020016040519081016040528092919081815260200182805461141090612e14565b801561145b5780601f106114325761010080835404028352916020019161145b565b820191905f5260205f20905b81548152906001019060200180831161143e57829003601f168201915b505050505086868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525092939250506119e49050565b155b156114b657600281016114b4858783612ea3565b505b600181015460ff161515831515146114f7576001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168415151790555b505050505050565b5f5f61150a846119fa565b905080515f0361151d575f915050610ac6565b5f6115266109f2565b90505f5b8251811015611593578173ffffffffffffffffffffffffffffffffffffffff1683828151811061155c5761155c612c63565b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361158b5760019350505050610ac6565b60010161152a565b5061159d82611c6e565b156115ac575f92505050610ac6565b7fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931005f6115f77fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931016119d8565b80519091505f5b818110156117aa575f845f015f85848151811061161d5761161d612c63565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116cb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ef91906130d0565b15801561178c57506040517f0cf0b53300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630cf0b5339061174d908e908b908e906004016130eb565b602060405180830381865afa158015611768573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178c91906130d0565b156117a1576001975050505050505050610ac6565b506001016115fe565b505f9998505050505050505050565b5f6104347fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6007f4170705265676973747279000000000000000000000000000000000000000000611e9e565b5f5f61180f85611f33565b8051909150611821575f915050610ac6565b5f5f611830835f01518761202b565b9250509150811580611840575080155b15611850575f9350505050610ac6565b6080830151515f5b8181101561189a57868560800151828151811061187757611877612c63565b60200260200101510361189257600195505050505050610ac6565b600101611858565b505f98975050505050505050565b5f610ac683836120e9565b6101bc816121cc565b5f8181527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504302602052604090206001015460ff16156101bc576101bc7fd9c0051200000000000000000000000000000000000000000000000000000000610bc2565b5f8181526001830160205260408120541515610ac6565b61195e817f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504300610ed0565b156101bc576101bc7f8c93df6400000000000000000000000000000000000000000000000000000000610bc2565b5f8181526001830160205260408120546119d157508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556103a1565b505f6103a1565b60605f610ac683612225565b8051602091820120825192909101919091201490565b60605f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015290911691505f9082906302345b98906024015f60405180830381865afa158015611a91573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611ad69190810190613237565b905080515f03611c47576040517ff821039800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301525f919084169063f821039890602401602060405180830381865afa158015611b4d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b719190612dfb565b905073ffffffffffffffffffffffffffffffffffffffff811615611c45576040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808316600483015291955085918416906302345b98906024015f60405180830381865afa158015611bfd573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611c429190810190613237565b91505b505b611c508161227e565b92506001835101835283604051526020604051016040525050919050565b5f7f49daf035076c43671ca9f9fb568d931e51ab7f9098a5a694781b45341112cf0081611c9a826119d8565b905080515f03611cad57505f9392505050565b5f815167ffffffffffffffff811115611cc857611cc8612c36565b604051908082528060200260200182016040528015611cf1578160200160208202803683370190505b5090505f5b8251811015611d6157611d225f848381518110611d1557611d15612c63565b602002602001015161228f565b828281518110611d3457611d34612c63565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101611cf6565b50611d6b8161229a565b611d74816122a3565b5f815186510167ffffffffffffffff811115611d9257611d92612c36565b604051908082528060200260200182016040528015611dbb578160200160208202803683370190505b5090505f5b8651811015611e2257868181518110611ddb57611ddb612c63565b6020026020010151828281518110611df557611df5612c63565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101611dc0565b505f5b8251811015611e8a57828181518110611e4057611e40612c63565b6020026020010151828289510181518110611e5d57611e5d612c63565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101611e25565b50611e94816122ac565b9695505050505050565b60068201546040517f44ab6680000000000000000000000000000000000000000000000000000000008152600481018390525f9173ffffffffffffffffffffffffffffffffffffffff169081906344ab668090602401602060405180830381865afa158015611f0f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bba9190612dfb565b611f3b612859565b73ffffffffffffffffffffffffffffffffffffffff82165f9081527f5203018779d8301358307033923a3bd0a3a759f1f58591c01f878744c0f8c201602052604090205480611f8a5750919050565b611f926117b9565b73ffffffffffffffffffffffffffffffffffffffff1663fb609045826040518263ffffffff1660e01b8152600401611fcc91815260200190565b5f60405180830381865afa158015611fe6573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610ac691908101906135ce565b5f5f5f5f612062865f9081527fb7e2813a9de15ce5ee4c1718778708cd70fd7ee3d196d203c0f40369a8d4a6026020526040902090565b905061206e81866122b6565b600383015491955093506e010000000000000000000000000000900460ff1680156120df575060038101546f01000000000000000000000000000000900465ffffffffffff1615806120df57506003810154426f0100000000000000000000000000000090910465ffffffffffff16115b9150509250925092565b5f81815260018301602052604081205480156121c3575f61210b6001836136b3565b85549091505f9061211e906001906136b3565b905080821461217d575f865f01828154811061213c5761213c612c63565b905f5260205f200154905080875f01848154811061215c5761215c612c63565b5f918252602080832090910192909255918252600188019052604090208390555b855486908061218e5761218e6136eb565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f9055600193505050506103a1565b5f9150506103a1565b5f6121d5825490565b90505f5b8181101561221e57826001015f845f0183815481106121fa576121fa612c63565b905f5260205f20015481526020019081526020015f205f90558060010190506121d9565b50505f9055565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561227257602002820191905f5260205f20905b81548152602001906001019080831161225e575b50505050509050919050565b60606103a161228c8361234c565b90565b5f610ac6838361237b565b6101bc816124b6565b6101bc8161263c565b5f6103a182612685565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526001830160205260408120805482919065ffffffffffff81169061230e90660100000000000090046dffffffffffffffffffffffffffff16612751565b509093505065ffffffffffff811615801590612341575061232d612772565b65ffffffffffff168165ffffffffffff1611155b935050509250929050565b604051815160051b8101602001818084035b80820151825281602001915082820361235e575060405250919050565b5f81831161248457505f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c01000000000000000000000000000000000000000000000000000000008316900361248257815f0361247c578054831061243b576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f8181526004840160205260409020549092909150811561243c575b506103a1565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6125ae565b61018082840311612518576020820180518351106124dc5780518351825283525b5b6020018381116104d657805182820180518281116124fd575050506124dd565b5b6020820152830180518281116124fe5750602001526124dd565b81601f1683830160061c60051b018251815180821061253357905b85518082106125485790818310612548579091905b865282528352518390835b5b6020018051821161255457825b84018051831061256157925082811015612582578051835182528352612553565b505083602082011461259c5761259c8460208301846124bb565b8281146104d6576104d68184846124bb565b80516002811061020757601f19602083018260051b8401805b805181850151116125d95783016125c7565b8281116125e857505050505050565b50805b805181850151106125fd5783016125eb565b828111612626575b82518251845282526020909201919083019081831061260557505050505050565b505f85526126358183856124bb565b5050509052565b60028151106101bc576020810160408201600183510160051b83015b815183511461266c57602083019250815183525b60208201915080820361265857505081900360051c9052565b5f81516002811061274b576040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe060308302600181901c17600281901c17600481901c17600881901c17601081901c178116806020013684378360051b86015b60bc197001000000000000000000000000000000518251095b8281168501805161271257829052612732565b825181515103612729576001975088925050612732565b506020016126ff565b5082018087106126e6575050505080601f1c1561274b57fe5b50919050565b5f5f5f61276584612760612772565b61277c565b9250925092509193909250565b5f610434426127cf565b69ffffffffffffffffffff602083901c166dffffffffffffffffffffffffffff831665ffffffffffff604085901c81169084168111156127be578282826127c2565b815f5f5b9250925092509250925092565b5f65ffffffffffff82111561281e576040517f6dfcc650000000000000000000000000000000000000000000000000000000008152603060048201526024810183905260440160405180910390fd5b5090565b50805461282e90612e14565b5f825580601f1061283d575050565b601f0160209004905f5260205f20908101906101bc91906128f5565b6040518060e001604052805f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020016128e960405180606001604052806060815260200160608152602001606081525090565b81525f60209091015290565b5b8082111561281e575f81556001016128f6565b5f60208284031215612919575f5ffd5b5035919050565b5f5f60408385031215612931575f5ffd5b50508035926020909101359150565b5f5f83601f840112612950575f5ffd5b50813567ffffffffffffffff811115612967575f5ffd5b60208301915083602082850101111561297e575f5ffd5b9250929050565b5f5f83601f840112612995575f5ffd5b50813567ffffffffffffffff8111156129ac575f5ffd5b6020830191508360208260051b850101111561297e575f5ffd5b5f5f5f5f5f606086880312156129da575f5ffd5b85359450602086013567ffffffffffffffff8111156129f7575f5ffd5b612a0388828901612940565b909550935050604086013567ffffffffffffffff811115612a22575f5ffd5b612a2e88828901612985565b969995985093965092949392505050565b805182526020810151151560208301525f6040820151608060408501528051806080860152806020830160a087015e5f60a082870101527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820116850191505060a08101606084015160a086840301606087015281815180845260c0850191506020830194505f93505b80841015612aee5784518252602082019150602085019450600184019350612acb565b509695505050505050565b602081525f610ac66020830184612a3f565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612b80577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452612b6b858351612a3f565b94506020938401939190910190600101612b31565b50929695505050505050565b602080825282518282018190525f918401906040840190835b81811015612bc3578351835260209384019390920191600101612ba5565b509095945050505050565b80151581146101bc575f5ffd5b5f5f5f5f60608587031215612bee575f5ffd5b84359350602085013567ffffffffffffffff811115612c0b575f5ffd5b612c1787828801612940565b9094509250506040850135612c2b81612bce565b939692955090935050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112612cc2575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612cff575f5ffd5b83018035915067ffffffffffffffff821115612d19575f5ffd5b6020019150600581901b360382131561297e575f5ffd5b8051602080830151919081101561274b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612da5575f5ffd5b83018035915067ffffffffffffffff821115612dbf575f5ffd5b60200191503681900382131561297e575f5ffd5b805173ffffffffffffffffffffffffffffffffffffffff81168114612df6575f5ffd5b919050565b5f60208284031215612e0b575f5ffd5b610ac682612dd3565b600181811c90821680612e2857607f821691505b60208210810361274b577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b601f821115610d3757805f5260205f20601f840160051c81016020851015612e845750805b601f840160051c820191505b81811015610423575f8155600101612e90565b67ffffffffffffffff831115612ebb57612ebb612c36565b612ecf83612ec98354612e14565b83612e5f565b5f601f841160018114612f1f575f8515612ee95750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610423565b5f838152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08716915b82811015612f6c5786850135825560209485019460019092019101612f4c565b5086821015612fa7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b815167ffffffffffffffff811115612fd357612fd3612c36565b612fe781612fe18454612e14565b84612e5f565b6020601f821160018114613038575f83156130025750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455610423565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b828110156130855787850151825560209485019460019092019101613065565b50848210156130c157868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156130e0575f5ffd5b8151610ac681612bce565b5f60608201858352606060208401528085518083526080850191506020870192505f5b8181101561314257835173ffffffffffffffffffffffffffffffffffffffff1683526020938401939092019160010161310e565b505060409390930193909352509392505050565b6040516080810167ffffffffffffffff8111828210171561317957613179612c36565b60405290565b6040516060810167ffffffffffffffff8111828210171561317957613179612c36565b60405160e0810167ffffffffffffffff8111828210171561317957613179612c36565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561320c5761320c612c36565b604052919050565b5f67ffffffffffffffff82111561322d5761322d612c36565b5060051b60200190565b5f60208284031215613247575f5ffd5b815167ffffffffffffffff81111561325d575f5ffd5b8201601f8101841361326d575f5ffd5b805161328061327b82613214565b6131c5565b8082825260208201915060208360051b8501019250868311156132a1575f5ffd5b6020840193505b82841015611e94576132b984612dd3565b8252602093840193909101906132a8565b5f82601f8301126132d9575f5ffd5b81516132e761327b82613214565b8082825260208201915060208360051b860101925085831115613308575f5ffd5b602085015b8381101561332557805183526020928301920161330d565b5095945050505050565b80517fffffffff0000000000000000000000000000000000000000000000000000000081168114612df6575f5ffd5b5f82601f83011261336d575f5ffd5b815161337b61327b82613214565b8082825260208201915060208360071b86010192508583111561339c575f5ffd5b602085015b8381101561332557608081880312156133b8575f5ffd5b6133c0613156565b6133c98261332f565b8152602082015163ffffffff811681146133e1575f5ffd5b602082015260408201516133f481612bce565b6040820152606082015161340781612bce565b606082015283526020909201916080016133a1565b5f82601f83011261342b575f5ffd5b815161343961327b82613214565b8082825260208201915060208360051b86010192508583111561345a575f5ffd5b602085015b83811015613325576134708161332f565b83526020928301920161345f565b5f6060828403121561348e575f5ffd5b61349661317f565b9050815167ffffffffffffffff8111156134ae575f5ffd5b8201601f810184136134be575f5ffd5b80516134cc61327b82613214565b808282526020820191506020606084028501019250868311156134ed575f5ffd5b6020840193505b82841015613558576060848803121561350b575f5ffd5b61351361317f565b61351c8561332f565b8152602085015161352c81612bce565b6020820152604085015161353f81612bce565b60408201528252606093909301926020909101906134f4565b8452505050602082015167ffffffffffffffff811115613576575f5ffd5b6135828482850161335e565b602083015250604082015167ffffffffffffffff8111156135a1575f5ffd5b6135ad8482850161341c565b60408301525092915050565b805165ffffffffffff81168114612df6575f5ffd5b5f602082840312156135de575f5ffd5b815167ffffffffffffffff8111156135f4575f5ffd5b820160e08185031215613605575f5ffd5b61360d6131a2565b8151815261361d60208301612dd3565b602082015261362e60408301612dd3565b604082015261363f60608301612dd3565b6060820152608082015167ffffffffffffffff81111561365d575f5ffd5b613669868285016132ca565b60808301525060a082015167ffffffffffffffff811115613688575f5ffd5b6136948682850161347e565b60a0830152506136a660c083016135b9565b60c0820152949350505050565b818103818111156103a1577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd";
1643
+ "0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b613727806100ca5f395ff3fe608060405234801561000f575f5ffd5b506004361061009f575f3560e01c8063921f7175116100725780639935218311610058578063993521831461012f578063b9de61591461014f578063ef86d69614610162575f5ffd5b8063921f7175146101075780639575f6ac1461011a575f5ffd5b806302da0e51146100a357806337644cf7146100b85780635a2dce7a146100cb578063831c2b82146100de575b5f5ffd5b6100b66100b1366004612918565b610175565b005b6100b66100c636600461292f565b6101bf565b6100b66100d93660046129d5565b61020b565b6100f16100ec366004612918565b61036d565b6040516100fe9190612b08565b60405180910390f35b6100b66101153660046129d5565b6103a7565b61012261042a565b6040516100fe9190612b1a565b61014261013d366004612918565b610439565b6040516100fe9190612b9b565b6100b661015d36600461292f565b610444565b6100b6610170366004612bea565b61048c565b6101b36040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b6101bc81610589565b50565b6101fd6040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b61020782826105ca565b5050565b6102496040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b5f8167ffffffffffffffff81111561026357610263612c45565b60405190808252806020026020018201604052801561028c578160200160208202803683370190505b5090505f5b828110156102e5578383828181106102ab576102ab612c72565b90506020028101906102bd9190612c9f565b5f01358282815181106102d2576102d2612c72565b6020908102919091010152600101610291565b506102f286868684610614565b5f5b828110156103645761035c84848381811061031157610311612c72565b90506020028101906103239190612c9f565b358886868581811061033757610337612c72565b90506020028101906103499190612c9f565b610357906020810190612cdb565b610667565b6001016102f4565b50505050505050565b61039860405180608001604052805f81526020015f1515815260200160608152602001606081525090565b6103a1826107de565b92915050565b6103e56040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b6104238585858585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061061492505050565b5050505050565b606061043461083e565b905090565b60606103a182610967565b6104826040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b6102078282610972565b6104ca6040518060400160405280601181526020017f41646452656d6f76654368616e6e656c730000000000000000000000000000008152506104dc565b6104d6848484846109b4565b50505050565b336104e56109f2565b73ffffffffffffffffffffffffffffffffffffffff16036105035750565b7fe17a067c7963a59b6dfd65d33b053fdbea1c56500e2aae4f976d9eda4da9eb005460ff16610560575f61053682612d3f565b90506105423383610ab2565b1561054b575050565b6105553382610acd565b1561055e575050565b505b6101bc7f338e692c00000000000000000000000000000000000000000000000000000000610bc2565b61059281610bca565b60405181815233907f3a3f387aa42656bc1732adfc7aea5cde9ccc05a59f9af9c29ebfa68e66383e939060200160405180910390a250565b6105d48282610c64565b604080518381526020810183905233917f2b10481523b59a7978f8ab73b237349b0f38c801f6094bdc8994d379c067d71391015b60405180910390a25050565b61061f83835f610d06565b61062b84848484610d3c565b60405184815233907fdd6c5b83be3557f8b2674712946f9f05dcd882b82bfd58b9539b9706efd35d8c906020015b60405180910390a250505050565b8080156107d45761067785610e53565b61068084610eaa565b5f8581527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd056020908152604080832087845290915290207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd00906106e281610f03565b5f5b838110156107845761071886868381811061070157610701612c72565b90506020028101906107139190612d81565b610feb565b61077b86868381811061072d5761072d612c72565b905060200281019061073f9190612d81565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250869392505061101c9050565b506001016106e4565b505f878152600483016020526040902061079e9087611072565b506040518690889033907f38ef31503bf60258feeceab5e2c3778cf74be2a8fbcc150d209ca96cd3c98553905f90a45050610423565b610423858561107d565b61080960405180608001604052805f81526020015f1515815260200160608152602001606081525090565b5f5f6108148461113f565b92509250505f61082385611242565b60608501525060408301919091521515602082015290815290565b60605f6108496112a4565b9050805167ffffffffffffffff81111561086557610865612c45565b6040519080825280602002602001820160405280156108c157816020015b6108ae60405180608001604052805f81526020015f1515815260200160608152602001606081525090565b8152602001906001900390816108835790505b5091505f5b8151811015610962575f5f5f6108f48585815181106108e7576108e7612c72565b602002602001015161113f565b9250925092505f61091d86868151811061091057610910612c72565b6020026020010151611242565b90505f87868151811061093257610932612c72565b602090810291909101810151606081019390935260408301949094525090151591810191909152526001016108c6565b505090565b60606103a182611242565b61097c82826112d0565b604080518381526020810183905233917faee688d80dbf97230e5d2b4b06aa7074bfe38ddd8abf856551177db3039561299101610608565b6109c084848484611371565b60405184815233907f94af4a611b3fb1eaa653a6b29f82b71bcea25ca378171c5f059010fa18e0716e90602001610659565b5f807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915291925073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015610a88573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aac9190612e0a565b91505090565b5f610ac68184610ac185612d3f565b6114ff565b9392505050565b5f73ffffffffffffffffffffffffffffffffffffffff8316610af057505f6103a1565b5f610af96117b9565b6040517f75dfa34200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015291909116906375dfa34290602401602060405180830381865afa158015610b65573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b899190612e0a565b905073ffffffffffffffffffffffffffffffffffffffff8116610baf575f9150506103a1565b610bba818585611804565b949350505050565b805f5260045ffd5b610bd381610eaa565b7f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504300610bfe8183611a50565b505f8281526002808301602052604082208281556001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690559190610c4a908301826128d2565b50505f828152600382016020526040902061020790611a5b565b610c6d82610eaa565b610c7682611a64565b5f8281527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504303602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430090610cce8184611ac5565b15610cfc57610cfc7f2369ff3000000000000000000000000000000000000000000000000000000000610bc2565b6104238184611072565b80821015610d3757610d377f947d5a8400000000000000000000000000000000000000000000000000000000610bc2565b505050565b610d4584611adc565b7f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504300610d708186611072565b505f858152600280830160205260408220918791879187918591908201610d98848683612eb2565b50509290925550505f8681526003830160205260408120905b8451811015610e4957610de6858281518110610dcf57610dcf612c72565b602002602001015183611ac590919063ffffffff16565b15610e1457610e147f2369ff3000000000000000000000000000000000000000000000000000000000610bc2565b610e40858281518110610e2957610e29612c72565b60200260200101518361107290919063ffffffff16565b50600101610db1565b5050505050505050565b610e7d7f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0182611ac5565b6101bc576101bc7fa3f70f7b00000000000000000000000000000000000000000000000000000000610bc2565b610ed6817f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af5185043005b90611ac5565b6101bc576101bc7fac16968200000000000000000000000000000000000000000000000000000000610bc2565b805481905f5b81811015610fe3575f84815260208120820190505f610fcf86835f018054610f3090612e23565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5c90612e23565b8015610fa75780601f10610f7e57610100808354040283529160200191610fa7565b820191905f5260205f20905b815481529060010190602001808311610f8a57829003601f168201915b5050505050805180820160209081018051600195909501815291810192019190912091905290565b55610fda815f6128d2565b50600101610f09565b50505f905550565b5f819003610207576102077f0ce76c1000000000000000000000000000000000000000000000000000000000610bc2565b80516020818301810180516001860182529282019184019190912091905280541590811561106b578354600181018086555f868152602090208692919082016110658782612fc8565b50835550505b5092915050565b5f610ac68383611b34565b61108682610e53565b61108f81610eaa565b5f8281527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd056020908152604080832084845290915290207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd00906110f181610f03565b5f848152600483016020526040902061110a9084611a50565b506040518390859033907f07439707c74b686d8e4d3f3226348eac82205e6dffd780ac4c555a4c2dc9d86c905f90a450505050565b5f60605f61114c84610eaa565b5f8481527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af5185043026020526040902080546002820180549195507f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430092916111af90612e23565b80601f01602080910402602001604051908101604052809291908181526020018280546111db90612e23565b80156112265780601f106111fd57610100808354040283529160200191611226565b820191905f5260205f20905b81548152906001019060200180831161120957829003601f168201915b50505060019093015496989197505060ff909516949350505050565b606061124d82610eaa565b5f8281527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504303602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430090610ac690611b80565b60607f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504300610aac81611b80565b6112d982610eaa565b6112e282611a64565b5f8281527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504303602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af5185043009061133a8184611ac5565b611367576113677f6796073e00000000000000000000000000000000000000000000000000000000610bc2565b6104238184611a50565b61137a84610eaa565b5f8481527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504302602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af5185043009083158015906114a0575061149e8160020180546113e490612e23565b80601f016020809104026020016040519081016040528092919081815260200182805461141090612e23565b801561145b5780601f106114325761010080835404028352916020019161145b565b820191905f5260205f20905b81548152906001019060200180831161143e57829003601f168201915b505050505086868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509293925050611b8c9050565b155b156114b657600281016114b4858783612eb2565b505b600181015460ff161515831515146114f7576001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168415151790555b505050505050565b5f5f61150a84611ba2565b905080515f0361151d575f915050610ac6565b5f6115266109f2565b90505f5b8251811015611593578173ffffffffffffffffffffffffffffffffffffffff1683828151811061155c5761155c612c72565b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361158b5760019350505050610ac6565b60010161152a565b5061159d82611e16565b156115ac575f92505050610ac6565b7fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931005f6115f77fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c93101611b80565b80519091505f5b818110156117aa575f845f015f85848151811061161d5761161d612c72565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116cb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ef91906130df565b15801561178c57506040517f0cf0b53300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630cf0b5339061174d908e908b908e906004016130fa565b602060405180830381865afa158015611768573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178c91906130df565b156117a1576001975050505050505050610ac6565b506001016115fe565b505f9998505050505050505050565b5f6104347fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6007f4170705265676973747279000000000000000000000000000000000000000000612046565b73ffffffffffffffffffffffffffffffffffffffff83165f9081527f5203018779d8301358307033923a3bd0a3a759f1f58591c01f878744c0f8c201602052604081205480611856575f915050610ac6565b5f61185f6117b9565b6040517f8c2a729a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015291925090821690638c2a729a90602401602060405180830381865afa1580156118cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f191906130df565b15611900575f92505050610ac6565b6040517ffb609045000000000000000000000000000000000000000000000000000000008152600481018390525f9073ffffffffffffffffffffffffffffffffffffffff83169063fb609045906024015f60405180830381865afa15801561196a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526119af919081019061354f565b80519091506119c3575f9350505050610ac6565b5f5f6119d2835f0151896120db565b92505091508115806119e2575080155b156119f4575f95505050505050610ac6565b6080830151515f5b81811015611a40578885608001518281518110611a1b57611a1b612c72565b602002602001015103611a38576001975050505050505050610ac6565b6001016119fc565b505f9a9950505050505050505050565b5f610ac68383612199565b6101bc8161227c565b5f8181527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504302602052604090206001015460ff16156101bc576101bc7fd9c0051200000000000000000000000000000000000000000000000000000000610bc2565b5f8181526001830160205260408120541515610ac6565b611b06817f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504300610ed0565b156101bc576101bc7f8c93df6400000000000000000000000000000000000000000000000000000000610bc2565b5f818152600183016020526040812054611b7957508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556103a1565b505f6103a1565b60605f610ac6836122d5565b8051602091820120825192909101919091201490565b60605f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015290911691505f9082906302345b98906024015f60405180830381865afa158015611c39573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611c7e9190810190613634565b905080515f03611def576040517ff821039800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301525f919084169063f821039890602401602060405180830381865afa158015611cf5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d199190612e0a565b905073ffffffffffffffffffffffffffffffffffffffff811615611ded576040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808316600483015291955085918416906302345b98906024015f60405180830381865afa158015611da5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611dea9190810190613634565b91505b505b611df88161232e565b92506001835101835283604051526020604051016040525050919050565b5f7f49daf035076c43671ca9f9fb568d931e51ab7f9098a5a694781b45341112cf0081611e4282611b80565b905080515f03611e5557505f9392505050565b5f815167ffffffffffffffff811115611e7057611e70612c45565b604051908082528060200260200182016040528015611e99578160200160208202803683370190505b5090505f5b8251811015611f0957611eca5f848381518110611ebd57611ebd612c72565b602002602001015161233f565b828281518110611edc57611edc612c72565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101611e9e565b50611f138161234a565b611f1c81612353565b5f815186510167ffffffffffffffff811115611f3a57611f3a612c45565b604051908082528060200260200182016040528015611f63578160200160208202803683370190505b5090505f5b8651811015611fca57868181518110611f8357611f83612c72565b6020026020010151828281518110611f9d57611f9d612c72565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101611f68565b505f5b825181101561203257828181518110611fe857611fe8612c72565b602002602001015182828951018151811061200557612005612c72565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101611fcd565b5061203c8161235c565b9695505050505050565b60068201546040517f44ab6680000000000000000000000000000000000000000000000000000000008152600481018390525f9173ffffffffffffffffffffffffffffffffffffffff169081906344ab668090602401602060405180830381865afa1580156120b7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bba9190612e0a565b5f5f5f5f612112865f9081527fb7e2813a9de15ce5ee4c1718778708cd70fd7ee3d196d203c0f40369a8d4a6026020526040902090565b905061211e8186612366565b600383015491955093506e010000000000000000000000000000900460ff16801561218f575060038101546f01000000000000000000000000000000900465ffffffffffff16158061218f57506003810154426f0100000000000000000000000000000090910465ffffffffffff16115b9150509250925092565b5f8181526001830160205260408120548015612273575f6121bb6001836136c2565b85549091505f906121ce906001906136c2565b905080821461222d575f865f0182815481106121ec576121ec612c72565b905f5260205f200154905080875f01848154811061220c5761220c612c72565b5f918252602080832090910192909255918252600188019052604090208390555b855486908061223e5761223e6136fa565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f9055600193505050506103a1565b5f9150506103a1565b5f612285825490565b90505f5b818110156122ce57826001015f845f0183815481106122aa576122aa612c72565b905f5260205f20015481526020019081526020015f205f9055806001019050612289565b50505f9055565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561232257602002820191905f5260205f20905b81548152602001906001019080831161230e575b50505050509050919050565b60606103a161233c836123fc565b90565b5f610ac6838361242b565b6101bc81612566565b6101bc816126ec565b5f6103a182612735565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526001830160205260408120805482919065ffffffffffff8116906123be90660100000000000090046dffffffffffffffffffffffffffff16612801565b509093505065ffffffffffff8116158015906123f157506123dd612822565b65ffffffffffff168165ffffffffffff1611155b935050509250929050565b604051815160051b8101602001818084035b80820151825281602001915082820361240e575060405250919050565b5f81831161253457505f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c01000000000000000000000000000000000000000000000000000000008316900361253257815f0361252c57805483106124eb576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f818152600484016020526040902054909290915081156124ec575b506103a1565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61265e565b610180828403116125c85760208201805183511061258c5780518351825283525b5b6020018381116104d657805182820180518281116125ad5750505061258d565b5b6020820152830180518281116125ae57506020015261258d565b81601f1683830160061c60051b01825181518082106125e357905b85518082106125f857908183106125f8579091905b865282528352518390835b5b6020018051821161260457825b84018051831061261157925082811015612632578051835182528352612603565b505083602082011461264c5761264c84602083018461256b565b8281146104d6576104d681848461256b565b80516002811061020757601f19602083018260051b8401805b80518185015111612689578301612677565b82811161269857505050505050565b50805b805181850151106126ad57830161269b565b8281116126d6575b8251825184528252602090920191908301908183106126b557505050505050565b505f85526126e581838561256b565b5050509052565b60028151106101bc576020810160408201600183510160051b83015b815183511461271c57602083019250815183525b60208201915080820361270857505081900360051c9052565b5f8151600281106127fb576040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe060308302600181901c17600281901c17600481901c17600881901c17601081901c178116806020013684378360051b86015b60bc197001000000000000000000000000000000518251095b828116850180516127c2578290526127e2565b8251815151036127d95760019750889250506127e2565b506020016127af565b508201808710612796575050505080601f1c156127fb57fe5b50919050565b5f5f5f61281584612810612822565b61282c565b9250925092509193909250565b5f6104344261287f565b69ffffffffffffffffffff602083901c166dffffffffffffffffffffffffffff831665ffffffffffff604085901c811690841681111561286e57828282612872565b815f5f5b9250925092509250925092565b5f65ffffffffffff8211156128ce576040517f6dfcc650000000000000000000000000000000000000000000000000000000008152603060048201526024810183905260440160405180910390fd5b5090565b5080546128de90612e23565b5f825580601f106128ed575050565b601f0160209004905f5260205f20908101906101bc91905b808211156128ce575f8155600101612905565b5f60208284031215612928575f5ffd5b5035919050565b5f5f60408385031215612940575f5ffd5b50508035926020909101359150565b5f5f83601f84011261295f575f5ffd5b50813567ffffffffffffffff811115612976575f5ffd5b60208301915083602082850101111561298d575f5ffd5b9250929050565b5f5f83601f8401126129a4575f5ffd5b50813567ffffffffffffffff8111156129bb575f5ffd5b6020830191508360208260051b850101111561298d575f5ffd5b5f5f5f5f5f606086880312156129e9575f5ffd5b85359450602086013567ffffffffffffffff811115612a06575f5ffd5b612a128882890161294f565b909550935050604086013567ffffffffffffffff811115612a31575f5ffd5b612a3d88828901612994565b969995985093965092949392505050565b805182526020810151151560208301525f6040820151608060408501528051806080860152806020830160a087015e5f60a082870101527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820116850191505060a08101606084015160a086840301606087015281815180845260c0850191506020830194505f93505b80841015612afd5784518252602082019150602085019450600184019350612ada565b509695505050505050565b602081525f610ac66020830184612a4e565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612b8f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452612b7a858351612a4e565b94506020938401939190910190600101612b40565b50929695505050505050565b602080825282518282018190525f918401906040840190835b81811015612bd2578351835260209384019390920191600101612bb4565b509095945050505050565b80151581146101bc575f5ffd5b5f5f5f5f60608587031215612bfd575f5ffd5b84359350602085013567ffffffffffffffff811115612c1a575f5ffd5b612c268782880161294f565b9094509250506040850135612c3a81612bdd565b939692955090935050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112612cd1575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612d0e575f5ffd5b83018035915067ffffffffffffffff821115612d28575f5ffd5b6020019150600581901b360382131561298d575f5ffd5b805160208083015191908110156127fb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612db4575f5ffd5b83018035915067ffffffffffffffff821115612dce575f5ffd5b60200191503681900382131561298d575f5ffd5b805173ffffffffffffffffffffffffffffffffffffffff81168114612e05575f5ffd5b919050565b5f60208284031215612e1a575f5ffd5b610ac682612de2565b600181811c90821680612e3757607f821691505b6020821081036127fb577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b601f821115610d3757805f5260205f20601f840160051c81016020851015612e935750805b601f840160051c820191505b81811015610423575f8155600101612e9f565b67ffffffffffffffff831115612eca57612eca612c45565b612ede83612ed88354612e23565b83612e6e565b5f601f841160018114612f2e575f8515612ef85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610423565b5f838152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08716915b82811015612f7b5786850135825560209485019460019092019101612f5b565b5086821015612fb6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b815167ffffffffffffffff811115612fe257612fe2612c45565b612ff681612ff08454612e23565b84612e6e565b6020601f821160018114613047575f83156130115750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455610423565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b828110156130945787850151825560209485019460019092019101613074565b50848210156130d057868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156130ef575f5ffd5b8151610ac681612bdd565b5f60608201858352606060208401528085518083526080850191506020870192505f5b8181101561315157835173ffffffffffffffffffffffffffffffffffffffff1683526020938401939092019160010161311d565b505060409390930193909352509392505050565b6040516080810167ffffffffffffffff8111828210171561318857613188612c45565b60405290565b6040516060810167ffffffffffffffff8111828210171561318857613188612c45565b60405160e0810167ffffffffffffffff8111828210171561318857613188612c45565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561321b5761321b612c45565b604052919050565b5f67ffffffffffffffff82111561323c5761323c612c45565b5060051b60200190565b5f82601f830112613255575f5ffd5b815161326861326382613223565b6131d4565b8082825260208201915060208360051b860101925085831115613289575f5ffd5b602085015b838110156132a657805183526020928301920161328e565b5095945050505050565b80517fffffffff0000000000000000000000000000000000000000000000000000000081168114612e05575f5ffd5b5f82601f8301126132ee575f5ffd5b81516132fc61326382613223565b8082825260208201915060208360071b86010192508583111561331d575f5ffd5b602085015b838110156132a65760808188031215613339575f5ffd5b613341613165565b61334a826132b0565b8152602082015163ffffffff81168114613362575f5ffd5b6020820152604082015161337581612bdd565b6040820152606082015161338881612bdd565b60608201528352602090920191608001613322565b5f82601f8301126133ac575f5ffd5b81516133ba61326382613223565b8082825260208201915060208360051b8601019250858311156133db575f5ffd5b602085015b838110156132a6576133f1816132b0565b8352602092830192016133e0565b5f6060828403121561340f575f5ffd5b61341761318e565b9050815167ffffffffffffffff81111561342f575f5ffd5b8201601f8101841361343f575f5ffd5b805161344d61326382613223565b8082825260208201915060206060840285010192508683111561346e575f5ffd5b6020840193505b828410156134d9576060848803121561348c575f5ffd5b61349461318e565b61349d856132b0565b815260208501516134ad81612bdd565b602082015260408501516134c081612bdd565b6040820152825260609390930192602090910190613475565b8452505050602082015167ffffffffffffffff8111156134f7575f5ffd5b613503848285016132df565b602083015250604082015167ffffffffffffffff811115613522575f5ffd5b61352e8482850161339d565b60408301525092915050565b805165ffffffffffff81168114612e05575f5ffd5b5f6020828403121561355f575f5ffd5b815167ffffffffffffffff811115613575575f5ffd5b820160e08185031215613586575f5ffd5b61358e6131b1565b8151815261359e60208301612de2565b60208201526135af60408301612de2565b60408201526135c060608301612de2565b6060820152608082015167ffffffffffffffff8111156135de575f5ffd5b6135ea86828501613246565b60808301525060a082015167ffffffffffffffff811115613609575f5ffd5b613615868285016133ff565b60a08301525061362760c0830161353a565b60c0820152949350505050565b5f60208284031215613644575f5ffd5b815167ffffffffffffffff81111561365a575f5ffd5b8201601f8101841361366a575f5ffd5b805161367861326382613223565b8082825260208201915060208360051b850101925086831115613699575f5ffd5b6020840193505b8284101561203c576136b184612de2565b8252602093840193909101906136a0565b818103818111156103a1577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd";
672
1644
 
673
1645
  type ChannelsConstructorParams =
674
1646
  | [signer?: Signer]