@layerzerolabs/onesig-evm 0.0.9 → 0.0.11

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 (28) hide show
  1. package/artifacts/contracts/ExecutorStore.sol/ExecutorStore.json +164 -0
  2. package/artifacts/contracts/MultiSig.sol/MultiSig.json +1 -1
  3. package/artifacts/contracts/OneSig.sol/OneSig.json +188 -6
  4. package/artifacts-tron/contracts/ExecutorStore.sol/ExecutorStore.json +164 -0
  5. package/artifacts-tron/contracts/MultiSig.sol/MultiSig.json +1 -1
  6. package/artifacts-tron/contracts/OneSig.sol/OneSig.json +188 -6
  7. package/artifacts-zk/contracts/ExecutorStore.sol/ExecutorStore.json +165 -0
  8. package/artifacts-zk/contracts/MultiSig.sol/MultiSig.json +1 -1
  9. package/artifacts-zk/contracts/OneSig.sol/OneSig.json +188 -6
  10. package/contracts/ExecutorStore.sol +137 -0
  11. package/contracts/MultiSig.sol +1 -1
  12. package/contracts/OneSig.sol +32 -6
  13. package/dist/index.d.mts +12 -0
  14. package/dist/index.mjs +20 -0
  15. package/package.json +3 -3
  16. package/typechain-types/contracts/ExecutorStore.ts +286 -0
  17. package/typechain-types/contracts/MultiSig.ts +5 -2
  18. package/typechain-types/contracts/OneSig.ts +247 -2
  19. package/typechain-types/contracts/index.ts +1 -0
  20. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +1 -1
  21. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/MerkleProof__factory.ts +1 -1
  22. package/typechain-types/factories/contracts/ExecutorStore__factory.ts +179 -0
  23. package/typechain-types/factories/contracts/MultiSig__factory.ts +1 -1
  24. package/typechain-types/factories/contracts/OneSig__factory.ts +199 -9
  25. package/typechain-types/factories/contracts/index.ts +1 -0
  26. package/typechain-types/factories/contracts/mocks/MockOApp__factory.ts +1 -1
  27. package/typechain-types/hardhat.d.ts +9 -0
  28. package/typechain-types/index.ts +2 -0
