@ensuro/account-abstraction 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,1401 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "AccessManagerAccount",
|
|
4
|
+
"sourceName": "contracts/AccessManagerAccount.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "contract IEntryPoint",
|
|
10
|
+
"name": "anEntryPoint",
|
|
11
|
+
"type": "address"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"internalType": "address",
|
|
15
|
+
"name": "initialAdmin",
|
|
16
|
+
"type": "address"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"stateMutability": "nonpayable",
|
|
20
|
+
"type": "constructor"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"inputs": [
|
|
24
|
+
{
|
|
25
|
+
"internalType": "bytes32",
|
|
26
|
+
"name": "operationId",
|
|
27
|
+
"type": "bytes32"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"name": "AccessManagerAlreadyScheduled",
|
|
31
|
+
"type": "error"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"inputs": [],
|
|
35
|
+
"name": "AccessManagerBadConfirmation",
|
|
36
|
+
"type": "error"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"inputs": [
|
|
40
|
+
{
|
|
41
|
+
"internalType": "bytes32",
|
|
42
|
+
"name": "operationId",
|
|
43
|
+
"type": "bytes32"
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"name": "AccessManagerExpired",
|
|
47
|
+
"type": "error"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"inputs": [
|
|
51
|
+
{
|
|
52
|
+
"internalType": "address",
|
|
53
|
+
"name": "initialAdmin",
|
|
54
|
+
"type": "address"
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
"name": "AccessManagerInvalidInitialAdmin",
|
|
58
|
+
"type": "error"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"inputs": [
|
|
62
|
+
{
|
|
63
|
+
"internalType": "address",
|
|
64
|
+
"name": "account",
|
|
65
|
+
"type": "address"
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"name": "AccessManagerLockedAccount",
|
|
69
|
+
"type": "error"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"inputs": [
|
|
73
|
+
{
|
|
74
|
+
"internalType": "uint64",
|
|
75
|
+
"name": "roleId",
|
|
76
|
+
"type": "uint64"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"name": "AccessManagerLockedRole",
|
|
80
|
+
"type": "error"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"inputs": [
|
|
84
|
+
{
|
|
85
|
+
"internalType": "bytes32",
|
|
86
|
+
"name": "operationId",
|
|
87
|
+
"type": "bytes32"
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
"name": "AccessManagerNotReady",
|
|
91
|
+
"type": "error"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"inputs": [
|
|
95
|
+
{
|
|
96
|
+
"internalType": "bytes32",
|
|
97
|
+
"name": "operationId",
|
|
98
|
+
"type": "bytes32"
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
"name": "AccessManagerNotScheduled",
|
|
102
|
+
"type": "error"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"inputs": [
|
|
106
|
+
{
|
|
107
|
+
"internalType": "address",
|
|
108
|
+
"name": "msgsender",
|
|
109
|
+
"type": "address"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"internalType": "uint64",
|
|
113
|
+
"name": "roleId",
|
|
114
|
+
"type": "uint64"
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"name": "AccessManagerUnauthorizedAccount",
|
|
118
|
+
"type": "error"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"inputs": [
|
|
122
|
+
{
|
|
123
|
+
"internalType": "address",
|
|
124
|
+
"name": "caller",
|
|
125
|
+
"type": "address"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"internalType": "address",
|
|
129
|
+
"name": "target",
|
|
130
|
+
"type": "address"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"internalType": "bytes4",
|
|
134
|
+
"name": "selector",
|
|
135
|
+
"type": "bytes4"
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"name": "AccessManagerUnauthorizedCall",
|
|
139
|
+
"type": "error"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"inputs": [
|
|
143
|
+
{
|
|
144
|
+
"internalType": "address",
|
|
145
|
+
"name": "msgsender",
|
|
146
|
+
"type": "address"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"internalType": "address",
|
|
150
|
+
"name": "caller",
|
|
151
|
+
"type": "address"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"internalType": "address",
|
|
155
|
+
"name": "target",
|
|
156
|
+
"type": "address"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"internalType": "bytes4",
|
|
160
|
+
"name": "selector",
|
|
161
|
+
"type": "bytes4"
|
|
162
|
+
}
|
|
163
|
+
],
|
|
164
|
+
"name": "AccessManagerUnauthorizedCancel",
|
|
165
|
+
"type": "error"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"inputs": [
|
|
169
|
+
{
|
|
170
|
+
"internalType": "address",
|
|
171
|
+
"name": "target",
|
|
172
|
+
"type": "address"
|
|
173
|
+
}
|
|
174
|
+
],
|
|
175
|
+
"name": "AccessManagerUnauthorizedConsume",
|
|
176
|
+
"type": "error"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"inputs": [
|
|
180
|
+
{
|
|
181
|
+
"internalType": "address",
|
|
182
|
+
"name": "target",
|
|
183
|
+
"type": "address"
|
|
184
|
+
}
|
|
185
|
+
],
|
|
186
|
+
"name": "AddressEmptyCode",
|
|
187
|
+
"type": "error"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"inputs": [
|
|
191
|
+
{
|
|
192
|
+
"internalType": "address",
|
|
193
|
+
"name": "account",
|
|
194
|
+
"type": "address"
|
|
195
|
+
}
|
|
196
|
+
],
|
|
197
|
+
"name": "AddressInsufficientBalance",
|
|
198
|
+
"type": "error"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"inputs": [],
|
|
202
|
+
"name": "DelayNotAllowed",
|
|
203
|
+
"type": "error"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"inputs": [],
|
|
207
|
+
"name": "ECDSAInvalidSignature",
|
|
208
|
+
"type": "error"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"inputs": [
|
|
212
|
+
{
|
|
213
|
+
"internalType": "uint256",
|
|
214
|
+
"name": "length",
|
|
215
|
+
"type": "uint256"
|
|
216
|
+
}
|
|
217
|
+
],
|
|
218
|
+
"name": "ECDSAInvalidSignatureLength",
|
|
219
|
+
"type": "error"
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"inputs": [
|
|
223
|
+
{
|
|
224
|
+
"internalType": "bytes32",
|
|
225
|
+
"name": "s",
|
|
226
|
+
"type": "bytes32"
|
|
227
|
+
}
|
|
228
|
+
],
|
|
229
|
+
"name": "ECDSAInvalidSignatureS",
|
|
230
|
+
"type": "error"
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"inputs": [],
|
|
234
|
+
"name": "FailedInnerCall",
|
|
235
|
+
"type": "error"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"inputs": [
|
|
239
|
+
{
|
|
240
|
+
"internalType": "bytes4",
|
|
241
|
+
"name": "receivedSelector",
|
|
242
|
+
"type": "bytes4"
|
|
243
|
+
}
|
|
244
|
+
],
|
|
245
|
+
"name": "OnlyExecuteAllowedFromEntryPoint",
|
|
246
|
+
"type": "error"
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"inputs": [],
|
|
250
|
+
"name": "OnlyExternalTargets",
|
|
251
|
+
"type": "error"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"inputs": [
|
|
255
|
+
{
|
|
256
|
+
"internalType": "uint8",
|
|
257
|
+
"name": "bits",
|
|
258
|
+
"type": "uint8"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"internalType": "uint256",
|
|
262
|
+
"name": "value",
|
|
263
|
+
"type": "uint256"
|
|
264
|
+
}
|
|
265
|
+
],
|
|
266
|
+
"name": "SafeCastOverflowedUintDowncast",
|
|
267
|
+
"type": "error"
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"anonymous": false,
|
|
271
|
+
"inputs": [
|
|
272
|
+
{
|
|
273
|
+
"indexed": true,
|
|
274
|
+
"internalType": "bytes32",
|
|
275
|
+
"name": "operationId",
|
|
276
|
+
"type": "bytes32"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"indexed": true,
|
|
280
|
+
"internalType": "uint32",
|
|
281
|
+
"name": "nonce",
|
|
282
|
+
"type": "uint32"
|
|
283
|
+
}
|
|
284
|
+
],
|
|
285
|
+
"name": "OperationCanceled",
|
|
286
|
+
"type": "event"
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"anonymous": false,
|
|
290
|
+
"inputs": [
|
|
291
|
+
{
|
|
292
|
+
"indexed": true,
|
|
293
|
+
"internalType": "bytes32",
|
|
294
|
+
"name": "operationId",
|
|
295
|
+
"type": "bytes32"
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"indexed": true,
|
|
299
|
+
"internalType": "uint32",
|
|
300
|
+
"name": "nonce",
|
|
301
|
+
"type": "uint32"
|
|
302
|
+
}
|
|
303
|
+
],
|
|
304
|
+
"name": "OperationExecuted",
|
|
305
|
+
"type": "event"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"anonymous": false,
|
|
309
|
+
"inputs": [
|
|
310
|
+
{
|
|
311
|
+
"indexed": true,
|
|
312
|
+
"internalType": "bytes32",
|
|
313
|
+
"name": "operationId",
|
|
314
|
+
"type": "bytes32"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"indexed": true,
|
|
318
|
+
"internalType": "uint32",
|
|
319
|
+
"name": "nonce",
|
|
320
|
+
"type": "uint32"
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"indexed": false,
|
|
324
|
+
"internalType": "uint48",
|
|
325
|
+
"name": "schedule",
|
|
326
|
+
"type": "uint48"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"indexed": false,
|
|
330
|
+
"internalType": "address",
|
|
331
|
+
"name": "caller",
|
|
332
|
+
"type": "address"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"indexed": false,
|
|
336
|
+
"internalType": "address",
|
|
337
|
+
"name": "target",
|
|
338
|
+
"type": "address"
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"indexed": false,
|
|
342
|
+
"internalType": "bytes",
|
|
343
|
+
"name": "data",
|
|
344
|
+
"type": "bytes"
|
|
345
|
+
}
|
|
346
|
+
],
|
|
347
|
+
"name": "OperationScheduled",
|
|
348
|
+
"type": "event"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"anonymous": false,
|
|
352
|
+
"inputs": [
|
|
353
|
+
{
|
|
354
|
+
"indexed": true,
|
|
355
|
+
"internalType": "uint64",
|
|
356
|
+
"name": "roleId",
|
|
357
|
+
"type": "uint64"
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"indexed": true,
|
|
361
|
+
"internalType": "uint64",
|
|
362
|
+
"name": "admin",
|
|
363
|
+
"type": "uint64"
|
|
364
|
+
}
|
|
365
|
+
],
|
|
366
|
+
"name": "RoleAdminChanged",
|
|
367
|
+
"type": "event"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"anonymous": false,
|
|
371
|
+
"inputs": [
|
|
372
|
+
{
|
|
373
|
+
"indexed": true,
|
|
374
|
+
"internalType": "uint64",
|
|
375
|
+
"name": "roleId",
|
|
376
|
+
"type": "uint64"
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"indexed": false,
|
|
380
|
+
"internalType": "uint32",
|
|
381
|
+
"name": "delay",
|
|
382
|
+
"type": "uint32"
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
"indexed": false,
|
|
386
|
+
"internalType": "uint48",
|
|
387
|
+
"name": "since",
|
|
388
|
+
"type": "uint48"
|
|
389
|
+
}
|
|
390
|
+
],
|
|
391
|
+
"name": "RoleGrantDelayChanged",
|
|
392
|
+
"type": "event"
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"anonymous": false,
|
|
396
|
+
"inputs": [
|
|
397
|
+
{
|
|
398
|
+
"indexed": true,
|
|
399
|
+
"internalType": "uint64",
|
|
400
|
+
"name": "roleId",
|
|
401
|
+
"type": "uint64"
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
"indexed": true,
|
|
405
|
+
"internalType": "address",
|
|
406
|
+
"name": "account",
|
|
407
|
+
"type": "address"
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"indexed": false,
|
|
411
|
+
"internalType": "uint32",
|
|
412
|
+
"name": "delay",
|
|
413
|
+
"type": "uint32"
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"indexed": false,
|
|
417
|
+
"internalType": "uint48",
|
|
418
|
+
"name": "since",
|
|
419
|
+
"type": "uint48"
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"indexed": false,
|
|
423
|
+
"internalType": "bool",
|
|
424
|
+
"name": "newMember",
|
|
425
|
+
"type": "bool"
|
|
426
|
+
}
|
|
427
|
+
],
|
|
428
|
+
"name": "RoleGranted",
|
|
429
|
+
"type": "event"
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"anonymous": false,
|
|
433
|
+
"inputs": [
|
|
434
|
+
{
|
|
435
|
+
"indexed": true,
|
|
436
|
+
"internalType": "uint64",
|
|
437
|
+
"name": "roleId",
|
|
438
|
+
"type": "uint64"
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"indexed": true,
|
|
442
|
+
"internalType": "uint64",
|
|
443
|
+
"name": "guardian",
|
|
444
|
+
"type": "uint64"
|
|
445
|
+
}
|
|
446
|
+
],
|
|
447
|
+
"name": "RoleGuardianChanged",
|
|
448
|
+
"type": "event"
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
"anonymous": false,
|
|
452
|
+
"inputs": [
|
|
453
|
+
{
|
|
454
|
+
"indexed": true,
|
|
455
|
+
"internalType": "uint64",
|
|
456
|
+
"name": "roleId",
|
|
457
|
+
"type": "uint64"
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"indexed": false,
|
|
461
|
+
"internalType": "string",
|
|
462
|
+
"name": "label",
|
|
463
|
+
"type": "string"
|
|
464
|
+
}
|
|
465
|
+
],
|
|
466
|
+
"name": "RoleLabel",
|
|
467
|
+
"type": "event"
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
"anonymous": false,
|
|
471
|
+
"inputs": [
|
|
472
|
+
{
|
|
473
|
+
"indexed": true,
|
|
474
|
+
"internalType": "uint64",
|
|
475
|
+
"name": "roleId",
|
|
476
|
+
"type": "uint64"
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
"indexed": true,
|
|
480
|
+
"internalType": "address",
|
|
481
|
+
"name": "account",
|
|
482
|
+
"type": "address"
|
|
483
|
+
}
|
|
484
|
+
],
|
|
485
|
+
"name": "RoleRevoked",
|
|
486
|
+
"type": "event"
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
"anonymous": false,
|
|
490
|
+
"inputs": [
|
|
491
|
+
{
|
|
492
|
+
"indexed": true,
|
|
493
|
+
"internalType": "address",
|
|
494
|
+
"name": "target",
|
|
495
|
+
"type": "address"
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
"indexed": false,
|
|
499
|
+
"internalType": "uint32",
|
|
500
|
+
"name": "delay",
|
|
501
|
+
"type": "uint32"
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"indexed": false,
|
|
505
|
+
"internalType": "uint48",
|
|
506
|
+
"name": "since",
|
|
507
|
+
"type": "uint48"
|
|
508
|
+
}
|
|
509
|
+
],
|
|
510
|
+
"name": "TargetAdminDelayUpdated",
|
|
511
|
+
"type": "event"
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"anonymous": false,
|
|
515
|
+
"inputs": [
|
|
516
|
+
{
|
|
517
|
+
"indexed": true,
|
|
518
|
+
"internalType": "address",
|
|
519
|
+
"name": "target",
|
|
520
|
+
"type": "address"
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"indexed": false,
|
|
524
|
+
"internalType": "bool",
|
|
525
|
+
"name": "closed",
|
|
526
|
+
"type": "bool"
|
|
527
|
+
}
|
|
528
|
+
],
|
|
529
|
+
"name": "TargetClosed",
|
|
530
|
+
"type": "event"
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"anonymous": false,
|
|
534
|
+
"inputs": [
|
|
535
|
+
{
|
|
536
|
+
"indexed": true,
|
|
537
|
+
"internalType": "address",
|
|
538
|
+
"name": "target",
|
|
539
|
+
"type": "address"
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
"indexed": false,
|
|
543
|
+
"internalType": "bytes4",
|
|
544
|
+
"name": "selector",
|
|
545
|
+
"type": "bytes4"
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"indexed": true,
|
|
549
|
+
"internalType": "uint64",
|
|
550
|
+
"name": "roleId",
|
|
551
|
+
"type": "uint64"
|
|
552
|
+
}
|
|
553
|
+
],
|
|
554
|
+
"name": "TargetFunctionRoleUpdated",
|
|
555
|
+
"type": "event"
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"inputs": [],
|
|
559
|
+
"name": "ADMIN_ROLE",
|
|
560
|
+
"outputs": [
|
|
561
|
+
{
|
|
562
|
+
"internalType": "uint64",
|
|
563
|
+
"name": "",
|
|
564
|
+
"type": "uint64"
|
|
565
|
+
}
|
|
566
|
+
],
|
|
567
|
+
"stateMutability": "view",
|
|
568
|
+
"type": "function"
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
"inputs": [],
|
|
572
|
+
"name": "PUBLIC_ROLE",
|
|
573
|
+
"outputs": [
|
|
574
|
+
{
|
|
575
|
+
"internalType": "uint64",
|
|
576
|
+
"name": "",
|
|
577
|
+
"type": "uint64"
|
|
578
|
+
}
|
|
579
|
+
],
|
|
580
|
+
"stateMutability": "view",
|
|
581
|
+
"type": "function"
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"inputs": [],
|
|
585
|
+
"name": "addDeposit",
|
|
586
|
+
"outputs": [],
|
|
587
|
+
"stateMutability": "payable",
|
|
588
|
+
"type": "function"
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"inputs": [
|
|
592
|
+
{
|
|
593
|
+
"internalType": "address",
|
|
594
|
+
"name": "caller",
|
|
595
|
+
"type": "address"
|
|
596
|
+
},
|
|
597
|
+
{
|
|
598
|
+
"internalType": "address",
|
|
599
|
+
"name": "target",
|
|
600
|
+
"type": "address"
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
"internalType": "bytes4",
|
|
604
|
+
"name": "selector",
|
|
605
|
+
"type": "bytes4"
|
|
606
|
+
}
|
|
607
|
+
],
|
|
608
|
+
"name": "canCall",
|
|
609
|
+
"outputs": [
|
|
610
|
+
{
|
|
611
|
+
"internalType": "bool",
|
|
612
|
+
"name": "immediate",
|
|
613
|
+
"type": "bool"
|
|
614
|
+
},
|
|
615
|
+
{
|
|
616
|
+
"internalType": "uint32",
|
|
617
|
+
"name": "delay",
|
|
618
|
+
"type": "uint32"
|
|
619
|
+
}
|
|
620
|
+
],
|
|
621
|
+
"stateMutability": "view",
|
|
622
|
+
"type": "function"
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"inputs": [
|
|
626
|
+
{
|
|
627
|
+
"internalType": "address",
|
|
628
|
+
"name": "caller",
|
|
629
|
+
"type": "address"
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
"internalType": "address",
|
|
633
|
+
"name": "target",
|
|
634
|
+
"type": "address"
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"internalType": "bytes",
|
|
638
|
+
"name": "data",
|
|
639
|
+
"type": "bytes"
|
|
640
|
+
}
|
|
641
|
+
],
|
|
642
|
+
"name": "cancel",
|
|
643
|
+
"outputs": [
|
|
644
|
+
{
|
|
645
|
+
"internalType": "uint32",
|
|
646
|
+
"name": "",
|
|
647
|
+
"type": "uint32"
|
|
648
|
+
}
|
|
649
|
+
],
|
|
650
|
+
"stateMutability": "nonpayable",
|
|
651
|
+
"type": "function"
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
"inputs": [
|
|
655
|
+
{
|
|
656
|
+
"internalType": "address",
|
|
657
|
+
"name": "caller",
|
|
658
|
+
"type": "address"
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
"internalType": "bytes",
|
|
662
|
+
"name": "data",
|
|
663
|
+
"type": "bytes"
|
|
664
|
+
}
|
|
665
|
+
],
|
|
666
|
+
"name": "consumeScheduledOp",
|
|
667
|
+
"outputs": [],
|
|
668
|
+
"stateMutability": "nonpayable",
|
|
669
|
+
"type": "function"
|
|
670
|
+
},
|
|
671
|
+
{
|
|
672
|
+
"inputs": [],
|
|
673
|
+
"name": "entryPoint",
|
|
674
|
+
"outputs": [
|
|
675
|
+
{
|
|
676
|
+
"internalType": "contract IEntryPoint",
|
|
677
|
+
"name": "",
|
|
678
|
+
"type": "address"
|
|
679
|
+
}
|
|
680
|
+
],
|
|
681
|
+
"stateMutability": "view",
|
|
682
|
+
"type": "function"
|
|
683
|
+
},
|
|
684
|
+
{
|
|
685
|
+
"inputs": [
|
|
686
|
+
{
|
|
687
|
+
"internalType": "address",
|
|
688
|
+
"name": "target",
|
|
689
|
+
"type": "address"
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"internalType": "bytes",
|
|
693
|
+
"name": "data",
|
|
694
|
+
"type": "bytes"
|
|
695
|
+
}
|
|
696
|
+
],
|
|
697
|
+
"name": "execute",
|
|
698
|
+
"outputs": [
|
|
699
|
+
{
|
|
700
|
+
"internalType": "uint32",
|
|
701
|
+
"name": "",
|
|
702
|
+
"type": "uint32"
|
|
703
|
+
}
|
|
704
|
+
],
|
|
705
|
+
"stateMutability": "payable",
|
|
706
|
+
"type": "function"
|
|
707
|
+
},
|
|
708
|
+
{
|
|
709
|
+
"inputs": [
|
|
710
|
+
{
|
|
711
|
+
"internalType": "address",
|
|
712
|
+
"name": "dest",
|
|
713
|
+
"type": "address"
|
|
714
|
+
},
|
|
715
|
+
{
|
|
716
|
+
"internalType": "uint256",
|
|
717
|
+
"name": "value",
|
|
718
|
+
"type": "uint256"
|
|
719
|
+
},
|
|
720
|
+
{
|
|
721
|
+
"internalType": "bytes",
|
|
722
|
+
"name": "func",
|
|
723
|
+
"type": "bytes"
|
|
724
|
+
}
|
|
725
|
+
],
|
|
726
|
+
"name": "execute",
|
|
727
|
+
"outputs": [],
|
|
728
|
+
"stateMutability": "nonpayable",
|
|
729
|
+
"type": "function"
|
|
730
|
+
},
|
|
731
|
+
{
|
|
732
|
+
"inputs": [],
|
|
733
|
+
"name": "expiration",
|
|
734
|
+
"outputs": [
|
|
735
|
+
{
|
|
736
|
+
"internalType": "uint32",
|
|
737
|
+
"name": "",
|
|
738
|
+
"type": "uint32"
|
|
739
|
+
}
|
|
740
|
+
],
|
|
741
|
+
"stateMutability": "view",
|
|
742
|
+
"type": "function"
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
"inputs": [
|
|
746
|
+
{
|
|
747
|
+
"internalType": "uint64",
|
|
748
|
+
"name": "roleId",
|
|
749
|
+
"type": "uint64"
|
|
750
|
+
},
|
|
751
|
+
{
|
|
752
|
+
"internalType": "address",
|
|
753
|
+
"name": "account",
|
|
754
|
+
"type": "address"
|
|
755
|
+
}
|
|
756
|
+
],
|
|
757
|
+
"name": "getAccess",
|
|
758
|
+
"outputs": [
|
|
759
|
+
{
|
|
760
|
+
"internalType": "uint48",
|
|
761
|
+
"name": "since",
|
|
762
|
+
"type": "uint48"
|
|
763
|
+
},
|
|
764
|
+
{
|
|
765
|
+
"internalType": "uint32",
|
|
766
|
+
"name": "currentDelay",
|
|
767
|
+
"type": "uint32"
|
|
768
|
+
},
|
|
769
|
+
{
|
|
770
|
+
"internalType": "uint32",
|
|
771
|
+
"name": "pendingDelay",
|
|
772
|
+
"type": "uint32"
|
|
773
|
+
},
|
|
774
|
+
{
|
|
775
|
+
"internalType": "uint48",
|
|
776
|
+
"name": "effect",
|
|
777
|
+
"type": "uint48"
|
|
778
|
+
}
|
|
779
|
+
],
|
|
780
|
+
"stateMutability": "view",
|
|
781
|
+
"type": "function"
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"inputs": [],
|
|
785
|
+
"name": "getDeposit",
|
|
786
|
+
"outputs": [
|
|
787
|
+
{
|
|
788
|
+
"internalType": "uint256",
|
|
789
|
+
"name": "",
|
|
790
|
+
"type": "uint256"
|
|
791
|
+
}
|
|
792
|
+
],
|
|
793
|
+
"stateMutability": "view",
|
|
794
|
+
"type": "function"
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
"inputs": [
|
|
798
|
+
{
|
|
799
|
+
"internalType": "bytes32",
|
|
800
|
+
"name": "id",
|
|
801
|
+
"type": "bytes32"
|
|
802
|
+
}
|
|
803
|
+
],
|
|
804
|
+
"name": "getNonce",
|
|
805
|
+
"outputs": [
|
|
806
|
+
{
|
|
807
|
+
"internalType": "uint32",
|
|
808
|
+
"name": "",
|
|
809
|
+
"type": "uint32"
|
|
810
|
+
}
|
|
811
|
+
],
|
|
812
|
+
"stateMutability": "view",
|
|
813
|
+
"type": "function"
|
|
814
|
+
},
|
|
815
|
+
{
|
|
816
|
+
"inputs": [],
|
|
817
|
+
"name": "getNonce",
|
|
818
|
+
"outputs": [
|
|
819
|
+
{
|
|
820
|
+
"internalType": "uint256",
|
|
821
|
+
"name": "",
|
|
822
|
+
"type": "uint256"
|
|
823
|
+
}
|
|
824
|
+
],
|
|
825
|
+
"stateMutability": "view",
|
|
826
|
+
"type": "function"
|
|
827
|
+
},
|
|
828
|
+
{
|
|
829
|
+
"inputs": [
|
|
830
|
+
{
|
|
831
|
+
"internalType": "uint64",
|
|
832
|
+
"name": "roleId",
|
|
833
|
+
"type": "uint64"
|
|
834
|
+
}
|
|
835
|
+
],
|
|
836
|
+
"name": "getRoleAdmin",
|
|
837
|
+
"outputs": [
|
|
838
|
+
{
|
|
839
|
+
"internalType": "uint64",
|
|
840
|
+
"name": "",
|
|
841
|
+
"type": "uint64"
|
|
842
|
+
}
|
|
843
|
+
],
|
|
844
|
+
"stateMutability": "view",
|
|
845
|
+
"type": "function"
|
|
846
|
+
},
|
|
847
|
+
{
|
|
848
|
+
"inputs": [
|
|
849
|
+
{
|
|
850
|
+
"internalType": "uint64",
|
|
851
|
+
"name": "roleId",
|
|
852
|
+
"type": "uint64"
|
|
853
|
+
}
|
|
854
|
+
],
|
|
855
|
+
"name": "getRoleGrantDelay",
|
|
856
|
+
"outputs": [
|
|
857
|
+
{
|
|
858
|
+
"internalType": "uint32",
|
|
859
|
+
"name": "",
|
|
860
|
+
"type": "uint32"
|
|
861
|
+
}
|
|
862
|
+
],
|
|
863
|
+
"stateMutability": "view",
|
|
864
|
+
"type": "function"
|
|
865
|
+
},
|
|
866
|
+
{
|
|
867
|
+
"inputs": [
|
|
868
|
+
{
|
|
869
|
+
"internalType": "uint64",
|
|
870
|
+
"name": "roleId",
|
|
871
|
+
"type": "uint64"
|
|
872
|
+
}
|
|
873
|
+
],
|
|
874
|
+
"name": "getRoleGuardian",
|
|
875
|
+
"outputs": [
|
|
876
|
+
{
|
|
877
|
+
"internalType": "uint64",
|
|
878
|
+
"name": "",
|
|
879
|
+
"type": "uint64"
|
|
880
|
+
}
|
|
881
|
+
],
|
|
882
|
+
"stateMutability": "view",
|
|
883
|
+
"type": "function"
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
"inputs": [
|
|
887
|
+
{
|
|
888
|
+
"internalType": "bytes32",
|
|
889
|
+
"name": "id",
|
|
890
|
+
"type": "bytes32"
|
|
891
|
+
}
|
|
892
|
+
],
|
|
893
|
+
"name": "getSchedule",
|
|
894
|
+
"outputs": [
|
|
895
|
+
{
|
|
896
|
+
"internalType": "uint48",
|
|
897
|
+
"name": "",
|
|
898
|
+
"type": "uint48"
|
|
899
|
+
}
|
|
900
|
+
],
|
|
901
|
+
"stateMutability": "view",
|
|
902
|
+
"type": "function"
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
"inputs": [
|
|
906
|
+
{
|
|
907
|
+
"internalType": "address",
|
|
908
|
+
"name": "target",
|
|
909
|
+
"type": "address"
|
|
910
|
+
}
|
|
911
|
+
],
|
|
912
|
+
"name": "getTargetAdminDelay",
|
|
913
|
+
"outputs": [
|
|
914
|
+
{
|
|
915
|
+
"internalType": "uint32",
|
|
916
|
+
"name": "",
|
|
917
|
+
"type": "uint32"
|
|
918
|
+
}
|
|
919
|
+
],
|
|
920
|
+
"stateMutability": "view",
|
|
921
|
+
"type": "function"
|
|
922
|
+
},
|
|
923
|
+
{
|
|
924
|
+
"inputs": [
|
|
925
|
+
{
|
|
926
|
+
"internalType": "address",
|
|
927
|
+
"name": "target",
|
|
928
|
+
"type": "address"
|
|
929
|
+
},
|
|
930
|
+
{
|
|
931
|
+
"internalType": "bytes4",
|
|
932
|
+
"name": "selector",
|
|
933
|
+
"type": "bytes4"
|
|
934
|
+
}
|
|
935
|
+
],
|
|
936
|
+
"name": "getTargetFunctionRole",
|
|
937
|
+
"outputs": [
|
|
938
|
+
{
|
|
939
|
+
"internalType": "uint64",
|
|
940
|
+
"name": "",
|
|
941
|
+
"type": "uint64"
|
|
942
|
+
}
|
|
943
|
+
],
|
|
944
|
+
"stateMutability": "view",
|
|
945
|
+
"type": "function"
|
|
946
|
+
},
|
|
947
|
+
{
|
|
948
|
+
"inputs": [
|
|
949
|
+
{
|
|
950
|
+
"internalType": "uint64",
|
|
951
|
+
"name": "roleId",
|
|
952
|
+
"type": "uint64"
|
|
953
|
+
},
|
|
954
|
+
{
|
|
955
|
+
"internalType": "address",
|
|
956
|
+
"name": "account",
|
|
957
|
+
"type": "address"
|
|
958
|
+
},
|
|
959
|
+
{
|
|
960
|
+
"internalType": "uint32",
|
|
961
|
+
"name": "executionDelay",
|
|
962
|
+
"type": "uint32"
|
|
963
|
+
}
|
|
964
|
+
],
|
|
965
|
+
"name": "grantRole",
|
|
966
|
+
"outputs": [],
|
|
967
|
+
"stateMutability": "nonpayable",
|
|
968
|
+
"type": "function"
|
|
969
|
+
},
|
|
970
|
+
{
|
|
971
|
+
"inputs": [
|
|
972
|
+
{
|
|
973
|
+
"internalType": "uint64",
|
|
974
|
+
"name": "roleId",
|
|
975
|
+
"type": "uint64"
|
|
976
|
+
},
|
|
977
|
+
{
|
|
978
|
+
"internalType": "address",
|
|
979
|
+
"name": "account",
|
|
980
|
+
"type": "address"
|
|
981
|
+
}
|
|
982
|
+
],
|
|
983
|
+
"name": "hasRole",
|
|
984
|
+
"outputs": [
|
|
985
|
+
{
|
|
986
|
+
"internalType": "bool",
|
|
987
|
+
"name": "isMember",
|
|
988
|
+
"type": "bool"
|
|
989
|
+
},
|
|
990
|
+
{
|
|
991
|
+
"internalType": "uint32",
|
|
992
|
+
"name": "executionDelay",
|
|
993
|
+
"type": "uint32"
|
|
994
|
+
}
|
|
995
|
+
],
|
|
996
|
+
"stateMutability": "view",
|
|
997
|
+
"type": "function"
|
|
998
|
+
},
|
|
999
|
+
{
|
|
1000
|
+
"inputs": [
|
|
1001
|
+
{
|
|
1002
|
+
"internalType": "address",
|
|
1003
|
+
"name": "caller",
|
|
1004
|
+
"type": "address"
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
"internalType": "address",
|
|
1008
|
+
"name": "target",
|
|
1009
|
+
"type": "address"
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
"internalType": "bytes",
|
|
1013
|
+
"name": "data",
|
|
1014
|
+
"type": "bytes"
|
|
1015
|
+
}
|
|
1016
|
+
],
|
|
1017
|
+
"name": "hashOperation",
|
|
1018
|
+
"outputs": [
|
|
1019
|
+
{
|
|
1020
|
+
"internalType": "bytes32",
|
|
1021
|
+
"name": "",
|
|
1022
|
+
"type": "bytes32"
|
|
1023
|
+
}
|
|
1024
|
+
],
|
|
1025
|
+
"stateMutability": "view",
|
|
1026
|
+
"type": "function"
|
|
1027
|
+
},
|
|
1028
|
+
{
|
|
1029
|
+
"inputs": [
|
|
1030
|
+
{
|
|
1031
|
+
"internalType": "address",
|
|
1032
|
+
"name": "target",
|
|
1033
|
+
"type": "address"
|
|
1034
|
+
}
|
|
1035
|
+
],
|
|
1036
|
+
"name": "isTargetClosed",
|
|
1037
|
+
"outputs": [
|
|
1038
|
+
{
|
|
1039
|
+
"internalType": "bool",
|
|
1040
|
+
"name": "",
|
|
1041
|
+
"type": "bool"
|
|
1042
|
+
}
|
|
1043
|
+
],
|
|
1044
|
+
"stateMutability": "view",
|
|
1045
|
+
"type": "function"
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
"inputs": [
|
|
1049
|
+
{
|
|
1050
|
+
"internalType": "uint64",
|
|
1051
|
+
"name": "roleId",
|
|
1052
|
+
"type": "uint64"
|
|
1053
|
+
},
|
|
1054
|
+
{
|
|
1055
|
+
"internalType": "string",
|
|
1056
|
+
"name": "label",
|
|
1057
|
+
"type": "string"
|
|
1058
|
+
}
|
|
1059
|
+
],
|
|
1060
|
+
"name": "labelRole",
|
|
1061
|
+
"outputs": [],
|
|
1062
|
+
"stateMutability": "nonpayable",
|
|
1063
|
+
"type": "function"
|
|
1064
|
+
},
|
|
1065
|
+
{
|
|
1066
|
+
"inputs": [],
|
|
1067
|
+
"name": "minSetback",
|
|
1068
|
+
"outputs": [
|
|
1069
|
+
{
|
|
1070
|
+
"internalType": "uint32",
|
|
1071
|
+
"name": "",
|
|
1072
|
+
"type": "uint32"
|
|
1073
|
+
}
|
|
1074
|
+
],
|
|
1075
|
+
"stateMutability": "view",
|
|
1076
|
+
"type": "function"
|
|
1077
|
+
},
|
|
1078
|
+
{
|
|
1079
|
+
"inputs": [
|
|
1080
|
+
{
|
|
1081
|
+
"internalType": "bytes[]",
|
|
1082
|
+
"name": "data",
|
|
1083
|
+
"type": "bytes[]"
|
|
1084
|
+
}
|
|
1085
|
+
],
|
|
1086
|
+
"name": "multicall",
|
|
1087
|
+
"outputs": [
|
|
1088
|
+
{
|
|
1089
|
+
"internalType": "bytes[]",
|
|
1090
|
+
"name": "results",
|
|
1091
|
+
"type": "bytes[]"
|
|
1092
|
+
}
|
|
1093
|
+
],
|
|
1094
|
+
"stateMutability": "nonpayable",
|
|
1095
|
+
"type": "function"
|
|
1096
|
+
},
|
|
1097
|
+
{
|
|
1098
|
+
"inputs": [
|
|
1099
|
+
{
|
|
1100
|
+
"internalType": "uint64",
|
|
1101
|
+
"name": "roleId",
|
|
1102
|
+
"type": "uint64"
|
|
1103
|
+
},
|
|
1104
|
+
{
|
|
1105
|
+
"internalType": "address",
|
|
1106
|
+
"name": "callerConfirmation",
|
|
1107
|
+
"type": "address"
|
|
1108
|
+
}
|
|
1109
|
+
],
|
|
1110
|
+
"name": "renounceRole",
|
|
1111
|
+
"outputs": [],
|
|
1112
|
+
"stateMutability": "nonpayable",
|
|
1113
|
+
"type": "function"
|
|
1114
|
+
},
|
|
1115
|
+
{
|
|
1116
|
+
"inputs": [
|
|
1117
|
+
{
|
|
1118
|
+
"internalType": "uint64",
|
|
1119
|
+
"name": "roleId",
|
|
1120
|
+
"type": "uint64"
|
|
1121
|
+
},
|
|
1122
|
+
{
|
|
1123
|
+
"internalType": "address",
|
|
1124
|
+
"name": "account",
|
|
1125
|
+
"type": "address"
|
|
1126
|
+
}
|
|
1127
|
+
],
|
|
1128
|
+
"name": "revokeRole",
|
|
1129
|
+
"outputs": [],
|
|
1130
|
+
"stateMutability": "nonpayable",
|
|
1131
|
+
"type": "function"
|
|
1132
|
+
},
|
|
1133
|
+
{
|
|
1134
|
+
"inputs": [
|
|
1135
|
+
{
|
|
1136
|
+
"internalType": "address",
|
|
1137
|
+
"name": "target",
|
|
1138
|
+
"type": "address"
|
|
1139
|
+
},
|
|
1140
|
+
{
|
|
1141
|
+
"internalType": "bytes",
|
|
1142
|
+
"name": "data",
|
|
1143
|
+
"type": "bytes"
|
|
1144
|
+
},
|
|
1145
|
+
{
|
|
1146
|
+
"internalType": "uint48",
|
|
1147
|
+
"name": "when",
|
|
1148
|
+
"type": "uint48"
|
|
1149
|
+
}
|
|
1150
|
+
],
|
|
1151
|
+
"name": "schedule",
|
|
1152
|
+
"outputs": [
|
|
1153
|
+
{
|
|
1154
|
+
"internalType": "bytes32",
|
|
1155
|
+
"name": "operationId",
|
|
1156
|
+
"type": "bytes32"
|
|
1157
|
+
},
|
|
1158
|
+
{
|
|
1159
|
+
"internalType": "uint32",
|
|
1160
|
+
"name": "nonce",
|
|
1161
|
+
"type": "uint32"
|
|
1162
|
+
}
|
|
1163
|
+
],
|
|
1164
|
+
"stateMutability": "nonpayable",
|
|
1165
|
+
"type": "function"
|
|
1166
|
+
},
|
|
1167
|
+
{
|
|
1168
|
+
"inputs": [
|
|
1169
|
+
{
|
|
1170
|
+
"internalType": "uint64",
|
|
1171
|
+
"name": "roleId",
|
|
1172
|
+
"type": "uint64"
|
|
1173
|
+
},
|
|
1174
|
+
{
|
|
1175
|
+
"internalType": "uint32",
|
|
1176
|
+
"name": "newDelay",
|
|
1177
|
+
"type": "uint32"
|
|
1178
|
+
}
|
|
1179
|
+
],
|
|
1180
|
+
"name": "setGrantDelay",
|
|
1181
|
+
"outputs": [],
|
|
1182
|
+
"stateMutability": "nonpayable",
|
|
1183
|
+
"type": "function"
|
|
1184
|
+
},
|
|
1185
|
+
{
|
|
1186
|
+
"inputs": [
|
|
1187
|
+
{
|
|
1188
|
+
"internalType": "uint64",
|
|
1189
|
+
"name": "roleId",
|
|
1190
|
+
"type": "uint64"
|
|
1191
|
+
},
|
|
1192
|
+
{
|
|
1193
|
+
"internalType": "uint64",
|
|
1194
|
+
"name": "admin",
|
|
1195
|
+
"type": "uint64"
|
|
1196
|
+
}
|
|
1197
|
+
],
|
|
1198
|
+
"name": "setRoleAdmin",
|
|
1199
|
+
"outputs": [],
|
|
1200
|
+
"stateMutability": "nonpayable",
|
|
1201
|
+
"type": "function"
|
|
1202
|
+
},
|
|
1203
|
+
{
|
|
1204
|
+
"inputs": [
|
|
1205
|
+
{
|
|
1206
|
+
"internalType": "uint64",
|
|
1207
|
+
"name": "roleId",
|
|
1208
|
+
"type": "uint64"
|
|
1209
|
+
},
|
|
1210
|
+
{
|
|
1211
|
+
"internalType": "uint64",
|
|
1212
|
+
"name": "guardian",
|
|
1213
|
+
"type": "uint64"
|
|
1214
|
+
}
|
|
1215
|
+
],
|
|
1216
|
+
"name": "setRoleGuardian",
|
|
1217
|
+
"outputs": [],
|
|
1218
|
+
"stateMutability": "nonpayable",
|
|
1219
|
+
"type": "function"
|
|
1220
|
+
},
|
|
1221
|
+
{
|
|
1222
|
+
"inputs": [
|
|
1223
|
+
{
|
|
1224
|
+
"internalType": "address",
|
|
1225
|
+
"name": "target",
|
|
1226
|
+
"type": "address"
|
|
1227
|
+
},
|
|
1228
|
+
{
|
|
1229
|
+
"internalType": "uint32",
|
|
1230
|
+
"name": "newDelay",
|
|
1231
|
+
"type": "uint32"
|
|
1232
|
+
}
|
|
1233
|
+
],
|
|
1234
|
+
"name": "setTargetAdminDelay",
|
|
1235
|
+
"outputs": [],
|
|
1236
|
+
"stateMutability": "nonpayable",
|
|
1237
|
+
"type": "function"
|
|
1238
|
+
},
|
|
1239
|
+
{
|
|
1240
|
+
"inputs": [
|
|
1241
|
+
{
|
|
1242
|
+
"internalType": "address",
|
|
1243
|
+
"name": "target",
|
|
1244
|
+
"type": "address"
|
|
1245
|
+
},
|
|
1246
|
+
{
|
|
1247
|
+
"internalType": "bool",
|
|
1248
|
+
"name": "closed",
|
|
1249
|
+
"type": "bool"
|
|
1250
|
+
}
|
|
1251
|
+
],
|
|
1252
|
+
"name": "setTargetClosed",
|
|
1253
|
+
"outputs": [],
|
|
1254
|
+
"stateMutability": "nonpayable",
|
|
1255
|
+
"type": "function"
|
|
1256
|
+
},
|
|
1257
|
+
{
|
|
1258
|
+
"inputs": [
|
|
1259
|
+
{
|
|
1260
|
+
"internalType": "address",
|
|
1261
|
+
"name": "target",
|
|
1262
|
+
"type": "address"
|
|
1263
|
+
},
|
|
1264
|
+
{
|
|
1265
|
+
"internalType": "bytes4[]",
|
|
1266
|
+
"name": "selectors",
|
|
1267
|
+
"type": "bytes4[]"
|
|
1268
|
+
},
|
|
1269
|
+
{
|
|
1270
|
+
"internalType": "uint64",
|
|
1271
|
+
"name": "roleId",
|
|
1272
|
+
"type": "uint64"
|
|
1273
|
+
}
|
|
1274
|
+
],
|
|
1275
|
+
"name": "setTargetFunctionRole",
|
|
1276
|
+
"outputs": [],
|
|
1277
|
+
"stateMutability": "nonpayable",
|
|
1278
|
+
"type": "function"
|
|
1279
|
+
},
|
|
1280
|
+
{
|
|
1281
|
+
"inputs": [
|
|
1282
|
+
{
|
|
1283
|
+
"internalType": "address",
|
|
1284
|
+
"name": "target",
|
|
1285
|
+
"type": "address"
|
|
1286
|
+
},
|
|
1287
|
+
{
|
|
1288
|
+
"internalType": "address",
|
|
1289
|
+
"name": "newAuthority",
|
|
1290
|
+
"type": "address"
|
|
1291
|
+
}
|
|
1292
|
+
],
|
|
1293
|
+
"name": "updateAuthority",
|
|
1294
|
+
"outputs": [],
|
|
1295
|
+
"stateMutability": "nonpayable",
|
|
1296
|
+
"type": "function"
|
|
1297
|
+
},
|
|
1298
|
+
{
|
|
1299
|
+
"inputs": [
|
|
1300
|
+
{
|
|
1301
|
+
"components": [
|
|
1302
|
+
{
|
|
1303
|
+
"internalType": "address",
|
|
1304
|
+
"name": "sender",
|
|
1305
|
+
"type": "address"
|
|
1306
|
+
},
|
|
1307
|
+
{
|
|
1308
|
+
"internalType": "uint256",
|
|
1309
|
+
"name": "nonce",
|
|
1310
|
+
"type": "uint256"
|
|
1311
|
+
},
|
|
1312
|
+
{
|
|
1313
|
+
"internalType": "bytes",
|
|
1314
|
+
"name": "initCode",
|
|
1315
|
+
"type": "bytes"
|
|
1316
|
+
},
|
|
1317
|
+
{
|
|
1318
|
+
"internalType": "bytes",
|
|
1319
|
+
"name": "callData",
|
|
1320
|
+
"type": "bytes"
|
|
1321
|
+
},
|
|
1322
|
+
{
|
|
1323
|
+
"internalType": "bytes32",
|
|
1324
|
+
"name": "accountGasLimits",
|
|
1325
|
+
"type": "bytes32"
|
|
1326
|
+
},
|
|
1327
|
+
{
|
|
1328
|
+
"internalType": "uint256",
|
|
1329
|
+
"name": "preVerificationGas",
|
|
1330
|
+
"type": "uint256"
|
|
1331
|
+
},
|
|
1332
|
+
{
|
|
1333
|
+
"internalType": "bytes32",
|
|
1334
|
+
"name": "gasFees",
|
|
1335
|
+
"type": "bytes32"
|
|
1336
|
+
},
|
|
1337
|
+
{
|
|
1338
|
+
"internalType": "bytes",
|
|
1339
|
+
"name": "paymasterAndData",
|
|
1340
|
+
"type": "bytes"
|
|
1341
|
+
},
|
|
1342
|
+
{
|
|
1343
|
+
"internalType": "bytes",
|
|
1344
|
+
"name": "signature",
|
|
1345
|
+
"type": "bytes"
|
|
1346
|
+
}
|
|
1347
|
+
],
|
|
1348
|
+
"internalType": "struct PackedUserOperation",
|
|
1349
|
+
"name": "userOp",
|
|
1350
|
+
"type": "tuple"
|
|
1351
|
+
},
|
|
1352
|
+
{
|
|
1353
|
+
"internalType": "bytes32",
|
|
1354
|
+
"name": "userOpHash",
|
|
1355
|
+
"type": "bytes32"
|
|
1356
|
+
},
|
|
1357
|
+
{
|
|
1358
|
+
"internalType": "uint256",
|
|
1359
|
+
"name": "missingAccountFunds",
|
|
1360
|
+
"type": "uint256"
|
|
1361
|
+
}
|
|
1362
|
+
],
|
|
1363
|
+
"name": "validateUserOp",
|
|
1364
|
+
"outputs": [
|
|
1365
|
+
{
|
|
1366
|
+
"internalType": "uint256",
|
|
1367
|
+
"name": "validationData",
|
|
1368
|
+
"type": "uint256"
|
|
1369
|
+
}
|
|
1370
|
+
],
|
|
1371
|
+
"stateMutability": "nonpayable",
|
|
1372
|
+
"type": "function"
|
|
1373
|
+
},
|
|
1374
|
+
{
|
|
1375
|
+
"inputs": [
|
|
1376
|
+
{
|
|
1377
|
+
"internalType": "address payable",
|
|
1378
|
+
"name": "withdrawAddress",
|
|
1379
|
+
"type": "address"
|
|
1380
|
+
},
|
|
1381
|
+
{
|
|
1382
|
+
"internalType": "uint256",
|
|
1383
|
+
"name": "amount",
|
|
1384
|
+
"type": "uint256"
|
|
1385
|
+
}
|
|
1386
|
+
],
|
|
1387
|
+
"name": "withdrawDepositTo",
|
|
1388
|
+
"outputs": [],
|
|
1389
|
+
"stateMutability": "nonpayable",
|
|
1390
|
+
"type": "function"
|
|
1391
|
+
},
|
|
1392
|
+
{
|
|
1393
|
+
"stateMutability": "payable",
|
|
1394
|
+
"type": "receive"
|
|
1395
|
+
}
|
|
1396
|
+
],
|
|
1397
|
+
"bytecode": "0x60a06040523480156200001157600080fd5b50604051620064853803806200648583398181016040528101906200003791906200084d565b80600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ad5760006040517f0813ada2000000000000000000000000000000000000000000000000000000008152600401620000a49190620008a5565b60405180910390fd5b620000c36000826000806200010160201b60201c565b50508173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050505062000af3565b600067ffffffffffffffff80168567ffffffffffffffff16036200015e57846040517f1871a90c000000000000000000000000000000000000000000000000000000008152600401620001559190620008e7565b60405180910390fd5b600080600160008867ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900465ffffffffffff1665ffffffffffff161490506000811562000330578463ffffffff1662000209620004ed60201b60201c565b62000215919062000945565b905060405180604001604052808265ffffffffffff168152602001620002478663ffffffff166200050560201b60201c565b6dffffffffffffffffffffffffffff16815250600160008967ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff16021790555090505062000481565b620003dc846000600160008b67ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160069054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff166200051560201b9092919060201c565b600160008a67ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160068294508391906101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff16021790555050505b8573ffffffffffffffffffffffffffffffffffffffff168767ffffffffffffffff167ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf868486604051620004d893929190620009d5565b60405180910390a38192505050949350505050565b60006200050042620005cd60201b60201c565b905090565b60008163ffffffff169050919050565b60008060006200053b866dffffffffffffffffffffffffffff166200062a60201b60201c565b90506000620005878563ffffffff168763ffffffff168463ffffffff16116200056657600062000575565b878462000574919062000a12565b5b63ffffffff166200065b60201b60201c565b90508063ffffffff16620005a0620004ed60201b60201c565b620005ac919062000945565b9250620005c18287856200067660201b60201c565b93505050935093915050565b600065ffffffffffff801682111562000622576030826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016200061992919062000ac6565b60405180910390fd5b819050919050565b6000806200064e836dffffffffffffffffffffffffffff16620006c260201b60201c565b5050905080915050919050565b60008183116200066c57816200066e565b825b905092915050565b60008263ffffffff1660208563ffffffff166dffffffffffffffffffffffffffff16901b60408465ffffffffffff166dffffffffffffffffffffffffffff16901b171790509392505050565b6000806000620006e884620006dc620004ed60201b60201c565b620006f560201b60201c565b9250925092509193909250565b6000806000806000806200071f886dffffffffffffffffffffffffffff166200075c60201b60201c565b9250925092508665ffffffffffff168165ffffffffffff16111562000747578282826200074c565b816000805b9550955095505050509250925092565b6000806000808490508092506020816dffffffffffffffffffffffffffff16901c93506040816dffffffffffffffffffffffffffff16901c9150509193909250565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007d082620007a3565b9050919050565b6000620007e482620007c3565b9050919050565b620007f681620007d7565b81146200080257600080fd5b50565b6000815190506200081681620007eb565b92915050565b6200082781620007c3565b81146200083357600080fd5b50565b60008151905062000847816200081c565b92915050565b600080604083850312156200086757620008666200079e565b5b6000620008778582860162000805565b92505060206200088a8582860162000836565b9150509250929050565b6200089f81620007c3565b82525050565b6000602082019050620008bc600083018462000894565b92915050565b600067ffffffffffffffff82169050919050565b620008e181620008c2565b82525050565b6000602082019050620008fe6000830184620008d6565b92915050565b600065ffffffffffff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620009528262000904565b91506200095f8362000904565b9250828201905065ffffffffffff81111562000980576200097f62000916565b5b92915050565b600063ffffffff82169050919050565b620009a18162000986565b82525050565b620009b28162000904565b82525050565b60008115159050919050565b620009cf81620009b8565b82525050565b6000606082019050620009ec600083018662000996565b620009fb6020830185620009a7565b62000a0a6040830184620009c4565b949350505050565b600062000a1f8262000986565b915062000a2c8362000986565b9250828203905063ffffffff81111562000a4b5762000a4a62000916565b5b92915050565b6000819050919050565b600060ff82169050919050565b6000819050919050565b600062000a9362000a8d62000a878462000a51565b62000a68565b62000a5b565b9050919050565b62000aa58162000a72565b82525050565b6000819050919050565b62000ac08162000aab565b82525050565b600060408201905062000add600083018562000a9a565b62000aec602083018462000ab5565b9392505050565b60805161597662000b0f600039600061158501526159766000f3fe6080604052600436106102345760003560e01c80636d5115bd1161012e578063b7009613116100ab578063d1f856ee1161006f578063d1f856ee146108b0578063d22b5989146108ee578063d6bb62c614610917578063f801a69814610954578063fe0776f5146109925761023b565b8063b7009613146107c8578063b7d2b16214610806578063c399ec881461082f578063cc1b6c811461085a578063d087d288146108855761023b565b8063a64d95ce116100f2578063a64d95ce146106d1578063abd9bd2a146106fa578063ac9650d814610737578063b0d691fe14610774578063b61d27f61461079f5761023b565b80636d5115bd146105da57806375b238fc14610617578063853551b81461064257806394c7d7ee1461066b578063a166aa89146106945761023b565b806330cae187116101bc5780634a58db19116101805780634a58db19146105045780634c1da1e21461050e5780634d44560d1461054b5780635296295214610574578063530dd4561461059d5761023b565b806330cae1871461040b5780633adc277a146104345780633ca7c02a146104715780634136a33c1461049c5780634665096d146104d95761023b565b806318ff183c1161020357806318ff183c1461030c57806319822f7c146103355780631cff79cd1461037257806325c471a0146103a25780633078f114146103cb5761023b565b806308d6122d146102405780630b0a93ba1461026957806312be8727146102a6578063167bd395146102e35761023b565b3661023b57005b600080fd5b34801561024c57600080fd5b50610267600480360381019061026291906140fc565b6109bb565b005b34801561027557600080fd5b50610290600480360381019061028b9190614170565b610a15565b60405161029d91906141ac565b60405180910390f35b3480156102b257600080fd5b506102cd60048036038101906102c89190614170565b610a5d565b6040516102da91906141e6565b60405180910390f35b3480156102ef57600080fd5b5061030a60048036038101906103059190614239565b610ac3565b005b34801561031857600080fd5b50610333600480360381019061032e9190614279565b610ad9565b005b34801561034157600080fd5b5061035c6004803603810190610357919061434a565b610b50565b60405161036991906143c8565b60405180910390f35b61038c60048036038101906103879190614439565b610b83565b60405161039991906141e6565b60405180910390f35b3480156103ae57600080fd5b506103c960048036038101906103c491906144c5565b610cd6565b005b3480156103d757600080fd5b506103f260048036038101906103ed9190614518565b610cf8565b6040516104029493929190614579565b60405180910390f35b34801561041757600080fd5b50610432600480360381019061042d91906145be565b610dcf565b005b34801561044057600080fd5b5061045b600480360381019061045691906145fe565b610de5565b604051610468919061462b565b60405180910390f35b34801561047d57600080fd5b50610486610e31565b60405161049391906141ac565b60405180910390f35b3480156104a857600080fd5b506104c360048036038101906104be91906145fe565b610e3d565b6040516104d091906141e6565b60405180910390f35b3480156104e557600080fd5b506104ee610e6d565b6040516104fb91906141e6565b60405180910390f35b61050c610e78565b005b34801561051a57600080fd5b5061053560048036038101906105309190614646565b610eed565b60405161054291906141e6565b60405180910390f35b34801561055757600080fd5b50610572600480360381019061056d91906146b1565b610f6a565b005b34801561058057600080fd5b5061059b600480360381019061059691906145be565b610ffd565b005b3480156105a957600080fd5b506105c460048036038101906105bf9190614170565b611013565b6040516105d191906141ac565b60405180910390f35b3480156105e657600080fd5b5061060160048036038101906105fc9190614749565b61105b565b60405161060e91906141ac565b60405180910390f35b34801561062357600080fd5b5061062c61110a565b60405161063991906141ac565b60405180910390f35b34801561064e57600080fd5b50610669600480360381019061066491906147df565b61110f565b005b34801561067757600080fd5b50610692600480360381019061068d9190614439565b6111d8565b005b3480156106a057600080fd5b506106bb60048036038101906106b69190614646565b6112f6565b6040516106c8919061484e565b60405180910390f35b3480156106dd57600080fd5b506106f860048036038101906106f39190614869565b61134e565b005b34801561070657600080fd5b50610721600480360381019061071c91906148a9565b611364565b60405161072e919061492c565b60405180910390f35b34801561074357600080fd5b5061075e6004803603810190610759919061499d565b61139d565b60405161076b9190614b3c565b60405180910390f35b34801561078057600080fd5b50610789611581565b6040516107969190614bbd565b60405180910390f35b3480156107ab57600080fd5b506107c660048036038101906107c19190614bd8565b6115a9565b005b3480156107d457600080fd5b506107ef60048036038101906107ea9190614c4c565b611607565b6040516107fd929190614c9f565b60405180910390f35b34801561081257600080fd5b5061082d60048036038101906108289190614518565b6116b4565b005b34801561083b57600080fd5b506108446116cb565b60405161085191906143c8565b60405180910390f35b34801561086657600080fd5b5061086f611753565b60405161087c91906141e6565b60405180910390f35b34801561089157600080fd5b5061089a61175e565b6040516108a791906143c8565b60405180910390f35b3480156108bc57600080fd5b506108d760048036038101906108d29190614518565b6117e9565b6040516108e5929190614c9f565b60405180910390f35b3480156108fa57600080fd5b5061091560048036038101906109109190614cc8565b611866565b005b34801561092357600080fd5b5061093e600480360381019061093991906148a9565b61187c565b60405161094b91906141e6565b60405180910390f35b34801561096057600080fd5b5061097b60048036038101906109769190614d34565b611a6f565b604051610989929190614da8565b60405180910390f35b34801561099e57600080fd5b506109b960048036038101906109b49190614518565b611c53565b005b6109c3611cce565b60005b83839050811015610a0e57610a03858585848181106109e8576109e7614dd1565b5b90506020020160208101906109fd9190614e00565b84611d7b565b8060010190506109c6565b5050505050565b6000600160008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160089054906101000a900467ffffffffffffffff169050919050565b6000610abc600160008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160109054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16611e90565b9050919050565b610acb611cce565b610ad58282611eb9565b5050565b610ae1611cce565b8173ffffffffffffffffffffffffffffffffffffffff16637a9e5e4b826040518263ffffffff1660e01b8152600401610b1a9190614e3c565b600060405180830381600087803b158015610b3457600080fd5b505af1158015610b48573d6000803e3d6000fd5b505050505050565b6000610b5a611fd4565b610b64848461204b565b9050610b738460200135612277565b610b7c8261227a565b9392505050565b600080610b8e612316565b9050600080610b9f8388888861231e565b9150915081158015610bb7575060008163ffffffff16145b15610c06578287610bc8888861239e565b6040517f81c6f24b000000000000000000000000000000000000000000000000000000008152600401610bfd93929190614e66565b60405180910390fd5b6000610c1484898989611364565b90506000808363ffffffff16141580610c3e57506000610c3383610de5565b65ffffffffffff1614155b15610c4f57610c4c826123c7565b90505b60006003549050610c698a610c648b8b61239e565b61257d565b600381905550610cbe8a8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050346125b0565b50806003819055508196505050505050509392505050565b610cde611cce565b610cf28383610cec86610a5d565b8461267d565b50505050565b6000806000806000600160008867ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160009054906101000a900465ffffffffffff169450610db98160000160069054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16612a4e565b8094508195508296505050505092959194509250565b610dd7611cce565b610de18282612a71565b5050565b6000806002600084815260200190815260200160002060000160009054906101000a900465ffffffffffff169050610e1c81612b80565b610e265780610e29565b60005b915050919050565b67ffffffffffffffff81565b60006002600083815260200190815260200160002060000160069054906101000a900463ffffffff169050919050565b600062093a80905090565b610e80611581565b73ffffffffffffffffffffffffffffffffffffffff1663b760faf934306040518363ffffffff1660e01b8152600401610eb99190614e3c565b6000604051808303818588803b158015610ed257600080fd5b505af1158015610ee6573d6000803e3d6000fd5b5050505050565b6000610f636000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16611e90565b9050919050565b610f84610f75612316565b610f7d612bbc565b6001612bc9565b50610f8d611581565b73ffffffffffffffffffffffffffffffffffffffff1663205c287883836040518363ffffffff1660e01b8152600401610fc7929190614eac565b600060405180830381600087803b158015610fe157600080fd5b505af1158015610ff5573d6000803e3d6000fd5b505050505050565b611005611cce565b61100f8282612cc7565b5050565b6000600160008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160009054906101000a900467ffffffffffffffff169050919050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900467ffffffffffffffff16905092915050565b600081565b611117611cce565b600067ffffffffffffffff168367ffffffffffffffff16148061114d575067ffffffffffffffff80168367ffffffffffffffff16145b1561118f57826040517f1871a90c00000000000000000000000000000000000000000000000000000000815260040161118691906141ac565b60405180910390fd5b8267ffffffffffffffff167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a45083836040516111cb929190614f22565b60405180910390a2505050565b60006111e2612316565b9050638fb3603760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168173ffffffffffffffffffffffffffffffffffffffff16638fb360376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611256573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127a9190614f5b565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146112db57806040517f320ff7480000000000000000000000000000000000000000000000000000000081526004016112d29190614e3c565b60405180910390fd5b6112ef6112ea85838686611364565b6123c7565b5050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600e9054906101000a900460ff169050919050565b611356611cce565b6113608282612dd6565b5050565b60008484848460405160200161137d9493929190614fc6565b604051602081830303815290604052805190602001209050949350505050565b606060006113a9612316565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461144c576000366113e6612f4d565b60003690506113f59190615035565b90809261140493929190615073565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061149b565b600067ffffffffffffffff811115611467576114666150ae565b5b6040519080825280601f01601f1916602001820160405280156114995781602001600182028036833780820191505090505b505b90508383905067ffffffffffffffff8111156114ba576114b96150ae565b5b6040519080825280602002602001820160405280156114ed57816020015b60608152602001906001900390816114d85790505b50915060005b848490508110156115795761154e3086868481811061151557611514614dd1565b5b905060200281019061152791906150ec565b8560405160200161153a939291906151b0565b604051602081830303815290604052612f52565b83828151811061156157611560614dd1565b5b602002602001018190525080806001019150506114f3565b505092915050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b6115b1611fd4565b6116008483838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050856125b0565b5050505050565b600080611613846112f6565b1561162457600080915091506116ac565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361166c576116618484612fd6565b6000915091506116ac565b6000611678858561105b565b905060008061168783896117e9565b9150915081611698576000806116a4565b60008163ffffffff1614815b945094505050505b935093915050565b6116bc611cce565b6116c68282612fee565b505050565b60006116d5611581565b73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161170d9190614e3c565b602060405180830381865afa15801561172a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174e91906151eb565b905090565b600062069780905090565b6000611768611581565b73ffffffffffffffffffffffffffffffffffffffff166335567e1a3060006040518363ffffffff1660e01b81526004016117a3929190615277565b602060405180830381865afa1580156117c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e491906151eb565b905090565b60008067ffffffffffffffff80168467ffffffffffffffff160361181457600160009150915061185f565b6000806118218686610cf8565b50509150915060008265ffffffffffff161415801561185757506118436131da565b65ffffffffffff168265ffffffffffff1611155b819350935050505b9250929050565b61186e611cce565b61187882826131ea565b5050565b600080611887612316565b90506000611895858561239e565b905060006118a588888888611364565b905060006002600083815260200190815260200160002060000160009054906101000a900465ffffffffffff1665ffffffffffff160361191c57806040517f60a299b0000000000000000000000000000000000000000000000000000000008152600401611913919061492c565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146119d657600061195c6000856117e9565b509050600061197c6119766119718b8761105b565b610a15565b866117e9565b5090508115801561198b575080155b156119d357848a8a866040517f3fe2751c0000000000000000000000000000000000000000000000000000000081526004016119ca94939291906152a0565b60405180910390fd5b50505b6002600082815260200190815260200160002060000160006101000a81549065ffffffffffff021916905560006002600083815260200190815260200160002060000160069054906101000a900463ffffffff1690508063ffffffff16827fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f760405160405180910390a380945050505050949350505050565b6000806000611a7c612316565b90506000611a8c8289898961231e565b91505060008163ffffffff16611aa06131da565b611aaa91906152e5565b905060008263ffffffff161480611ae4575060008665ffffffffffff16118015611ae357508065ffffffffffff168665ffffffffffff16105b5b15611b33578289611af58a8a61239e565b6040517f81c6f24b000000000000000000000000000000000000000000000000000000008152600401611b2a93929190614e66565b60405180910390fd5b611b4d8665ffffffffffff168265ffffffffffff16613343565b9550611b5b838a8a8a611364565b9450611b668561335c565b60016002600087815260200190815260200160002060000160069054906101000a900463ffffffff16019350856002600087815260200190815260200160002060000160006101000a81548165ffffffffffff021916908365ffffffffffff160217905550836002600087815260200190815260200160002060000160066101000a81548163ffffffff021916908363ffffffff1602179055508363ffffffff16857f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b488868d8d8d604051611c3f95949392919061531f565b60405180910390a350505094509492505050565b611c5b612316565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611cbf576040517f5f159e6300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cc98282612fee565b505050565b6000611cd8612316565b9050600080611cee83611ce9612bbc565b6133ee565b9150915081611d765760008163ffffffff1603611d5a576000611d17611d12612bbc565b6134dc565b5091505083816040517ff07e038f000000000000000000000000000000000000000000000000000000008152600401611d5192919061536d565b60405180910390fd5b611d74611d6f8430611d6a612bbc565b611364565b6123c7565b505b505050565b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508067ffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde94915184604051611e839190615396565b60405180910390a3505050565b600080611eac836dffffffffffffffffffffffffffff16612a4e565b5050905080915050919050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f2957816040517f5a068bc8000000000000000000000000000000000000000000000000000000008152600401611f209190614e3c565b60405180910390fd5b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600e6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb13882604051611fc8919061484e565b60405180910390a25050565b611fdc611581565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612049576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612040906153fd565b60405180910390fd5b565b60008083806060019061205e91906150ec565b60009060049261207093929190615073565b9061207b9190615435565b90507fb61d27f68746b0955d4867ce6e77d35c62208909547ca5c62d2a533c00d5b8377bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461211f57806040517fd4d202fb0000000000000000000000000000000000000000000000000000000081526004016121169190615396565b60405180910390fd5b600084806060019061213191906150ec565b60049060249261214393929190615073565b8101906121509190615494565b90503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036121b7576040517ffcd888ca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006121c2856138c4565b9050600061222382888061010001906121db91906150ec565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506138fa565b90506122408188806060019061223991906150ec565b6000612bc9565b612251576001945050505050612271565b61226a8188806060019061226591906150ec565b613926565b9450505050505b92915050565b50565b600081146123135760003373ffffffffffffffffffffffffffffffffffffffff16827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff906040516122ca906154e7565b600060405180830381858888f193505050503d8060008114612308576040519150601f19603f3d011682016040523d82523d6000602084013e61230d565b606091505b50509050505b50565b600033905090565b6000803073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036123685761235f8685856133ee565b91509150612395565b6004848490501061238c576123878686612382878761239e565b611607565b612390565b6000805b915091505b94509492505050565b600082826000906004926123b493929190615073565b906123bf9190615435565b905092915050565b6000806002600084815260200190815260200160002060000160009054906101000a900465ffffffffffff16905060006002600085815260200190815260200160002060000160069054906101000a900463ffffffff16905060008265ffffffffffff160361246d57836040517f60a299b0000000000000000000000000000000000000000000000000000000008152600401612464919061492c565b60405180910390fd5b6124756131da565b65ffffffffffff168265ffffffffffff1611156124c957836040517f18cb6b7a0000000000000000000000000000000000000000000000000000000081526004016124c0919061492c565b60405180910390fd5b6124d282612b80565b1561251457836040517f78a5d6e400000000000000000000000000000000000000000000000000000000815260040161250b919061492c565b60405180910390fd5b6002600085815260200190815260200160002060000160006101000a81549065ffffffffffff02191690558063ffffffff16847f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d60405160405180910390a38092505050919050565b600082826040516020016125929291906154fc565b60405160208183030381529060405280519060200120905092915050565b6060814710156125f757306040517fcd7860590000000000000000000000000000000000000000000000000000000081526004016125ee9190614e3c565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1684866040516126209190615525565b60006040518083038185875af1925050503d806000811461265d576040519150601f19603f3d011682016040523d82523d6000602084013e612662565b606091505b50915091506126728683836139d9565b925050509392505050565b600067ffffffffffffffff80168567ffffffffffffffff16036126d757846040517f1871a90c0000000000000000000000000000000000000000000000000000000081526004016126ce91906141ac565b60405180910390fd5b600080600160008867ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900465ffffffffffff1665ffffffffffff1614905060008115612895578463ffffffff166127796131da565b61278391906152e5565b905060405180604001604052808265ffffffffffff1681526020016127ad8663ffffffff16613a68565b6dffffffffffffffffffffffffffff16815250600160008967ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff1602179055509050506129e4565b61293f846000600160008b67ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160069054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16613a789092919063ffffffff16565b600160008a67ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160068294508391906101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff16021790555050505b8573ffffffffffffffffffffffffffffffffffffffff168767ffffffffffffffff167ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf868486604051612a399392919061553c565b60405180910390a38192505050949350505050565b6000806000612a6484612a5f6131da565b613b0a565b9250925092509193909250565b600067ffffffffffffffff168267ffffffffffffffff161480612aa7575067ffffffffffffffff80168267ffffffffffffffff16145b15612ae957816040517f1871a90c000000000000000000000000000000000000000000000000000000008152600401612ae091906141ac565b60405180910390fd5b80600160008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508067ffffffffffffffff168267ffffffffffffffff167f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e634060405160405180910390a35050565b6000612b8a6131da565b65ffffffffffff16612b9a610e6d565b63ffffffff1683612bab91906152e5565b65ffffffffffff1611159050919050565b3660008036915091509091565b6000806000612bf787308888600090600492612be793929190615073565b90612bf29190615435565b611607565b9150915081612cb85760008163ffffffff161115612c41576040517f99ec076b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8315612cad5786612c70308888600090600492612c6093929190615073565b90612c6b9190615435565b61105b565b6040517ff07e038f000000000000000000000000000000000000000000000000000000008152600401612ca492919061536d565b60405180910390fd5b600092505050612cbf565b6001925050505b949350505050565b600067ffffffffffffffff168267ffffffffffffffff161480612cfd575067ffffffffffffffff80168267ffffffffffffffff16145b15612d3f57816040517f1871a90c000000000000000000000000000000000000000000000000000000008152600401612d3691906141ac565b60405180910390fd5b80600160008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508067ffffffffffffffff168267ffffffffffffffff167f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae260405160405180910390a35050565b67ffffffffffffffff80168267ffffffffffffffff1603612e2e57816040517f1871a90c000000000000000000000000000000000000000000000000000000008152600401612e2591906141ac565b60405180910390fd5b6000612ea082612e3c611753565b600160008767ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160109054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16613a789092919063ffffffff16565b600160008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160108294508391906101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff16021790555050508267ffffffffffffffff167ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b488383604051612f40929190615573565b60405180910390a2505050565b600090565b60606000808473ffffffffffffffffffffffffffffffffffffffff1684604051612f7c9190615525565b600060405180830381855af49150503d8060008114612fb7576040519150601f19603f3d011682016040523d82523d6000602084013e612fbc565b606091505b5091509150612fcc8583836139d9565b9250505092915050565b6000612fe2838361257d565b60035414905092915050565b600067ffffffffffffffff80168367ffffffffffffffff160361304857826040517f1871a90c00000000000000000000000000000000000000000000000000000000815260040161303f91906141ac565b60405180910390fd5b6000600160008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900465ffffffffffff1665ffffffffffff16036130dd57600090506131d4565b600160008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549065ffffffffffff02191690556000820160066101000a8154906dffffffffffffffffffffffffffff021916905550508173ffffffffffffffffffffffffffffffffffffffff168367ffffffffffffffff167ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16660405160405180910390a3600190505b92915050565b60006131e542613b67565b905090565b6000613273826131f8611753565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16613a789092919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008294508391906101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff16021790555050508273ffffffffffffffffffffffffffffffffffffffff167fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c8383604051613336929190615573565b60405180910390a2505050565b60008183116133525781613354565b825b905092915050565b60006002600083815260200190815260200160002060000160009054906101000a900465ffffffffffff16905060008165ffffffffffff16141580156133a857506133a681612b80565b155b156133ea57816040517f813e94590000000000000000000000000000000000000000000000000000000081526004016133e1919061492c565b60405180910390fd5b5050565b600080600484849050101561340957600080915091506134d4565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361345a5761344f3061344a868661239e565b612fd6565b6000915091506134d4565b600080600061346987876134dc565b9250925092508261348357600080945094505050506134d4565b600080613490848b6117e9565b91509150816134aa576000809650965050505050506134d4565b6134c08363ffffffff168263ffffffff16613343565b955060008663ffffffff1614965050505050505b935093915050565b600080600060048585905010156134fd5760008060009250925092506138bd565b6000613509868661239e565b905063853551b860e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806135a257506330cae18760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806135f15750635296295260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80613640575063a64d95ce60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061368f575063d22b598960e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156136a5576001600080935093509350506138bd565b6318ff183c60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061373c575063167bd39560e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061378b57506308d6122d60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156137d557600086866004906024926137a693929190615073565b8101906137b39190615494565b905060006137c082610eed565b905060016000829550955095505050506138bd565b6325c471a060e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061386c575063b7d2b16260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156138b0576000868660049060249261388793929190615073565b8101906138949190614170565b905060016138a182611013565b600094509450945050506138bd565b6000806000935093509350505b9250925092565b60007f19457468657265756d205369676e6564204d6573736167653a0a33320000000060005281601c52603c6000209050919050565b60008060008061390a8686613bc1565b92509250925061391a8282613c1d565b82935050505092915050565b600080600084846004906004888890506139409190615035565b9261394d93929190615073565b81019061395a919061568e565b9250509150600080613980888561397b600087613d8190919063ffffffff16565b611607565b915091508180613996575060008163ffffffff16145b156139b557816139a75760016139aa565b60005b9450505050506139d2565b6139c86139c3898686613de8565b6123c7565b5060009450505050505b9392505050565b6060826139ee576139e982613e1e565b613a60565b60008251148015613a16575060008473ffffffffffffffffffffffffffffffffffffffff163b145b15613a5857836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401613a4f9190614e3c565b60405180910390fd5b819050613a61565b5b9392505050565b60008163ffffffff169050919050565b6000806000613a96866dffffffffffffffffffffffffffff16611e90565b90506000613ad68563ffffffff168763ffffffff168463ffffffff1611613abe576000613acb565b8784613aca91906156fd565b5b63ffffffff16613343565b90508063ffffffff16613ae76131da565b613af191906152e5565b9250613afe828785613e63565b93505050935093915050565b600080600080600080613b2c886dffffffffffffffffffffffffffff16613eaf565b9250925092508665ffffffffffff168165ffffffffffff161115613b5257828282613b57565b816000805b9550955095505050509250925092565b600065ffffffffffff8016821115613bb9576030826040517f6dfcc650000000000000000000000000000000000000000000000000000000008152600401613bb092919061577d565b60405180910390fd5b819050919050565b60008060006041845103613c065760008060006020870151925060408701519150606087015160001a9050613bf888828585613ef1565b955095509550505050613c16565b60006002855160001b9250925092505b9250925092565b60006003811115613c3157613c306157a6565b5b826003811115613c4457613c436157a6565b5b0315613d7d5760016003811115613c5e57613c5d6157a6565b5b826003811115613c7157613c706157a6565b5b03613ca8576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60026003811115613cbc57613cbb6157a6565b5b826003811115613ccf57613cce6157a6565b5b03613d14578060001c6040517ffce698f7000000000000000000000000000000000000000000000000000000008152600401613d0b91906143c8565b60405180910390fd5b600380811115613d2757613d266157a6565b5b826003811115613d3a57613d396157a6565b5b03613d7c57806040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600401613d73919061492c565b60405180910390fd5b5b5050565b6000602082613d9091906157d5565b83511015613dd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613dca90615855565b60405180910390fd5b60008260208501015190508091505092915050565b6000838383604051602001613dff939291906158ae565b6040516020818303038152906040528051906020012090509392505050565b600081511115613e315780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008263ffffffff1660208563ffffffff166dffffffffffffffffffffffffffff16901b60408465ffffffffffff166dffffffffffffffffffffffffffff16901b171790509392505050565b6000806000808490508092506020816dffffffffffffffffffffffffffff16901c93506040816dffffffffffffffffffffffffffff16901c9150509193909250565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115613f31576000600385925092509250613fdb565b600060018888888860405160008152602001604052604051613f5694939291906158fb565b6020604051602081039080840390855afa158015613f78573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613fcc57600060016000801b93509350935050613fdb565b8060008060001b935093509350505b9450945094915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061402482613ff9565b9050919050565b61403481614019565b811461403f57600080fd5b50565b6000813590506140518161402b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261407c5761407b614057565b5b8235905067ffffffffffffffff8111156140995761409861405c565b5b6020830191508360208202830111156140b5576140b4614061565b5b9250929050565b600067ffffffffffffffff82169050919050565b6140d9816140bc565b81146140e457600080fd5b50565b6000813590506140f6816140d0565b92915050565b6000806000806060858703121561411657614115613fef565b5b600061412487828801614042565b945050602085013567ffffffffffffffff81111561414557614144613ff4565b5b61415187828801614066565b93509350506040614164878288016140e7565b91505092959194509250565b60006020828403121561418657614185613fef565b5b6000614194848285016140e7565b91505092915050565b6141a6816140bc565b82525050565b60006020820190506141c1600083018461419d565b92915050565b600063ffffffff82169050919050565b6141e0816141c7565b82525050565b60006020820190506141fb60008301846141d7565b92915050565b60008115159050919050565b61421681614201565b811461422157600080fd5b50565b6000813590506142338161420d565b92915050565b600080604083850312156142505761424f613fef565b5b600061425e85828601614042565b925050602061426f85828601614224565b9150509250929050565b600080604083850312156142905761428f613fef565b5b600061429e85828601614042565b92505060206142af85828601614042565b9150509250929050565b600080fd5b600061012082840312156142d5576142d46142b9565b5b81905092915050565b6000819050919050565b6142f1816142de565b81146142fc57600080fd5b50565b60008135905061430e816142e8565b92915050565b6000819050919050565b61432781614314565b811461433257600080fd5b50565b6000813590506143448161431e565b92915050565b60008060006060848603121561436357614362613fef565b5b600084013567ffffffffffffffff81111561438157614380613ff4565b5b61438d868287016142be565b935050602061439e868287016142ff565b92505060406143af86828701614335565b9150509250925092565b6143c281614314565b82525050565b60006020820190506143dd60008301846143b9565b92915050565b60008083601f8401126143f9576143f8614057565b5b8235905067ffffffffffffffff8111156144165761441561405c565b5b60208301915083600182028301111561443257614431614061565b5b9250929050565b60008060006040848603121561445257614451613fef565b5b600061446086828701614042565b935050602084013567ffffffffffffffff81111561448157614480613ff4565b5b61448d868287016143e3565b92509250509250925092565b6144a2816141c7565b81146144ad57600080fd5b50565b6000813590506144bf81614499565b92915050565b6000806000606084860312156144de576144dd613fef565b5b60006144ec868287016140e7565b93505060206144fd86828701614042565b925050604061450e868287016144b0565b9150509250925092565b6000806040838503121561452f5761452e613fef565b5b600061453d858286016140e7565b925050602061454e85828601614042565b9150509250929050565b600065ffffffffffff82169050919050565b61457381614558565b82525050565b600060808201905061458e600083018761456a565b61459b60208301866141d7565b6145a860408301856141d7565b6145b5606083018461456a565b95945050505050565b600080604083850312156145d5576145d4613fef565b5b60006145e3858286016140e7565b92505060206145f4858286016140e7565b9150509250929050565b60006020828403121561461457614613613fef565b5b6000614622848285016142ff565b91505092915050565b6000602082019050614640600083018461456a565b92915050565b60006020828403121561465c5761465b613fef565b5b600061466a84828501614042565b91505092915050565b600061467e82613ff9565b9050919050565b61468e81614673565b811461469957600080fd5b50565b6000813590506146ab81614685565b92915050565b600080604083850312156146c8576146c7613fef565b5b60006146d68582860161469c565b92505060206146e785828601614335565b9150509250929050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b614726816146f1565b811461473157600080fd5b50565b6000813590506147438161471d565b92915050565b600080604083850312156147605761475f613fef565b5b600061476e85828601614042565b925050602061477f85828601614734565b9150509250929050565b60008083601f84011261479f5761479e614057565b5b8235905067ffffffffffffffff8111156147bc576147bb61405c565b5b6020830191508360018202830111156147d8576147d7614061565b5b9250929050565b6000806000604084860312156147f8576147f7613fef565b5b6000614806868287016140e7565b935050602084013567ffffffffffffffff81111561482757614826613ff4565b5b61483386828701614789565b92509250509250925092565b61484881614201565b82525050565b6000602082019050614863600083018461483f565b92915050565b600080604083850312156148805761487f613fef565b5b600061488e858286016140e7565b925050602061489f858286016144b0565b9150509250929050565b600080600080606085870312156148c3576148c2613fef565b5b60006148d187828801614042565b94505060206148e287828801614042565b935050604085013567ffffffffffffffff81111561490357614902613ff4565b5b61490f878288016143e3565b925092505092959194509250565b614926816142de565b82525050565b6000602082019050614941600083018461491d565b92915050565b60008083601f84011261495d5761495c614057565b5b8235905067ffffffffffffffff81111561497a5761497961405c565b5b60208301915083602082028301111561499657614995614061565b5b9250929050565b600080602083850312156149b4576149b3613fef565b5b600083013567ffffffffffffffff8111156149d2576149d1613ff4565b5b6149de85828601614947565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015614a50578082015181840152602081019050614a35565b60008484015250505050565b6000601f19601f8301169050919050565b6000614a7882614a16565b614a828185614a21565b9350614a92818560208601614a32565b614a9b81614a5c565b840191505092915050565b6000614ab28383614a6d565b905092915050565b6000602082019050919050565b6000614ad2826149ea565b614adc81856149f5565b935083602082028501614aee85614a06565b8060005b85811015614b2a5784840389528151614b0b8582614aa6565b9450614b1683614aba565b925060208a01995050600181019050614af2565b50829750879550505050505092915050565b60006020820190508181036000830152614b568184614ac7565b905092915050565b6000819050919050565b6000614b83614b7e614b7984613ff9565b614b5e565b613ff9565b9050919050565b6000614b9582614b68565b9050919050565b6000614ba782614b8a565b9050919050565b614bb781614b9c565b82525050565b6000602082019050614bd26000830184614bae565b92915050565b60008060008060608587031215614bf257614bf1613fef565b5b6000614c0087828801614042565b9450506020614c1187828801614335565b935050604085013567ffffffffffffffff811115614c3257614c31613ff4565b5b614c3e878288016143e3565b925092505092959194509250565b600080600060608486031215614c6557614c64613fef565b5b6000614c7386828701614042565b9350506020614c8486828701614042565b9250506040614c9586828701614734565b9150509250925092565b6000604082019050614cb4600083018561483f565b614cc160208301846141d7565b9392505050565b60008060408385031215614cdf57614cde613fef565b5b6000614ced85828601614042565b9250506020614cfe858286016144b0565b9150509250929050565b614d1181614558565b8114614d1c57600080fd5b50565b600081359050614d2e81614d08565b92915050565b60008060008060608587031215614d4e57614d4d613fef565b5b6000614d5c87828801614042565b945050602085013567ffffffffffffffff811115614d7d57614d7c613ff4565b5b614d89878288016143e3565b93509350506040614d9c87828801614d1f565b91505092959194509250565b6000604082019050614dbd600083018561491d565b614dca60208301846141d7565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215614e1657614e15613fef565b5b6000614e2484828501614734565b91505092915050565b614e3681614019565b82525050565b6000602082019050614e516000830184614e2d565b92915050565b614e60816146f1565b82525050565b6000606082019050614e7b6000830186614e2d565b614e886020830185614e2d565b614e956040830184614e57565b949350505050565b614ea681614673565b82525050565b6000604082019050614ec16000830185614e9d565b614ece60208301846143b9565b9392505050565b600082825260208201905092915050565b82818337600083830152505050565b6000614f018385614ed5565b9350614f0e838584614ee6565b614f1783614a5c565b840190509392505050565b60006020820190508181036000830152614f3d818486614ef5565b90509392505050565b600081519050614f558161471d565b92915050565b600060208284031215614f7157614f70613fef565b5b6000614f7f84828501614f46565b91505092915050565b600082825260208201905092915050565b6000614fa58385614f88565b9350614fb2838584614ee6565b614fbb83614a5c565b840190509392505050565b6000606082019050614fdb6000830187614e2d565b614fe86020830186614e2d565b8181036040830152614ffb818486614f99565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061504082614314565b915061504b83614314565b925082820390508181111561506357615062615006565b5b92915050565b600080fd5b600080fd5b6000808585111561508757615086615069565b5b838611156150985761509761506e565b5b6001850283019150848603905094509492505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112615109576151086150dd565b5b80840192508235915067ffffffffffffffff82111561512b5761512a6150e2565b5b602083019250600182023603831315615147576151466150e7565b5b509250929050565b600081905092915050565b6000615166838561514f565b9350615173838584614ee6565b82840190509392505050565b600061518a82614a16565b615194818561514f565b93506151a4818560208601614a32565b80840191505092915050565b60006151bd82858761515a565b91506151c9828461517f565b9150819050949350505050565b6000815190506151e58161431e565b92915050565b60006020828403121561520157615200613fef565b5b600061520f848285016151d6565b91505092915050565b6000819050919050565b600077ffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b600061526161525c61525784615218565b614b5e565b615222565b9050919050565b61527181615246565b82525050565b600060408201905061528c6000830185614e2d565b6152996020830184615268565b9392505050565b60006080820190506152b56000830187614e2d565b6152c26020830186614e2d565b6152cf6040830185614e2d565b6152dc6060830184614e57565b95945050505050565b60006152f082614558565b91506152fb83614558565b9250828201905065ffffffffffff81111561531957615318615006565b5b92915050565b6000608082019050615334600083018861456a565b6153416020830187614e2d565b61534e6040830186614e2d565b8181036060830152615361818486614f99565b90509695505050505050565b60006040820190506153826000830185614e2d565b61538f602083018461419d565b9392505050565b60006020820190506153ab6000830184614e57565b92915050565b7f6163636f756e743a206e6f742066726f6d20456e747279506f696e7400000000600082015250565b60006153e7601c83614ed5565b91506153f2826153b1565b602082019050919050565b60006020820190508181036000830152615416816153da565b9050919050565b600082905092915050565b600082821b905092915050565b6000615441838361541d565b8261544c81356146f1565b9250600482101561548c576154877fffffffff0000000000000000000000000000000000000000000000000000000083600403600802615428565b831692505b505092915050565b6000602082840312156154aa576154a9613fef565b5b60006154b88482850161469c565b91505092915050565b50565b60006154d160008361514f565b91506154dc826154c1565b600082019050919050565b60006154f2826154c4565b9150819050919050565b60006040820190506155116000830185614e2d565b61551e6020830184614e57565b9392505050565b6000615531828461517f565b915081905092915050565b600060608201905061555160008301866141d7565b61555e602083018561456a565b61556b604083018461483f565b949350505050565b600060408201905061558860008301856141d7565b615595602083018461456a565b9392505050565b600080fd5b6155aa82614a5c565b810181811067ffffffffffffffff821117156155c9576155c86150ae565b5b80604052505050565b60006155dc613fe5565b90506155e882826155a1565b919050565b600067ffffffffffffffff821115615608576156076150ae565b5b61561182614a5c565b9050602081019050919050565b600061563161562c846155ed565b6155d2565b90508281526020810184848401111561564d5761564c61559c565b5b615658848285614ee6565b509392505050565b600082601f83011261567557615674614057565b5b813561568584826020860161561e565b91505092915050565b6000806000606084860312156156a7576156a6613fef565b5b60006156b58682870161469c565b93505060206156c686828701614335565b925050604084013567ffffffffffffffff8111156156e7576156e6613ff4565b5b6156f386828701615660565b9150509250925092565b6000615708826141c7565b9150615713836141c7565b9250828203905063ffffffff81111561572f5761572e615006565b5b92915050565b6000819050919050565b600060ff82169050919050565b600061576761576261575d84615735565b614b5e565b61573f565b9050919050565b6157778161574c565b82525050565b6000604082019050615792600083018561576e565b61579f60208301846143b9565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006157e082614314565b91506157eb83614314565b925082820190508082111561580357615802615006565b5b92915050565b7f746f427974657333325f6f75744f66426f756e64730000000000000000000000600082015250565b600061583f601583614ed5565b915061584a82615809565b602082019050919050565b6000602082019050818103600083015261586e81615832565b9050919050565b600061588082614a16565b61588a8185614f88565b935061589a818560208601614a32565b6158a381614a5c565b840191505092915050565b60006060820190506158c36000830186614e2d565b6158d06020830185614e2d565b81810360408301526158e28184615875565b9050949350505050565b6158f58161573f565b82525050565b6000608082019050615910600083018761491d565b61591d60208301866158ec565b61592a604083018561491d565b615937606083018461491d565b9594505050505056fea2646970667358221220adfaed8faa8b63cbe728bb0b3ac96aa5a61261c6ceef1490830818a0304ece5364736f6c63430008180033",
|
|
1398
|
+
"deployedBytecode": "0x6080604052600436106102345760003560e01c80636d5115bd1161012e578063b7009613116100ab578063d1f856ee1161006f578063d1f856ee146108b0578063d22b5989146108ee578063d6bb62c614610917578063f801a69814610954578063fe0776f5146109925761023b565b8063b7009613146107c8578063b7d2b16214610806578063c399ec881461082f578063cc1b6c811461085a578063d087d288146108855761023b565b8063a64d95ce116100f2578063a64d95ce146106d1578063abd9bd2a146106fa578063ac9650d814610737578063b0d691fe14610774578063b61d27f61461079f5761023b565b80636d5115bd146105da57806375b238fc14610617578063853551b81461064257806394c7d7ee1461066b578063a166aa89146106945761023b565b806330cae187116101bc5780634a58db19116101805780634a58db19146105045780634c1da1e21461050e5780634d44560d1461054b5780635296295214610574578063530dd4561461059d5761023b565b806330cae1871461040b5780633adc277a146104345780633ca7c02a146104715780634136a33c1461049c5780634665096d146104d95761023b565b806318ff183c1161020357806318ff183c1461030c57806319822f7c146103355780631cff79cd1461037257806325c471a0146103a25780633078f114146103cb5761023b565b806308d6122d146102405780630b0a93ba1461026957806312be8727146102a6578063167bd395146102e35761023b565b3661023b57005b600080fd5b34801561024c57600080fd5b50610267600480360381019061026291906140fc565b6109bb565b005b34801561027557600080fd5b50610290600480360381019061028b9190614170565b610a15565b60405161029d91906141ac565b60405180910390f35b3480156102b257600080fd5b506102cd60048036038101906102c89190614170565b610a5d565b6040516102da91906141e6565b60405180910390f35b3480156102ef57600080fd5b5061030a60048036038101906103059190614239565b610ac3565b005b34801561031857600080fd5b50610333600480360381019061032e9190614279565b610ad9565b005b34801561034157600080fd5b5061035c6004803603810190610357919061434a565b610b50565b60405161036991906143c8565b60405180910390f35b61038c60048036038101906103879190614439565b610b83565b60405161039991906141e6565b60405180910390f35b3480156103ae57600080fd5b506103c960048036038101906103c491906144c5565b610cd6565b005b3480156103d757600080fd5b506103f260048036038101906103ed9190614518565b610cf8565b6040516104029493929190614579565b60405180910390f35b34801561041757600080fd5b50610432600480360381019061042d91906145be565b610dcf565b005b34801561044057600080fd5b5061045b600480360381019061045691906145fe565b610de5565b604051610468919061462b565b60405180910390f35b34801561047d57600080fd5b50610486610e31565b60405161049391906141ac565b60405180910390f35b3480156104a857600080fd5b506104c360048036038101906104be91906145fe565b610e3d565b6040516104d091906141e6565b60405180910390f35b3480156104e557600080fd5b506104ee610e6d565b6040516104fb91906141e6565b60405180910390f35b61050c610e78565b005b34801561051a57600080fd5b5061053560048036038101906105309190614646565b610eed565b60405161054291906141e6565b60405180910390f35b34801561055757600080fd5b50610572600480360381019061056d91906146b1565b610f6a565b005b34801561058057600080fd5b5061059b600480360381019061059691906145be565b610ffd565b005b3480156105a957600080fd5b506105c460048036038101906105bf9190614170565b611013565b6040516105d191906141ac565b60405180910390f35b3480156105e657600080fd5b5061060160048036038101906105fc9190614749565b61105b565b60405161060e91906141ac565b60405180910390f35b34801561062357600080fd5b5061062c61110a565b60405161063991906141ac565b60405180910390f35b34801561064e57600080fd5b50610669600480360381019061066491906147df565b61110f565b005b34801561067757600080fd5b50610692600480360381019061068d9190614439565b6111d8565b005b3480156106a057600080fd5b506106bb60048036038101906106b69190614646565b6112f6565b6040516106c8919061484e565b60405180910390f35b3480156106dd57600080fd5b506106f860048036038101906106f39190614869565b61134e565b005b34801561070657600080fd5b50610721600480360381019061071c91906148a9565b611364565b60405161072e919061492c565b60405180910390f35b34801561074357600080fd5b5061075e6004803603810190610759919061499d565b61139d565b60405161076b9190614b3c565b60405180910390f35b34801561078057600080fd5b50610789611581565b6040516107969190614bbd565b60405180910390f35b3480156107ab57600080fd5b506107c660048036038101906107c19190614bd8565b6115a9565b005b3480156107d457600080fd5b506107ef60048036038101906107ea9190614c4c565b611607565b6040516107fd929190614c9f565b60405180910390f35b34801561081257600080fd5b5061082d60048036038101906108289190614518565b6116b4565b005b34801561083b57600080fd5b506108446116cb565b60405161085191906143c8565b60405180910390f35b34801561086657600080fd5b5061086f611753565b60405161087c91906141e6565b60405180910390f35b34801561089157600080fd5b5061089a61175e565b6040516108a791906143c8565b60405180910390f35b3480156108bc57600080fd5b506108d760048036038101906108d29190614518565b6117e9565b6040516108e5929190614c9f565b60405180910390f35b3480156108fa57600080fd5b5061091560048036038101906109109190614cc8565b611866565b005b34801561092357600080fd5b5061093e600480360381019061093991906148a9565b61187c565b60405161094b91906141e6565b60405180910390f35b34801561096057600080fd5b5061097b60048036038101906109769190614d34565b611a6f565b604051610989929190614da8565b60405180910390f35b34801561099e57600080fd5b506109b960048036038101906109b49190614518565b611c53565b005b6109c3611cce565b60005b83839050811015610a0e57610a03858585848181106109e8576109e7614dd1565b5b90506020020160208101906109fd9190614e00565b84611d7b565b8060010190506109c6565b5050505050565b6000600160008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160089054906101000a900467ffffffffffffffff169050919050565b6000610abc600160008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160109054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16611e90565b9050919050565b610acb611cce565b610ad58282611eb9565b5050565b610ae1611cce565b8173ffffffffffffffffffffffffffffffffffffffff16637a9e5e4b826040518263ffffffff1660e01b8152600401610b1a9190614e3c565b600060405180830381600087803b158015610b3457600080fd5b505af1158015610b48573d6000803e3d6000fd5b505050505050565b6000610b5a611fd4565b610b64848461204b565b9050610b738460200135612277565b610b7c8261227a565b9392505050565b600080610b8e612316565b9050600080610b9f8388888861231e565b9150915081158015610bb7575060008163ffffffff16145b15610c06578287610bc8888861239e565b6040517f81c6f24b000000000000000000000000000000000000000000000000000000008152600401610bfd93929190614e66565b60405180910390fd5b6000610c1484898989611364565b90506000808363ffffffff16141580610c3e57506000610c3383610de5565b65ffffffffffff1614155b15610c4f57610c4c826123c7565b90505b60006003549050610c698a610c648b8b61239e565b61257d565b600381905550610cbe8a8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050346125b0565b50806003819055508196505050505050509392505050565b610cde611cce565b610cf28383610cec86610a5d565b8461267d565b50505050565b6000806000806000600160008867ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160009054906101000a900465ffffffffffff169450610db98160000160069054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16612a4e565b8094508195508296505050505092959194509250565b610dd7611cce565b610de18282612a71565b5050565b6000806002600084815260200190815260200160002060000160009054906101000a900465ffffffffffff169050610e1c81612b80565b610e265780610e29565b60005b915050919050565b67ffffffffffffffff81565b60006002600083815260200190815260200160002060000160069054906101000a900463ffffffff169050919050565b600062093a80905090565b610e80611581565b73ffffffffffffffffffffffffffffffffffffffff1663b760faf934306040518363ffffffff1660e01b8152600401610eb99190614e3c565b6000604051808303818588803b158015610ed257600080fd5b505af1158015610ee6573d6000803e3d6000fd5b5050505050565b6000610f636000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16611e90565b9050919050565b610f84610f75612316565b610f7d612bbc565b6001612bc9565b50610f8d611581565b73ffffffffffffffffffffffffffffffffffffffff1663205c287883836040518363ffffffff1660e01b8152600401610fc7929190614eac565b600060405180830381600087803b158015610fe157600080fd5b505af1158015610ff5573d6000803e3d6000fd5b505050505050565b611005611cce565b61100f8282612cc7565b5050565b6000600160008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160009054906101000a900467ffffffffffffffff169050919050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900467ffffffffffffffff16905092915050565b600081565b611117611cce565b600067ffffffffffffffff168367ffffffffffffffff16148061114d575067ffffffffffffffff80168367ffffffffffffffff16145b1561118f57826040517f1871a90c00000000000000000000000000000000000000000000000000000000815260040161118691906141ac565b60405180910390fd5b8267ffffffffffffffff167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a45083836040516111cb929190614f22565b60405180910390a2505050565b60006111e2612316565b9050638fb3603760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168173ffffffffffffffffffffffffffffffffffffffff16638fb360376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611256573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127a9190614f5b565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146112db57806040517f320ff7480000000000000000000000000000000000000000000000000000000081526004016112d29190614e3c565b60405180910390fd5b6112ef6112ea85838686611364565b6123c7565b5050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600e9054906101000a900460ff169050919050565b611356611cce565b6113608282612dd6565b5050565b60008484848460405160200161137d9493929190614fc6565b604051602081830303815290604052805190602001209050949350505050565b606060006113a9612316565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461144c576000366113e6612f4d565b60003690506113f59190615035565b90809261140493929190615073565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061149b565b600067ffffffffffffffff811115611467576114666150ae565b5b6040519080825280601f01601f1916602001820160405280156114995781602001600182028036833780820191505090505b505b90508383905067ffffffffffffffff8111156114ba576114b96150ae565b5b6040519080825280602002602001820160405280156114ed57816020015b60608152602001906001900390816114d85790505b50915060005b848490508110156115795761154e3086868481811061151557611514614dd1565b5b905060200281019061152791906150ec565b8560405160200161153a939291906151b0565b604051602081830303815290604052612f52565b83828151811061156157611560614dd1565b5b602002602001018190525080806001019150506114f3565b505092915050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b6115b1611fd4565b6116008483838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050856125b0565b5050505050565b600080611613846112f6565b1561162457600080915091506116ac565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361166c576116618484612fd6565b6000915091506116ac565b6000611678858561105b565b905060008061168783896117e9565b9150915081611698576000806116a4565b60008163ffffffff1614815b945094505050505b935093915050565b6116bc611cce565b6116c68282612fee565b505050565b60006116d5611581565b73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161170d9190614e3c565b602060405180830381865afa15801561172a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174e91906151eb565b905090565b600062069780905090565b6000611768611581565b73ffffffffffffffffffffffffffffffffffffffff166335567e1a3060006040518363ffffffff1660e01b81526004016117a3929190615277565b602060405180830381865afa1580156117c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e491906151eb565b905090565b60008067ffffffffffffffff80168467ffffffffffffffff160361181457600160009150915061185f565b6000806118218686610cf8565b50509150915060008265ffffffffffff161415801561185757506118436131da565b65ffffffffffff168265ffffffffffff1611155b819350935050505b9250929050565b61186e611cce565b61187882826131ea565b5050565b600080611887612316565b90506000611895858561239e565b905060006118a588888888611364565b905060006002600083815260200190815260200160002060000160009054906101000a900465ffffffffffff1665ffffffffffff160361191c57806040517f60a299b0000000000000000000000000000000000000000000000000000000008152600401611913919061492c565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146119d657600061195c6000856117e9565b509050600061197c6119766119718b8761105b565b610a15565b866117e9565b5090508115801561198b575080155b156119d357848a8a866040517f3fe2751c0000000000000000000000000000000000000000000000000000000081526004016119ca94939291906152a0565b60405180910390fd5b50505b6002600082815260200190815260200160002060000160006101000a81549065ffffffffffff021916905560006002600083815260200190815260200160002060000160069054906101000a900463ffffffff1690508063ffffffff16827fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f760405160405180910390a380945050505050949350505050565b6000806000611a7c612316565b90506000611a8c8289898961231e565b91505060008163ffffffff16611aa06131da565b611aaa91906152e5565b905060008263ffffffff161480611ae4575060008665ffffffffffff16118015611ae357508065ffffffffffff168665ffffffffffff16105b5b15611b33578289611af58a8a61239e565b6040517f81c6f24b000000000000000000000000000000000000000000000000000000008152600401611b2a93929190614e66565b60405180910390fd5b611b4d8665ffffffffffff168265ffffffffffff16613343565b9550611b5b838a8a8a611364565b9450611b668561335c565b60016002600087815260200190815260200160002060000160069054906101000a900463ffffffff16019350856002600087815260200190815260200160002060000160006101000a81548165ffffffffffff021916908365ffffffffffff160217905550836002600087815260200190815260200160002060000160066101000a81548163ffffffff021916908363ffffffff1602179055508363ffffffff16857f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b488868d8d8d604051611c3f95949392919061531f565b60405180910390a350505094509492505050565b611c5b612316565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611cbf576040517f5f159e6300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cc98282612fee565b505050565b6000611cd8612316565b9050600080611cee83611ce9612bbc565b6133ee565b9150915081611d765760008163ffffffff1603611d5a576000611d17611d12612bbc565b6134dc565b5091505083816040517ff07e038f000000000000000000000000000000000000000000000000000000008152600401611d5192919061536d565b60405180910390fd5b611d74611d6f8430611d6a612bbc565b611364565b6123c7565b505b505050565b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508067ffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde94915184604051611e839190615396565b60405180910390a3505050565b600080611eac836dffffffffffffffffffffffffffff16612a4e565b5050905080915050919050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f2957816040517f5a068bc8000000000000000000000000000000000000000000000000000000008152600401611f209190614e3c565b60405180910390fd5b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600e6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb13882604051611fc8919061484e565b60405180910390a25050565b611fdc611581565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612049576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612040906153fd565b60405180910390fd5b565b60008083806060019061205e91906150ec565b60009060049261207093929190615073565b9061207b9190615435565b90507fb61d27f68746b0955d4867ce6e77d35c62208909547ca5c62d2a533c00d5b8377bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461211f57806040517fd4d202fb0000000000000000000000000000000000000000000000000000000081526004016121169190615396565b60405180910390fd5b600084806060019061213191906150ec565b60049060249261214393929190615073565b8101906121509190615494565b90503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036121b7576040517ffcd888ca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006121c2856138c4565b9050600061222382888061010001906121db91906150ec565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506138fa565b90506122408188806060019061223991906150ec565b6000612bc9565b612251576001945050505050612271565b61226a8188806060019061226591906150ec565b613926565b9450505050505b92915050565b50565b600081146123135760003373ffffffffffffffffffffffffffffffffffffffff16827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff906040516122ca906154e7565b600060405180830381858888f193505050503d8060008114612308576040519150601f19603f3d011682016040523d82523d6000602084013e61230d565b606091505b50509050505b50565b600033905090565b6000803073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036123685761235f8685856133ee565b91509150612395565b6004848490501061238c576123878686612382878761239e565b611607565b612390565b6000805b915091505b94509492505050565b600082826000906004926123b493929190615073565b906123bf9190615435565b905092915050565b6000806002600084815260200190815260200160002060000160009054906101000a900465ffffffffffff16905060006002600085815260200190815260200160002060000160069054906101000a900463ffffffff16905060008265ffffffffffff160361246d57836040517f60a299b0000000000000000000000000000000000000000000000000000000008152600401612464919061492c565b60405180910390fd5b6124756131da565b65ffffffffffff168265ffffffffffff1611156124c957836040517f18cb6b7a0000000000000000000000000000000000000000000000000000000081526004016124c0919061492c565b60405180910390fd5b6124d282612b80565b1561251457836040517f78a5d6e400000000000000000000000000000000000000000000000000000000815260040161250b919061492c565b60405180910390fd5b6002600085815260200190815260200160002060000160006101000a81549065ffffffffffff02191690558063ffffffff16847f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d60405160405180910390a38092505050919050565b600082826040516020016125929291906154fc565b60405160208183030381529060405280519060200120905092915050565b6060814710156125f757306040517fcd7860590000000000000000000000000000000000000000000000000000000081526004016125ee9190614e3c565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1684866040516126209190615525565b60006040518083038185875af1925050503d806000811461265d576040519150601f19603f3d011682016040523d82523d6000602084013e612662565b606091505b50915091506126728683836139d9565b925050509392505050565b600067ffffffffffffffff80168567ffffffffffffffff16036126d757846040517f1871a90c0000000000000000000000000000000000000000000000000000000081526004016126ce91906141ac565b60405180910390fd5b600080600160008867ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900465ffffffffffff1665ffffffffffff1614905060008115612895578463ffffffff166127796131da565b61278391906152e5565b905060405180604001604052808265ffffffffffff1681526020016127ad8663ffffffff16613a68565b6dffffffffffffffffffffffffffff16815250600160008967ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff1602179055509050506129e4565b61293f846000600160008b67ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160069054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16613a789092919063ffffffff16565b600160008a67ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160068294508391906101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff16021790555050505b8573ffffffffffffffffffffffffffffffffffffffff168767ffffffffffffffff167ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf868486604051612a399392919061553c565b60405180910390a38192505050949350505050565b6000806000612a6484612a5f6131da565b613b0a565b9250925092509193909250565b600067ffffffffffffffff168267ffffffffffffffff161480612aa7575067ffffffffffffffff80168267ffffffffffffffff16145b15612ae957816040517f1871a90c000000000000000000000000000000000000000000000000000000008152600401612ae091906141ac565b60405180910390fd5b80600160008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508067ffffffffffffffff168267ffffffffffffffff167f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e634060405160405180910390a35050565b6000612b8a6131da565b65ffffffffffff16612b9a610e6d565b63ffffffff1683612bab91906152e5565b65ffffffffffff1611159050919050565b3660008036915091509091565b6000806000612bf787308888600090600492612be793929190615073565b90612bf29190615435565b611607565b9150915081612cb85760008163ffffffff161115612c41576040517f99ec076b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8315612cad5786612c70308888600090600492612c6093929190615073565b90612c6b9190615435565b61105b565b6040517ff07e038f000000000000000000000000000000000000000000000000000000008152600401612ca492919061536d565b60405180910390fd5b600092505050612cbf565b6001925050505b949350505050565b600067ffffffffffffffff168267ffffffffffffffff161480612cfd575067ffffffffffffffff80168267ffffffffffffffff16145b15612d3f57816040517f1871a90c000000000000000000000000000000000000000000000000000000008152600401612d3691906141ac565b60405180910390fd5b80600160008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508067ffffffffffffffff168267ffffffffffffffff167f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae260405160405180910390a35050565b67ffffffffffffffff80168267ffffffffffffffff1603612e2e57816040517f1871a90c000000000000000000000000000000000000000000000000000000008152600401612e2591906141ac565b60405180910390fd5b6000612ea082612e3c611753565b600160008767ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160109054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16613a789092919063ffffffff16565b600160008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160108294508391906101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff16021790555050508267ffffffffffffffff167ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b488383604051612f40929190615573565b60405180910390a2505050565b600090565b60606000808473ffffffffffffffffffffffffffffffffffffffff1684604051612f7c9190615525565b600060405180830381855af49150503d8060008114612fb7576040519150601f19603f3d011682016040523d82523d6000602084013e612fbc565b606091505b5091509150612fcc8583836139d9565b9250505092915050565b6000612fe2838361257d565b60035414905092915050565b600067ffffffffffffffff80168367ffffffffffffffff160361304857826040517f1871a90c00000000000000000000000000000000000000000000000000000000815260040161303f91906141ac565b60405180910390fd5b6000600160008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900465ffffffffffff1665ffffffffffff16036130dd57600090506131d4565b600160008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549065ffffffffffff02191690556000820160066101000a8154906dffffffffffffffffffffffffffff021916905550508173ffffffffffffffffffffffffffffffffffffffff168367ffffffffffffffff167ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16660405160405180910390a3600190505b92915050565b60006131e542613b67565b905090565b6000613273826131f8611753565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16613a789092919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008294508391906101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff16021790555050508273ffffffffffffffffffffffffffffffffffffffff167fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c8383604051613336929190615573565b60405180910390a2505050565b60008183116133525781613354565b825b905092915050565b60006002600083815260200190815260200160002060000160009054906101000a900465ffffffffffff16905060008165ffffffffffff16141580156133a857506133a681612b80565b155b156133ea57816040517f813e94590000000000000000000000000000000000000000000000000000000081526004016133e1919061492c565b60405180910390fd5b5050565b600080600484849050101561340957600080915091506134d4565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361345a5761344f3061344a868661239e565b612fd6565b6000915091506134d4565b600080600061346987876134dc565b9250925092508261348357600080945094505050506134d4565b600080613490848b6117e9565b91509150816134aa576000809650965050505050506134d4565b6134c08363ffffffff168263ffffffff16613343565b955060008663ffffffff1614965050505050505b935093915050565b600080600060048585905010156134fd5760008060009250925092506138bd565b6000613509868661239e565b905063853551b860e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806135a257506330cae18760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806135f15750635296295260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80613640575063a64d95ce60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061368f575063d22b598960e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156136a5576001600080935093509350506138bd565b6318ff183c60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061373c575063167bd39560e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061378b57506308d6122d60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156137d557600086866004906024926137a693929190615073565b8101906137b39190615494565b905060006137c082610eed565b905060016000829550955095505050506138bd565b6325c471a060e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061386c575063b7d2b16260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156138b0576000868660049060249261388793929190615073565b8101906138949190614170565b905060016138a182611013565b600094509450945050506138bd565b6000806000935093509350505b9250925092565b60007f19457468657265756d205369676e6564204d6573736167653a0a33320000000060005281601c52603c6000209050919050565b60008060008061390a8686613bc1565b92509250925061391a8282613c1d565b82935050505092915050565b600080600084846004906004888890506139409190615035565b9261394d93929190615073565b81019061395a919061568e565b9250509150600080613980888561397b600087613d8190919063ffffffff16565b611607565b915091508180613996575060008163ffffffff16145b156139b557816139a75760016139aa565b60005b9450505050506139d2565b6139c86139c3898686613de8565b6123c7565b5060009450505050505b9392505050565b6060826139ee576139e982613e1e565b613a60565b60008251148015613a16575060008473ffffffffffffffffffffffffffffffffffffffff163b145b15613a5857836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401613a4f9190614e3c565b60405180910390fd5b819050613a61565b5b9392505050565b60008163ffffffff169050919050565b6000806000613a96866dffffffffffffffffffffffffffff16611e90565b90506000613ad68563ffffffff168763ffffffff168463ffffffff1611613abe576000613acb565b8784613aca91906156fd565b5b63ffffffff16613343565b90508063ffffffff16613ae76131da565b613af191906152e5565b9250613afe828785613e63565b93505050935093915050565b600080600080600080613b2c886dffffffffffffffffffffffffffff16613eaf565b9250925092508665ffffffffffff168165ffffffffffff161115613b5257828282613b57565b816000805b9550955095505050509250925092565b600065ffffffffffff8016821115613bb9576030826040517f6dfcc650000000000000000000000000000000000000000000000000000000008152600401613bb092919061577d565b60405180910390fd5b819050919050565b60008060006041845103613c065760008060006020870151925060408701519150606087015160001a9050613bf888828585613ef1565b955095509550505050613c16565b60006002855160001b9250925092505b9250925092565b60006003811115613c3157613c306157a6565b5b826003811115613c4457613c436157a6565b5b0315613d7d5760016003811115613c5e57613c5d6157a6565b5b826003811115613c7157613c706157a6565b5b03613ca8576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60026003811115613cbc57613cbb6157a6565b5b826003811115613ccf57613cce6157a6565b5b03613d14578060001c6040517ffce698f7000000000000000000000000000000000000000000000000000000008152600401613d0b91906143c8565b60405180910390fd5b600380811115613d2757613d266157a6565b5b826003811115613d3a57613d396157a6565b5b03613d7c57806040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600401613d73919061492c565b60405180910390fd5b5b5050565b6000602082613d9091906157d5565b83511015613dd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613dca90615855565b60405180910390fd5b60008260208501015190508091505092915050565b6000838383604051602001613dff939291906158ae565b6040516020818303038152906040528051906020012090509392505050565b600081511115613e315780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008263ffffffff1660208563ffffffff166dffffffffffffffffffffffffffff16901b60408465ffffffffffff166dffffffffffffffffffffffffffff16901b171790509392505050565b6000806000808490508092506020816dffffffffffffffffffffffffffff16901c93506040816dffffffffffffffffffffffffffff16901c9150509193909250565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115613f31576000600385925092509250613fdb565b600060018888888860405160008152602001604052604051613f5694939291906158fb565b6020604051602081039080840390855afa158015613f78573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613fcc57600060016000801b93509350935050613fdb565b8060008060001b935093509350505b9450945094915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061402482613ff9565b9050919050565b61403481614019565b811461403f57600080fd5b50565b6000813590506140518161402b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261407c5761407b614057565b5b8235905067ffffffffffffffff8111156140995761409861405c565b5b6020830191508360208202830111156140b5576140b4614061565b5b9250929050565b600067ffffffffffffffff82169050919050565b6140d9816140bc565b81146140e457600080fd5b50565b6000813590506140f6816140d0565b92915050565b6000806000806060858703121561411657614115613fef565b5b600061412487828801614042565b945050602085013567ffffffffffffffff81111561414557614144613ff4565b5b61415187828801614066565b93509350506040614164878288016140e7565b91505092959194509250565b60006020828403121561418657614185613fef565b5b6000614194848285016140e7565b91505092915050565b6141a6816140bc565b82525050565b60006020820190506141c1600083018461419d565b92915050565b600063ffffffff82169050919050565b6141e0816141c7565b82525050565b60006020820190506141fb60008301846141d7565b92915050565b60008115159050919050565b61421681614201565b811461422157600080fd5b50565b6000813590506142338161420d565b92915050565b600080604083850312156142505761424f613fef565b5b600061425e85828601614042565b925050602061426f85828601614224565b9150509250929050565b600080604083850312156142905761428f613fef565b5b600061429e85828601614042565b92505060206142af85828601614042565b9150509250929050565b600080fd5b600061012082840312156142d5576142d46142b9565b5b81905092915050565b6000819050919050565b6142f1816142de565b81146142fc57600080fd5b50565b60008135905061430e816142e8565b92915050565b6000819050919050565b61432781614314565b811461433257600080fd5b50565b6000813590506143448161431e565b92915050565b60008060006060848603121561436357614362613fef565b5b600084013567ffffffffffffffff81111561438157614380613ff4565b5b61438d868287016142be565b935050602061439e868287016142ff565b92505060406143af86828701614335565b9150509250925092565b6143c281614314565b82525050565b60006020820190506143dd60008301846143b9565b92915050565b60008083601f8401126143f9576143f8614057565b5b8235905067ffffffffffffffff8111156144165761441561405c565b5b60208301915083600182028301111561443257614431614061565b5b9250929050565b60008060006040848603121561445257614451613fef565b5b600061446086828701614042565b935050602084013567ffffffffffffffff81111561448157614480613ff4565b5b61448d868287016143e3565b92509250509250925092565b6144a2816141c7565b81146144ad57600080fd5b50565b6000813590506144bf81614499565b92915050565b6000806000606084860312156144de576144dd613fef565b5b60006144ec868287016140e7565b93505060206144fd86828701614042565b925050604061450e868287016144b0565b9150509250925092565b6000806040838503121561452f5761452e613fef565b5b600061453d858286016140e7565b925050602061454e85828601614042565b9150509250929050565b600065ffffffffffff82169050919050565b61457381614558565b82525050565b600060808201905061458e600083018761456a565b61459b60208301866141d7565b6145a860408301856141d7565b6145b5606083018461456a565b95945050505050565b600080604083850312156145d5576145d4613fef565b5b60006145e3858286016140e7565b92505060206145f4858286016140e7565b9150509250929050565b60006020828403121561461457614613613fef565b5b6000614622848285016142ff565b91505092915050565b6000602082019050614640600083018461456a565b92915050565b60006020828403121561465c5761465b613fef565b5b600061466a84828501614042565b91505092915050565b600061467e82613ff9565b9050919050565b61468e81614673565b811461469957600080fd5b50565b6000813590506146ab81614685565b92915050565b600080604083850312156146c8576146c7613fef565b5b60006146d68582860161469c565b92505060206146e785828601614335565b9150509250929050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b614726816146f1565b811461473157600080fd5b50565b6000813590506147438161471d565b92915050565b600080604083850312156147605761475f613fef565b5b600061476e85828601614042565b925050602061477f85828601614734565b9150509250929050565b60008083601f84011261479f5761479e614057565b5b8235905067ffffffffffffffff8111156147bc576147bb61405c565b5b6020830191508360018202830111156147d8576147d7614061565b5b9250929050565b6000806000604084860312156147f8576147f7613fef565b5b6000614806868287016140e7565b935050602084013567ffffffffffffffff81111561482757614826613ff4565b5b61483386828701614789565b92509250509250925092565b61484881614201565b82525050565b6000602082019050614863600083018461483f565b92915050565b600080604083850312156148805761487f613fef565b5b600061488e858286016140e7565b925050602061489f858286016144b0565b9150509250929050565b600080600080606085870312156148c3576148c2613fef565b5b60006148d187828801614042565b94505060206148e287828801614042565b935050604085013567ffffffffffffffff81111561490357614902613ff4565b5b61490f878288016143e3565b925092505092959194509250565b614926816142de565b82525050565b6000602082019050614941600083018461491d565b92915050565b60008083601f84011261495d5761495c614057565b5b8235905067ffffffffffffffff81111561497a5761497961405c565b5b60208301915083602082028301111561499657614995614061565b5b9250929050565b600080602083850312156149b4576149b3613fef565b5b600083013567ffffffffffffffff8111156149d2576149d1613ff4565b5b6149de85828601614947565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015614a50578082015181840152602081019050614a35565b60008484015250505050565b6000601f19601f8301169050919050565b6000614a7882614a16565b614a828185614a21565b9350614a92818560208601614a32565b614a9b81614a5c565b840191505092915050565b6000614ab28383614a6d565b905092915050565b6000602082019050919050565b6000614ad2826149ea565b614adc81856149f5565b935083602082028501614aee85614a06565b8060005b85811015614b2a5784840389528151614b0b8582614aa6565b9450614b1683614aba565b925060208a01995050600181019050614af2565b50829750879550505050505092915050565b60006020820190508181036000830152614b568184614ac7565b905092915050565b6000819050919050565b6000614b83614b7e614b7984613ff9565b614b5e565b613ff9565b9050919050565b6000614b9582614b68565b9050919050565b6000614ba782614b8a565b9050919050565b614bb781614b9c565b82525050565b6000602082019050614bd26000830184614bae565b92915050565b60008060008060608587031215614bf257614bf1613fef565b5b6000614c0087828801614042565b9450506020614c1187828801614335565b935050604085013567ffffffffffffffff811115614c3257614c31613ff4565b5b614c3e878288016143e3565b925092505092959194509250565b600080600060608486031215614c6557614c64613fef565b5b6000614c7386828701614042565b9350506020614c8486828701614042565b9250506040614c9586828701614734565b9150509250925092565b6000604082019050614cb4600083018561483f565b614cc160208301846141d7565b9392505050565b60008060408385031215614cdf57614cde613fef565b5b6000614ced85828601614042565b9250506020614cfe858286016144b0565b9150509250929050565b614d1181614558565b8114614d1c57600080fd5b50565b600081359050614d2e81614d08565b92915050565b60008060008060608587031215614d4e57614d4d613fef565b5b6000614d5c87828801614042565b945050602085013567ffffffffffffffff811115614d7d57614d7c613ff4565b5b614d89878288016143e3565b93509350506040614d9c87828801614d1f565b91505092959194509250565b6000604082019050614dbd600083018561491d565b614dca60208301846141d7565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215614e1657614e15613fef565b5b6000614e2484828501614734565b91505092915050565b614e3681614019565b82525050565b6000602082019050614e516000830184614e2d565b92915050565b614e60816146f1565b82525050565b6000606082019050614e7b6000830186614e2d565b614e886020830185614e2d565b614e956040830184614e57565b949350505050565b614ea681614673565b82525050565b6000604082019050614ec16000830185614e9d565b614ece60208301846143b9565b9392505050565b600082825260208201905092915050565b82818337600083830152505050565b6000614f018385614ed5565b9350614f0e838584614ee6565b614f1783614a5c565b840190509392505050565b60006020820190508181036000830152614f3d818486614ef5565b90509392505050565b600081519050614f558161471d565b92915050565b600060208284031215614f7157614f70613fef565b5b6000614f7f84828501614f46565b91505092915050565b600082825260208201905092915050565b6000614fa58385614f88565b9350614fb2838584614ee6565b614fbb83614a5c565b840190509392505050565b6000606082019050614fdb6000830187614e2d565b614fe86020830186614e2d565b8181036040830152614ffb818486614f99565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061504082614314565b915061504b83614314565b925082820390508181111561506357615062615006565b5b92915050565b600080fd5b600080fd5b6000808585111561508757615086615069565b5b838611156150985761509761506e565b5b6001850283019150848603905094509492505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112615109576151086150dd565b5b80840192508235915067ffffffffffffffff82111561512b5761512a6150e2565b5b602083019250600182023603831315615147576151466150e7565b5b509250929050565b600081905092915050565b6000615166838561514f565b9350615173838584614ee6565b82840190509392505050565b600061518a82614a16565b615194818561514f565b93506151a4818560208601614a32565b80840191505092915050565b60006151bd82858761515a565b91506151c9828461517f565b9150819050949350505050565b6000815190506151e58161431e565b92915050565b60006020828403121561520157615200613fef565b5b600061520f848285016151d6565b91505092915050565b6000819050919050565b600077ffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b600061526161525c61525784615218565b614b5e565b615222565b9050919050565b61527181615246565b82525050565b600060408201905061528c6000830185614e2d565b6152996020830184615268565b9392505050565b60006080820190506152b56000830187614e2d565b6152c26020830186614e2d565b6152cf6040830185614e2d565b6152dc6060830184614e57565b95945050505050565b60006152f082614558565b91506152fb83614558565b9250828201905065ffffffffffff81111561531957615318615006565b5b92915050565b6000608082019050615334600083018861456a565b6153416020830187614e2d565b61534e6040830186614e2d565b8181036060830152615361818486614f99565b90509695505050505050565b60006040820190506153826000830185614e2d565b61538f602083018461419d565b9392505050565b60006020820190506153ab6000830184614e57565b92915050565b7f6163636f756e743a206e6f742066726f6d20456e747279506f696e7400000000600082015250565b60006153e7601c83614ed5565b91506153f2826153b1565b602082019050919050565b60006020820190508181036000830152615416816153da565b9050919050565b600082905092915050565b600082821b905092915050565b6000615441838361541d565b8261544c81356146f1565b9250600482101561548c576154877fffffffff0000000000000000000000000000000000000000000000000000000083600403600802615428565b831692505b505092915050565b6000602082840312156154aa576154a9613fef565b5b60006154b88482850161469c565b91505092915050565b50565b60006154d160008361514f565b91506154dc826154c1565b600082019050919050565b60006154f2826154c4565b9150819050919050565b60006040820190506155116000830185614e2d565b61551e6020830184614e57565b9392505050565b6000615531828461517f565b915081905092915050565b600060608201905061555160008301866141d7565b61555e602083018561456a565b61556b604083018461483f565b949350505050565b600060408201905061558860008301856141d7565b615595602083018461456a565b9392505050565b600080fd5b6155aa82614a5c565b810181811067ffffffffffffffff821117156155c9576155c86150ae565b5b80604052505050565b60006155dc613fe5565b90506155e882826155a1565b919050565b600067ffffffffffffffff821115615608576156076150ae565b5b61561182614a5c565b9050602081019050919050565b600061563161562c846155ed565b6155d2565b90508281526020810184848401111561564d5761564c61559c565b5b615658848285614ee6565b509392505050565b600082601f83011261567557615674614057565b5b813561568584826020860161561e565b91505092915050565b6000806000606084860312156156a7576156a6613fef565b5b60006156b58682870161469c565b93505060206156c686828701614335565b925050604084013567ffffffffffffffff8111156156e7576156e6613ff4565b5b6156f386828701615660565b9150509250925092565b6000615708826141c7565b9150615713836141c7565b9250828203905063ffffffff81111561572f5761572e615006565b5b92915050565b6000819050919050565b600060ff82169050919050565b600061576761576261575d84615735565b614b5e565b61573f565b9050919050565b6157778161574c565b82525050565b6000604082019050615792600083018561576e565b61579f60208301846143b9565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006157e082614314565b91506157eb83614314565b925082820190508082111561580357615802615006565b5b92915050565b7f746f427974657333325f6f75744f66426f756e64730000000000000000000000600082015250565b600061583f601583614ed5565b915061584a82615809565b602082019050919050565b6000602082019050818103600083015261586e81615832565b9050919050565b600061588082614a16565b61588a8185614f88565b935061589a818560208601614a32565b6158a381614a5c565b840191505092915050565b60006060820190506158c36000830186614e2d565b6158d06020830185614e2d565b81810360408301526158e28184615875565b9050949350505050565b6158f58161573f565b82525050565b6000608082019050615910600083018761491d565b61591d60208301866158ec565b61592a604083018561491d565b615937606083018461491d565b9594505050505056fea2646970667358221220adfaed8faa8b63cbe728bb0b3ac96aa5a61261c6ceef1490830818a0304ece5364736f6c63430008180033",
|
|
1399
|
+
"linkReferences": {},
|
|
1400
|
+
"deployedLinkReferences": {}
|
|
1401
|
+
}
|