@towns-protocol/generated 0.0.302 → 0.0.304

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.
@@ -0,0 +1,578 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type { PromiseOrValue } from "../common";
7
+ import type {
8
+ MainnetDelegation,
9
+ MainnetDelegationInterface,
10
+ } from "../MainnetDelegation";
11
+
12
+ const _abi = [
13
+ {
14
+ type: "function",
15
+ name: "__MainnetDelegation_init",
16
+ inputs: [
17
+ {
18
+ name: "messenger",
19
+ type: "address",
20
+ internalType: "address",
21
+ },
22
+ ],
23
+ outputs: [],
24
+ stateMutability: "nonpayable",
25
+ },
26
+ {
27
+ type: "function",
28
+ name: "getAuthorizedClaimer",
29
+ inputs: [
30
+ {
31
+ name: "delegator",
32
+ type: "address",
33
+ internalType: "address",
34
+ },
35
+ ],
36
+ outputs: [
37
+ {
38
+ name: "",
39
+ type: "address",
40
+ internalType: "address",
41
+ },
42
+ ],
43
+ stateMutability: "view",
44
+ },
45
+ {
46
+ type: "function",
47
+ name: "getDelegatedStakeByOperator",
48
+ inputs: [
49
+ {
50
+ name: "operator",
51
+ type: "address",
52
+ internalType: "address",
53
+ },
54
+ ],
55
+ outputs: [
56
+ {
57
+ name: "",
58
+ type: "uint256",
59
+ internalType: "uint256",
60
+ },
61
+ ],
62
+ stateMutability: "view",
63
+ },
64
+ {
65
+ type: "function",
66
+ name: "getDelegationByDelegator",
67
+ inputs: [
68
+ {
69
+ name: "delegator",
70
+ type: "address",
71
+ internalType: "address",
72
+ },
73
+ ],
74
+ outputs: [
75
+ {
76
+ name: "",
77
+ type: "tuple",
78
+ internalType: "struct IMainnetDelegationBase.Delegation",
79
+ components: [
80
+ {
81
+ name: "operator",
82
+ type: "address",
83
+ internalType: "address",
84
+ },
85
+ {
86
+ name: "quantity",
87
+ type: "uint256",
88
+ internalType: "uint256",
89
+ },
90
+ {
91
+ name: "delegator",
92
+ type: "address",
93
+ internalType: "address",
94
+ },
95
+ {
96
+ name: "delegationTime",
97
+ type: "uint256",
98
+ internalType: "uint256",
99
+ },
100
+ ],
101
+ },
102
+ ],
103
+ stateMutability: "view",
104
+ },
105
+ {
106
+ type: "function",
107
+ name: "getDelegatorsByAuthorizedClaimer",
108
+ inputs: [
109
+ {
110
+ name: "claimer",
111
+ type: "address",
112
+ internalType: "address",
113
+ },
114
+ ],
115
+ outputs: [
116
+ {
117
+ name: "",
118
+ type: "address[]",
119
+ internalType: "address[]",
120
+ },
121
+ ],
122
+ stateMutability: "view",
123
+ },
124
+ {
125
+ type: "function",
126
+ name: "getDepositIdByDelegator",
127
+ inputs: [
128
+ {
129
+ name: "delegator",
130
+ type: "address",
131
+ internalType: "address",
132
+ },
133
+ ],
134
+ outputs: [
135
+ {
136
+ name: "",
137
+ type: "uint256",
138
+ internalType: "uint256",
139
+ },
140
+ ],
141
+ stateMutability: "view",
142
+ },
143
+ {
144
+ type: "function",
145
+ name: "getMainnetDelegationsByOperator",
146
+ inputs: [
147
+ {
148
+ name: "operator",
149
+ type: "address",
150
+ internalType: "address",
151
+ },
152
+ ],
153
+ outputs: [
154
+ {
155
+ name: "",
156
+ type: "tuple[]",
157
+ internalType: "struct IMainnetDelegationBase.Delegation[]",
158
+ components: [
159
+ {
160
+ name: "operator",
161
+ type: "address",
162
+ internalType: "address",
163
+ },
164
+ {
165
+ name: "quantity",
166
+ type: "uint256",
167
+ internalType: "uint256",
168
+ },
169
+ {
170
+ name: "delegator",
171
+ type: "address",
172
+ internalType: "address",
173
+ },
174
+ {
175
+ name: "delegationTime",
176
+ type: "uint256",
177
+ internalType: "uint256",
178
+ },
179
+ ],
180
+ },
181
+ ],
182
+ stateMutability: "view",
183
+ },
184
+ {
185
+ type: "function",
186
+ name: "getMainnetDelegators",
187
+ inputs: [],
188
+ outputs: [
189
+ {
190
+ name: "",
191
+ type: "address[]",
192
+ internalType: "address[]",
193
+ },
194
+ ],
195
+ stateMutability: "view",
196
+ },
197
+ {
198
+ type: "function",
199
+ name: "getMessenger",
200
+ inputs: [],
201
+ outputs: [
202
+ {
203
+ name: "",
204
+ type: "address",
205
+ internalType: "address",
206
+ },
207
+ ],
208
+ stateMutability: "view",
209
+ },
210
+ {
211
+ type: "function",
212
+ name: "getProxyDelegation",
213
+ inputs: [],
214
+ outputs: [
215
+ {
216
+ name: "",
217
+ type: "address",
218
+ internalType: "address",
219
+ },
220
+ ],
221
+ stateMutability: "view",
222
+ },
223
+ {
224
+ type: "function",
225
+ name: "relayDelegations",
226
+ inputs: [
227
+ {
228
+ name: "encodedMsgs",
229
+ type: "bytes",
230
+ internalType: "bytes",
231
+ },
232
+ ],
233
+ outputs: [],
234
+ stateMutability: "nonpayable",
235
+ },
236
+ {
237
+ type: "function",
238
+ name: "setDelegationDigest",
239
+ inputs: [
240
+ {
241
+ name: "digest",
242
+ type: "bytes32",
243
+ internalType: "bytes32",
244
+ },
245
+ ],
246
+ outputs: [],
247
+ stateMutability: "nonpayable",
248
+ },
249
+ {
250
+ type: "function",
251
+ name: "setProxyDelegation",
252
+ inputs: [
253
+ {
254
+ name: "proxyDelegation",
255
+ type: "address",
256
+ internalType: "address",
257
+ },
258
+ ],
259
+ outputs: [],
260
+ stateMutability: "nonpayable",
261
+ },
262
+ {
263
+ type: "event",
264
+ name: "ClaimerSet",
265
+ inputs: [
266
+ {
267
+ name: "delegator",
268
+ type: "address",
269
+ indexed: true,
270
+ internalType: "address",
271
+ },
272
+ {
273
+ name: "claimer",
274
+ type: "address",
275
+ indexed: true,
276
+ internalType: "address",
277
+ },
278
+ ],
279
+ anonymous: false,
280
+ },
281
+ {
282
+ type: "event",
283
+ name: "CrossDomainMessengerSet",
284
+ inputs: [
285
+ {
286
+ name: "messenger",
287
+ type: "address",
288
+ indexed: false,
289
+ internalType: "address",
290
+ },
291
+ ],
292
+ anonymous: false,
293
+ },
294
+ {
295
+ type: "event",
296
+ name: "DelegationDigestSet",
297
+ inputs: [
298
+ {
299
+ name: "digest",
300
+ type: "bytes32",
301
+ indexed: false,
302
+ internalType: "bytes32",
303
+ },
304
+ ],
305
+ anonymous: false,
306
+ },
307
+ {
308
+ type: "event",
309
+ name: "DelegationRemoved",
310
+ inputs: [
311
+ {
312
+ name: "delegator",
313
+ type: "address",
314
+ indexed: true,
315
+ internalType: "address",
316
+ },
317
+ ],
318
+ anonymous: false,
319
+ },
320
+ {
321
+ type: "event",
322
+ name: "DelegationSet",
323
+ inputs: [
324
+ {
325
+ name: "delegator",
326
+ type: "address",
327
+ indexed: true,
328
+ internalType: "address",
329
+ },
330
+ {
331
+ name: "operator",
332
+ type: "address",
333
+ indexed: true,
334
+ internalType: "address",
335
+ },
336
+ {
337
+ name: "quantity",
338
+ type: "uint256",
339
+ indexed: false,
340
+ internalType: "uint256",
341
+ },
342
+ ],
343
+ anonymous: false,
344
+ },
345
+ {
346
+ type: "event",
347
+ name: "Initialized",
348
+ inputs: [
349
+ {
350
+ name: "version",
351
+ type: "uint32",
352
+ indexed: false,
353
+ internalType: "uint32",
354
+ },
355
+ ],
356
+ anonymous: false,
357
+ },
358
+ {
359
+ type: "event",
360
+ name: "InterfaceAdded",
361
+ inputs: [
362
+ {
363
+ name: "interfaceId",
364
+ type: "bytes4",
365
+ indexed: true,
366
+ internalType: "bytes4",
367
+ },
368
+ ],
369
+ anonymous: false,
370
+ },
371
+ {
372
+ type: "event",
373
+ name: "InterfaceRemoved",
374
+ inputs: [
375
+ {
376
+ name: "interfaceId",
377
+ type: "bytes4",
378
+ indexed: true,
379
+ internalType: "bytes4",
380
+ },
381
+ ],
382
+ anonymous: false,
383
+ },
384
+ {
385
+ type: "event",
386
+ name: "OwnershipTransferred",
387
+ inputs: [
388
+ {
389
+ name: "previousOwner",
390
+ type: "address",
391
+ indexed: true,
392
+ internalType: "address",
393
+ },
394
+ {
395
+ name: "newOwner",
396
+ type: "address",
397
+ indexed: true,
398
+ internalType: "address",
399
+ },
400
+ ],
401
+ anonymous: false,
402
+ },
403
+ {
404
+ type: "event",
405
+ name: "ProxyDelegationSet",
406
+ inputs: [
407
+ {
408
+ name: "proxyDelegation",
409
+ type: "address",
410
+ indexed: false,
411
+ internalType: "address",
412
+ },
413
+ ],
414
+ anonymous: false,
415
+ },
416
+ {
417
+ type: "error",
418
+ name: "DelegationAlreadySet",
419
+ inputs: [
420
+ {
421
+ name: "delegator",
422
+ type: "address",
423
+ internalType: "address",
424
+ },
425
+ {
426
+ name: "operator",
427
+ type: "address",
428
+ internalType: "address",
429
+ },
430
+ ],
431
+ },
432
+ {
433
+ type: "error",
434
+ name: "DelegationNotSet",
435
+ inputs: [],
436
+ },
437
+ {
438
+ type: "error",
439
+ name: "Initializable_InInitializingState",
440
+ inputs: [],
441
+ },
442
+ {
443
+ type: "error",
444
+ name: "Initializable_NotInInitializingState",
445
+ inputs: [],
446
+ },
447
+ {
448
+ type: "error",
449
+ name: "Introspection_AlreadySupported",
450
+ inputs: [],
451
+ },
452
+ {
453
+ type: "error",
454
+ name: "Introspection_NotSupported",
455
+ inputs: [],
456
+ },
457
+ {
458
+ type: "error",
459
+ name: "InvalidClaimer",
460
+ inputs: [
461
+ {
462
+ name: "claimer",
463
+ type: "address",
464
+ internalType: "address",
465
+ },
466
+ ],
467
+ },
468
+ {
469
+ type: "error",
470
+ name: "InvalidDelegator",
471
+ inputs: [
472
+ {
473
+ name: "delegator",
474
+ type: "address",
475
+ internalType: "address",
476
+ },
477
+ ],
478
+ },
479
+ {
480
+ type: "error",
481
+ name: "InvalidOperator",
482
+ inputs: [
483
+ {
484
+ name: "operator",
485
+ type: "address",
486
+ internalType: "address",
487
+ },
488
+ ],
489
+ },
490
+ {
491
+ type: "error",
492
+ name: "InvalidOwner",
493
+ inputs: [
494
+ {
495
+ name: "owner",
496
+ type: "address",
497
+ internalType: "address",
498
+ },
499
+ ],
500
+ },
501
+ {
502
+ type: "error",
503
+ name: "InvalidQuantity",
504
+ inputs: [
505
+ {
506
+ name: "quantity",
507
+ type: "uint256",
508
+ internalType: "uint256",
509
+ },
510
+ ],
511
+ },
512
+ {
513
+ type: "error",
514
+ name: "Ownable__NotOwner",
515
+ inputs: [
516
+ {
517
+ name: "account",
518
+ type: "address",
519
+ internalType: "address",
520
+ },
521
+ ],
522
+ },
523
+ {
524
+ type: "error",
525
+ name: "Ownable__ZeroAddress",
526
+ inputs: [],
527
+ },
528
+ ] as const;
529
+
530
+ const _bytecode =
531
+ "0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b611f04806100ca5f395ff3fe608060405234801561000f575f5ffd5b50600436106100da575f3560e01c80637655600411610088578063965af84211610063578063965af842146101cd578063aae6bcab146101e0578063c32bfc23146101f3578063fdf649b214610206575f5ffd5b80637655600414610184578063779c9ad8146101a5578063941a8b41146101ad575f5ffd5b80633e514b78116100b85780633e514b781461013157806358c2e8e21461015e5780635f09844f14610171575f5ffd5b80630af561d1146100de5780630cef22ad146100f35780632bee54711461011c575b5f5ffd5b6100f16100ec366004611ba5565b610219565b005b610106610101366004611bdd565b61043b565b6040516101139190611bf8565b60405180910390f35b6101246104e7565b6040516101139190611c53565b6101396104f6565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610113565b6100f161016c366004611cab565b610535565b61012461017f366004611bdd565b6105b5565b610197610192366004611bdd565b6105c0565b604051908152602001610113565b6101396105ca565b6101c06101bb366004611bdd565b610609565b6040516101139190611d19565b6100f16101db366004611bdd565b610614565b6101976101ee366004611bdd565b61071f565b610139610201366004611bdd565b610768565b6100f1610214366004611bdd565b6107b5565b5f6102587f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e7045473ffffffffffffffffffffffffffffffffffffffff1690565b90503373ffffffffffffffffffffffffffffffffffffffff821614801561034d57507f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e7065473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa158015610311573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103359190611da8565b73ffffffffffffffffffffffffffffffffffffffff16145b6103de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f4d61696e6e657444656c65676174696f6e3a2073656e646572206973206e6f7460448201527f207468652063726f73732d646f6d61696e206d657373656e676572000000000060648201526084015b60405180910390fd5b817f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e700600a01556040518281527fd29f6cb4a26f4e5f10c30bb1db754a9e1faecca6c3c2744b9479a2fbf004a1759060200160405180910390a15050565b60408051608080820183525f80835260208084018290528385018290526060808501839052855183815280830184815281880185815292820185815273ffffffffffffffffffffffffffffffffffffffff808b1687527f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e701909552948890209582019097528454831681526001850154909652600284015490911690526003909101549052905b92915050565b60606104f1610824565b905090565b5f6104f17f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e7065473ffffffffffffffffffffffffffffffffffffffff1690565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff1633146105a7576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016103d5565b6105b1828261084f565b5050565b60606104e1826109f1565b5f6104e182610a69565b5f6104f17f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e7045473ffffffffffffffffffffffffffffffffffffffff1690565b60606104e182610abb565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314610686576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016103d5565b7f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e70680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f28ae13a7d38402af0a17e8c27c320650511b8204030d9281743233e7f3ff033c906020015b60405180910390a150565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e70960205260408120546104e1565b73ffffffffffffffffffffffffffffffffffffffff8082165f9081527f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e70260205260408120549091166104e1565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610818576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61082181610c42565b50565b60606104f17f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e707610cfd565b6108598282610d09565b813582016020810190355f5b818110156108e3573683838381811061088057610880611dc3565b6080029190910191506108b5905061089b6020830183611bdd565b6108ab6040840160208501611bdd565b8360400135610d7a565b6108da6108c56020830183611bdd565b6108d56080840160608501611bdd565b610e41565b50600101610865565b507f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e7005f61092f7f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e707610cfd565b90505f5b81518110156109e8575f82828151811061094f5761094f611dc3565b602002602001015190505f5f5b868110156109cf578273ffffffffffffffffffffffffffffffffffffffff1688888381811061098d5761098d611dc3565b6109a39260206080909202019081019150611bdd565b73ffffffffffffffffffffffffffffffffffffffff16036109c757600191506109cf565b60010161095c565b50806109de576109de82610fcf565b5050600101610933565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e705602052604090206060907f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e70090610a6290610cfd565b9392505050565b5f5f610a7483610abb565b90505f5b8151811015610ab457818181518110610a9357610a93611dc3565b60200260200101516020015183610aaa9190611e1d565b9250600101610a78565b5050919050565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e700602081905260408220606092610b0c82611111565b90508067ffffffffffffffff811115610b2757610b27611e30565b604051908082528060200260200182016040528015610b9657816020015b604080516080810182525f8082526020808301829052928201819052606082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610b455790505b5093505f5b81811015610c39575f610bae848361111a565b73ffffffffffffffffffffffffffffffffffffffff8082165f90815260018089016020908152604092839020835160808101855281548616815292810154918301919091526002810154909316918101919091526003909101546060820152875191925090879084908110610c2557610c25611dc3565b602090810291909101015250600101610b9b565b50505050919050565b610c6b7f7e2af98f00000000000000000000000000000000000000000000000000000000611125565b7f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e70480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527ffbce2c2c08fd5820a25dded3279727d2fda87dede84c00ec4e0cb429e588a50190602001610714565b60605f610a628361127a565b6040517f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e700905f90610d3d9085908590611e5d565b6040805191829003822060208301520160405160208183030381529060405280519060200120905081600a01548114610d74575f5ffd5b50505050565b73ffffffffffffffffffffffffffffffffffffffff8381165f9081527f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e7016020526040902080547f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e700929081169085161580610df2575083155b15610e0557610e0086610fcf565b610e39565b73ffffffffffffffffffffffffffffffffffffffff8116610e2c57610e00828787876112d3565b610e398282888888611424565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff8281165f9081527f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e70260205260409020547f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e700919081169083168114610d745773ffffffffffffffffffffffffffffffffffffffff81165f9081526005830160205260409020610ee490856115a8565b5073ffffffffffffffffffffffffffffffffffffffff8481165f908152600284016020526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016918516918217905515610f6f5773ffffffffffffffffffffffffffffffffffffffff83165f9081526005830160205260409020610f6d90856115c9565b505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4925eafc82d0c4d67889898eeed64b18488ab19811e61620f387026dec126a2860405160405180910390a350505050565b7f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e70061101a7f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e707836115a8565b5073ffffffffffffffffffffffffffffffffffffffff8083165f9081526001830160209081526040808320549093168083529084905291902061105d90846115a8565b5073ffffffffffffffffffffffffffffffffffffffff83165f90815260018084016020526040822080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255918101839055600281018054909216909155600301556110cc836115ea565b60405173ffffffffffffffffffffffffffffffffffffffff8416907f7b126f0c01073a9050b188dbbb3532ecdbc1dd902aaf9b8311682c3486c6f58a905f90a2505050565b5f6104e1825490565b5f610a6283836116d3565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff166111f9577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561122b565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b6060815f018054806020026020016040519081016040528092919081815260200182805480156112c757602002820191905f5260205f20905b8154815260200190600101908083116112b3575b50505050509050919050565b7f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e70061131e7f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e707856115c9565b5073ffffffffffffffffffffffffffffffffffffffff83165f90815260208290526040902061134d90856115c9565b5042600386015560028501805473ffffffffffffffffffffffffffffffffffffffff8087167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018701849055865491851691161785556113b68484846116f9565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4c12853beeb24ebde5f5b6f8757d257670bd10e740c1d43baa60c5ed7090fa588460405161141591815260200190565b60405180910390a35050505050565b7f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e70073ffffffffffffffffffffffffffffffffffffffff8581169084161461150c5773ffffffffffffffffffffffffffffffffffffffff85165f90815260208290526040902061149390856115a8565b5073ffffffffffffffffffffffffffffffffffffffff83165f9081526020829052604090206114c290856115c9565b5085547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617865542600387015561151e565b8186600101541461151e574260038701555b6001860182905561152e846115ea565b6115398484846116f9565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4c12853beeb24ebde5f5b6f8757d257670bd10e740c1d43baa60c5ed7090fa588460405161159891815260200190565b60405180910390a3505050505050565b5f610a628373ffffffffffffffffffffffffffffffffffffffff8416611a48565b5f610a628373ffffffffffffffffffffffffffffffffffffffff8416611b2b565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e70960205260409020547f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e7009080156116ce576040517f7e108d52000000000000000000000000000000000000000000000000000000008152600481018290523090637e108d52906024016020604051808303815f875af11580156116aa573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d749190611e6c565b505050565b5f825f0182815481106116e8576116e8611dc3565b905f5260205f200154905092915050565b73ffffffffffffffffffffffffffffffffffffffff83165f9081527f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e70960205260408120547f264df150e9e008a39dd109254e3af3cdadbfbd33261903d1163f43eaee68e700918190036118c2575f803061177286611b77565b6040516bffffffffffffffffffffffff909116602482015273ffffffffffffffffffffffffffffffffffffffff808916604483015289166064820152608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8cf0f58700000000000000000000000000000000000000000000000000000000179052516118329190611e97565b5f604051808303815f865af19150503d805f811461186b576040519150601f19603f3d011682016040523d82523d5f602084013e611870565b606091505b509150915081156118bb578080602001905181019061188f9190611ead565b73ffffffffffffffffffffffffffffffffffffffff88165f908152600986016020526040902081905592505b5050611a41565b6040516024810182905273ffffffffffffffffffffffffffffffffffffffff851660448201525f903090606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9ad4f75200000000000000000000000000000000000000000000000000000000179052516119709190611e97565b5f604051808303815f865af19150503d805f81146119a9576040519150601f19603f3d011682016040523d82523d5f602084013e6119ae565b606091505b505090508015610e395730637d84ed26836119c887611b77565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526bffffffffffffffffffffffff1660248201526044015f604051808303815f87803b158015611a29575f5ffd5b505af1158015611a3b573d5f5f3e3d5ffd5b50505050505b5050505050565b5f8181526001830160205260408120548015611b22575f611a6a600183611ec4565b85549091505f90611a7d90600190611ec4565b9050808214611adc575f865f018281548110611a9b57611a9b611dc3565b905f5260205f200154905080875f018481548110611abb57611abb611dc3565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080611aed57611aed611ed7565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f9055600193505050506104e1565b5f9150506104e1565b5f818152600183016020526040812054611b7057508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556104e1565b505f6104e1565b5f6c010000000000000000000000008210611b9457611b94611b98565b5090565b6335278d125f526004601cfd5b5f60208284031215611bb5575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610821575f5ffd5b5f60208284031215611bed575f5ffd5b8135610a6281611bbc565b608081016104e1828473ffffffffffffffffffffffffffffffffffffffff81511682526020810151602083015273ffffffffffffffffffffffffffffffffffffffff6040820151166040830152606081015160608301525050565b602080825282518282018190525f918401906040840190835b81811015611ca057835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101611c6c565b509095945050505050565b5f5f60208385031215611cbc575f5ffd5b823567ffffffffffffffff811115611cd2575f5ffd5b8301601f81018513611ce2575f5ffd5b803567ffffffffffffffff811115611cf8575f5ffd5b856020828401011115611d09575f5ffd5b6020919091019590945092505050565b602080825282518282018190525f918401906040840190835b81811015611ca057611d9283855173ffffffffffffffffffffffffffffffffffffffff81511682526020810151602083015273ffffffffffffffffffffffffffffffffffffffff6040820151166040830152606081015160608301525050565b6020939093019260809290920191600101611d32565b5f60208284031215611db8575f5ffd5b8151610a6281611bbc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156104e1576104e1611df0565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b818382375f9101908152919050565b5f60208284031215611e7c575f5ffd5b81516bffffffffffffffffffffffff81168114610a62575f5ffd5b5f82518060208501845e5f920191825250919050565b5f60208284031215611ebd575f5ffd5b5051919050565b818103818111156104e1576104e1611df0565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd";
532
+
533
+ type MainnetDelegationConstructorParams =
534
+ | [signer?: Signer]
535
+ | ConstructorParameters<typeof ContractFactory>;
536
+
537
+ const isSuperArgs = (
538
+ xs: MainnetDelegationConstructorParams
539
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
540
+
541
+ export class MainnetDelegation__factory extends ContractFactory {
542
+ constructor(...args: MainnetDelegationConstructorParams) {
543
+ if (isSuperArgs(args)) {
544
+ super(...args);
545
+ } else {
546
+ super(_abi, _bytecode, args[0]);
547
+ }
548
+ }
549
+
550
+ override deploy(
551
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
552
+ ): Promise<MainnetDelegation> {
553
+ return super.deploy(overrides || {}) as Promise<MainnetDelegation>;
554
+ }
555
+ override getDeployTransaction(
556
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
557
+ ): TransactionRequest {
558
+ return super.getDeployTransaction(overrides || {});
559
+ }
560
+ override attach(address: string): MainnetDelegation {
561
+ return super.attach(address) as MainnetDelegation;
562
+ }
563
+ override connect(signer: Signer): MainnetDelegation__factory {
564
+ return super.connect(signer) as MainnetDelegation__factory;
565
+ }
566
+
567
+ static readonly bytecode = _bytecode;
568
+ static readonly abi = _abi;
569
+ static createInterface(): MainnetDelegationInterface {
570
+ return new utils.Interface(_abi) as MainnetDelegationInterface;
571
+ }
572
+ static connect(
573
+ address: string,
574
+ signerOrProvider: Signer | Provider
575
+ ): MainnetDelegation {
576
+ return new Contract(address, _abi, signerOrProvider) as MainnetDelegation;
577
+ }
578
+ }
@@ -810,7 +810,7 @@ const _abi = [
810
810
  ] as const;
811
811
 
812
812
  const _bytecode =
813
- "0x60a060405234801561000f575f5ffd5b506040516124eb3803806124eb83398101604081905261002e91610193565b3384845f61003c83826102ae565b50600161004982826102ae565b5050506001600160a01b03811661007957604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610082816100a5565b50600761008f83826102ae565b5060805250506009805460ff1916905550610368565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610119575f5ffd5b81516001600160401b03811115610132576101326100f6565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610160576101606100f6565b604052818152838201602001851015610177575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f5f5f608085870312156101a6575f5ffd5b84516001600160401b038111156101bb575f5ffd5b6101c78782880161010a565b602087015190955090506001600160401b038111156101e4575f5ffd5b6101f08782880161010a565b604087015190945090506001600160401b0381111561020d575f5ffd5b6102198782880161010a565b606096909601519497939650505050565b600181811c9082168061023e57607f821691505b60208210810361025c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102a957805f5260205f20601f840160051c810160208510156102875750805b601f840160051c820191505b818110156102a6575f8155600101610293565b50505b505050565b81516001600160401b038111156102c7576102c76100f6565b6102db816102d5845461022a565b84610262565b6020601f82116001811461030d575f83156102f65750848201515b5f19600385901b1c1916600184901b1784556102a6565b5f84815260208120601f198516915b8281101561033c578785015182556020948501946001909201910161031c565b508482101561035957868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805161216b6103805f395f610ad1015261216b5ff3fe6080604052600436106101a3575f3560e01c8063715018a6116100e7578063a839e50111610087578063c87b56dd11610062578063c87b56dd14610460578063d92d1bd61461047f578063e985e9c5146104ad578063f2fde38b14610501575f5ffd5b8063a839e50114610412578063b88d4fde14610426578063c002d23d14610445575f5ffd5b8063902d55a5116100c2578063902d55a5146103b757806395d89b41146103cc5780639886a902146103e0578063a22cb465146103f3575f5ffd5b8063715018a61461036557806376c64c62146103795780638da5cb5b1461038d575f5ffd5b806331b3eb941161015257806355f804b31161012d57806355f804b3146102f45780636352211e146103135780636c0360eb1461033257806370a0823114610346575f5ffd5b806331b3eb94146102a357806332a93a3a146102c257806342842e0e146102d5575f5ffd5b8063081812fc11610182578063081812fc1461021f578063095ea7b31461026357806323b872dd14610284575f5ffd5b80629a9b7b146101a757806301ffc9a7146101cf57806306fdde03146101fe575b5f5ffd5b3480156101b2575f5ffd5b506101bc600a5481565b6040519081526020015b60405180910390f35b3480156101da575f5ffd5b506101ee6101e9366004611a45565b610520565b60405190151581526020016101c6565b348015610209575f5ffd5b50610212610604565b6040516101c69190611aac565b34801561022a575f5ffd5b5061023e610239366004611abe565b610693565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c6565b34801561026e575f5ffd5b5061028261027d366004611af6565b6106c7565b005b34801561028f575f5ffd5b5061028261029e366004611b20565b6106d6565b3480156102ae575f5ffd5b506102826102bd366004611b5e565b6107ca565b6101bc6102d0366004611b5e565b61086e565b3480156102e0575f5ffd5b506102826102ef366004611b20565b6108a4565b3480156102ff575f5ffd5b5061028261030e366004611c3b565b6108be565b34801561031e575f5ffd5b5061023e61032d366004611abe565b6108d2565b34801561033d575f5ffd5b506102126108dc565b348015610351575f5ffd5b506101bc610360366004611b5e565b610968565b348015610370575f5ffd5b506102826109e0565b348015610384575f5ffd5b506102826109f3565b348015610398575f5ffd5b5060065473ffffffffffffffffffffffffffffffffffffffff1661023e565b3480156103c2575f5ffd5b506101bc6109c481565b3480156103d7575f5ffd5b50610212610a0f565b6101bc6103ee366004611c80565b610a1e565b3480156103fe575f5ffd5b5061028261040d366004611d08565b610b45565b34801561041d575f5ffd5b50610282610b50565b348015610431575f5ffd5b50610282610440366004611d43565b610b6b565b348015610450575f5ffd5b506101bc67011c37937e08000081565b34801561046b575f5ffd5b5061021261047a366004611abe565b610b83565b34801561048a575f5ffd5b506101ee610499366004611b5e565b60086020525f908152604090205460ff1681565b3480156104b8575f5ffd5b506101ee6104c7366004611dbe565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260056020908152604080832093909416825291909152205460ff1690565b34801561050c575f5ffd5b5061028261051b366004611b5e565b610c2c565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806105b257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806105fe57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60605f805461061290611dea565b80601f016020809104026020016040519081016040528092919081815260200182805461063e90611dea565b80156106895780601f1061066057610100808354040283529160200191610689565b820191905f5260205f20905b81548152906001019060200180831161066c57829003601f168201915b5050505050905090565b5f61069d82610c8f565b505f8281526004602052604090205473ffffffffffffffffffffffffffffffffffffffff166105fe565b6106d2828233610ced565b5050565b73ffffffffffffffffffffffffffffffffffffffff821661072a576040517f64a0ae920000000000000000000000000000000000000000000000000000000081525f60048201526024015b60405180910390fd5b5f610736838333610cfa565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146107c4576040517f64283d7b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80861660048301526024820184905282166044820152606401610721565b50505050565b6107d2610e71565b60405147905f9073ffffffffffffffffffffffffffffffffffffffff84169083908381818185875af1925050503d805f8114610829576040519150601f19603f3d011682016040523d82523d5f602084013e61082e565b606091505b5050905080610869576040517fd23a9e8900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b5f61087882610ec4565b610880610f11565b610888610f52565b61089182610f8f565b61089b6002610fee565b6105fe8261104e565b61086983838360405180602001604052805f815250610b6b565b6108c6610e71565b60076106d28282611e7f565b5f6105fe82610c8f565b600780546108e990611dea565b80601f016020809104026020016040519081016040528092919081815260200182805461091590611dea565b80156109605780601f1061093757610100808354040283529160200191610960565b820191905f5260205f20905b81548152906001019060200180831161094357829003601f168201915b505050505081565b5f73ffffffffffffffffffffffffffffffffffffffff82166109b8576040517f89c62b640000000000000000000000000000000000000000000000000000000081525f6004820152602401610721565b5073ffffffffffffffffffffffffffffffffffffffff165f9081526003602052604090205490565b6109e8610e71565b6109f15f611111565b565b6109fb610e71565b610a056001610fee565b6109f16002611187565b60606001805461061290611dea565b5f610a2885610ec4565b610a30610f11565b610a38610f52565b610a4185610f8f565b610a4a8461122a565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606087901b166020820152603481018590525f90605401604051602081830303815290604052805190602001209050610afc8484808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152507f000000000000000000000000000000000000000000000000000000000000000092508591506112879050565b610b32576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b3b8661104e565b9695505050505050565b6106d233838361129c565b610b58610e71565b610b615f610fee565b6109f16001611187565b610b768484846106d6565b6107c43385858585611398565b60605f610b8f836108d2565b73ffffffffffffffffffffffffffffffffffffffff1603610bdc576040517fd872946b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60078054610bea90611dea565b905011610c055760405180602001604052805f8152506105fe565b6007604051602001610c179190611f96565b60405160208183030381529060405292915050565b610c34610e71565b73ffffffffffffffffffffffffffffffffffffffff8116610c83576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152602401610721565b610c8c81611111565b50565b5f8181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff16806105fe576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101849052602401610721565b610869838383600161158e565b5f8281526002602052604081205473ffffffffffffffffffffffffffffffffffffffff90811690831615610d3357610d33818486611756565b73ffffffffffffffffffffffffffffffffffffffff811615610da657610d5b5f855f5f61158e565b73ffffffffffffffffffffffffffffffffffffffff81165f90815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190555b73ffffffffffffffffffffffffffffffffffffffff851615610dee5773ffffffffffffffffffffffffffffffffffffffff85165f908152600360205260409020805460010190555b5f8481526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b60065473ffffffffffffffffffffffffffffffffffffffff1633146109f1576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610721565b73ffffffffffffffffffffffffffffffffffffffff8116610c8c576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67011c37937e08000034146109f1576040517f21e191e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109c4600a54106109f1576040517fd05cb60900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f9081526008602052604090205460ff1615610c8c576040517fddefae2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060028111156110005761100061204a565b60095460ff1660028111156110175761101761204a565b14610c8c576040517fa1f6623900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f90815260086020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600a8054908190836110ac83612077565b91905055506110bb8382611806565b6040805182815242602082015273ffffffffffffffffffffffffffffffffffffffff8516917f25b428dfde728ccfaddad7e29e4ac23c24ed7fd1a6e3e3f91894a9a073f5dfff910160405180910390a292915050565b6006805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6009805460ff81169183917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360028111156111c8576111c861204a565b02179055508160028111156111df576111df61204a565b8160028111156111f1576111f161204a565b60405142815233907f7a5907205f46c7df4a68b33c1da8921886b57f025f0ec67a42c38d2c2013a7849060200160405180910390a45050565b5f60095460ff1660028111156112425761124261204a565b148015611250575080600114155b15610c8c576040517f3d693ada00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82611293858461181f565b14949350505050565b73ffffffffffffffffffffffffffffffffffffffff8216611301576040517f5b08ba1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152602401610721565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83163b15611587576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a029061140d9088908890879087906004016120d3565b6020604051808303815f875af1925050508015611465575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261146291810190612123565b60015b6114f2573d808015611492576040519150601f19603f3d011682016040523d82523d5f602084013e611497565b606091505b5080515f036114ea576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610721565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a020000000000000000000000000000000000000000000000000000000014611585576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610721565b505b5050505050565b80806115af575073ffffffffffffffffffffffffffffffffffffffff821615155b15611702575f6115be84610c8f565b905073ffffffffffffffffffffffffffffffffffffffff83161580159061161157508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561164f575073ffffffffffffffffffffffffffffffffffffffff8082165f9081526005602090815260408083209387168352929052205460ff16155b1561169e576040517fa9fbf51f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610721565b811561170057838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50505f90815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611761838383611861565b6108695773ffffffffffffffffffffffffffffffffffffffff83166117b5576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101829052602401610721565b6040517f177e802f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015260248101829052604401610721565b6106d2828260405180602001604052805f815250611925565b5f81815b84518110156118595761184f828683815181106118425761184261213e565b602002602001015161193c565b9150600101611823565b509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff83161580159061191d57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118ed575073ffffffffffffffffffffffffffffffffffffffff8085165f9081526005602090815260408083209387168352929052205460ff165b8061191d57505f8281526004602052604090205473ffffffffffffffffffffffffffffffffffffffff8481169116145b949350505050565b61192f838361196b565b610869335f858585611398565b5f818310611956575f828152602084905260409020611964565b5f8381526020839052604090205b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166119ba576040517f64a0ae920000000000000000000000000000000000000000000000000000000081525f6004820152602401610721565b5f6119c683835f610cfa565b905073ffffffffffffffffffffffffffffffffffffffff811615610869576040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081525f6004820152602401610721565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c8c575f5ffd5b5f60208284031215611a55575f5ffd5b813561196481611a18565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6119646020830184611a60565b5f60208284031215611ace575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610c8c575f5ffd5b5f5f60408385031215611b07575f5ffd5b8235611b1281611ad5565b946020939093013593505050565b5f5f5f60608486031215611b32575f5ffd5b8335611b3d81611ad5565b92506020840135611b4d81611ad5565b929592945050506040919091013590565b5f60208284031215611b6e575f5ffd5b813561196481611ad5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f67ffffffffffffffff841115611bc057611bc0611b79565b506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85018116603f0116810181811067ffffffffffffffff82111715611c0d57611c0d611b79565b604052838152905080828401851015611c24575f5ffd5b838360208301375f60208583010152509392505050565b5f60208284031215611c4b575f5ffd5b813567ffffffffffffffff811115611c61575f5ffd5b8201601f81018413611c71575f5ffd5b61191d84823560208401611ba6565b5f5f5f5f60608587031215611c93575f5ffd5b8435611c9e81611ad5565b935060208501359250604085013567ffffffffffffffff811115611cc0575f5ffd5b8501601f81018713611cd0575f5ffd5b803567ffffffffffffffff811115611ce6575f5ffd5b8760208260051b8401011115611cfa575f5ffd5b949793965060200194505050565b5f5f60408385031215611d19575f5ffd5b8235611d2481611ad5565b915060208301358015158114611d38575f5ffd5b809150509250929050565b5f5f5f5f60808587031215611d56575f5ffd5b8435611d6181611ad5565b93506020850135611d7181611ad5565b925060408501359150606085013567ffffffffffffffff811115611d93575f5ffd5b8501601f81018713611da3575f5ffd5b611db287823560208401611ba6565b91505092959194509250565b5f5f60408385031215611dcf575f5ffd5b8235611dda81611ad5565b91506020830135611d3881611ad5565b600181811c90821680611dfe57607f821691505b602082108103611e35577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f82111561086957805f5260205f20601f840160051c81016020851015611e605750805b601f840160051c820191505b81811015611587575f8155600101611e6c565b815167ffffffffffffffff811115611e9957611e99611b79565b611ead81611ea78454611dea565b84611e3b565b6020601f821160018114611efe575f8315611ec85750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455611587565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015611f4b5787850151825560209485019460019092019101611f2b565b5084821015611f8757868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f5f8354611fa381611dea565b600182168015611fba5760018114611fed5761201a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061201a565b865f5260205f205f5b8381101561201257815488820152600190910190602001611ff6565b505081860193505b50507f636f756e63696c6d657461646174610000000000000000000000000000000000825250600f019392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036120cc577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f610b3b6080830184611a60565b5f60208284031215612133575f5ffd5b815161196481611a18565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd";
813
+ "0x60a060405234801561000f575f5ffd5b506040516124eb3803806124eb83398101604081905261002e91610193565b3384845f61003c83826102ae565b50600161004982826102ae565b5050506001600160a01b03811661007957604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610082816100a5565b50600761008f83826102ae565b5060805250506009805460ff1916905550610368565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610119575f5ffd5b81516001600160401b03811115610132576101326100f6565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610160576101606100f6565b604052818152838201602001851015610177575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f5f5f608085870312156101a6575f5ffd5b84516001600160401b038111156101bb575f5ffd5b6101c78782880161010a565b602087015190955090506001600160401b038111156101e4575f5ffd5b6101f08782880161010a565b604087015190945090506001600160401b0381111561020d575f5ffd5b6102198782880161010a565b606096909601519497939650505050565b600181811c9082168061023e57607f821691505b60208210810361025c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102a957805f5260205f20601f840160051c810160208510156102875750805b601f840160051c820191505b818110156102a6575f8155600101610293565b50505b505050565b81516001600160401b038111156102c7576102c76100f6565b6102db816102d5845461022a565b84610262565b6020601f82116001811461030d575f83156102f65750848201515b5f19600385901b1c1916600184901b1784556102a6565b5f84815260208120601f198516915b8281101561033c578785015182556020948501946001909201910161031c565b508482101561035957868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805161216b6103805f395f610ad1015261216b5ff3fe6080604052600436106101a3575f3560e01c8063715018a6116100e7578063a839e50111610087578063c87b56dd11610062578063c87b56dd14610460578063d92d1bd61461047f578063e985e9c5146104ad578063f2fde38b14610501575f5ffd5b8063a839e50114610412578063b88d4fde14610426578063c002d23d14610445575f5ffd5b8063902d55a5116100c2578063902d55a5146103b757806395d89b41146103cc5780639886a902146103e0578063a22cb465146103f3575f5ffd5b8063715018a61461036557806376c64c62146103795780638da5cb5b1461038d575f5ffd5b806331b3eb941161015257806355f804b31161012d57806355f804b3146102f45780636352211e146103135780636c0360eb1461033257806370a0823114610346575f5ffd5b806331b3eb94146102a357806332a93a3a146102c257806342842e0e146102d5575f5ffd5b8063081812fc11610182578063081812fc1461021f578063095ea7b31461026357806323b872dd14610284575f5ffd5b80629a9b7b146101a757806301ffc9a7146101cf57806306fdde03146101fe575b5f5ffd5b3480156101b2575f5ffd5b506101bc600a5481565b6040519081526020015b60405180910390f35b3480156101da575f5ffd5b506101ee6101e9366004611a45565b610520565b60405190151581526020016101c6565b348015610209575f5ffd5b50610212610604565b6040516101c69190611aac565b34801561022a575f5ffd5b5061023e610239366004611abe565b610693565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c6565b34801561026e575f5ffd5b5061028261027d366004611af6565b6106c7565b005b34801561028f575f5ffd5b5061028261029e366004611b20565b6106d6565b3480156102ae575f5ffd5b506102826102bd366004611b5e565b6107ca565b6101bc6102d0366004611b5e565b61086e565b3480156102e0575f5ffd5b506102826102ef366004611b20565b6108a4565b3480156102ff575f5ffd5b5061028261030e366004611c3b565b6108be565b34801561031e575f5ffd5b5061023e61032d366004611abe565b6108d2565b34801561033d575f5ffd5b506102126108dc565b348015610351575f5ffd5b506101bc610360366004611b5e565b610968565b348015610370575f5ffd5b506102826109e0565b348015610384575f5ffd5b506102826109f3565b348015610398575f5ffd5b5060065473ffffffffffffffffffffffffffffffffffffffff1661023e565b3480156103c2575f5ffd5b506101bc6109c481565b3480156103d7575f5ffd5b50610212610a0f565b6101bc6103ee366004611c80565b610a1e565b3480156103fe575f5ffd5b5061028261040d366004611d08565b610b45565b34801561041d575f5ffd5b50610282610b50565b348015610431575f5ffd5b50610282610440366004611d43565b610b6b565b348015610450575f5ffd5b506101bc67011c37937e08000081565b34801561046b575f5ffd5b5061021261047a366004611abe565b610b83565b34801561048a575f5ffd5b506101ee610499366004611b5e565b60086020525f908152604090205460ff1681565b3480156104b8575f5ffd5b506101ee6104c7366004611dbe565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260056020908152604080832093909416825291909152205460ff1690565b34801561050c575f5ffd5b5061028261051b366004611b5e565b610c2c565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806105b257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806105fe57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60605f805461061290611dea565b80601f016020809104026020016040519081016040528092919081815260200182805461063e90611dea565b80156106895780601f1061066057610100808354040283529160200191610689565b820191905f5260205f20905b81548152906001019060200180831161066c57829003601f168201915b5050505050905090565b5f61069d82610c8f565b505f8281526004602052604090205473ffffffffffffffffffffffffffffffffffffffff166105fe565b6106d2828233610ced565b5050565b73ffffffffffffffffffffffffffffffffffffffff821661072a576040517f64a0ae920000000000000000000000000000000000000000000000000000000081525f60048201526024015b60405180910390fd5b5f610736838333610cfa565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146107c4576040517f64283d7b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80861660048301526024820184905282166044820152606401610721565b50505050565b6107d2610e71565b60405147905f9073ffffffffffffffffffffffffffffffffffffffff84169083908381818185875af1925050503d805f8114610829576040519150601f19603f3d011682016040523d82523d5f602084013e61082e565b606091505b5050905080610869576040517fd23a9e8900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b5f61087882610ec4565b610880610f11565b610888610f52565b61089182610f8f565b61089b6002610fee565b6105fe8261104e565b61086983838360405180602001604052805f815250610b6b565b6108c6610e71565b60076106d28282611e7f565b5f6105fe82610c8f565b600780546108e990611dea565b80601f016020809104026020016040519081016040528092919081815260200182805461091590611dea565b80156109605780601f1061093757610100808354040283529160200191610960565b820191905f5260205f20905b81548152906001019060200180831161094357829003601f168201915b505050505081565b5f73ffffffffffffffffffffffffffffffffffffffff82166109b8576040517f89c62b640000000000000000000000000000000000000000000000000000000081525f6004820152602401610721565b5073ffffffffffffffffffffffffffffffffffffffff165f9081526003602052604090205490565b6109e8610e71565b6109f15f611111565b565b6109fb610e71565b610a056001610fee565b6109f16002611187565b60606001805461061290611dea565b5f610a2885610ec4565b610a30610f11565b610a38610f52565b610a4185610f8f565b610a4a8461122a565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606087901b166020820152603481018590525f90605401604051602081830303815290604052805190602001209050610afc8484808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152507f000000000000000000000000000000000000000000000000000000000000000092508591506112879050565b610b32576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b3b8661104e565b9695505050505050565b6106d233838361129c565b610b58610e71565b610b615f610fee565b6109f16001611187565b610b768484846106d6565b6107c43385858585611398565b60605f610b8f836108d2565b73ffffffffffffffffffffffffffffffffffffffff1603610bdc576040517fd872946b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60078054610bea90611dea565b905011610c055760405180602001604052805f8152506105fe565b6007604051602001610c179190611f96565b60405160208183030381529060405292915050565b610c34610e71565b73ffffffffffffffffffffffffffffffffffffffff8116610c83576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152602401610721565b610c8c81611111565b50565b5f8181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff16806105fe576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101849052602401610721565b610869838383600161158e565b5f8281526002602052604081205473ffffffffffffffffffffffffffffffffffffffff90811690831615610d3357610d33818486611756565b73ffffffffffffffffffffffffffffffffffffffff811615610da657610d5b5f855f5f61158e565b73ffffffffffffffffffffffffffffffffffffffff81165f90815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190555b73ffffffffffffffffffffffffffffffffffffffff851615610dee5773ffffffffffffffffffffffffffffffffffffffff85165f908152600360205260409020805460010190555b5f8481526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b60065473ffffffffffffffffffffffffffffffffffffffff1633146109f1576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610721565b73ffffffffffffffffffffffffffffffffffffffff8116610c8c576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67011c37937e08000034146109f1576040517f21e191e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109c4600a54106109f1576040517fd05cb60900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f9081526008602052604090205460ff1615610c8c576040517fddefae2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060028111156110005761100061204a565b60095460ff1660028111156110175761101761204a565b14610c8c576040517fa1f6623900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f90815260086020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600a8054908190836110ac83612077565b91905055506110bb8382611806565b6040805182815242602082015273ffffffffffffffffffffffffffffffffffffffff8516917f25b428dfde728ccfaddad7e29e4ac23c24ed7fd1a6e3e3f91894a9a073f5dfff910160405180910390a292915050565b6006805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6009805460ff81169183917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360028111156111c8576111c861204a565b02179055508160028111156111df576111df61204a565b8160028111156111f1576111f161204a565b60405142815233907f7a5907205f46c7df4a68b33c1da8921886b57f025f0ec67a42c38d2c2013a7849060200160405180910390a45050565b5f60095460ff1660028111156112425761124261204a565b148015611250575080600114155b15610c8c576040517f3d693ada00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82611293858461181f565b14949350505050565b73ffffffffffffffffffffffffffffffffffffffff8216611301576040517f5b08ba1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152602401610721565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83163b15611587576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a029061140d9088908890879087906004016120d3565b6020604051808303815f875af1925050508015611465575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261146291810190612123565b60015b6114f2573d808015611492576040519150601f19603f3d011682016040523d82523d5f602084013e611497565b606091505b5080515f036114ea576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610721565b805160208201fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a020000000000000000000000000000000000000000000000000000000014611585576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610721565b505b5050505050565b80806115af575073ffffffffffffffffffffffffffffffffffffffff821615155b15611702575f6115be84610c8f565b905073ffffffffffffffffffffffffffffffffffffffff83161580159061161157508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561164f575073ffffffffffffffffffffffffffffffffffffffff8082165f9081526005602090815260408083209387168352929052205460ff16155b1561169e576040517fa9fbf51f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610721565b811561170057838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50505f90815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611761838383611861565b6108695773ffffffffffffffffffffffffffffffffffffffff83166117b5576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101829052602401610721565b6040517f177e802f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015260248101829052604401610721565b6106d2828260405180602001604052805f815250611925565b5f81815b84518110156118595761184f828683815181106118425761184261213e565b602002602001015161193c565b9150600101611823565b509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff83161580159061191d57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118ed575073ffffffffffffffffffffffffffffffffffffffff8085165f9081526005602090815260408083209387168352929052205460ff165b8061191d57505f8281526004602052604090205473ffffffffffffffffffffffffffffffffffffffff8481169116145b949350505050565b61192f838361196b565b610869335f858585611398565b5f818310611956575f828152602084905260409020611964565b5f8381526020839052604090205b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166119ba576040517f64a0ae920000000000000000000000000000000000000000000000000000000081525f6004820152602401610721565b5f6119c683835f610cfa565b905073ffffffffffffffffffffffffffffffffffffffff811615610869576040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081525f6004820152602401610721565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c8c575f5ffd5b5f60208284031215611a55575f5ffd5b813561196481611a18565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6119646020830184611a60565b5f60208284031215611ace575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610c8c575f5ffd5b5f5f60408385031215611b07575f5ffd5b8235611b1281611ad5565b946020939093013593505050565b5f5f5f60608486031215611b32575f5ffd5b8335611b3d81611ad5565b92506020840135611b4d81611ad5565b929592945050506040919091013590565b5f60208284031215611b6e575f5ffd5b813561196481611ad5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f67ffffffffffffffff841115611bc057611bc0611b79565b506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85018116603f0116810181811067ffffffffffffffff82111715611c0d57611c0d611b79565b604052838152905080828401851015611c24575f5ffd5b838360208301375f60208583010152509392505050565b5f60208284031215611c4b575f5ffd5b813567ffffffffffffffff811115611c61575f5ffd5b8201601f81018413611c71575f5ffd5b61191d84823560208401611ba6565b5f5f5f5f60608587031215611c93575f5ffd5b8435611c9e81611ad5565b935060208501359250604085013567ffffffffffffffff811115611cc0575f5ffd5b8501601f81018713611cd0575f5ffd5b803567ffffffffffffffff811115611ce6575f5ffd5b8760208260051b8401011115611cfa575f5ffd5b949793965060200194505050565b5f5f60408385031215611d19575f5ffd5b8235611d2481611ad5565b915060208301358015158114611d38575f5ffd5b809150509250929050565b5f5f5f5f60808587031215611d56575f5ffd5b8435611d6181611ad5565b93506020850135611d7181611ad5565b925060408501359150606085013567ffffffffffffffff811115611d93575f5ffd5b8501601f81018713611da3575f5ffd5b611db287823560208401611ba6565b91505092959194509250565b5f5f60408385031215611dcf575f5ffd5b8235611dda81611ad5565b91506020830135611d3881611ad5565b600181811c90821680611dfe57607f821691505b602082108103611e35577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f82111561086957805f5260205f20601f840160051c81016020851015611e605750805b601f840160051c820191505b81811015611587575f8155600101611e6c565b815167ffffffffffffffff811115611e9957611e99611b79565b611ead81611ea78454611dea565b84611e3b565b6020601f821160018114611efe575f8315611ec85750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455611587565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015611f4b5787850151825560209485019460019092019101611f2b565b5084821015611f8757868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f5f8354611fa381611dea565b600182168015611fba5760018114611fed5761201a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061201a565b865f5260205f205f5b8381101561201257815488820152600190910190602001611ff6565b505081860193505b50507f636f756e63696c6d657461646174610000000000000000000000000000000000825250600f019392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036120cc577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f610b3b6080830184611a60565b5f60208284031215612133575f5ffd5b815161196481611a18565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd";
814
814
 
815
815
  type MemberConstructorParams =
816
816
  | [signer?: Signer]