@@ -0,0 +1,179 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import type { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ ExecutorStore,
9
+ ExecutorStoreInterface,
10
+ } from "../../contracts/ExecutorStore";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [
15
+ {
16
+ internalType: "address",
17
+ name: "executor",
18
+ type: "address",
19
+ },
20
+ ],
21
+ name: "ExecutorAlreadyActive",
22
+ type: "error",
23
+ },
24
+ {
25
+ inputs: [
26
+ {
27
+ internalType: "address",
28
+ name: "executor",
29
+ type: "address",
30
+ },
31
+ ],
32
+ name: "ExecutorNotFound",
33
+ type: "error",
34
+ },
35
+ {
36
+ inputs: [],
37
+ name: "InvalidExecutor",
38
+ type: "error",
39
+ },
40
+ {
41
+ inputs: [],
42
+ name: "OnlySelfCall",
43
+ type: "error",
44
+ },
45
+ {
46
+ anonymous: false,
47
+ inputs: [
48
+ {
49
+ indexed: false,
50
+ internalType: "bool",
51
+ name: "required",
52
+ type: "bool",
53
+ },
54
+ ],
55
+ name: "ExecutorRequiredSet",
56
+ type: "event",
57
+ },
58
+ {
59
+ anonymous: false,
60
+ inputs: [
61
+ {
62
+ indexed: true,
63
+ internalType: "address",
64
+ name: "executor",
65
+ type: "address",
66
+ },
67
+ {
68
+ indexed: false,
69
+ internalType: "bool",
70
+ name: "active",
71
+ type: "bool",
72
+ },
73
+ ],
74
+ name: "ExecutorSet",
75
+ type: "event",
76
+ },
77
+ {
78
+ inputs: [],
79
+ name: "executorRequired",
80
+ outputs: [
81
+ {
82
+ internalType: "bool",
83
+ name: "",
84
+ type: "bool",
85
+ },
86
+ ],
87
+ stateMutability: "view",
88
+ type: "function",
89
+ },
90
+ {
91
+ inputs: [],
92
+ name: "getExecutors",
93
+ outputs: [
94
+ {
95
+ internalType: "address[]",
96
+ name: "",
97
+ type: "address[]",
98
+ },
99
+ ],
100
+ stateMutability: "view",
101
+ type: "function",
102
+ },
103
+ {
104
+ inputs: [
105
+ {
106
+ internalType: "address",
107
+ name: "_executor",
108
+ type: "address",
109
+ },
110
+ ],
111
+ name: "isExecutor",
112
+ outputs: [
113
+ {
114
+ internalType: "bool",
115
+ name: "",
116
+ type: "bool",
117
+ },
118
+ ],
119
+ stateMutability: "view",
120
+ type: "function",
121
+ },
122
+ {
123
+ inputs: [
124
+ {
125
+ internalType: "address",
126
+ name: "_executor",
127
+ type: "address",
128
+ },
129
+ {
130
+ internalType: "bool",
131
+ name: "_active",
132
+ type: "bool",
133
+ },
134
+ ],
135
+ name: "setExecutor",
136
+ outputs: [],
137
+ stateMutability: "nonpayable",
138
+ type: "function",
139
+ },
140
+ {
141
+ inputs: [
142
+ {
143
+ internalType: "bool",
144
+ name: "_executorRequired",
145
+ type: "bool",
146
+ },
147
+ ],
148
+ name: "setExecutorRequired",
149
+ outputs: [],
150
+ stateMutability: "nonpayable",
151
+ type: "function",
152
+ },
153
+ {
154
+ inputs: [],
155
+ name: "totalExecutors",
156
+ outputs: [
157
+ {
158
+ internalType: "uint256",
159
+ name: "",
160
+ type: "uint256",
161
+ },
162
+ ],
163
+ stateMutability: "view",
164
+ type: "function",
165
+ },
166
+ ] as const;
167
+
168
+ export class ExecutorStore__factory {
169
+ static readonly abi = _abi;
170
+ static createInterface(): ExecutorStoreInterface {
171
+ return new utils.Interface(_abi) as ExecutorStoreInterface;
172
+ }
173
+ static connect(
174
+ address: string,
175
+ signerOrProvider: Signer | Provider
176
+ ): ExecutorStore {
177
+ return new Contract(address, _abi, signerOrProvider) as ExecutorStore;
178
+ }
179
+ }
@@ -101,7 +101,7 @@ const _abi = [
101
101
  anonymous: false,
102
102
  inputs: [
103
103
  {
104
- indexed: false,
104
+ indexed: true,
105
105
  internalType: "address",
106
106
  name: "signer",
107
107
  type: "address",
@@ -17,6 +17,11 @@ import type { OneSig, OneSigInterface } from "../../contracts/OneSig";
17
17
  const _abi = [
18
18
  {
19
19
  inputs: [
20
+ {
21
+ internalType: "uint64",
22
+ name: "_oneSigId",
23
+ type: "uint64",
24
+ },
20
25
  {
21
26
  internalType: "address[]",
22
27
  name: "_signers",
@@ -28,9 +33,14 @@ const _abi = [
28
33
  type: "uint256",
29
34
  },
30
35
  {
31
- internalType: "uint64",
32
- name: "_oneSigId",
33
- type: "uint64",
36
+ internalType: "address[]",
37
+ name: "_executors",
38
+ type: "address[]",
39
+ },
40
+ {
41
+ internalType: "bool",
42
+ name: "_executorRequired",
43
+ type: "bool",
34
44
  },
35
45
  {
36
46
  internalType: "bytes32",
@@ -79,6 +89,33 @@ const _abi = [
79
89
  name: "ExecutionFailed",
80
90
  type: "error",
81
91
  },
92
+ {
93
+ inputs: [
94
+ {
95
+ internalType: "address",
96
+ name: "executor",
97
+ type: "address",
98
+ },
99
+ ],
100
+ name: "ExecutorAlreadyActive",
101
+ type: "error",
102
+ },
103
+ {
104
+ inputs: [
105
+ {
106
+ internalType: "address",
107
+ name: "executor",
108
+ type: "address",
109
+ },
110
+ ],
111
+ name: "ExecutorNotFound",
112
+ type: "error",
113
+ },
114
+ {
115
+ inputs: [],
116
+ name: "InvalidExecutor",
117
+ type: "error",
118
+ },
82
119
  {
83
120
  inputs: [],
84
121
  name: "InvalidProofOrNonce",
@@ -94,6 +131,11 @@ const _abi = [
94
131
  name: "MerkleRootExpired",
95
132
  type: "error",
96
133
  },
134
+ {
135
+ inputs: [],
136
+ name: "OnlyExecutorOrSigner",
137
+ type: "error",
138
+ },
97
139
  {
98
140
  inputs: [],
99
141
  name: "OnlySelfCall",
@@ -157,6 +199,38 @@ const _abi = [
157
199
  name: "ZeroThreshold",
158
200
  type: "error",
159
201
  },
202
+ {
203
+ anonymous: false,
204
+ inputs: [
205
+ {
206
+ indexed: false,
207
+ internalType: "bool",
208
+ name: "required",
209
+ type: "bool",
210
+ },
211
+ ],
212
+ name: "ExecutorRequiredSet",
213
+ type: "event",
214
+ },
215
+ {
216
+ anonymous: false,
217
+ inputs: [
218
+ {
219
+ indexed: true,
220
+ internalType: "address",
221
+ name: "executor",
222
+ type: "address",
223
+ },
224
+ {
225
+ indexed: false,
226
+ internalType: "bool",
227
+ name: "active",
228
+ type: "bool",
229
+ },
230
+ ],
231
+ name: "ExecutorSet",
232
+ type: "event",
233
+ },
160
234
  {
161
235
  anonymous: false,
162
236
  inputs: [
@@ -174,7 +248,7 @@ const _abi = [
174
248
  anonymous: false,
175
249
  inputs: [
176
250
  {
177
- indexed: false,
251
+ indexed: true,
178
252
  internalType: "address",
179
253
  name: "signer",
180
254
  type: "address",
@@ -260,6 +334,25 @@ const _abi = [
260
334
  stateMutability: "view",
261
335
  type: "function",
262
336
  },
337
+ {
338
+ inputs: [
339
+ {
340
+ internalType: "address",
341
+ name: "_sender",
342
+ type: "address",
343
+ },
344
+ ],
345
+ name: "canExecuteTransaction",
346
+ outputs: [
347
+ {
348
+ internalType: "bool",
349
+ name: "",
350
+ type: "bool",
351
+ },
352
+ ],
353
+ stateMutability: "view",
354
+ type: "function",
355
+ },
263
356
  {
264
357
  inputs: [
265
358
  {
@@ -358,6 +451,32 @@ const _abi = [
358
451
  stateMutability: "payable",
359
452
  type: "function",
360
453
  },
454
+ {
455
+ inputs: [],
456
+ name: "executorRequired",
457
+ outputs: [
458
+ {
459
+ internalType: "bool",
460
+ name: "",
461
+ type: "bool",
462
+ },
463
+ ],
464
+ stateMutability: "view",
465
+ type: "function",
466
+ },
467
+ {
468
+ inputs: [],
469
+ name: "getExecutors",
470
+ outputs: [
471
+ {
472
+ internalType: "address[]",
473
+ name: "",
474
+ type: "address[]",
475
+ },
476
+ ],
477
+ stateMutability: "view",
478
+ type: "function",
479
+ },
361
480
  {
362
481
  inputs: [],
363
482
  name: "getSigners",
@@ -371,6 +490,25 @@ const _abi = [
371
490
  stateMutability: "view",
372
491
  type: "function",
373
492
  },
493
+ {
494
+ inputs: [
495
+ {
496
+ internalType: "address",
497
+ name: "_executor",
498
+ type: "address",
499
+ },
500
+ ],
501
+ name: "isExecutor",
502
+ outputs: [
503
+ {
504
+ internalType: "bool",
505
+ name: "",
506
+ type: "bool",
507
+ },
508
+ ],
509
+ stateMutability: "view",
510
+ type: "function",
511
+ },
374
512
  {
375
513
  inputs: [
376
514
  {
@@ -416,6 +554,37 @@ const _abi = [
416
554
  stateMutability: "view",
417
555
  type: "function",
418
556
  },
557
+ {
558
+ inputs: [
559
+ {
560
+ internalType: "address",
561
+ name: "_executor",
562
+ type: "address",
563
+ },
564
+ {
565
+ internalType: "bool",
566
+ name: "_active",
567
+ type: "bool",
568
+ },
569
+ ],
570
+ name: "setExecutor",
571
+ outputs: [],
572
+ stateMutability: "nonpayable",
573
+ type: "function",
574
+ },
575
+ {
576
+ inputs: [
577
+ {
578
+ internalType: "bool",
579
+ name: "_executorRequired",
580
+ type: "bool",
581
+ },
582
+ ],
583
+ name: "setExecutorRequired",
584
+ outputs: [],
585
+ stateMutability: "nonpayable",
586
+ type: "function",
587
+ },
419
588
  {
420
589
  inputs: [
421
590
  {
@@ -473,6 +642,19 @@ const _abi = [
473
642
  stateMutability: "view",
474
643
  type: "function",
475
644
  },
645
+ {
646
+ inputs: [],
647
+ name: "totalExecutors",
648
+ outputs: [
649
+ {
650
+ internalType: "uint256",
651
+ name: "",
652
+ type: "uint256",
653
+ },
654
+ ],
655
+ stateMutability: "view",
656
+ type: "function",
657
+ },
476
658
  {
477
659
  inputs: [],
478
660
  name: "totalSigners",
@@ -604,7 +786,7 @@ const _abi = [
604
786
  ] as const;
605
787
 
606
788
  const _bytecode =
607
- "0x0004000000000002000c000000000002000000000302001900000000020100190000006004200270000002b80240019700030000002103550002000000010355000002b80040019d0000000103300190000000530000c13d0000008003000039000000400030043f000000040320008c000000610000413d000000000301043b000000e003300270000002ce0430009c000000650000213d000002db0430009c000000f50000a13d000002dc0430009c0000013f0000a13d000002dd0430009c000001920000613d000002de0430009c000001980000613d000002df0330009c000002810000c13d000000040320008a000000800430008c000002810000413d0000000404100370000000000404043b0000000008040019000002bc0440009c000002810000213d0000000003830049000002bd04000041000000400530008c00000000050000190000000005044019000002bd03300197000000000603004b000000000400a019000002bd0330009c000000000405c019000000000304004b000002810000c13d0000002403100370000000000303043b000700000003001d0000006403100370000000000303043b000002bc0430009c000002810000213d0000002304300039000002bd05000041000000000624004b00000000060000190000000006058019000002bd04400197000000000704004b0000000005008019000002bd0440009c000000000506c019000000000405004b000002810000c13d0000000404300039000000000441034f000000000404043b000002bc0540009c000002810000213d00000024033000390000000005340019000000000225004b000002810000213d0000000305000039000000000205041a000000020220008c000003600000c13d000002f201000041000002660000013d000000a003000039000000400030043f0000000003000416000000000303004b000002810000c13d000002b903200041000002ba0330009c0000008a0000213d000002f40100004100000000001004350000004101000039000000040010043f000002c20100004100000adb00010430000000000102004b000002810000c13d000000000100001900000ada0001042e000002cf0430009c000001290000a13d000002d00430009c000001540000a13d000002d10430009c000001ae0000613d000002d20130009c000001ca0000613d000002d30130009c000002810000c13d0000000001000416000000000101004b000002810000c13d0ad905110000040f0000002002000039000000400400043d000a00000004001d00000000022404360000000013010434000900000003001d000000000032043500000040024000390ad905220000040f00000009010000290000005f01100039000000200200008a000000000121016f000002b802000041000002b80310009c00000000010280190000000a04000029000002b80340009c000000000402801900000040024002100000006001100210000000000121019f00000ada0001042e000000bf03200039000002bb03300197000000400030043f0000001f0320018f0000000504200272000000990000613d00000000050000190000000506500210000000000761034f000000000707043b000000a00660003900000000007604350000000105500039000000000645004b000000910000413d000000000503004b000000a80000613d0000000504400210000000000141034f0000000303300210000000a004400039000000000504043300000000053501cf000000000535022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f0000000000140435000000800120008c000002810000413d000000a00100043d000002bc0310009c000002810000213d0000001f03100039000002bd04000041000000000523004b00000000050000190000000005048019000002bd03300197000000000603004b0000000004008019000002bd0330009c000000000405c019000000000304004b000002810000c13d000000a0031000390000000003030433000002bc0430009c0000005b0000213d00000005043002100000003f05400039000000200600008a000000000565016f000000400600043d0000000005560019000500000006001d000000000665004b00000000060000190000000106004039000002bc0750009c0000005b0000213d00000001066001900000005b0000c13d000000a006200039000000400050043f00000005020000290000000002320436000400000002001d000000c0011000390000000002140019000000000462004b000002810000213d000000000303004b000000dd0000613d00000004030000290000000014010434000002be0540009c000002810000213d0000000003430436000000000421004b000000d70000413d000000c00100043d000300000001001d000000e00100043d000200000001001d000002bf0110009c000002810000813d000001000100043d000100000001001d00000005010000290000000001010433000000000101004b000002830000c13d000000400100043d0000000304000029000000000204004b000002d10000c13d000002cd020000410000000000210435000002b802000041000002b80310009c00000000010280190000004001100210000002c6011001c700000adb00010430000002e20430009c0000015d0000213d000002e50430009c000001d80000613d000002e60330009c000002810000c13d0000000003000416000000000303004b000002810000c13d000000040220008a000000400220008c000002810000413d0000000402100370000000000202043b000a00000002001d000002be0220009c000002810000213d0000002401100370000000000101043b000000000201004b0000000002000019000000010200c039000000000221004b000002810000c13d00000000020004100000000003000411000000000223004b000002650000c13d000000000101004b000002e00000c13d0000000a0100002900000000001004350000000101000039000900000001001d000000200010043f000002b8010000410000000002000414000002b80320009c0000000002018019000000c001200210000002c0011001c700008010020000390ad90ad40000040f0000000102200190000002810000613d000000000101043b000000000301041a000000000103004b0000046a0000c13d000000400100043d000002f602000041000004730000013d000002d60430009c000001660000213d000002d90430009c000001f20000613d000002da0330009c000002810000c13d0000000003000416000000000303004b000002810000c13d000000040220008a000000200220008c000002810000413d0000000401100370000000000101043b00000000020004100000000003000411000000000223004b000002650000c13d000000000201004b000002690000c13d000002cd01000041000002660000013d000002e00430009c000002250000613d000002e10330009c000002810000c13d0000000003000416000000000303004b000002810000c13d000000040320008a000000600330008c000002810000413d0000002401100370000000000101043b000002bc0310009c000002810000213d00000004011000390ad904f70000040f00000002030003670000004404300370000000000404043b00000004033003700000023a0000013d000002d40430009c0000022a0000613d000002d50130009c000002810000c13d0000000001000416000000000101004b000002810000c13d000000000100041a000002620000013d000002e30430009c000002430000613d000002e40130009c000002810000c13d0000000001000416000000000101004b000002810000c13d0000000201000039000001960000013d000002d70430009c0000025c0000613d000002d80330009c000002810000c13d0000000003000416000000000303004b000002810000c13d000000040320008a000000400330008c000002810000413d0000000403100370000000000403043b000002bc0340009c000002810000213d0000002403100370000000000503043b000002bc0350009c000002810000213d0000002303500039000002bd06000041000000000723004b00000000070000190000000007068019000002bd03300197000000000803004b0000000006008019000002bd0330009c000000000607c019000000000306004b000002810000c13d0000000403500039000000000131034f000000000301043b000002bc0130009c000002810000213d000000240550003900000005013002100000000001510019000000000121004b000002810000213d000000000104001900000000020500190ad907f70000040f000001a60000013d0000000001000416000000000101004b000002810000c13d0000000401000039000000000101041a000002620000013d0000000003000416000000000303004b000002810000c13d000000040220008a000000200220008c000002810000413d0000000401100370000000000101043b000002be0210009c000002810000213d0ad90a9a0000040f000000000101004b0000000001000019000000010100c039000000400200043d0000000000120435000002b801000041000002b80320009c00000000020180190000004001200210000002e9011001c700000ada0001042e0000000003000416000000000303004b000002810000c13d000000040320008a000000400230008c000002810000413d0000002402100370000000000202043b000002bc0420009c000002810000213d0000000003230049000002bd04000041000000400530008c00000000050000190000000005044019000002bd03300197000000000603004b000000000400a019000002bd0330009c000000000405c019000000000304004b000002810000c13d0000000401100370000000000101043b00000004022000390ad909060000040f000000000100001900000ada0001042e0000000001000416000000000101004b000002810000c13d0000000001000412000c00000001001d000b00000000001d0000800501000039000000440300003900000000040004150000000c0440008a00000020044000c9000002e7020000410ad90ab00000040f000002610000013d0000000003000416000000000303004b000002810000c13d000000040320008a000000600330008c000002810000413d0000004401100370000000000101043b000002bc0310009c000002810000213d00000004011000390ad904f70000040f00000002040003670000002403400370000000000303043b0000000404400370000000000404043b0000000005010019000000000602001900000000010400190000000002030019000000000305001900000000040600190ad9052f0000040f000000000100001900000ada0001042e0000000001000416000000000101004b000002810000c13d000000a001000039000000000200041a000000800020043f0000000000000435000000000302004b0000020b0000613d000000a004000039000002c30100004100000000030000190000000005040019000000000401041a000000000445043600000001011000390000000103300039000000000623004b000001fe0000413d0000003f01500039000000200200008a000000000121016f000002ed02100041000002ee0220009c0000005b0000413d000000400010043f00000020020000390000000002210436000000800300043d00000000003204350000004002100039000000000403004b0000021b0000613d000000a00400003900000000050000190000000046040434000002be0660019700000000026204360000000105500039000000000635004b000002150000413d0000000002120049000002b803000041000002b80420009c0000000002038019000002b80410009c000000000103801900000040011002100000006002200210000000000112019f00000ada0001042e0000000001000416000000000101004b000002810000c13d0000000101000039000002620000013d0000000003000416000000000303004b000002810000c13d000000040320008a000000400330008c000002810000413d0000002401100370000000000101043b000002bc0310009c000002810000213d00000004011000390ad904f70000040f0000000203000039000000000403041a00000004030000390000000203300367000000000303043b000000000501001900000000060200190000000001030019000000000205001900000000030600190ad907010000040f000000000100001900000ada0001042e0000000003000416000000000303004b000002810000c13d000000040220008a000000200220008c000002810000413d00000000020004100000000003000411000000000223004b000002650000c13d0000000401100370000000000101043b0000000402000039000000000012041b000000800010043f000002b8010000410000000002000414000002b80320009c0000000002018019000000c001200210000002ea011001c70000800d020000390000000103000039000002c9040000410000027e0000013d0000000001000416000000000101004b000002810000c13d0000000501000039000000000101041a000002bc01100197000000800010043f000002e80100004100000ada0001042e000002f301000041000000800010043f000002ec0100004100000adb00010430000000000200041a000000000312004b000002720000813d000002cb03000041000000800030043f000000840020043f000000a40010043f000002eb0100004100000adb000104300000000202000039000000000012041b000000800010043f000002b8010000410000000002000414000002b80320009c0000000002018019000000c001200210000002ea011001c70000800d020000390000000103000039000002c8040000410ad90acf0000040f0000000101200190000000630000c13d000000000100001900000adb00010430000a00010000003d000880100000003d0000000002000019000700000002001d000000050120021000000004011000290000000001010433000002be01100198000003580000613d0000000000100435000900000001001d0000000a01000029000000200010043f0000000001000414000002b80210009c000002b801008041000000c001100210000002c0011001c700000008020000290ad90ad40000040f0000000102200190000002810000613d0000000903000029000000000101043b000000000101041a000000000101004b0000035b0000c13d000000000100041a000002bc0210009c0000005b0000213d0000000102100039000000000020041b000002c301100041000000000031041b000000000100041a000600000001001d00000000003004350000000a01000029000000200010043f0000000001000414000002b80210009c000002b801008041000000c001100210000002c0011001c700000008020000290ad90ad40000040f0000000102200190000002810000613d000000000101043b0000000602000029000000000021041b000000400100043d000000090200002900000000022104360000000a0300002900000000003204350000000002000414000002b80420009c000002b8050000410000000002058019000002b80410009c00000000010580190000004001100210000000c002200210000000000112019f000002c0011001c70000800d02000039000002c4040000410ad90acf0000040f0000000101200190000002810000613d0000000702000029000000010220003900000005010000290000000001010433000000000112004b000002860000413d000000e90000013d000000000200041a000000000342004b000002e50000813d00000024031000390000000000430435000002cb03000041000000000031043500000004031000390000000000230435000002b802000041000002b80310009c00000000010280190000004001100210000002cc011001c700000adb000104300000000a02000029000000000102004b0000031b0000c13d000002c501000041000002660000013d0000000202000039000000000042041b0000000000410435000002b8040000410000000002000414000002b80320009c0000000002048019000002b80310009c00000000010480190000004001100210000000c002200210000000000112019f000002c7011001c70000800d020000390000000103000039000a00000003001d000002c8040000410ad90acf0000040f0000000101200190000002810000613d00000003010000390000000a03000029000000000031041b0000000201000029000000800010043f00000004010000390000000102000029000000000021041b000000400100043d00000000002104350000000002000414000002b80420009c000002b8050000410000000002058019000002b80410009c00000000010580190000004001100210000000c002200210000000000112019f000002c7011001c70000800d02000039000002c9040000410ad90acf0000040f0000000101200190000002810000613d000000800100043d00000140000004430000016000100443000000200100003900000100001004430000000a010000290000012000100443000002ca0100004100000ada0001042e00000000002004350000000101000039000900000001001d000000200010043f000002b8010000410000000002000414000002b80320009c0000000002018019000000c001200210000002c0011001c700008010020000390ad90ad40000040f0000000102200190000002810000613d000000000101043b000000000101041a000000000101004b000004710000c13d000000000100041a000002bc0210009c0000005b0000213d0000000102100039000000000020041b000002c3011000410000000a02000029000000000021041b000000000100041a000800000001001d00000000002004350000000901000029000000200010043f000002b8030000410000000001000414000002b80210009c0000000001038019000000c001100210000002c0011001c700008010020000390ad90ad40000040f0000000102200190000002810000613d000000000101043b0000000802000029000000000021041b000000400100043d0000000a020000290000000002210436000000090300002900000000003204350000000002000414000002b80420009c000002b8050000410000000002058019000002b80410009c00000000010580190000004001100210000000c002200210000000000112019f000002c0011001c70000800d02000039000004d00000013d000000400100043d000002c502000041000000ee0000013d000000400100043d000002c10200004100000000002104350000000402100039000004760000013d000a00000008001d000900040080003d0000000202000039000600000005001d000000000025041b0000004401100370000000000201043b00000007010000290ad9052f0000040f000000070100002900000009020000290ad909060000040f0000000501000039000000000201041a000002bc04200197000002bc0340009c0000046d0000613d000002ed02200197000500000004001d0000000103400039000000000223019f000000000021041b000000230100008a0000000a0b10006a0000000201000367000000090a0000290000000002a1034f000000000302043b00000000020000310000000004b20019000002bd0c000041000000000543004b000000000500001900000000050c8019000002bd04400197000002bd06300197000000000746004b000000000700001900000000070c4019000000000446013f000002bd0440009c000000000705c019000000000407004b000002810000c13d000000000d00001900080000000b001d0000000004a30019000000000341034f000000000503043b000002bc0350009c000002810000213d000000050350021000000000063200490000002003400039000000000763004b000000000700001900000000070c2019000002bd06600197000002bd08300197000000000968004b000000000900001900000000090c4019000000000668013f000002bd0660009c000000000907c019000000000609004b000002810000c13d00000000055d004b000004d50000813d0000000505d002100000000005350019000000000551034f00000000044200490000007f0640008a000000000405043b000000000564004b000000000500001900000000050c8019000002bd06600197000002bd07400197000000000867004b000000000800001900000000080c4019000000000667013f000002bd0660009c000000000805c019000000000508004b000002810000c13d0000000005340019000000000351034f000000000403043b000002be0340009c000002810000213d00000000035200490000001f0330008a0000004006500039000000000661034f000000000606043b000000000736004b000000000700001900000000070c8019000002bd03300197000002bd08600197000000000938004b000000000900001900000000090c4019000000000338013f000002bd0330009c000000000907c0190000002003500039000000000331034f000000000303043b000000000709004b000002810000c13d0000000006560019000000000561034f000000000505043b000002bc0750009c000002810000213d00000000075200490000002002600039000000000672004b000000000600001900000000060c2019000002bd07700197000002bd08200197000000000978004b000000000900001900000000090c4019000000000778013f000002bd0770009c000000000906c019000000000609004b000002810000c13d000000000221034f000000400100043d0000000506500272000003f30000613d000000000700001900000005087002100000000009810019000000000882034f000000000808043b00000000008904350000000107700039000000000867004b000003eb0000413d0000001f07500190000004020000613d0000000506600210000000000262034f00000000066100190000000307700210000000000806043300000000087801cf000000000878022f000000000202043b0000010007700089000000000272022f00000000027201cf000000000282019f0000000000260435000000000251001900000000000204350000000002000414000000040640008c0000040a0000c13d00000001020000390000000101000031000004270000013d000a0000000d001d000002b80650009c000002b80700004100000000050780190000006005500210000002b80610009c00000000010780190000004001100210000000000151019f000002b80520009c0000000002078019000000c002200210000000000112019f000000000203004b0000041d0000613d000002f0011001c7000080090200003900000000050000190000041e0000013d00000000020400190ad90acf0000040f00030000000103550000006001100270000102b80010019d000002b801100197000000090a000029000000080b000029000002bd0c0000410000000a0d000029000000000301004b000004540000613d000002bc0310009c0000005b0000213d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b00000000050000190000000105004039000002bc0640009c0000005b0000213d00000001055001900000005b0000c13d000000400040043f000000000313043600000003040003670000000505100272000004450000613d000000000600001900000005076002100000000008730019000000000774034f000000000707043b00000000007804350000000106600039000000000756004b0000043d0000413d0000001f01100190000004540000613d0000000505500210000000000454034f00000000035300190000000301100210000000000503043300000000051501cf000000000515022f000000000404043b0000010001100089000000000414022f00000000011401cf000000000151019f00000000001304350000000101200190000004f10000613d00000000020000310000000004b2001900000002010003670000000003a1034f000000000303043b000000000543004b000000000500001900000000050c4019000002bd04400197000002bd06300197000000000746004b000000000700001900000000070c2019000000000446013f000002bd0440009c000000000705c019000000010dd00039000000000407004b0000038e0000c13d000002810000013d000000000100041a000000000201004b0000047d0000c13d000002f401000041000000000010043500000011010000390000005e0000013d000000400100043d000002c102000041000000000021043500000004021000390000000a030000290000000000320435000002b802000041000002b80310009c00000000010280190000004001100210000002c2011001c700000adb00010430000000010230008a000800000003001d000000000313004b0000049e0000c13d0000000801000029000002f501100041000000000001041b000000000020041b0000000a0100002900000000001004350000000901000029000000200010043f000002b8010000410000000002000414000002b80320009c0000000002018019000000c001200210000002c0011001c700008010020000390ad90ad40000040f0000000102200190000002810000613d000000000101043b000000000001041b000000400100043d0000000202000039000000000302041a000000000200041a000000000432004b000004c10000813d00000024041000390000000000340435000002d60000013d000000000221004b000004bd0000a13d0000000802000029000002f502200041000002f501100041000000000101041a000000000012041b00000000001004350000000901000029000000200010043f000002b8010000410000000002000414000002b80320009c0000000002018019000000c001200210000002c0011001c700008010020000390ad90ad40000040f0000000102200190000002810000613d000000000101043b0000000802000029000000000021041b000000000100041a000800000001001d000000000101004b000004d20000c13d000002f401000041000000000010043500000031010000390000005e0000013d000002f401000041000000000010043500000032010000390000005e0000013d0000000a0200002900000000022104360000000000020435000002b8020000410000000003000414000002b80430009c0000000003028019000002b80410009c00000000010280190000004001100210000000c002300210000000000112019f000002c0011001c70000800d020000390000000103000039000002c4040000410000027e0000013d0000000801000029000000010210008a000004810000013d000000400100043d00000020021000390000000503000029000000000032043500000007020000290000000000210435000002b8020000410000000003000414000002b80430009c0000000003028019000002b80410009c00000000010280190000004001100210000000c002300210000000000112019f000002c0011001c70000800d020000390000000103000039000a00000003001d000002ef040000410ad90acf0000040f0000000101200190000002810000613d00000006010000290000000a02000029000000000021041b000000000100001900000ada0001042e000000400100043d000002f102000041000000000021043500000004021000390000000000d20435000004770000013d0000001f03100039000002bd04000041000000000523004b00000000050000190000000005044019000002bd06200197000002bd03300197000000000763004b000000000400a019000000000363013f000002bd0330009c000000000405c019000000000304004b0000050f0000613d0000000203100367000000000303043b000002bc0430009c0000050f0000213d00000020011000390000000004310019000000000224004b0000050f0000213d0000000002030019000000000001042d000000000100001900000adb00010430000000400100043d000002f70210009c0000051c0000813d0000004002100039000000400020043f0000002002100039000002f803000041000000000032043500000005020000390000000000210435000000000001042d000002f40100004100000000001004350000004101000039000000040010043f000002c20100004100000adb00010430000000000403004b0000052c0000613d000000000400001900000000052400190000000006140019000000000606043300000000006504350000002004400039000000000534004b000005250000413d00000000012300190000000000010435000000000001042d000a000000000002000700000004001d000600000003001d000a00000002001d000500000001001d000002f9010000410000000000100439000002b8010000410000000002000414000002b80320009c0000000002018019000000c001200210000002fa011001c70000800b020000390ad90ad40000040f0000000102200190000006f20000613d000000400300043d000000000101043b0000000a0110006c000006f30000213d000900000003001d000002f70130009c000006ad0000813d00000009020000290000004001200039000000400010043f0000000201000039000300000001001d0000000002120436000002fb01000041000400000002001d0000000000120435000000400100043d000002fc0210009c000006ad0000213d0000004002100039000000400020043f0000002002100039000002fd03000041000000000032043500000006020000390000000000210435000000400100043d000002fc0210009c000006ad0000213d0000004002100039000000400020043f00000005020000390000000001210436000002f8020000410000000000210435000002b8020000410000000003000414000002b80430009c0000000003028019000002b80410009c00000000010280190000004001100210000000c002300210000000000121019f000002fe011001c700008010020000390ad90ad40000040f0000000102200190000006ab0000613d000000000101043b000000400500043d000000a0025000390000dead030000390000000000320435000000800250003900000001030000390000000000320435000000600250003900000000001204350000004001500039000002ff020000410000000000210435000000200150003900000300020000410000000000210435000000a0020000390000000000250435000003010250009c000006ad0000213d000000c002500039000200000002001d000000400020043f000002b802000041000002b80310009c000000000102801900000040011002100000000003050433000002b80430009c00000000030280190000006003300210000000000113019f0000000003000414000002b80430009c0000000003028019000000c002300210000000000112019f000002f0011001c70000801002000039000800000005001d0ad90ad40000040f0000000102200190000006ab0000613d000000000101043b000100000001001d0000000401000039000000000101041a000000080500002900000140025000390000000a03000029000000000032043500000120025000390000000503000029000000000032043500000100025000390000000000120435000000e00150003900000302020000410000000000210435000000800200003900000002040000290000000000240435000003030250009c000006ad0000213d0000016003500039000000000243004b000006ad0000413d000a00000003001d000000400030043f000002b802000041000002b80310009c000000000102801900000040011002100000000003040433000002b80430009c00000000030280190000006003300210000000000113019f0000000003000414000002b80430009c0000000003028019000000c002300210000000000112019f000002f0011001c700008010020000390ad90ad40000040f0000000102200190000006ab0000613d00000008080000290000018002800039000000000301043b00000009010000290000000001010433000000000401004b0000000407000029000005d90000613d000000000400001900000000052400190000000006740019000000000606043300000000006504350000002004400039000000000514004b000005d20000413d000000000421001900000000000404350000000004810019000001a005400039000000000035043500000180034000390000000104000029000000000043043500000040031000390000000a0500002900000000003504350000007f01100039000000200300008a000000000331016f0000000001530019000000000331004b00000000030000190000000103004039000002bc0410009c000006ad0000213d0000000103300190000006ad0000c13d000000400010043f000002b801000041000002b80320009c000000000201801900000040022002100000000003050433000002b80430009c00000000030180190000006003300210000000000223019f0000000003000414000002b80430009c0000000003018019000000c001300210000000000121019f000002f0011001c700008010020000390ad90ad40000040f0000000102200190000006ab0000613d000000000101043b000500000001001d0000000301000029000000000101041a000000000201004b000006fb0000613d0000000702000029000000412720011a000000000202004b000006fe0000c13d000000000117004b000006fe0000413d00000000060000190000000001000019000400000007001d000000000271004b000006aa0000813d000000010810003900000041121000c9000000410120003900000000438100d9000000410330008c000006b10000c13d000000000321004b000006ab0000413d000000070110006c000006ab0000213d000000400100043d000003040310009c000006ad0000213d00000006032000290000008002100039000000400020043f000000410200003900000000022104360000004104300039000000000440007c000006ab0000213d000a00000006001d0000000203300367000000000400001900000000050200190000000506400210000000000663034f000000000606043b00000000056504360000000104400039000000020640008c0000062d0000413d0000004004200039000000000504043300000305055001970000004003300370000000000303043b0000030603300197000000000353019f000000000034043500000061031000390000000000030435000000400300043d0000000004010433000000410540008c000006b70000c13d000900000008001d00000040041000390000000004040433000003080540009c000006b90000813d0000006001100039000000000101043300000000020204330000006005300039000000000045043500000040043000390000000000240435000000f801100270000000200230003900000000001204350000000501000029000000000013043500000000000004350000000001000414000002b80210009c000002b8040000410000000001048019000002b80230009c00000000030480190000004002300210000000c001100210000000000121019f00000309011001c70000000102000039000800000002001d0ad90ad40000040f00000000030100190000006003300270000002b803300197000000200430008c000000000503001900000020050080390000000504500272000006710000613d00000000060000190000000507600210000000000871034f000000000808043b00000000008704350000000106600039000000000746004b0000066a0000413d0000001f055001900000067f0000613d00000003055002100000000504400210000000000604043300000000065601cf000000000656022f000000000741034f000000000707043b0000010005500089000000000757022f00000000055701cf000000000565019f0000000000540435000100000003001f00030000000103550000000102200190000006c30000613d0000000001000433000002be021001980000000a01000029000006e60000613d000000000112004b000006e90000a13d000a00000002001d00000000002004350000000801000029000000200010043f0000000001000414000002b80210009c000002b801008041000000c001100210000002c0011001c700008010020000390ad90ad40000040f000000010220019000000004070000290000000902000029000006ab0000613d000000000101043b000000000101041a000000000101004b0000000a0300002900000000060300190000000001020019000006120000c13d000000400100043d000002f602000041000000000021043500000004021000390000000000320435000002b802000041000002b80310009c00000000010280190000004001100210000002c2011001c700000adb00010430000000000001042d000000000100001900000adb00010430000002f40100004100000000001004350000004101000039000006b40000013d000002f40100004100000000001004350000001101000039000000040010043f000002c20100004100000adb000104300000030701000041000006ba0000013d0000030c01000041000000000013043500000004013000390000000000410435000002b801000041000002b80230009c00000000030180190000004001300210000002c2011001c700000adb00010430000000400200043d0000001f0430018f0000000505300272000006d00000613d000000000600001900000005076002100000000008720019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006c80000413d000000000604004b000006df0000613d0000000505500210000000000151034f00000000055200190000000304400210000000000605043300000000064601cf000000000646022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000161019f0000000000150435000002b801000041000002b80420009c000000000201801900000040012002100000006002300210000000000121019f00000adb00010430000000400100043d0000030b02000041000006eb0000013d000000400100043d0000030a020000410000000000210435000002b802000041000002b80310009c00000000010280190000004001100210000002c6011001c700000adb00010430000000000001042f0000030e010000410000000000130435000002b801000041000002b80230009c00000000030180190000004001300210000002c6011001c700000adb00010430000000400100043d000002cd02000041000006eb0000013d000000400100043d0000030d02000041000006eb0000013d00070000000000020000000007030019000400000002001d000300000001001d000000000104004b000007f10000613d000000411870011a000000000101004b000007f40000c13d000000000148004b000007f40000413d00000000060000190000000001000019000200000007001d000100000008001d000000000281004b000007a90000813d000000010910003900000041121000c9000000410120003900000000439100d9000000410330008c000007ac0000c13d000000000321004b000007aa0000413d000000000171004b000007aa0000213d000000400100043d0000030f0310009c000007b00000813d00000004032000290000008002100039000000400020043f000000410200003900000000022104360000004104300039000000000440007c000007aa0000213d000700000006001d0000000203300367000000000400001900000000050200190000000506400210000000000663034f000000000606043b00000000056504360000000104400039000000020640008c0000072b0000413d0000004004200039000000000504043300000305055001970000004003300370000000000303043b0000030603300197000000000353019f000000000034043500000061031000390000000000030435000000400300043d0000000004010433000000410540008c000007b60000c13d000600000009001d00000040041000390000000004040433000003080540009c000007b80000813d0000006001100039000000000101043300000000020204330000006005300039000000000045043500000040043000390000000000240435000000f801100270000000200230003900000000001204350000000301000029000000000013043500000000000004350000000001000414000002b80210009c000002b8040000410000000001048019000002b80230009c00000000030480190000004002300210000000c001100210000000000121019f00000309011001c70000000102000039000500000002001d0ad90ad40000040f00000000030100190000006003300270000002b803300197000000200430008c0000000005030019000000200500803900000005045002720000076f0000613d00000000060000190000000507600210000000000871034f000000000808043b00000000008704350000000106600039000000000746004b000007680000413d0000001f055001900000077d0000613d00000003055002100000000504400210000000000604043300000000065601cf000000000656022f000000000741034f000000000707043b0000010005500089000000000757022f00000000055701cf000000000565019f0000000000540435000100000003001f00030000000103550000000102200190000007c20000613d0000000001000433000002be021001980000000701000029000007e50000613d000000000112004b000007e80000a13d000700000002001d00000000002004350000000501000029000000200010043f0000000001000414000002b80210009c000002b801008041000000c001100210000002c0011001c700008010020000390ad90ad40000040f0000000102200190000000020700002900000001080000290000000602000029000007aa0000613d000000000101043b000000000101041a000000000101004b000000070300002900000000060300190000000001020019000007100000c13d000000400100043d000002f602000041000000000021043500000004021000390000000000320435000002b802000041000002b80310009c00000000010280190000004001100210000002c2011001c700000adb00010430000000000001042d000000000100001900000adb00010430000002f40100004100000000001004350000001101000039000007b30000013d000002f40100004100000000001004350000004101000039000000040010043f000002c20100004100000adb000104300000030701000041000007b90000013d0000030c01000041000000000013043500000004013000390000000000410435000002b801000041000002b80230009c00000000030180190000004001300210000002c2011001c700000adb00010430000000400200043d0000001f0430018f0000000505300272000007cf0000613d000000000600001900000005076002100000000008720019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000007c70000413d000000000604004b000007de0000613d0000000505500210000000000151034f00000000055200190000000304400210000000000605043300000000064601cf000000000646022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000161019f0000000000150435000002b801000041000002b80420009c000000000201801900000040012002100000006002300210000000000121019f00000adb00010430000000400100043d0000030b02000041000007ea0000013d000000400100043d0000030a020000410000000000210435000002b802000041000002b80310009c00000000010280190000004001100210000002c6011001c700000adb00010430000000400100043d000002cd02000041000007ea0000013d000000400100043d0000030d02000041000007ea0000013d0007000000000002000600000002001d000400000001001d000000400400043d0000004001400039000000000031043500000020024000390000002001000039000300000001001d000500000002001d0000000000120435000700000004001d00000060014000390000000504300210000000000a410019000000000403004b0000087e0000613d00000000020000310000000609000029000000000692004900000002050003670000005f0660008a000002bd0700004100000000080000190000081a0000013d0000001f04b00039000000200c00008a0000000004c4016f000000000bba001900000000000b0435000000000a4a001900000020099000390000000108800039000000000438004b0000087e0000813d000000070ba0006a000000600bb0008a0000000001b10436000000000b95034f000000000b0b043b000000000c6b004b000000000c000019000000000c074019000002bd0d600197000002bd0eb00197000000000fde004b000000000f000019000000000f072019000000000dde013f000002bd0dd0009c000000000f0cc019000000000c0f004b000008fd0000613d000000060bb00029000000000cb5034f000000000c0c043b000002be0dc0009c000008fd0000213d000000000cca0436000000200db00039000000000dd5034f000000000d0d043b0000000000dc0435000000400cb00039000000000cc5034f000000000db200490000001f0dd0008a000000000c0c043b000000000edc004b000000000e000019000000000e078019000002bd0dd00197000002bd0fc001970000000004df004b00000000040000190000000004074019000000000ddf013f000002bd0dd0009c00000000040ec019000000000404004b000008fd0000c13d000000000cbc00190000000004c5034f000000000b04043b000002bc04b0009c000008fd0000213d000000200cc000390000000004b20049000000000d4c004b000000000d000019000000000d072019000002bd04400197000002bd0ec00197000000000f4e004b000000000f000019000000000f07401900000000044e013f000002bd0440009c000000000f0dc01900000000040f004b000008fd0000c13d0000004004a00039000000600d0000390000000000d404350000006004a000390000000000b40435000000000cc5034f000000800aa00039000000050db002720000086e0000613d000000000e0000190000000504e00210000000000f4a001900000000044c034f000000000404043b00000000004f0435000000010ee000390000000004de004b000008660000413d0000001f0eb00190000008100000613d0000000504d00210000000000c4c034f00000000044a0019000000030de00210000000000e040433000000000ede01cf000000000ede022f000000000c0c043b000001000dd00089000000000cdc022f000000000cdc01cf000000000cec019f0000000000c40435000008100000013d000000070300002900000000013a0049000000200210008a00000000002304350000001f011000390006002000000092000000060110017f0000000004310019000000000114004b00000000010000190000000101004039000002bc0240009c000008ff0000213d0000000101100190000008ff0000c13d000000400040043f00000020024000390000031001000041000100000002001d0000000000120435000002e7010000410000000000100439000000000100041200000004001004430000002400000443000002b8010000410000000002000414000002b80320009c0000000002018019000000c00120021000000311011001c70000800502000039000200000004001d0ad90ad40000040f0000000102200190000009050000613d000000000101043b000000c0011002100000000207000029000000210270003900000000001204350000000401000029000000c00110021000000049027000390000000000120435000000290170003900000000020004100000000000210435000000510270003900000007010000290000000001010433000000000301004b0000000506000029000008bc0000613d000000000300001900000000042300190000000005630019000000000505043300000000005404350000002003300039000000000413004b000008b50000413d00000000022100190000000000020435000000310210003900000000002704350000007001100039000000060210017f0000000001720019000000000221004b00000000020000190000000102004039000002bc0310009c000008ff0000213d0000000102200190000008ff0000c13d000000400010043f000002b8010000410000000103000029000002b80230009c000000000301801900000040023002100000000003070433000002b80430009c00000000030180190000006003300210000000000223019f0000000003000414000002b80430009c0000000003018019000000c001300210000000000121019f000002f0011001c700008010020000390ad90ad40000040f0000000102200190000008fd0000613d000000000301043b000000400100043d000000030200002900000000022104360000000000320435000002fc0310009c000008ff0000213d0000004003100039000000400030043f000002b803000041000002b80420009c000000000203801900000040022002100000000001010433000002b80410009c00000000010380190000006001100210000000000121019f0000000002000414000002b80420009c0000000002038019000000c002200210000000000112019f000002f0011001c700008010020000390ad90ad40000040f0000000102200190000008fd0000613d000000000101043b000000000001042d000000000100001900000adb00010430000002f40100004100000000001004350000004101000039000000040010043f000002c20100004100000adb00010430000000000001042f0009000000000002000200000001001d000800000000003500000000012000790000001f0410008a000000020e000367000600000002001d00000000032e034f000000000303043b000002bd05000041000000000643004b00000000060000190000000006054019000002bd04400197000002bd07300197000000000847004b000000000500a019000000000447013f000002bd0440009c000000000506c019000000000405004b00000a880000613d0000000504000039000000000104041a000400000001001d000000060630002900000000036e034f000000000303043b000002bc0430009c00000a880000213d000000050730021000000008057000690000002001600039000002bd08000041000000000951004b00000000090000190000000009082019000002bd05500197000700000001001d000002bd0a100197000000000b5a004b000000000800801900000000055a013f000002bd0550009c000000000809c019000000000508004b00000a880000c13d000000400400043d0000004005400039000000000035043500000020014000390000002002000039000300000001001d000500000002001d0000000000210435000900000004001d0000006005400039000000000b750019000000000703004b000009bc0000613d000000080100002900000000076100490000001f0610008a0000007f0770008a000002bd080000410000000009000019000000070a000029000009550000013d0000001f01c00039000000200400008a000000000141016f0000000004bc00190000000000040435000000000bb10019000000200aa000390000000109900039000000000139004b000000000e02034f000009bc0000813d000000090cb0006a000000600cc0008a0000000005c50436000000000cae034f000000000c0c043b000000000d7c004b000000000d000019000000000d08401900000000020e034f000002bd0e700197000002bd0fc001970000000001ef004b00000000010000190000000001082019000000000eef013f000002bd0ee0009c000000000402034f00000000010dc019000000000101004b00000a880000613d000000070cc000290000000001c4034f000000000d01043b000002be01d0009c00000a880000213d0000000001db0436000000200dc00039000000000dd4034f000000000d0d043b0000000000d104350000000001c60049000000400dc00039000000000dd4034f000000000d0d043b000000000e1d004b000000000e000019000000000e088019000002bd01100197000002bd0fd0019700000000041f004b0000000004000019000000000408401900000000011f013f000002bd0110009c00000000040ec019000000000e02034f000000000104004b00000a880000c13d000000000dcd00190000000001de034f000000000c01043b000002bc01c0009c00000a880000213d000000200dd000390000000801c0006900000000041d004b00000000040000190000000004082019000002bd01100197000002bd0ed00197000000000f1e004b000000000f000019000000000f08401900000000011e013f000000000e02034f000002bd0110009c000000000f04c01900000000010f004b00000a880000c13d0000004001b00039000000600400003900000000004104350000006001b000390000000000c10435000000000dde034f000000800bb00039000000050ec00272000009ac0000613d000000000f0000190000000501f0021000000000041b001900000000011d034f000000000101043b0000000000140435000000010ff000390000000001ef004b000009a40000413d0000001f0fc001900000094a0000613d0000000501e0021000000000041d034f00000000011b0019000000030df00210000000000e010433000000000ede01cf000000000ede022f000000000404043b000001000dd000890000000004d4022f0000000004d401cf0000000004e4019f00000000004104350000094a0000013d000000090300002900000000013b0049000000200210008a00000000002304350000001f011000390008002000000092000000080110017f0000000004310019000000000114004b00000000010000190000000101004039000002bc0240009c00000a8a0000213d000000010110019000000a8a0000c13d000000400040043f00000020024000390000031001000041000100000002001d0000000000120435000002e7010000410000000000100439000000000100041200000004001004430000002400000443000002b8010000410000000002000414000002b80320009c0000000002018019000000c00120021000000311011001c70000800502000039000700000004001d0ad90ad40000040f000000010220019000000a900000613d000000000101043b000000c0011002100000000707000029000000210270003900000000001204350000000401000029000000c00110021000000049027000390000000000120435000000290170003900000000020004100000000000210435000000510270003900000009010000290000000001010433000000000301004b0000000306000029000009fa0000613d000000000300001900000000042300190000000005630019000000000505043300000000005404350000002003300039000000000413004b000009f30000413d00000000022100190000000000020435000000310210003900000000002704350000007001100039000000080210017f0000000001720019000000000221004b00000000020000190000000102004039000002bc0310009c00000a8a0000213d000000010220019000000a8a0000c13d000000400010043f000002b8010000410000000103000029000002b80230009c000000000301801900000040023002100000000003070433000002b80430009c00000000030180190000006003300210000000000223019f0000000003000414000002b80430009c0000000003018019000000c001300210000000000121019f000002f0011001c700008010020000390ad90ad40000040f0000000102200190000000050200002900000a880000613d000000000301043b000000400100043d00000000022104360000000000320435000002fc0310009c00000a8a0000213d0000004003100039000000400030043f000002b803000041000002b80420009c000000000203801900000040022002100000000001010433000002b80410009c00000000010380190000006001100210000000000121019f0000000002000414000002b80420009c0000000002038019000000c002200210000000000112019f000002f0011001c700008010020000390ad90ad40000040f000000010220019000000a880000613d0000000002000031000000060400002900000000034200490000001f0530008a00000020044000390000000203000367000000000443034f000000000404043b000002bd06000041000000000754004b00000000070000190000000007068019000002bd05500197000002bd08400197000000000958004b0000000006008019000000000558013f000002bd0550009c000000000607c019000000000101043b000000000506004b00000a880000c13d0000000604400029000000000343034f000000000303043b000800000003001d000002bc0330009c00000a880000213d0000000803000029000000050330021000000000023200490000002005400039000002bd03000041000000000425004b00000000040000190000000004032019000002bd02200197000700000005001d000002bd05500197000000000625004b0000000003008019000000000225013f000002bd0220009c000000000304c019000000000203004b00000a880000c13d000000080200006b00000a850000613d000680100000003d0000000003000019000900000003001d000000050230021000000007022000290000000202200367000000000202043b000000000321004b00000a750000813d0000000000100435000000200020043f00000a770000013d0000000000200435000000200010043f0000000001000414000002b80210009c000002b801008041000000c001100210000002c0011001c700000006020000290ad90ad40000040f000000010220019000000a880000613d000000000101043b00000009030000290000000103300039000000080230006c00000a6b0000413d000000020110006c00000a910000c13d000000000001042d000000000100001900000adb00010430000002f40100004100000000001004350000004101000039000000040010043f000002c20100004100000adb00010430000000000001042f000000400100043d00000312020000410000000000210435000002b802000041000002b80310009c00000000010280190000004001100210000002c6011001c700000adb0001043000000000001004350000000101000039000000200010043f000002b8010000410000000002000414000002b80320009c0000000002018019000000c001200210000002c0011001c700008010020000390ad90ad40000040f000000010220019000000aad0000613d000000000101043b000000000101041a000000000101004b0000000001000019000000010100c039000000000001042d000000000100001900000adb00010430000000000001042f00000000050100190000000000200439000000050130008c00000abe0000413d000000040100003900000000020000190000000506200210000000000664001900000005066002700000000006060031000000000161043a0000000102200039000000000631004b00000ab60000413d000002b8010000410000000002000414000002b80420009c0000000002018019000002b80430009c00000000030180190000006001300210000000c002200210000000000112019f00000313011001c700000000020500190ad90ad40000040f000000010220019000000ace0000613d000000000101043b000000000001042d000000000001042f00000ad2002104210000000102000039000000000001042d0000000002000019000000000001042d00000ad7002104230000000102000039000000000001042d0000000002000019000000000001042d00000ad90000043200000ada0001042e00000adb00010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000bfffffffffffffffffffffffffffffffffffffffffffffffff000000000000009f00000000000000000000000000000000000000000000000000000001ffffffe0000000000000000000000000000000000000000000000000ffffffffffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000001000000000000000002000000000000000000000000000000000000400000000000000000000000009fb0d64c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563fc4acb499491cd850a8a21ab98c7f128850c0f0e5f1a875a62b7fa055c2ecf19815e1d6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000002000000000000000000000000000000000000200000000000000000000000006e8a187d7944998085dbd1f16b84c51c903bb727536cdba86962439aded2cfd736d9c0a688d366a03517cca4843dfff4e45db3869d5fd86fb9d15a1b45ce0e5a00000002000000000000000000000000000000800000010000000000000000006d521b80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000831761d7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094cf795d00000000000000000000000000000000000000000000000000000000c7a823df00000000000000000000000000000000000000000000000000000000d63f97c800000000000000000000000000000000000000000000000000000000d63f97c900000000000000000000000000000000000000000000000000000000e9ec3f5800000000000000000000000000000000000000000000000000000000ffa1ad7400000000000000000000000000000000000000000000000000000000c7a823e000000000000000000000000000000000000000000000000000000000d1a6264800000000000000000000000000000000000000000000000000000000affed0df00000000000000000000000000000000000000000000000000000000affed0e000000000000000000000000000000000000000000000000000000000b677cde40000000000000000000000000000000000000000000000000000000094cf795e00000000000000000000000000000000000000000000000000000000960bfe040000000000000000000000000000000000000000000000000000000049dcfdd4000000000000000000000000000000000000000000000000000000007d947929000000000000000000000000000000000000000000000000000000007d94792a000000000000000000000000000000000000000000000000000000007df73e27000000000000000000000000000000000000000000000000000000008e6725bd0000000000000000000000000000000000000000000000000000000049dcfdd5000000000000000000000000000000000000000000000000000000006419ebde00000000000000000000000000000000000000000000000000000000347024fe00000000000000000000000000000000000000000000000000000000347024ff0000000000000000000000000000000000000000000000000000000042cde4e8000000000000000000000000000000000000000000000000000000002b03f6ab0000000000000000000000000000000000000000000000000000000031cb6105310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e00000000000000000000000000000000000000200000008000000000000000000000000000000000000000000000000000000020000000000000000000000000020000000000000000000000000000000000002000000080000000000000000000000000000000000000000000000000000000440000008000000000000000000000000000000000000000000000000000000004000000800000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000080d9a0df418868c38712b1f6eab685bc77a2e49596edd77667ab34d5448f5f941c0200000000000000000000000000000000000000000000000000000000000000492fd70e000000000000000000000000000000000000000000000000000000003ee5aeb500000000000000000000000000000000000000000000000000000000ff54bf4b000000000000000000000000000000000000000000000000000000004e487b7100000000000000000000000000000000000000000000000000000000290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56253b1def100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffc0302e302e31000000000000000000000000000000000000000000000000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913202000002000000000000000000000000000000040000000000000000000000001901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffbf4f6e6553696700000000000000000000000000000000000000000000000000000200000000000000000000000000000000000005000000000000000000000000bd7855a8d66a83be54ebc7fa5f2e3fb658ab6007afa89cd93dfca08ad1b97ec88b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f000000000000000000000000000000000000000000000000ffffffffffffff3f642ed5d2b77bc7ccb98e10da4c02d7cd8231228da4222a9f88a80c15545074ed000000000000000000000000000000000000000000000000fffffffffffffe9f000000000000000000000000000000000000000000000000ffffffffffffff7f00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000fce698f7000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a10000000000000000000000000000000000000080000000000000000000000000d02ef0e500000000000000000000000000000000000000000000000000000000f645eedf00000000000000000000000000000000000000000000000000000000d78bce0c00000000000000000000000000000000000000000000000000000000cd2467c6000000000000000000000000000000000000000000000000000000004f01675500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80010000000000000000000000000000000000000000000000000000000000000002000002000000000000000000000000000000440000000000000000000000002a1704e200000000000000000000000000000000000000000000000000000000020000020000000000000000000000000000000000000000000000000000000037a080eb472bf5b14c27d5e37d8c24b2c1ae15fe639e0ef655cbc0ea3acb5042";
789
+ "0x60a06040523480156200001157600080fd5b50d380156200001f57600080fd5b50d280156200002d57600080fd5b5060405162002b8e38038062002b8e83398101604081905262000050916200050b565b8282868660005b8251811015620000a3576200008e8382815181106200007a576200007a620005bb565b60200260200101516200013760201b60201c565b806200009a81620005d1565b91505062000057565b50620000af81620001dd565b5050600160035560005b82518110156200010557620000f0838281518110620000dc57620000dc620005bb565b60200260200101516200027b60201b60201c565b80620000fc81620005d1565b915050620000b9565b50620001118162000317565b50506001600160401b0386166080526200012b8162000359565b505050505050620005f9565b6001600160a01b0381166200015f57604051632057875960e21b815260040160405180910390fd5b6200016c6000826200038f565b6200019a576040516327ec359360e21b81526001600160a01b03821660048201526024015b60405180910390fd5b604051600181526001600160a01b038216907ffc4acb499491cd850a8a21ab98c7f128850c0f0e5f1a875a62b7fa055c2ecf19906020015b60405180910390a250565b80600003620001ff5760405163831761d760e01b815260040160405180910390fd5b806200020a620003af565b10156200023f576200021b620003af565b60405162daa43760e71b815260048101919091526024810182905260440162000191565b60028190556040518181527f6e8a187d7944998085dbd1f16b84c51c903bb727536cdba86962439aded2cfd7906020015b60405180910390a150565b6001600160a01b038116620002a35760405163710c949760e01b815260040160405180910390fd5b620002b06004826200038f565b620002da5760405163c06cd70160e01b81526001600160a01b038216600482015260240162000191565b604051600181526001600160a01b038216907f278b09622564dd3991fe7744514513d64ea2c8ed2b2b9ec1150ad964fde80a9990602001620001d2565b6006805460ff19168215159081179091556040519081527faf318623f8b8327d379709bc2f6846f21be20c305509acd41dccf7e07a4853479060200162000270565b60078190556040518181527f36d9c0a688d366a03517cca4843dfff4e45db3869d5fd86fb9d15a1b45ce0e5a9060200162000270565b6000620003a6836001600160a01b038416620003c1565b90505b92915050565b6000620003bc8162000413565b905090565b60008181526001830160205260408120546200040a57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620003a9565b506000620003a9565b6000620003a9825490565b634e487b7160e01b600052604160045260246000fd5b80516000906001600160a81b03811681146200044f57600080fd5b6001600160a01b031692915050565b600082601f8301126200047057600080fd5b815160206001600160401b03808311156200048f576200048f6200041e565b8260051b604051601f19603f83011681018181108482111715620004b757620004b76200041e565b604052938452858101830193838101925087851115620004d657600080fd5b83870191505b848210156200050057620004f08262000434565b83529183019190830190620004dc565b979650505050505050565b60008060008060008060c087890312156200052557600080fd5b86516001600160401b0380821682146200053e57600080fd5b6020890151919750808211156200055457600080fd5b620005628a838b016200045e565b96506040890151955060608901519150808211156200058057600080fd5b506200058f89828a016200045e565b93505060808701518015158114620005a657600080fd5b8092505060a087015190509295509295509295565b634e487b7160e01b600052603260045260246000fd5b600060018201620005f257634e487b7160e01b600052601160045260246000fd5b5060010190565b6080516125726200061c600039600081816106900152610f7001526125726000f3fe60806040526004361061019a5760003560e01c8063960bfe04116100e1578063d63f97c91161008a578063e9ec3f5811610064578063e9ec3f5814610664578063ef09e78f146106b2578063f621ff60146106e1578063ffa1ad741461071057600080fd5b8063d63f97c9146105b6578063debfda30146105f0578063e1ed81761461062a57600080fd5b8063c7a823e0116100bb578063c7a823e014610513578063cf734e8a1461054d578063d1a626481461058757600080fd5b8063960bfe041461044b578063affed0e014610485578063b677cde4146104d957600080fd5b8063606c22e0116101435780637df73e271161011d5780637df73e27146103c25780638e6725bd146103fc57806394cf795e1461040f57600080fd5b8063606c22e0146103145780636419ebde146103585780637d94792a1461039257600080fd5b8063347024ff11610174578063347024ff1461025657806342cde4e81461029057806349dcfdd5146102d357600080fd5b80631e1bff3f146101a65780632b03f6ab146101e257806331cb61051461021c57600080fd5b366101a157005b600080fd5b3480156101b257600080fd5b50d380156101bf57600080fd5b50d280156101cc57600080fd5b506101e06101db366004611c28565b610780565b005b3480156101ee57600080fd5b50d380156101fb57600080fd5b50d2801561020857600080fd5b506101e0610217366004611ca4565b6107d5565b34801561022857600080fd5b50d3801561023557600080fd5b50d2801561024257600080fd5b506101e0610251366004611c28565b6109da565b34801561026257600080fd5b50d3801561026f57600080fd5b50d2801561027c57600080fd5b506101e061028b366004611cf7565b610a2b565b34801561029c57600080fd5b50d380156102a957600080fd5b50d280156102b657600080fd5b506102c060025481565b6040519081526020015b60405180910390f35b3480156102df57600080fd5b50d380156102ec57600080fd5b50d280156102f957600080fd5b50610302600181565b60405160ff90911681526020016102ca565b34801561032057600080fd5b50d3801561032d57600080fd5b50d2801561033a57600080fd5b506006546103489060ff1681565b60405190151581526020016102ca565b34801561036457600080fd5b50d3801561037157600080fd5b50d2801561037e57600080fd5b506101e061038d366004611d10565b610a70565b34801561039e57600080fd5b50d380156103ab57600080fd5b50d280156103b857600080fd5b506102c060075481565b3480156103ce57600080fd5b50d380156103db57600080fd5b50d280156103e857600080fd5b506103486103f7366004611d63565b610ca0565b6101e061040a366004611d96565b610cb2565b34801561041b57600080fd5b50d3801561042857600080fd5b50d2801561043557600080fd5b5061043e610f17565b6040516102ca9190611e14565b34801561045757600080fd5b50d3801561046457600080fd5b50d2801561047157600080fd5b506101e0610480366004611cf7565b610f28565b34801561049157600080fd5b50d3801561049e57600080fd5b50d280156104ab57600080fd5b506008546104c09067ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016102ca565b3480156104e557600080fd5b50d380156104f257600080fd5b50d280156104ff57600080fd5b506102c061050e366004611e6e565b610f6a565b34801561051f57600080fd5b50d3801561052c57600080fd5b50d2801561053957600080fd5b506101e0610548366004611efd565b611056565b34801561055957600080fd5b50d3801561056657600080fd5b50d2801561057357600080fd5b506101e0610582366004611f49565b611069565b34801561059357600080fd5b50d380156105a057600080fd5b50d280156105ad57600080fd5b506102c06110ab565b3480156105c257600080fd5b50d380156105cf57600080fd5b50d280156105dc57600080fd5b506101e06105eb366004611f64565b6110b7565b3480156105fc57600080fd5b50d3801561060957600080fd5b50d2801561061657600080fd5b50610348610625366004611d63565b61112f565b34801561063657600080fd5b50d3801561064357600080fd5b50d2801561065057600080fd5b5061034861065f366004611d63565b61113c565b34801561067057600080fd5b50d3801561067d57600080fd5b50d2801561068a57600080fd5b506104c07f000000000000000000000000000000000000000000000000000000000000000081565b3480156106be57600080fd5b50d380156106cb57600080fd5b50d280156106d857600080fd5b5061043e611164565b3480156106ed57600080fd5b50d380156106fa57600080fd5b50d2801561070757600080fd5b506102c0611170565b34801561071c57600080fd5b50d3801561072957600080fd5b50d2801561073657600080fd5b506107736040518060400160405280600581526020017f302e302e3100000000000000000000000000000000000000000000000000000081525081565b6040516102ca9190611fcf565b3330146107b9576040517fff54bf4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80156107cc576107c88261117c565b5050565b6107c882611272565b8242111561080f576040517f4f01675500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f190100000000000000000000000000000000000000000000000000000000000060208083019190915282518084018452600681527f4f6e6553696700000000000000000000000000000000000000000000000000009082015282518084018452600581527f302e302e310000000000000000000000000000000000000000000000000000009082015282517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fbd7855a8d66a83be54ebc7fa5f2e3fb658ab6007afa89cd93dfca08ad1b97ec8818501527fae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc19916381188560608201526001608082015261dead60a0808301919091528451808303909101815260c0820185528051908301206007547f642ed5d2b77bc7ccb98e10da4c02d7cd8231228da4222a9f88a80c15545074ed60e08401526101008301526101208201899052610140808301899052855180840390910181526101608301909552845194909201939093206000936109b09392919061018001612020565b6040516020818303038152906040528051906020012090506109d3818484611056565b5050505050565b333014610a13576040517fff54bf4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610a22576107c882611314565b6107c882611403565b333014610a64576040517fff54bf4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a6d816114fc565b50565b80600003610aaa576040517f831761d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ab5604183612076565b15610aec576040517fcd2467c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610af96041846120b9565b905081811015610b35576040517fcd2467c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b82811015610c97573660008787610b516041866120cd565b906041610b5f8760016120e4565b610b6991906120cd565b92610b76939291906120f7565b915091506000610bbc8a84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061153892505050565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611610c23576040517fd02ef0e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c2c81610ca0565b610c7f576040517f53b1def100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b9350829150610c8f905081612121565b915050610b39565b50505050505050565b6000610cac8183611562565b92915050565b610cba611594565b610cc33361113c565b610cf9576040517f245b1c3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d05848484846107d5565b610d0f84866110b7565b6008805460009167ffffffffffffffff9091169082610d2d83612159565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555067ffffffffffffffff16905060005b610d6c8780612180565b9050811015610ed2576000610d818880612180565b83818110610d9157610d916121e8565b9050602002810190610da39190612217565b610db1906020810190611d63565b73ffffffffffffffffffffffffffffffffffffffff16610dd18980612180565b84818110610de157610de16121e8565b9050602002810190610df39190612217565b60200135610e018a80612180565b85818110610e1157610e116121e8565b9050602002810190610e239190612217565b610e31906040810190612255565b604051610e3f9291906122ba565b60006040518083038185875af1925050503d8060008114610e7c576040519150601f19603f3d011682016040523d82523d6000602084013e610e81565b606091505b5050905080610ebf576040517f492fd70e00000000000000000000000000000000000000000000000000000000815260048101839052602401610c76565b5080610eca81612121565b915050610d62565b5060408051868152602081018390527fd9a0df418868c38712b1f6eab685bc77a2e49596edd77667ab34d5448f5f941c910160405180910390a1506109d36001600355565b6060610f2360006115d7565b905090565b333014610f61576040517fff54bf4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a6d816115e4565b600060017f00000000000000000000000000000000000000000000000000000000000000003073ffffffffffffffffffffffffffffffffffffffff1660001b868686604051602001610fbd9291906122ca565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610ffc959493929160200161243f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012090830152016040516020818303038152906040528051906020012090509392505050565b611064838383600254610a70565b505050565b3330146110a2576040517fff54bf4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a6d816116a7565b6000610f236000611706565b6008546000906110d59067ffffffffffffffff1661050e8480612180565b905060006110f06110e96020850185612180565b8685611710565b905080611129576040517f2a1704e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b6000610cac600483611562565b60065460009060ff16158061115557506111558261112f565b80610cac5750610cac82610ca0565b6060610f2360046115d7565b6000610f236004611706565b73ffffffffffffffffffffffffffffffffffffffff81166111c9576040517f710c949700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111d4600482611728565b611222576040517fc06cd70100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610c76565b6040516001815273ffffffffffffffffffffffffffffffffffffffff8216907f278b09622564dd3991fe7744514513d64ea2c8ed2b2b9ec1150ad964fde80a99906020015b60405180910390a250565b61127d60048261174a565b6112cb576040517f59e7f66000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610c76565b6040516000815273ffffffffffffffffffffffffffffffffffffffff8216907f278b09622564dd3991fe7744514513d64ea2c8ed2b2b9ec1150ad964fde80a9990602001611267565b73ffffffffffffffffffffffffffffffffffffffff8116611361576040517f815e1d6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61136c600082611728565b6113ba576040517f9fb0d64c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610c76565b6040516001815273ffffffffffffffffffffffffffffffffffffffff8216907ffc4acb499491cd850a8a21ab98c7f128850c0f0e5f1a875a62b7fa055c2ecf1990602001611267565b61140e60008261174a565b61145c576040517f53b1def100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610c76565b6002546114676110ab565b10156114b3576114756110ab565b6002546040517f6d521b8000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c76565b6040516000815273ffffffffffffffffffffffffffffffffffffffff8216907ffc4acb499491cd850a8a21ab98c7f128850c0f0e5f1a875a62b7fa055c2ecf1990602001611267565b60078190556040518181527f36d9c0a688d366a03517cca4843dfff4e45db3869d5fd86fb9d15a1b45ce0e5a906020015b60405180910390a150565b600080600080611548868661176c565b92509250925061155882826117b9565b5090949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415155b9392505050565b6002600354036115d0576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600355565b6060600061158d836118bd565b8060000361161e576040517f831761d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806116276110ab565b1015611672576116356110ab565b6040517f6d521b80000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610c76565b60028190556040518181527f6e8a187d7944998085dbd1f16b84c51c903bb727536cdba86962439aded2cfd79060200161152d565b600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527faf318623f8b8327d379709bc2f6846f21be20c305509acd41dccf7e07a4853479060200161152d565b6000610cac825490565b60008261171e868685611919565b1495945050505050565b600061158d8373ffffffffffffffffffffffffffffffffffffffff8416611965565b600061158d8373ffffffffffffffffffffffffffffffffffffffff84166119b4565b600080600083516041036117a65760208401516040850151606086015160001a61179888828585611aa7565b9550955095505050506117b2565b50508151600091506002905b9250925092565b60008260038111156117cd576117cd6124cb565b036117d6575050565b60018260038111156117ea576117ea6124cb565b03611821576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115611835576118356124cb565b0361186f576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401610c76565b6003826003811115611883576118836124cb565b036107c8576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401610c76565b60608160000180548060200260200160405190810160405280929190818152602001828054801561190d57602002820191906000526020600020905b8154815260200190600101908083116118f9575b50505050509050919050565b600081815b8481101561195c576119488287878481811061193c5761193c6121e8565b90506020020135611ba1565b91508061195481612121565b91505061191e565b50949350505050565b60008181526001830160205260408120546119ac57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610cac565b506000610cac565b60008181526001830160205260408120548015611a9d5760006119d86001836124fa565b85549091506000906119ec906001906124fa565b9050808214611a51576000866000018281548110611a0c57611a0c6121e8565b9060005260206000200154905080876000018481548110611a2f57611a2f6121e8565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611a6257611a6261250d565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610cac565b6000915050610cac565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115611ae25750600091506003905082611b97565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611b36573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116611b8d57506000925060019150829050611b97565b9250600091508190505b9450945094915050565b6000818310611bbd57600082815260208490526040902061158d565b600083815260208390526040902061158d565b6000813574ffffffffffffffffffffffffffffffffffffffffff81168114611bf757600080fd5b73ffffffffffffffffffffffffffffffffffffffff1692915050565b80358015158114611c2357600080fd5b919050565b60008060408385031215611c3b57600080fd5b611c4483611bd0565b9150611c5260208401611c13565b90509250929050565b60008083601f840112611c6d57600080fd5b50813567ffffffffffffffff811115611c8557600080fd5b602083019150836020828501011115611c9d57600080fd5b9250929050565b60008060008060608587031215611cba57600080fd5b8435935060208501359250604085013567ffffffffffffffff811115611cdf57600080fd5b611ceb87828801611c5b565b95989497509550505050565b600060208284031215611d0957600080fd5b5035919050565b60008060008060608587031215611d2657600080fd5b84359350602085013567ffffffffffffffff811115611d4457600080fd5b611d5087828801611c5b565b9598909750949560400135949350505050565b600060208284031215611d7557600080fd5b61158d82611bd0565b600060408284031215611d9057600080fd5b50919050565b600080600080600060808688031215611dae57600080fd5b853567ffffffffffffffff80821115611dc657600080fd5b611dd289838a01611d7e565b965060208801359550604088013594506060880135915080821115611df657600080fd5b50611e0388828901611c5b565b969995985093965092949392505050565b6020808252825182820181905260009190848201906040850190845b81811015611e6257835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101611e30565b50909695505050505050565b600080600060408486031215611e8357600080fd5b833567ffffffffffffffff8082168214611e9c57600080fd5b90935060208501359080821115611eb257600080fd5b818601915086601f830112611ec657600080fd5b813581811115611ed557600080fd5b8760208260051b8501011115611eea57600080fd5b6020830194508093505050509250925092565b600080600060408486031215611f1257600080fd5b83359250602084013567ffffffffffffffff811115611f3057600080fd5b611f3c86828701611c5b565b9497909650939450505050565b600060208284031215611f5b57600080fd5b61158d82611c13565b60008060408385031215611f7757600080fd5b82359150602083013567ffffffffffffffff811115611f9557600080fd5b611fa185828601611d7e565b9150509250929050565b60005b83811015611fc6578181015183820152602001611fae565b50506000910152565b6020815260008251806020840152611fee816040850160208701611fab565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60008451612032818460208901611fab565b91909101928352506020820152604001919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261208557612085612047565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000826120c8576120c8612047565b500490565b8082028115828204841417610cac57610cac61208a565b80820180821115610cac57610cac61208a565b6000808585111561210757600080fd5b8386111561211457600080fd5b5050820193919092039150565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036121525761215261208a565b5060010190565b600067ffffffffffffffff8083168181036121765761217661208a565b6001019392505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126121b557600080fd5b83018035915067ffffffffffffffff8211156121d057600080fd5b6020019150600581901b3603821315611c9d57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261224b57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261228a57600080fd5b83018035915067ffffffffffffffff8211156122a557600080fd5b602001915036819003821315611c9d57600080fd5b8183823760009101908152919050565b60208082528181018390526000906040808401600586901b8501820187855b88811015612431577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088840301845281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18b360301811261234a57600080fd5b8a01606073ffffffffffffffffffffffffffffffffffffffff61236c83611bd0565b1685528782013588860152868201357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18336030181126123ab57600080fd5b90910187810191903567ffffffffffffffff8111156123c957600080fd5b8036038313156123d857600080fd5b8188870152808287015260809150808383880137600086820183015295880195601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169094019093019250908501906001016122e9565b509098975050505050505050565b7fff000000000000000000000000000000000000000000000000000000000000008660f81b16815260007fffffffffffffffff000000000000000000000000000000000000000000000000808760c01b166001840152856009840152808560c01b1660298401525082516124ba816031850160208701611fab565b919091016031019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81810381811115610cac57610cac61208a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26474726f6e58221220b1073d552e32878ceb2dad84b7648a5cf6a5fe473a3ad0a45d8fd0424352bc4e64736f6c63430008140033";
608
790
 
609
791
  type OneSigConstructorParams =
610
792
  | [signer?: Signer]
@@ -624,31 +806,39 @@ export class OneSig__factory extends ContractFactory {
624
806
  }
625
807
 
626
808
  override deploy(
809
+ _oneSigId: PromiseOrValue<BigNumberish>,
627
810
  _signers: PromiseOrValue<string>[],
628
811
  _threshold: PromiseOrValue<BigNumberish>,
629
- _oneSigId: PromiseOrValue<BigNumberish>,
812
+ _executors: PromiseOrValue<string>[],
813
+ _executorRequired: PromiseOrValue<boolean>,
630
814
  _seed: PromiseOrValue<BytesLike>,
631
815
  overrides?: Overrides & { from?: PromiseOrValue<string> }
632
816
  ): Promise<OneSig> {
633
817
  return super.deploy(
818
+ _oneSigId,
634
819
  _signers,
635
820
  _threshold,
636
- _oneSigId,
821
+ _executors,
822
+ _executorRequired,
637
823
  _seed,
638
824
  overrides || {}
639
825
  ) as Promise<OneSig>;
640
826
  }
641
827
  override getDeployTransaction(
828
+ _oneSigId: PromiseOrValue<BigNumberish>,
642
829
  _signers: PromiseOrValue<string>[],
643
830
  _threshold: PromiseOrValue<BigNumberish>,
644
- _oneSigId: PromiseOrValue<BigNumberish>,
831
+ _executors: PromiseOrValue<string>[],
832
+ _executorRequired: PromiseOrValue<boolean>,
645
833
  _seed: PromiseOrValue<BytesLike>,
646
834
  overrides?: Overrides & { from?: PromiseOrValue<string> }
647
835
  ): TransactionRequest {
648
836
  return super.getDeployTransaction(
837
+ _oneSigId,
649
838
  _signers,
650
839
  _threshold,
651
- _oneSigId,
840
+ _executors,
841
+ _executorRequired,
652
842
  _seed,
653
843
  overrides || {}
654
844
  );
@@ -3,5 +3,6 @@
3
3
  /* eslint-disable */
4
4
  export * as lib from "./lib";
5
5
  export * as mocks from "./mocks";
6
+ export { ExecutorStore__factory } from "./ExecutorStore__factory";
6
7
  export { MultiSig__factory } from "./MultiSig__factory";
7
8
  export { OneSig__factory } from "./OneSig__factory";